/* /Components/Assets/AssetManagement.razor.rz.scp.css */
.min-width-column[b-6hfqvaxsuo] {
    min-width: 120px;
    white-space: nowrap;
}

@@media (max-width: 768px) {
    .min-width-column[b-6hfqvaxsuo] {
        min-width: 100px;
    }

    .table-responsive .btn-group[b-6hfqvaxsuo] {
        flex-direction: column;
        gap: 2px;
    }

        .table-responsive .btn-group .btn[b-6hfqvaxsuo] {
            padding: 0.25rem 0.5rem;
        }
}
/* /Components/DynamicBranding.razor.rz.scp.css */
.navbar-brand-container[b-o9aoznf2tn] {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    color: var(--sidebar-contrast);
}

.navbar-branding[b-o9aoznf2tn] {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 3.2rem;
    object-fit: contain;
    object-position: left center;
}

.navbar-brand-text[b-o9aoznf2tn] {
    color: var(--sidebar-contrast);
    font-size: 1.1rem;
    font-weight: 600;
}
/* /Components/MessageDialog.razor.rz.scp.css */
.message-dialog-modal[b-wxwfqbqqo1] {
    z-index: 2000;
}
/* /Components/Overview/OverviewGettingStarted.razor.rz.scp.css */
.getting-started[b-19f4jyqmvw] {
    min-width: 0;
    padding: 1.25rem 1.15rem 0.35rem;
    border: 1px solid var(--border-color);
    border-radius: 0.65rem;
    background-color: var(--surface-color);
}

.getting-started h2[b-19f4jyqmvw] {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 750;
}

.getting-started > p[b-19f4jyqmvw] {
    margin: 0.3rem 0 0.75rem;
    color: var(--text-secondary);
    font-size: 0.72rem;
}

.getting-started-status[b-19f4jyqmvw] {
    margin-bottom: 0.35rem;
    color: var(--text-secondary);
    font-size: 0.72rem;
}

.getting-started-status.is-error[b-19f4jyqmvw] { color: var(--state-warning-text); }

.getting-started-row[b-19f4jyqmvw] {
    display: grid;
    grid-template-columns: 1.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    min-height: 4rem;
    border-top: 1px solid var(--border-color);
    color: var(--text-primary);
    text-decoration: none;
}

.getting-started-row:first-child[b-19f4jyqmvw] { border-top: 0; }

.getting-started-row:hover .status-link[b-19f4jyqmvw],
.getting-started-row:focus-visible .status-link[b-19f4jyqmvw] { color: var(--primary-color); }

.getting-started-row:focus-visible[b-19f4jyqmvw] {
    outline: 3px solid var(--accent-color);
    outline-offset: -2px;
}

.status-mark[b-19f4jyqmvw] {
    width: 1.15rem;
    height: 1.15rem;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--text-secondary);
    border-radius: 50%;
    color: var(--success-contrast);
    font-size: 0.68rem;
    font-weight: 800;
}

.status-mark.is-ready[b-19f4jyqmvw] {
    border-color: var(--success-color);
    background-color: var(--success-color);
}

.status-copy[b-19f4jyqmvw] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.status-copy strong[b-19f4jyqmvw] { font-size: 0.78rem; font-weight: 600; }
.status-copy small[b-19f4jyqmvw] { margin-top: 0.2rem; color: var(--text-secondary); font-size: 0.67rem; }
.status-link[b-19f4jyqmvw] { color: var(--text-secondary); font-size: 0.7rem; white-space: nowrap; }

@media (max-width: 575.98px) {
    .getting-started-row[b-19f4jyqmvw] {
        grid-template-columns: 1.5rem minmax(0, 1fr);
        padding-block: 0.65rem;
    }

    .status-link[b-19f4jyqmvw] { grid-column: 2; }
}
/* /Components/Overview/OverviewHero.razor.rz.scp.css */
.overview-hero[b-xa7hli0sos] {
    min-height: 15.5rem;
    display: grid;
    grid-template-columns: minmax(24rem, 1.05fr) minmax(32rem, 1fr);
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 0.65rem;
    background-color: var(--surface-color);
    box-shadow: 0 0.3rem 1.15rem color-mix(in srgb, var(--shadow-color) 60%, transparent 40%);
    animation: overview-rise-b-xa7hli0sos 420ms ease-out both;
}

.overview-hero-copy[b-xa7hli0sos] {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2.1rem 2rem;
}

.overview-hero h1[b-xa7hli0sos] {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 750;
    letter-spacing: -0.045em;
    line-height: 1;
}

.overview-hero p[b-xa7hli0sos] {
    margin: 0.7rem 0 0;
    color: var(--text-secondary);
    font-size: clamp(0.95rem, 1.25vw, 1.15rem);
}

.overview-hero-actions[b-xa7hli0sos] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.45rem;
}

.overview-hero-actions .btn[b-xa7hli0sos] {
    min-height: 2.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding-inline: 1.15rem;
    font-weight: 650;
}

.overview-hero-visual[b-xa7hli0sos] {
    position: relative;
    min-height: 15.5rem;
    margin-left: -4.5rem;
    overflow: hidden;
    background-color: color-mix(in srgb, var(--sidebar-primary) 88%, var(--surface-color) 12%);
    clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
    color: var(--sidebar-contrast);
}

.overview-hero-visual[b-xa7hli0sos]::before {
    position: absolute;
    inset: 0 auto 0 11.8%;
    width: 0.45rem;
    background-color: var(--accent-color);
    content: "";
    transform: skewX(-27deg);
    transform-origin: bottom;
}

.network-lines[b-xa7hli0sos] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    color: var(--accent-color);
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.network-lines path[b-xa7hli0sos] {
    fill: none;
    vector-effect: non-scaling-stroke;
}

.network-lines circle[b-xa7hli0sos] {
    fill: currentColor;
    stroke: none;
}

.network-node[b-xa7hli0sos] {
    position: absolute;
    width: 4.7rem;
    height: 4.7rem;
    display: grid;
    place-items: center;
    border: 2px solid color-mix(in srgb, var(--sidebar-contrast) 60%, transparent 40%);
    border-radius: 1.05rem;
    background-color: color-mix(in srgb, var(--sidebar-secondary) 64%, transparent 36%);
}

.network-node[b-xa7hli0sos]  .overview-icon {
    width: 2.35rem;
    height: 2.35rem;
}

.node-parts[b-xa7hli0sos] { left: 20%; top: -0.8rem; }
.node-fleet[b-xa7hli0sos] { left: 18%; bottom: -0.6rem; }
.node-plan[b-xa7hli0sos] { left: 39%; bottom: -0.35rem; }
.node-budget[b-xa7hli0sos] { right: 17%; top: -0.7rem; }

.network-node-focus[b-xa7hli0sos] {
    width: 6.2rem;
    height: 6.2rem;
    left: 55%;
    top: 4.6rem;
    border-color: var(--accent-color);
    background-color: color-mix(in srgb, var(--primary-color) 58%, var(--sidebar-primary) 42%);
}

.network-node-focus[b-xa7hli0sos]  .overview-icon {
    width: 3.4rem;
    height: 3.4rem;
}

.network-slogan[b-xa7hli0sos] {
    position: absolute;
    right: 1.45rem;
    bottom: 1.35rem;
    padding-left: 0.85rem;
    border-left: 2px solid var(--accent-color);
    color: var(--sidebar-contrast);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    line-height: 1.65;
    text-transform: uppercase;
}

@keyframes overview-rise-b-xa7hli0sos {
    from { opacity: 0; transform: translateY(0.5rem); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1050px) {
    .overview-hero[b-xa7hli0sos] {
        grid-template-columns: 1fr;
    }

    .overview-hero-visual[b-xa7hli0sos] {
        min-height: 12rem;
        margin-left: 0;
        clip-path: none;
    }

    .overview-hero-visual[b-xa7hli0sos]::before {
        inset: 0 0 auto;
        width: auto;
        height: 0.35rem;
        transform: none;
    }
}

@media (max-width: 575.98px) {
    .overview-hero-copy[b-xa7hli0sos] {
        padding: 1.5rem 1.25rem;
    }

    .overview-hero-actions[b-xa7hli0sos] {
        align-items: stretch;
        flex-direction: column;
    }

    .node-budget[b-xa7hli0sos],
    .network-slogan[b-xa7hli0sos] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .overview-hero[b-xa7hli0sos] { animation: none; }
}
/* /Components/Overview/OverviewIcon.razor.rz.scp.css */
.overview-icon[b-yrbg276yuy] {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
}

.overview-icon svg[b-yrbg276yuy] {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* /Components/Overview/OverviewLifecyclePanel.razor.rz.scp.css */
.lifecycle-panel[b-0jjj4jl4ij] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.65rem;
    border-radius: 0.65rem;
    background-color: color-mix(in srgb, var(--sidebar-primary) 88%, var(--surface-color) 12%);
    color: var(--sidebar-contrast);
}

.lifecycle-panel h2[b-0jjj4jl4ij] {
    margin: 0;
    color: inherit;
    font-size: 1.1rem;
    font-weight: 750;
}

.lifecycle-panel p[b-0jjj4jl4ij] {
    max-width: 34rem;
    margin: 0.7rem 0 0;
    color: color-mix(in srgb, var(--sidebar-contrast) 84%, transparent 16%);
    font-size: 0.78rem;
    line-height: 1.55;
}

.lifecycle-action[b-0jjj4jl4ij] {
    min-height: 2.65rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid color-mix(in srgb, var(--sidebar-contrast) 35%, transparent 65%);
    border-radius: 0.3rem;
    background-color: color-mix(in srgb, var(--primary-color) 72%, transparent 28%);
    color: var(--primary-contrast);
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 150ms ease, transform 150ms ease;
}

.lifecycle-action:hover[b-0jjj4jl4ij] {
    background-color: var(--primary-color);
    color: var(--primary-contrast);
    transform: translateY(-0.12rem);
}

.lifecycle-action:focus-visible[b-0jjj4jl4ij] {
    outline: 3px solid var(--accent-color);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .lifecycle-action[b-0jjj4jl4ij] { transition: none; }
    .lifecycle-action:hover[b-0jjj4jl4ij] { transform: none; }
}
/* /Components/Overview/OverviewWorkflow.razor.rz.scp.css */
.workflow-section[b-axs7cnz6ys] {
    padding: 1.1rem;
    border: 1px solid var(--border-color);
    border-radius: 0.65rem;
    background-color: var(--surface-color);
    animation: workflow-enter-b-axs7cnz6ys 440ms 80ms ease-out both;
}

.workflow-header[b-axs7cnz6ys] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.workflow-header h2[b-axs7cnz6ys] {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 750;
}

.workflow-header span[b-axs7cnz6ys] {
    color: var(--text-secondary);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-align: right;
    text-transform: uppercase;
}

.workflow-grid[b-axs7cnz6ys] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.workflow-loading[b-axs7cnz6ys],
.workflow-error[b-axs7cnz6ys] {
    margin-bottom: 0.75rem;
    padding: 0.55rem 0.7rem;
    border-radius: 0.35rem;
    color: var(--text-secondary);
    background-color: color-mix(in srgb, var(--text-secondary) 7%, var(--surface-color) 93%);
    font-size: 0.75rem;
}

.workflow-error[b-axs7cnz6ys] {
    color: var(--state-warning-text);
    background-color: var(--state-warning-bg);
}

@keyframes workflow-enter-b-axs7cnz6ys {
    from { opacity: 0; transform: translateY(0.45rem); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1250px) {
    .workflow-grid[b-axs7cnz6ys] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
    .workflow-grid[b-axs7cnz6ys] { grid-template-columns: 1fr; }
    .workflow-header[b-axs7cnz6ys] { align-items: flex-start; flex-direction: column; }
    .workflow-header span[b-axs7cnz6ys] { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    .workflow-section[b-axs7cnz6ys] { animation: none; }
}
/* /Components/Overview/OverviewWorkflowCard.razor.rz.scp.css */
.workflow-card[b-003p6wfoh9] {
    position: relative;
    min-width: 0;
    min-height: 12rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.15rem 0.85rem 1rem;
    border: 1px solid var(--border-color);
    border-radius: 0.45rem;
    background-color: var(--surface-color);
    color: var(--text-primary);
    text-align: center;
    text-decoration: none;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.workflow-card:hover[b-003p6wfoh9] {
    border-color: color-mix(in srgb, var(--primary-color) 55%, var(--border-color) 45%);
    color: var(--text-primary);
    box-shadow: 0 0.55rem 1.4rem color-mix(in srgb, var(--shadow-color) 70%, transparent 30%);
    transform: translateY(-0.2rem);
}

.workflow-card:focus-visible[b-003p6wfoh9] {
    outline: 3px solid var(--accent-color);
    outline-offset: 2px;
}

.workflow-step[b-003p6wfoh9] {
    position: absolute;
    top: 0.75rem;
    left: 0.8rem;
    color: var(--accent-color);
    font-size: 1.25rem;
    font-weight: 750;
}

.workflow-card[b-003p6wfoh9]  .overview-icon {
    margin-bottom: 0.55rem;
    color: var(--text-primary);
}

.workflow-card strong[b-003p6wfoh9] {
    font-size: 0.85rem;
}

.workflow-description[b-003p6wfoh9] {
    margin-top: 0.45rem;
    color: var(--text-secondary);
    font-size: 0.73rem;
    line-height: 1.35;
}

.workflow-metric[b-003p6wfoh9] {
    margin-top: 0.45rem;
    color: var(--primary-color);
    font-size: 0.7rem;
    font-weight: 700;
}

.workflow-metric-muted[b-003p6wfoh9] {
    color: var(--text-secondary);
    font-weight: 500;
    opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
    .workflow-card[b-003p6wfoh9] { transition: none; }
    .workflow-card:hover[b-003p6wfoh9] { transform: none; }
}
/* /Components/ThemeTemplateSelector.razor.rz.scp.css */
.theme-template[b-x1uyewniw4] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--surface-color);
    box-shadow: 0 0.2rem 0.75rem color-mix(in srgb, var(--text-primary) 8%, transparent);
}

.template-preview[b-x1uyewniw4] {
    display: flex;
    height: 4rem;
    position: relative;
}

.colour-bar[b-x1uyewniw4] {
    flex: 1;
}

.sidebar-preview[b-x1uyewniw4] {
    position: absolute;
    inset: 0 0 0 auto;
    width: 25%;
}

.template-info[b-x1uyewniw4] {
    flex: 1;
    padding: 0.9rem 1rem 0.65rem;
}

.template-name[b-x1uyewniw4] {
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.template-description[b-x1uyewniw4] {
    color: var(--text-secondary);
    font-size: 0.875rem;
    margin-bottom: 0;
}

.template-actions[b-x1uyewniw4] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--border-color);
}

.template-editor[b-x1uyewniw4] {
    padding: 1.25rem;
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--surface-color) 94%, var(--primary-color) 6%);
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-evp9ulh008] {
    position: relative;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background-color: var(--background-color);
}

main[b-evp9ulh008] {
    flex: 1 1 auto;
    min-width: 0;
}

.sidebar[b-evp9ulh008] {
    flex: 0 0 auto;
    background-image: linear-gradient(180deg, var(--sidebar-primary) 0%, var(--sidebar-secondary) 72%);
}

.utility-bar[b-evp9ulh008] {
    min-height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    background-color: var(--surface-color);
    border-bottom: 1px solid var(--border-color);
    color: var(--text-primary);
}

.utility-bar[b-evp9ulh008]  .utility-action {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.55rem;
    border-radius: 0.35rem;
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 150ms ease, color 150ms ease;
}

.utility-bar[b-evp9ulh008]  .utility-action:hover {
    background-color: color-mix(in srgb, var(--primary-color) 8%, transparent 92%);
    color: var(--primary-color);
}

.utility-bar[b-evp9ulh008]  .utility-action:focus-visible {
    outline: 3px solid var(--accent-color);
    outline-offset: 1px;
}

.account-menu[b-evp9ulh008] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.account-context[b-evp9ulh008] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.15;
}

.account-context-site[b-evp9ulh008],
.account-context-organisation[b-evp9ulh008] {
    max-width: 15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-context-site[b-evp9ulh008] {
    color: var(--text-primary);
    font-size: 0.72rem;
    font-weight: 400;
}

.account-context-organisation[b-evp9ulh008] {
    color: var(--text-secondary);
    font-size: 0.66rem;
    font-weight: 400;
}

.account-context-site + .account-context-organisation[b-evp9ulh008] {
    margin-top: 0.1rem;
}

.account-trigger[b-evp9ulh008] {
    display: flex;
    align-items: center;
    padding: 0.25rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
    transition: background-color 150ms ease;
}

.account-trigger:hover[b-evp9ulh008] {
    background-color: color-mix(in srgb, var(--primary-color) 8%, transparent 92%);
}

.account-trigger:focus-visible[b-evp9ulh008] {
    outline: 3px solid var(--accent-color);
    outline-offset: 1px;
}

.account-icon[b-evp9ulh008] {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background-color: color-mix(in srgb, var(--primary-color) 12%, var(--surface-color) 88%);
    color: var(--primary-color);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.account-copy[b-evp9ulh008] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.account-popover[b-evp9ulh008] {
    position: fixed;
    inset: 3.75rem 1.5rem auto auto;
    z-index: 20;
    width: max-content;
    min-width: 15rem;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 0.55rem;
    background-color: var(--surface-color);
    box-shadow: 0 0.75rem 2rem var(--shadow-color);
}

.account-popover .account-copy[b-evp9ulh008] {
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
}

.account-site-picker[b-evp9ulh008] {
    display: grid;
    gap: 0.35rem;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid var(--border-color);
}

.account-site-picker label[b-evp9ulh008] {
    color: var(--text-secondary);
    font-size: 0.7rem;
    font-weight: 700;
}

.account-site-picker .form-select[b-evp9ulh008] {
    min-width: 13rem;
    color: var(--text-primary);
    background-color: var(--surface-color);
    border-color: var(--border-color);
}

.account-view-picker[b-evp9ulh008] {
    gap: 0.4rem;
}

.account-view-picker label:not(:first-child)[b-evp9ulh008] {
    margin-top: 0.35rem;
}

.account-clear-context[b-evp9ulh008] {
    justify-self: start;
    margin-top: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary-color);
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.18rem;
    cursor: pointer;
}

.account-clear-context:hover[b-evp9ulh008] {
    color: color-mix(in srgb, var(--primary-color) 75%, var(--text-primary) 25%);
}

.account-clear-context:focus-visible[b-evp9ulh008] {
    outline: 3px solid var(--accent-color);
    outline-offset: 2px;
}

.account-clear-context:disabled[b-evp9ulh008] {
    color: var(--text-secondary);
    cursor: default;
    opacity: 0.6;
}

.account-site-error[b-evp9ulh008] {
    color: var(--error-color);
    font-size: 0.68rem;
}

.account-copy strong[b-evp9ulh008],
.account-copy small[b-evp9ulh008] {
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-roles[b-evp9ulh008] {
    margin-top: 0.45rem;
    color: var(--text-secondary);
    font-size: 0.68rem;
}

.account-logout[b-evp9ulh008] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 1rem;
    color: var(--text-primary);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}

.account-logout:hover[b-evp9ulh008] {
    background-color: color-mix(in srgb, var(--primary-color) 8%, var(--surface-color) 92%);
    color: var(--primary-color);
}

.account-logout:focus-visible[b-evp9ulh008] {
    outline: 3px solid var(--accent-color);
    outline-offset: -3px;
}

.account-copy strong[b-evp9ulh008] {
    color: var(--text-primary);
    font-size: 0.82rem;
}

.account-copy small[b-evp9ulh008] {
    margin-top: 0.15rem;
    color: var(--text-secondary);
    font-size: 0.7rem;
}

article.content[b-evp9ulh008] {
    min-width: 0;
}

@media (prefers-reduced-motion: reduce) {
    .utility-bar[b-evp9ulh008]  .utility-action,
    .account-trigger[b-evp9ulh008] {
        transition: none;
    }
}

@media (max-width: 767.98px) {
    .utility-bar[b-evp9ulh008] {
        padding-right: 1rem !important;
        padding-left: 1rem !important;
    }

    .utility-bar[b-evp9ulh008]  .utility-action span:not(.oi) {
        display: none;
    }

    .account-popover[b-evp9ulh008] {
        right: 1rem;
    }

    .account-context-site[b-evp9ulh008],
    .account-context-organisation[b-evp9ulh008] {
        max-width: 9rem;
    }
}

@media (min-width: 768px) {
    .page[b-evp9ulh008] {
        height: 100dvh;
        min-height: 0;
        flex-direction: row;
        overflow: hidden;
    }

    .sidebar[b-evp9ulh008] {
        width: 16.5rem;
        height: 100dvh;
        position: sticky;
        top: 0;
    }

    main[b-evp9ulh008] {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .utility-bar[b-evp9ulh008] {
        flex: 0 0 3.5rem;
        position: sticky;
        top: 0;
        z-index: 10;
    }

    article.content[b-evp9ulh008] {
        min-height: 0;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        overflow: auto;
        padding-right: 1.5rem !important;
        padding-left: 2rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navigation-header[b-z6o5809jv6] {
    min-height: 5rem;
    padding: 0.9rem 1rem 0.9rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background-color: color-mix(in srgb, var(--sidebar-primary) 72%, var(--sidebar-secondary) 28%);
    border-bottom: 1px solid color-mix(in srgb, var(--sidebar-contrast) 16%, transparent 84%);
}

.navbar-toggler[b-z6o5809jv6] {
    flex: 0 0 auto;
    border-color: color-mix(in srgb, var(--sidebar-contrast) 32%, transparent 68%);
    background-color: color-mix(in srgb, var(--sidebar-contrast) 8%, transparent 92%);
}

.navbar-toggler:focus-visible[b-z6o5809jv6],
.nav-group-toggle:focus-visible[b-z6o5809jv6],
.primary-navigation[b-z6o5809jv6]  .nav-entry .nav-link:focus-visible {
    outline: 3px solid var(--accent-color);
    outline-offset: -3px;
    box-shadow: none;
}

.navigation-scroll[b-z6o5809jv6] {
    border-top: 1px solid color-mix(in srgb, var(--sidebar-contrast) 8%, transparent 92%);
}

.primary-navigation[b-z6o5809jv6] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.85rem 0.75rem 1.25rem;
}

.nav-section[b-z6o5809jv6] {
    margin: 0;
}

.primary-navigation[b-z6o5809jv6]  .nav-entry,
.nav-group-toggle[b-z6o5809jv6] {
    width: 100%;
}

.primary-navigation[b-z6o5809jv6]  .nav-entry .nav-link,
.nav-group-toggle[b-z6o5809jv6] {
    position: relative;
    min-height: 3.15rem;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.65rem 0.85rem;
    border: 0;
    border-radius: 0.35rem;
    background: transparent;
    color: color-mix(in srgb, var(--sidebar-contrast) 84%, transparent 16%);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.primary-navigation[b-z6o5809jv6]  .nav-entry-primary .nav-link,
.nav-group-toggle[b-z6o5809jv6] {
    font-size: 0.94rem;
    letter-spacing: 0.01em;
}

.primary-navigation[b-z6o5809jv6]  .nav-entry .nav-link:hover,
.nav-group-toggle:hover[b-z6o5809jv6] {
    background-color: color-mix(in srgb, var(--sidebar-contrast) 10%, transparent 90%);
    color: var(--sidebar-contrast);
}

.primary-navigation[b-z6o5809jv6]  .nav-entry .nav-link:active,
.nav-group-toggle:active[b-z6o5809jv6] {
    transform: translateX(2px);
}

.primary-navigation[b-z6o5809jv6]  .nav-entry .nav-link.active,
.nav-group-toggle.current[b-z6o5809jv6] {
    background-color: var(--accent-color);
    color: var(--accent-contrast);
}

.primary-navigation[b-z6o5809jv6]  .nav-entry .nav-link.active::before,
.nav-group-toggle.current[b-z6o5809jv6]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 -0.75rem;
    width: 0.25rem;
    background-color: var(--accent-contrast);
}

.nav-label[b-z6o5809jv6] {
    flex: 1 1 auto;
}

.nav-chevron[b-z6o5809jv6] {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 0.65rem;
    opacity: 0.72;
}

.oi:not(.nav-chevron)[b-z6o5809jv6] {
    flex: 0 0 1.25rem;
    width: 1.25rem;
    font-size: 1rem;
    text-align: center;
}

.submenu[b-z6o5809jv6] {
    margin: 0.15rem 0 0.45rem 1.45rem;
    padding: 0.15rem 0 0.2rem 0.7rem;
    border-left: 1px solid color-mix(in srgb, var(--sidebar-contrast) 20%, transparent 80%);
    animation: reveal-submenu-b-z6o5809jv6 140ms ease-out;
}

.submenu[b-z6o5809jv6]  .nav-entry .nav-link {
    min-height: 2.5rem;
    padding: 0.5rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
}

.submenu[b-z6o5809jv6]  .nav-entry .nav-link.active::before {
    inset-inline-start: -0.7rem;
}

.nav-section-settings[b-z6o5809jv6] {
    margin-top: 0.35rem;
    padding-top: 0.7rem;
    border-top: 1px solid color-mix(in srgb, var(--sidebar-contrast) 14%, transparent 86%);
}

@keyframes reveal-submenu-b-z6o5809jv6 {
    from {
        opacity: 0;
        transform: translateY(-0.2rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .primary-navigation[b-z6o5809jv6]  .nav-entry .nav-link,
    .nav-group-toggle[b-z6o5809jv6],
    .submenu[b-z6o5809jv6] {
        transition: none;
        animation: none;
    }
}

@media (min-width: 768px) {
    .navbar-toggler[b-z6o5809jv6] {
        display: none;
    }

    .collapse[b-z6o5809jv6] {
        display: block;
    }

    .navigation-scroll[b-z6o5809jv6] {
        height: calc(100dvh - 5rem);
        overflow-x: hidden;
        overflow-y: auto;
        scrollbar-color: color-mix(in srgb, var(--sidebar-contrast) 24%, transparent 76%) transparent;
        scrollbar-width: thin;
    }
}
/* /Pages/Admin/UserManagement.razor.rz.scp.css */
.oi-stack[b-swr8jxx5sn] {
    position: relative;
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
}

.user-modal-backdrop[b-swr8jxx5sn] {
    background-color: color-mix(in srgb, var(--text-primary) 50%, transparent 50%);
}

    .oi-stack .base[b-swr8jxx5sn] {
        font-size: 1.2em;
        position: absolute;
        top: 0;
        left: 0;
    }

    .oi-stack .overlay[b-swr8jxx5sn] {
        position: absolute;
        font-size: 0.6em;
        bottom: -0.1em;
        right: -0.2em;
        opacity: 0.9;
    }
/* /Pages/AssetConfiguration/OemLcc/Details.razor.rz.scp.css */
.detail-header[b-k3sdy28kkz] {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    color: var(--primary-contrast);
    margin: -1rem -1rem 2rem -1rem;
    padding: 2rem 1rem;
}
    
.status-badge[b-k3sdy28kkz] {
    font-size: 0.8rem;
    padding: 0.25rem 0.75rem;
}
    
.info-card[b-k3sdy28kkz] {
    transition: all 0.2s ease-in-out;
    border: none;
    box-shadow: 0 2px 4px var(--shadow-color);
}
    
.info-card:hover[b-k3sdy28kkz] {
    box-shadow: 0 4px 8px var(--shadow-color);
    transform: translateY(-1px);
}
    
.asset-panel[b-k3sdy28kkz] {
    background: linear-gradient(135deg, var(--success-color) 0%, color-mix(in srgb, var(--success-color) 70%, var(--info-color) 30%) 100%);
    color: var(--success-contrast);
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
    
.unassigned-panel[b-k3sdy28kkz] {
    background: linear-gradient(135deg, var(--secondary-color) 0%, color-mix(in srgb, var(--secondary-color) 65%, black 35%) 100%);
    color: var(--secondary-contrast);
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
    
.hierarchy-section[b-k3sdy28kkz] {
    border-left: 4px solid var(--primary-color);
    padding-left: 1rem;
    margin-bottom: 1.5rem;
}
    
.group-card[b-k3sdy28kkz] {
    border-left: 4px solid var(--success-color);
    background-color: color-mix(in srgb, var(--success-color) 5%, var(--surface-color) 95%);
}
    
.component-card[b-k3sdy28kkz] {
    border-left: 4px solid var(--warning-color);
    background-color: color-mix(in srgb, var(--warning-color) 7%, var(--surface-color) 93%);
    margin-left: 1rem;
}
    
.part-card[b-k3sdy28kkz] {
    border-left: 4px solid var(--info-color);
    background-color: color-mix(in srgb, var(--info-color) 7%, var(--surface-color) 93%);
    margin-left: 2rem;
}
    
.breadcrumb[b-k3sdy28kkz] {
    background-color: transparent;
    padding: 0;
}
    
.breadcrumb-item + .breadcrumb-item[b-k3sdy28kkz]::before {
    content: ">";
    color: var(--text-secondary);
}
    
.action-buttons[b-k3sdy28kkz] {
    position: sticky;
    top: 1rem;
    z-index: 100;
}
    
.cost-summary[b-k3sdy28kkz] {
    background: linear-gradient(135deg, var(--warning-color) 0%, var(--error-color) 100%);
    color: var(--warning-contrast);
    border-radius: 0.5rem;
    padding: 1.5rem;
}
    
.print-friendly[b-k3sdy28kkz] {
    display: none;
}

.table-column-1[b-k3sdy28kkz] {
    width: 34%;
}

.table-column-rest[b-k3sdy28kkz] {
    width: 11%;
}

.table-column-actions[b-k3sdy28kkz] {
    width: 8%;
    min-width: 8%;
}

/* Action menu styles */
.action-menu[b-k3sdy28kkz] {
    position: absolute;
    display: inline-block;
    margin-left: -60px;
}

.action-menu-part[b-k3sdy28kkz] {
    position: absolute;
    display: inline-block;
    margin-left: -20px;
}

/* Hide the default triangle on summary */
.action-trigger[b-k3sdy28kkz] {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .25rem .5rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .375rem;
    background: transparent;
}

    .action-trigger[b-k3sdy28kkz]::-webkit-details-marker {
        display: none;
    }

    .action-trigger .oi-pencil[b-k3sdy28kkz] {
        font-size: 14px;
    }

    .action-trigger .epsilon[b-k3sdy28kkz] {
        font-size: 16px;
        line-height: 1;
        opacity: .7;
    }

    .action-trigger:hover[b-k3sdy28kkz] {
        background: color-mix(in srgb, var(--text-primary) 3%, transparent 97%);
    }

/* The popover */
.action-popover[b-k3sdy28kkz] {
    position: absolute;
    right: 0;
    top: calc(100% + .25rem);
    z-index: 1000;
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: .5rem;
    box-shadow: 0 10px 30px var(--shadow-color);
    padding: .5rem;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity .12s ease, transform .12s ease;
}

/* Show when details is open */
.action-menu details[open] .action-popover[b-k3sdy28kkz] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Make buttons breathe */
.action-popover .btn-group[b-k3sdy28kkz] {
    gap: .25rem;
}

.action-popover .btn[b-k3sdy28kkz] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: .4rem;
}

    .action-popover .btn i[b-k3sdy28kkz] {
        min-width: 1.2em;
        text-align: center;
    }


@@media print {
    .action-buttons[b-k3sdy28kkz], .no-print[b-k3sdy28kkz] {
        display: none !important;
    }
        
    .print-friendly[b-k3sdy28kkz] {
        display: block !important;
    }
        
    .detail-header[b-k3sdy28kkz] {
        background: #333 !important;
        color: black !important;
    }
}
/* /Pages/AssetConfiguration/OemLcc/Index.razor.rz.scp.css */
.asset-info-card[b-mhr8oz2yjj] {
    transition: all 0.2s ease-in-out;
}
    
.asset-info-card:hover[b-mhr8oz2yjj] {
    background-color: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%) !important;
    box-shadow: 0 2px 4px var(--shadow-color);
}
    
.unassigned-info[b-mhr8oz2yjj] {
    transition: all 0.2s ease-in-out;
}
    
.unassigned-info:hover[b-mhr8oz2yjj] {
    background-color: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%) !important;
}
    
.badge[b-mhr8oz2yjj] {
    font-size: 0.7rem;
    font-weight: 500;
}
    
.border-start.border-3[b-mhr8oz2yjj] {
    border-width: 3px !important;
}
    
.operating-cost-card[b-mhr8oz2yjj] {
    transition: all 0.2s ease-in-out;
}
    
.operating-cost-card:hover[b-mhr8oz2yjj] {
    box-shadow: 0 4px 8px var(--shadow-color);
    transform: translateY(-1px);
}
/* /Pages/AssetConfiguration/TriggerHourSchemes/Index.razor.rz.scp.css */
.trigger-hour-scheme-card[b-tgs1kcn8k8] {
    transition: all 0.3s ease;
    border: 1px solid var(--border-color);
}

.trigger-hour-scheme-card:hover[b-tgs1kcn8k8] {
    box-shadow: 0 4px 8px var(--shadow-color);
    transform: translateY(-2px);
}

.trigger-hour-scheme-card .card-header[b-tgs1kcn8k8] {
    background-color: color-mix(in srgb, var(--background-color) 65%, var(--surface-color) 35%);
    border-bottom: 1px solid var(--border-color);
}

.trigger-hour-scheme-card.border-secondary[b-tgs1kcn8k8] {
    border-color: var(--secondary-color) !important;
}

.trigger-hour-badge[b-tgs1kcn8k8] {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    margin: 0.125rem;
    background-color: color-mix(in srgb, var(--text-secondary) 10%, var(--surface-color) 90%);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.modal-body .alert[b-tgs1kcn8k8] {
    font-size: 0.875rem;
}

.form-control-sm[b-tgs1kcn8k8] {
    font-size: 0.875rem;
}

.badge.bg-light.text-dark[b-tgs1kcn8k8] {
    border: 1px solid var(--border-color);
}

/* Override for inactive schemes */
.opacity-75[b-tgs1kcn8k8] {
    opacity: 0.75 !important;
}

/* Loading spinner positioning */
.d-flex.justify-content-center[b-tgs1kcn8k8] {
    padding: 3rem 0;
}

/* Table responsive improvements */
.table-responsive[b-tgs1kcn8k8] {
    border-radius: 0.375rem;
    border: 1px solid var(--border-color);
}
/* /Pages/AssetDataEntry/Index.razor.rz.scp.css */
/* Asset Data Entry Page Styles */

.asset-data-entry-container[b-4vyu60tpvy] {
    padding: 1rem 0;
    --theme-primary-color: var(--primary-color);
    --theme-secondary-color: var(--secondary-color);
    --theme-sidebar-primary: var(--sidebar-primary);
    --theme-info-color: var(--info-color);
}

    .asset-data-entry-container .card[b-4vyu60tpvy] {
        box-shadow: 0 0.125rem 0.25rem var(--shadow-color);
        border: 1px solid var(--theme-primary-color);
    }

    .asset-data-entry-container .card-header[b-4vyu60tpvy] {
        background: linear-gradient(135deg, var(--theme-primary-color) 0%, var(--theme-secondary-color) 100%);
        color: var(--primary-contrast);
        border-bottom: none;
        padding: 1.5rem;
    }

        .asset-data-entry-container .card-header .oi[b-4vyu60tpvy] {
            opacity: 0.9;
        }

    .asset-data-entry-container .card-body[b-4vyu60tpvy] {
        padding: 2rem;
    }

    .asset-data-entry-container .alert[b-4vyu60tpvy] {
        border-radius: 0.375rem;
        border: none;
    }

    .asset-data-entry-container .alert-info[b-4vyu60tpvy] {
        background: color-mix(in srgb, var(--theme-info-color) 15%, var(--surface-color) 85%);
        color: var(--text-primary);
        border-color: var(--theme-info-color);
    }

    .asset-data-entry-container .text-center .spinner-border[b-4vyu60tpvy] {
        width: 3rem;
        height: 3rem;
        color: var(--theme-primary-color);
    }

    .asset-data-entry-container .text-center h5[b-4vyu60tpvy] {
        color: var(--theme-sidebar-primary);
        font-weight: 600;
        margin-top: 1rem;
    }

    .asset-data-entry-container .text-center p[b-4vyu60tpvy] {
        color: var(--text-secondary);
        font-size: 1.1rem;
    }

    .asset-data-entry-container .upload-input-wrapper[b-4vyu60tpvy] {
        position: relative;
    }

    .asset-data-entry-container .upload-input[b-4vyu60tpvy] {
        position: relative;
        overflow: hidden;
    }

        .asset-data-entry-container .upload-input:disabled[b-4vyu60tpvy] {
            opacity: 1;
            cursor: progress;
        }

    .asset-data-entry-container .upload-overlay[b-4vyu60tpvy] {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        background-color: color-mix(in srgb, var(--theme-sidebar-primary) 85%, transparent 15%);
        color: var(--sidebar-contrast);
        border-radius: 0.375rem;
        pointer-events: none;
    }

/* Responsive adjustments */
@media (max-width: 768px) {
    .asset-data-entry-container .card-body[b-4vyu60tpvy] {
        padding: 1.5rem 1rem;
    }

    .asset-data-entry-container .card-header[b-4vyu60tpvy] {
        padding: 1rem;
    }

        .asset-data-entry-container .card-header h3[b-4vyu60tpvy] {
            font-size: 1.25rem;
        }
}
/* /Pages/AssetDataEntry/PartsEntryTable.razor.rz.scp.css */
.parts-entry-table th.part-column[b-xnza0bga8w],
.parts-entry-table td.part-column[b-xnza0bga8w] {
	width: 280px;
}

.parts-entry-table th.component-column[b-xnza0bga8w],
.parts-entry-table td.component-column[b-xnza0bga8w] {
	width: 160px;
}

.parts-entry-table th.part-number-column[b-xnza0bga8w],
.parts-entry-table td.part-number-column[b-xnza0bga8w] {
	width: 140px;
}

.parts-entry-table th.unit-price-column[b-xnza0bga8w],
.parts-entry-table td.unit-price-column[b-xnza0bga8w] {
	width: 120px;
}

.parts-entry-table th.quantity-column[b-xnza0bga8w],
.parts-entry-table td.quantity-column[b-xnza0bga8w] {
	width: 100px;
}

.parts-entry-table th.actions-column[b-xnza0bga8w],
.parts-entry-table td.actions-column[b-xnza0bga8w] {
	width: 80px;
}

.parts-entry-table .blazored-typeahead[b-xnza0bga8w] {
	width: 100%;
}

.parts-entry-table .blazored-typeahead__input[b-xnza0bga8w] {
	width: 100%;
	padding: 0.25rem 0.5rem;
	font-size: 0.875rem;
	line-height: 1.5;
	border: 1px solid var(--border-color);
	border-radius: 0.2rem;
}

.parts-entry-table .parts-typeahead-result[b-xnza0bga8w] {
	display: flex;
	flex-direction: column;
}

.parts-entry-table .parts-typeahead-result .result-description[b-xnza0bga8w] {
	font-weight: 500;
}

.table-responsive[b-xnza0bga8w] {
    overflow: visible !important;
}
/* /Pages/AssetDataEntry/SpreadsheetDataEntry.razor.rz.scp.css */
.shift-hours-section table[b-awj5th15ok] {
    table-layout: auto;
}
.shift-hours-section tr:first-child[b-awj5th15ok] {
    white-space: nowrap;
    width: 1%;
}
.bg-grey[b-awj5th15ok] {
    background-color: var(--bs-table-bg);
}

.total-row-balanced[b-awj5th15ok] {
    color: var(--success-color);
}

.total-row-unbalanced[b-awj5th15ok] {
    color: var(--error-color);
}
/* /Pages/Forecasting/ForecastHelpDrawer.razor.rz.scp.css */
.forecast-help-backdrop[b-1j1weynjb8] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: var(--overlay-color);
}

.forecast-help-drawer[b-1j1weynjb8] {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 1050;
    width: min(42rem, calc(100vw - 1rem));
    background: var(--surface-color);
    border-left: 1px solid var(--border-color);
    box-shadow: -0.75rem 0 2rem var(--shadow-color);
    display: flex;
    flex-direction: column;
    outline: none;
}

.forecast-help-header[b-1j1weynjb8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border-color);
    background: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%);
}

.forecast-help-eyebrow[b-1j1weynjb8] {
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.forecast-help-body[b-1j1weynjb8] {
    overflow: auto;
    padding: 1.25rem;
}

.forecast-help-body .lead[b-1j1weynjb8] {
    max-width: 62ch;
    font-size: 1rem;
}

.forecast-help-body section[b-1j1weynjb8] {
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.forecast-help-body h5[b-1j1weynjb8] {
    margin-bottom: 0.6rem;
}

.forecast-help-body li + li[b-1j1weynjb8] {
    margin-top: 0.45rem;
}

.forecast-import-help pre[b-1j1weynjb8] {
    padding: 0.75rem;
    overflow: auto;
    border: 1px solid var(--border-color);
    background: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%);
    white-space: pre;
}

@media (max-width: 575.98px) {
    .forecast-help-drawer[b-1j1weynjb8] {
        width: 100vw;
    }
}
/* /Pages/Forecasting/ForecastRequirementDetailsModal.razor.rz.scp.css */
.requirement-details-modal[b-wvaynprw3f] {
    z-index: 1060;
}

.requirement-details-eyebrow[b-wvaynprw3f] {
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.requirement-details-grid[b-wvaynprw3f] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 0.375rem;
    background: var(--border-color);
}

.requirement-details-grid > div[b-wvaynprw3f] {
    min-width: 0;
    padding: 0.75rem 1rem;
    background: var(--surface-color);
}

.requirement-details-grid dt[b-wvaynprw3f] {
    margin-bottom: 0.2rem;
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.requirement-details-grid dd[b-wvaynprw3f] {
    margin: 0;
}

.requirement-details-grid .requirement-details-wide[b-wvaynprw3f] {
    grid-column: 1 / -1;
    border-right: 0;
}

.requirement-details-snapshot[b-wvaynprw3f] {
    border-left: 0.25rem solid var(--primary-color);
}

.preserve-lines[b-wvaynprw3f] {
    white-space: pre-line;
}

@media (max-width: 575.98px) {
    .requirement-details-grid[b-wvaynprw3f] {
        grid-template-columns: 1fr;
    }

    .requirement-details-grid > div[b-wvaynprw3f],
    .requirement-details-grid > div:nth-child(odd)[b-wvaynprw3f],
    .requirement-details-grid > div:nth-last-child(-n + 2)[b-wvaynprw3f] {
        border: 0;
    }
}
/* /Pages/Forecasting/Index.razor.rz.scp.css */
.forecasting-page[b-r6gf4pikd8] {
    max-width: 1800px;
}

/*
    The results card is meant to end at the bottom of the window, with the table scrolling
    inside it rather than the page scrolling.

    It used to do that with height: calc(100dvh - 30rem) on the card body - a hard-coded
    guess at the height of everything above it (page header, workspace switcher, results
    context, export buttons, tab strip). Whenever the real chrome was taller than the guess
    the card overhung the window, and because the card grew exactly as fast as the viewport
    did, resizing never closed the gap.

    So the page is a flex column instead, and every wrapper between it and the card body
    passes the remaining space down. Anything that changes inside the page - a wrapped tab
    strip, a longer heading, an extra callout - is absorbed automatically.

    Constrained by :has() so it applies only while results are on screen. Setup is a
    Bootstrap .row with negative gutter margins, and making that a scroll container would
    raise a spurious horizontal scrollbar, so it keeps ordinary page scrolling. A browser
    without :has() simply falls back to that same ordinary scrolling.

    MainLayout now owns the viewport calculation and supplies the remaining content height.
    This page only has to fill that space; it no longer knows or guesses how tall the shared
    navigation and account bars are.
*/
@media (min-width: 768px) {
    .forecasting-page:has(.forecast-results-workspace)[b-r6gf4pikd8] {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        height: 100%;
        min-height: 0;
    }

    .forecast-results-workspace[b-r6gf4pikd8] {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    .forecast-results-surface[b-r6gf4pikd8] {
        flex: 1 1 auto;
        min-height: 0;
    }
}

.forecast-workspace-switcher[b-r6gf4pikd8] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--border-color);
}

.forecast-workspace-tab[b-r6gf4pikd8] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    padding: 0.8rem 1rem 0.9rem;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: var(--text-secondary);
    text-align: left;
}

.forecast-workspace-tab + .forecast-workspace-tab[b-r6gf4pikd8] {
    border-left: 1px solid var(--border-color);
}

.forecast-workspace-tab span[b-r6gf4pikd8] {
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 650;
}

.forecast-workspace-tab small[b-r6gf4pikd8] {
    font-size: 0.8rem;
}

.forecast-workspace-tab:hover:not(:disabled)[b-r6gf4pikd8] {
    background: color-mix(in srgb, var(--primary-color) 6%, var(--surface-color) 94%);
}

.forecast-workspace-tab.active[b-r6gf4pikd8] {
    border-bottom-color: var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 9%, var(--surface-color) 91%);
}

.forecast-workspace-tab.active span[b-r6gf4pikd8] {
    color: var(--primary-color);
}

.forecast-workspace-tab:disabled[b-r6gf4pikd8] {
    cursor: not-allowed;
    opacity: 0.55;
}

.forecast-workspace-tab:focus-visible[b-r6gf4pikd8] {
    z-index: 1;
    outline: 3px solid color-mix(in srgb, var(--accent-color) 45%, transparent 55%);
    outline-offset: -3px;
}

.forecast-workspace-panel[b-r6gf4pikd8] {
    animation: forecast-workspace-enter-b-r6gf4pikd8 160ms ease-out;
}

@keyframes forecast-workspace-enter-b-r6gf4pikd8 {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.forecast-table-wrap[b-r6gf4pikd8] {
    max-height: 520px;
    overflow: auto;
}

.line-filter-status[b-r6gf4pikd8] {
    min-height: 2.75rem;
}

.line-filter-status > span[b-r6gf4pikd8] {
    min-width: 0;
}

.forecast-line-asset[b-r6gf4pikd8] {
    min-width: 10rem;
}

.forecast-line-why[b-r6gf4pikd8] {
    min-width: 20rem;
    max-width: 32rem;
}

.forecast-line-details summary[b-r6gf4pikd8] {
    color: var(--bs-link-color, #0d6efd);
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
}

.forecast-line-details[open] summary[b-r6gf4pikd8] {
    margin-bottom: 0.5rem;
}

.forecast-line-details dl[b-r6gf4pikd8] {
    display: grid;
    gap: 0.4rem;
    margin: 0;
    padding: 0.6rem 0.75rem;
    border-left: 3px solid var(--bs-border-color, #dee2e6);
    background: var(--bs-tertiary-bg, #f8f9fa);
}

.forecast-line-details dt[b-r6gf4pikd8] {
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
}

.forecast-line-details dd[b-r6gf4pikd8] {
    margin: 0.1rem 0 0;
}

.forecast-line-cost[b-r6gf4pikd8] {
    min-width: 9rem;
    white-space: nowrap;
}

.forecast-line-warnings[b-r6gf4pikd8] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.25rem;
}

.forecast-line-basis[b-r6gf4pikd8] {
    min-width: 11rem;
}

.forecast-run-actions[b-r6gf4pikd8] {
    display: inline-flex;
    justify-content: flex-end;
    gap: 0.4rem;
    white-space: nowrap;
}

.forecast-run-actions .btn[b-r6gf4pikd8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
}

.forecast-results-workspace[b-r6gf4pikd8] {
    min-width: 0;
}

.forecast-results-context[b-r6gf4pikd8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 0.85rem 0 1rem;
}

.forecast-results-eyebrow[b-r6gf4pikd8] {
    margin-bottom: 0.2rem;
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.forecast-results-meta[b-r6gf4pikd8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

.forecast-results-meta > span:not(:last-child)[b-r6gf4pikd8]::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 0.9rem;
    margin: 0 0.65rem;
    background: var(--border-color);
    vertical-align: -0.1rem;
}

.forecast-results-meta .badge[b-r6gf4pikd8]::after {
    display: none;
}

.forecast-results-loading[b-r6gf4pikd8] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.85rem;
    border-left: 3px solid var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 7%, var(--surface-color) 93%);
    color: var(--text-secondary);
}

.forecast-results-tabs[b-r6gf4pikd8] {
    margin-top: 0.2rem;

    /*
        The tab strip and the card below it are drawn by different stylesheets: Bootstrap
        gives .nav-tabs a #dee2e6 bottom border, while the card frame here is #bfc8d2. Where
        they meet along the top of the panel the join showed as a paler line. Both sides are
        pinned to the same colour so the frame reads as one shape.
    */
    --bs-nav-tabs-border-color: var(--border-color);
    --bs-nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--surface-color);
}

.forecast-results-surface[b-r6gf4pikd8] {
    border-color: var(--border-color);
}

.forecast-results-surface .card-body[b-r6gf4pikd8] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

/*
    The tab body has a fixed viewport height and gives the remaining space to its table.
    Bootstrap cards are shrinkable flex items by default; without this guard the Gross demand
    filter card can collapse to its labels and clip every input below them.
*/
.forecast-results-surface .forecast-results-filter-panel[b-r6gf4pikd8] {
    flex: 0 0 auto;
}

/* Bootstrap's .card is already a flex column, so the body just takes what is left. */
.forecast-results-surface[b-r6gf4pikd8] {
    overflow: hidden;
}

.forecast-results-surface .forecast-table-wrap[b-r6gf4pikd8] {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow: auto;
}

.forecast-confirm-modal[b-r6gf4pikd8] {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1050;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    width: min(620px, calc(100vw - 2rem));
    transform: translate(-50%, -50%);
    padding: 1.5rem;
    border: 1px solid var(--border-color);
    background: var(--surface-color);
    box-shadow: 0 1rem 2rem var(--shadow-color);
}

.forecast-confirm-icon[b-r6gf4pikd8] {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--error-color) 12%, var(--surface-color) 88%);
    color: var(--error-color);
    font-size: 1.1rem;
}

.forecast-confirm-modal p[b-r6gf4pikd8] {
    max-width: 58ch;
    margin-bottom: 1rem;
    color: var(--text-secondary);
}

.forecast-confirm-details[b-r6gf4pikd8] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(12rem, 2fr);
    gap: 1rem;
    margin: 0;
    padding-top: 0.9rem;
    border-top: 1px solid var(--border-color);
}

.forecast-confirm-details dt[b-r6gf4pikd8] {
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.forecast-confirm-details dd[b-r6gf4pikd8] {
    margin: 0.15rem 0 0;
}

.forecast-confirm-horizon[b-r6gf4pikd8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.25rem;
}

.forecast-date[b-r6gf4pikd8] {
    white-space: nowrap;
}

.forecasting-page .table[b-r6gf4pikd8] {
    border-collapse: separate;
    border-spacing: 0;
}

.forecasting-page .table th[b-r6gf4pikd8],
.forecasting-page .table td[b-r6gf4pikd8] {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
    border-bottom: 1px solid var(--border-color);
    vertical-align: top;
}

.forecasting-page .table th + th[b-r6gf4pikd8],
.forecasting-page .table td + td[b-r6gf4pikd8] {
    border-left: 1px solid var(--border-color);
}

.forecasting-page .table thead th[b-r6gf4pikd8] {
    background-color: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%);
    border-bottom: 1px solid var(--border-color);
    white-space: nowrap;
}

.forecasting-page .table tbody tr:nth-child(even) td[b-r6gf4pikd8] {
    background-color: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%);
}

.forecasting-page .table tbody tr:nth-child(odd) td[b-r6gf4pikd8] {
    background-color: var(--surface-color);
}

.forecasting-page .table-hover tbody tr:hover td[b-r6gf4pikd8] {
    background-color: color-mix(in srgb, var(--primary-color) 10%, var(--surface-color) 90%);
}

.forecasting-page .table-active td[b-r6gf4pikd8] {
    background-color: color-mix(in srgb, var(--primary-color) 14%, var(--surface-color) 86%) !important;
}

.forecast-metric[b-r6gf4pikd8] {
    min-height: 76px;
    padding: 0.75rem;
    border: 1px solid var(--text-secondary);
    background: var(--surface-color);
}

.forecast-metric span[b-r6gf4pikd8] {
    display: block;
    color: var(--text-secondary);
    font-size: 0.875rem;
}

.forecast-metric strong[b-r6gf4pikd8] {
    display: block;
    margin-top: 0.35rem;
    font-size: 1.35rem;
    line-height: 1.2;
}

.forecast-help-backdrop[b-r6gf4pikd8] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: var(--overlay-color);
}

.forecast-help-modal[b-r6gf4pikd8] {
    position: fixed;
    inset: 6vh 50%;
    z-index: 1050;
    width: min(920px, calc(100vw - 2rem));
    max-height: 88vh;
    transform: translateX(-50%);
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    box-shadow: 0 1rem 2rem var(--shadow-color);
    display: flex;
    flex-direction: column;
}

.forecast-help-header[b-r6gf4pikd8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border-color);
    background: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%);
}

.forecast-help-body[b-r6gf4pikd8] {
    overflow: auto;
    padding: 1.25rem;
}

.forecast-help-body section + section[b-r6gf4pikd8] {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border-color);
}

.forecast-help-body h5[b-r6gf4pikd8] {
    margin-bottom: 0.65rem;
}

.forecast-help-body p[b-r6gf4pikd8] {
    margin-bottom: 0.55rem;
    max-width: 78ch;
}

@media (max-width: 767.98px) {
    .forecast-workspace-switcher[b-r6gf4pikd8] {
        grid-template-columns: 1fr;
    }

    .forecast-workspace-tab + .forecast-workspace-tab[b-r6gf4pikd8] {
        border-left: 0;
        border-top: 1px solid var(--border-color);
    }

    .forecast-results-context[b-r6gf4pikd8] {
        align-items: stretch;
        flex-direction: column;
    }

    .forecast-results-context .btn[b-r6gf4pikd8] {
        align-self: flex-start;
    }

    .forecast-results-surface .card-body[b-r6gf4pikd8] {
        overflow: visible;
    }

    .forecast-results-surface .forecast-table-wrap[b-r6gf4pikd8] {
        flex: 0 1 auto;
        min-height: 0;
        max-height: 65dvh;
    }

    .forecast-confirm-modal[b-r6gf4pikd8] {
        grid-template-columns: 1fr;
    }

    .forecast-confirm-details[b-r6gf4pikd8] {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .forecast-workspace-panel[b-r6gf4pikd8] {
        animation: none;
    }
}

/* Checkbox lists can hold every asset at a site, so cap the height and scroll
   rather than pushing the Preview and Run buttons off screen. */
.forecast-selection-list[b-r6gf4pikd8] {
    max-height: 14rem;
    overflow-y: auto;
}

.forecast-callouts[b-r6gf4pikd8] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.35rem;
}

.forecast-callouts li[b-r6gf4pikd8] {
    padding: 0.5rem 0.75rem;
    border-left: 3px solid var(--bs-primary, #0d6efd);
    background: var(--bs-tertiary-bg, #f8f9fa);
    font-size: 0.9rem;
}

/* Wide pivots must scroll inside their own container, never the page. */
.forecast-pivot[b-r6gf4pikd8] {
    min-width: max-content;
}

.forecast-pivot th:first-child[b-r6gf4pikd8],
.forecast-pivot td:first-child[b-r6gf4pikd8] {
    position: sticky;
    left: 0;
    background: var(--bs-body-bg, #fff);
    z-index: 1;
}

/* A partial coverage tile must look different, not just read differently. */
.forecast-metric.is-partial[b-r6gf4pikd8] {
    border-left: 3px solid var(--bs-warning, #ffc107);
}

/* Aggregate rows drill through to the lines behind them. */
.forecast-drillable[b-r6gf4pikd8] {
    cursor: pointer;
}

.forecast-drillable:hover[b-r6gf4pikd8] {
    background: var(--bs-tertiary-bg, #f8f9fa);
}
/* /Pages/Forecasting/ProcurementPlan.razor.rz.scp.css */
.procurement-plan-page[b-q3fq09iyt3] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    max-width: 1800px;
}

.procurement-plan-loading[b-q3fq09iyt3] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1rem 0;
}

.procurement-plan-header[b-q3fq09iyt3] {
    margin-bottom: 1rem;
}

.procurement-plan-back[b-q3fq09iyt3] {
    display: inline-block;
    margin-bottom: 0.65rem;
    font-weight: 600;
    text-decoration: none;
}

.procurement-plan-eyebrow[b-q3fq09iyt3] {
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.procurement-plan-version[b-q3fq09iyt3] {
    padding: 0.55rem 0.7rem;
}

.procurement-plan-metric[b-q3fq09iyt3] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 5.3rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    background: var(--bs-body-bg, #fff);
}

.procurement-plan-metric span[b-q3fq09iyt3],
.procurement-plan-metric small[b-q3fq09iyt3] {
    color: var(--text-secondary);
}

.procurement-plan-metric strong[b-q3fq09iyt3] {
    margin-top: 0.15rem;
    font-size: 1.35rem;
}

.procurement-plan-metric.is-unknown[b-q3fq09iyt3] {
    border-left: 4px solid var(--bs-warning, #ffc107);
}

.procurement-plan-evidence[b-q3fq09iyt3] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.5rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    background: var(--bs-tertiary-bg, #f8f9fa);
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.procurement-plan-evidence strong[b-q3fq09iyt3] {
    color: var(--text-primary);
}

.procurement-plan-warnings[b-q3fq09iyt3] {
    padding: 0.65rem 0.85rem;
    border-left: 4px solid var(--bs-warning, #ffc107);
    background: color-mix(in srgb, var(--bs-warning, #ffc107) 8%, transparent 92%);
}

.procurement-plan-warnings summary[b-q3fq09iyt3] {
    cursor: pointer;
    font-weight: 600;
}

.procurement-plan-results[b-q3fq09iyt3] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    border: 1px solid var(--bs-border-color, #dee2e6);
}

.procurement-plan-toolbar[b-q3fq09iyt3] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.procurement-plan-filters[b-q3fq09iyt3] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.65rem;
}

.procurement-plan-filters input[type="search"][b-q3fq09iyt3] {
    width: 16rem;
}

.procurement-plan-filters select[b-q3fq09iyt3] {
    width: 11rem;
}

.procurement-plan-filters input[type="number"][b-q3fq09iyt3] {
    width: 8rem;
}

.procurement-plan-table[b-q3fq09iyt3] {
    flex: 1 1 auto;
    min-height: 22rem;
    overflow: auto;
}

.procurement-plan-table thead th[b-q3fq09iyt3] {
    position: sticky;
    z-index: 2;
    top: 0;
    white-space: nowrap;
}

.procurement-plan-table td[b-q3fq09iyt3] {
    vertical-align: top;
}

.procurement-plan-reason[b-q3fq09iyt3] {
    min-width: 20rem;
}

@media (max-width: 767.98px) {
    .procurement-plan-page[b-q3fq09iyt3] {
        height: auto;
    }

    .procurement-plan-filters[b-q3fq09iyt3],
    .procurement-plan-filters > div[b-q3fq09iyt3],
    .procurement-plan-filters input[type="search"][b-q3fq09iyt3],
    .procurement-plan-filters select[b-q3fq09iyt3],
    .procurement-plan-filters input[type="number"][b-q3fq09iyt3] {
        width: 100%;
    }

    .procurement-plan-table[b-q3fq09iyt3] {
        min-height: 28rem;
        max-height: 65dvh;
    }
}
/* /Pages/Index.razor.rz.scp.css */
.overview-page[b-6kq2svedxr] {
    display: grid;
    gap: 1rem;
    padding-bottom: 1.5rem;
}

.overview-lower-grid[b-6kq2svedxr] {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(22rem, 0.98fr);
    gap: 1rem;
    animation: overview-lower-enter-b-6kq2svedxr 460ms 140ms ease-out both;
}

@keyframes overview-lower-enter-b-6kq2svedxr {
    from { opacity: 0; transform: translateY(0.45rem); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 950px) {
    .overview-lower-grid[b-6kq2svedxr] { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .overview-lower-grid[b-6kq2svedxr] { animation: none; }
}
/* /Pages/Scorecard/Index.razor.rz.scp.css */
/* Mirrors PLANS/assets/scorecard-mockup.html, which is the approved visual specification. */

.sc-page[b-db9rw7qsey] {
    padding: 0.5rem 0 2rem;
}

.sc-page-head[b-db9rw7qsey] {
    margin-bottom: 0.85rem;
}

.sc-back[b-db9rw7qsey] {
    display: inline-block;
    font-size: 0.82rem;
    margin-bottom: 0.35rem;
}

.sc-app[b-db9rw7qsey] {
    background: #fff;
    border: 1px solid #b4c6d1;
    border-radius: 3px;
    overflow: hidden;
}

/* ---------- selectors ---------- */

.sc-selectors[b-db9rw7qsey] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.25rem;
    align-items: flex-end;
    padding: 0.85rem 1rem;
    background: #edf2f5;
    border-bottom: 1px solid #d3dfe6;
}

.sc-field[b-db9rw7qsey] {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
}

.sc-field > span[b-db9rw7qsey] {
    font-size: 0.7rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #5d7a87;
    font-weight: 650;
}

.sc-field .form-select[b-db9rw7qsey],
.sc-field .form-control[b-db9rw7qsey] {
    min-width: 12rem;
}

.sc-field select:disabled[b-db9rw7qsey] {
    border-style: dashed;
    color: #5d7a87;
}

.sc-help[b-db9rw7qsey] {
    margin-left: auto;
    align-self: center;
}

/* ---------- summary strip ---------- */

.sc-summary[b-db9rw7qsey] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 2rem;
    padding: 0.9rem 1rem;
    border-bottom: 2px solid #b4c6d1;
}

.sc-headline[b-db9rw7qsey] {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.sc-num[b-db9rw7qsey] {
    font-family: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;
    font-size: 3.1rem;
    line-height: 0.95;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.03em;
}

.sc-band[b-db9rw7qsey] {
    font-size: 1.05rem;
    font-weight: 650;
}

.sc-cov[b-db9rw7qsey] {
    font-size: 0.78rem;
    color: #5d7a87;
}

.sc-cov button[b-db9rw7qsey] {
    font: inherit;
    color: #1682b8;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sc-suppressed[b-db9rw7qsey] {
    border: 1px dashed #b4c6d1;
    border-radius: 3px;
    padding: 0.6rem 0.85rem;
}

.sc-prompt[b-db9rw7qsey] {
    font-size: 0.9rem;
    color: #3e5966;
    max-width: 36rem;
}

.sc-prompt strong[b-db9rw7qsey] {
    display: block;
    color: #12242e;
    margin-bottom: 0.1rem;
}

.sc-stats[b-db9rw7qsey] {
    display: flex;
    gap: 1.75rem;
    margin-left: auto;
}

.sc-stat[b-db9rw7qsey] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.sc-stat .k[b-db9rw7qsey] {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5d7a87;
    font-weight: 650;
}

.sc-stat .v[b-db9rw7qsey] {
    font-family: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

/* When the meter was read. Quiet, because it qualifies the figure rather than competing with it —
   but present, because a reading with no date cannot be aged and a blank reads as "today". */
.sc-stat .s[b-db9rw7qsey] {
    font-size: 0.68rem;
    color: #5d7a87;
    letter-spacing: 0.01em;
}

/* ---------- grid ---------- */

.sc-grid[b-db9rw7qsey] {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.sc-col[b-db9rw7qsey] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

/* ::deep, because the grid holds sections from two different components.

   Fleet-IQ Intelligence is written in this page's markup and carries this page's scope
   attribute; Component Health's section is emitted by ScorecardBlock and carries that
   component's instead. A bare `.sc-block-wide` compiles to a selector demanding THIS page's
   attribute, so it matched the one and silently skipped the other — Component Health sat in a
   single column beside Upcoming Replacements and pushed Availability onto a row of its own.

   Anchoring on `.sc-grid` keeps the deep reach confined to the grid, and matches both, since a
   ::deep selector places no scope requirement on its target. Any change here must be made in
   the responsive override too — a spanning block that never stops spanning is the same defect
   in the other direction. */
.sc-grid[b-db9rw7qsey]  .sc-block-wide {
    grid-column: span 2;
    min-width: 0;
}

@media (max-width: 1100px) {
    .sc-grid[b-db9rw7qsey] {
        grid-template-columns: minmax(0, 1fr);
    }

    .sc-grid[b-db9rw7qsey]  .sc-block-wide {
        grid-column: span 1;
    }
}

/* ---------- long tables ---------- */

/* The part behind a component. Dozens of rows share a component name, so without this the
   reader cannot tell which "Electrical Control System" is the one about to bite. */
[b-db9rw7qsey] .sc-detail {
    display: block;
    font-size: 0.72rem;
    color: #5b6b76;
    letter-spacing: 0.01em;
    margin-top: 0.1rem;
}

[b-db9rw7qsey] .sc-more {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.45rem 0.6rem;
    border-top: 1px solid #dbe4ea;
    background: #f7fafc;
    font-size: 0.74rem;
    color: #5b6b76;
}

[b-db9rw7qsey] .sc-link {
    border: 0;
    background: none;
    padding: 0;
    font: inherit;
    font-weight: 600;
    color: #0b6ea8;
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}

[b-db9rw7qsey] .sc-link:hover,
[b-db9rw7qsey] .sc-link:focus-visible {
    color: #084d75;
}

/* ---------- full-table drawer ---------- */

.sc-all-backdrop[b-db9rw7qsey] {
    position: fixed;
    inset: 0;
    background: rgba(15, 32, 44, 0.45);
    z-index: 1045;
}

.sc-all-drawer[b-db9rw7qsey] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(48rem, 100vw);
    display: flex;
    flex-direction: column;
    background: #fff;
    border-left: 1px solid #b4c6d1;
    box-shadow: -0.4rem 0 1.4rem rgba(15, 32, 44, 0.22);
    z-index: 1046;
}

.sc-all-head[b-db9rw7qsey] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #dbe4ea;
    background: #f7fafc;
}

.sc-all-eyebrow[b-db9rw7qsey] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #5b6b76;
}

/* The drawer scrolls, not the table inside it — one scrolling region, not two. */
.sc-all-body[b-db9rw7qsey] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 0.75rem 1rem 1.5rem;
}

/* ---------- block ---------- */

[b-db9rw7qsey] .sc-block {
    border: 1px solid #b4c6d1;
    border-radius: 3px;
    overflow: hidden;
    background: #fff;
}

[b-db9rw7qsey] .sc-block-head {
    background: #1682b8;
    color: #fff;
    padding: 0.42rem 0.6rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-db9rw7qsey] .sc-block-head h2 {
    font-size: 0.88rem;
    font-weight: 600;
    margin: 0;
    flex: 1;
    min-width: 0;
}

[b-db9rw7qsey] .sc-bstatus {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 2px;
    padding: 0.08rem 0.4rem;
    white-space: nowrap;
}

[b-db9rw7qsey] .sc-bstatus-none {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
}

[b-db9rw7qsey] .sc-blabel {
    font-size: 0.7rem;
    font-weight: 700;
}

[b-db9rw7qsey] .sc-bscore {
    font-family: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;
    font-size: 0.76rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    border-left: 1px solid #d3dfe6;
    padding-left: 0.35rem;
    color: #12242e;
}

[b-db9rw7qsey] .sc-qm {
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: transparent;
    color: inherit;
    border-radius: 50%;
    width: 1.3rem;
    height: 1.3rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

[b-db9rw7qsey] .sc-basis {
    font-size: 0.74rem;
    color: #5d7a87;
    padding: 0.32rem 0.6rem;
    border-bottom: 1px solid #d3dfe6;
    background: #edf2f5;
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    flex-wrap: wrap;
}

[b-db9rw7qsey] .sc-scroll {
    overflow-x: auto;
}

[b-db9rw7qsey] .sc-block table {
    width: 100%;
    border-collapse: collapse;
}

[b-db9rw7qsey] .sc-block th,
[b-db9rw7qsey] .sc-block td {
    text-align: left;
    padding: 0.32rem 0.6rem;
    font-size: 0.82rem;
    border-bottom: 1px solid #d3dfe6;
    vertical-align: middle;
}

[b-db9rw7qsey] .sc-block thead th {
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5d7a87;
    font-weight: 650;
    background: #edf2f5;
}

[b-db9rw7qsey] .sc-block tbody tr:last-child td {
    border-bottom: 0;
}

[b-db9rw7qsey] .sc-block td.n,
[b-db9rw7qsey] .sc-block th.n {
    text-align: right;
    font-family: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

[b-db9rw7qsey] .sc-block th.n {
    font-family: inherit;
}

[b-db9rw7qsey] .sc-st {
    width: 9.5rem;
    white-space: nowrap;
}

[b-db9rw7qsey] .sc-context td {
    color: #3e5966;
}

[b-db9rw7qsey] .sc-dim td {
    color: #5d7a87;
}

[b-db9rw7qsey] .sc-dim td.n {
    font-style: italic;
}

[b-db9rw7qsey] .sc-ctag {
    font-size: 0.66rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #5d7a87;
    margin-left: 0.45rem;
    border: 1px solid #d3dfe6;
    padding: 0 0.25rem;
    border-radius: 2px;
    vertical-align: 1px;
}

/* ---------- status marks: shape carries scored-or-not, colour only severity ---------- */

[b-db9rw7qsey] .sc-mark {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

[b-db9rw7qsey] .sc-dot {
    display: inline-block;
    width: 0.72rem;
    height: 0.72rem;
    border-radius: 50%;
    position: relative;
    flex: none;
}

[b-db9rw7qsey] .sc-dot.ok { background: #1b7f49; }
[b-db9rw7qsey] .sc-dot.warn { background: #a85f00; }
[b-db9rw7qsey] .sc-dot.bad { background: #b5342a; }
[b-db9rw7qsey] .sc-dot.great { background: #6c46a0; }

[b-db9rw7qsey] .sc-dot.ring {
    background: transparent;
    border: 1.6px solid #6e8593;
}

[b-db9rw7qsey] .sc-dot.ring.slash::after {
    content: "";
    position: absolute;
    inset: -2px;
    background: linear-gradient(to bottom right, transparent 44%, #6e8593 44%, #6e8593 56%, transparent 56%);
}

[b-db9rw7qsey] .sc-dot.dash {
    background: transparent;
    border: 1.6px dashed #6e8593;
}

[b-db9rw7qsey] .sc-dot.pr {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3.6px currentColor;
}

[b-db9rw7qsey] .sc-dot.ok.pr { color: #1b7f49; }
[b-db9rw7qsey] .sc-dot.warn.pr { color: #a85f00; }
[b-db9rw7qsey] .sc-dot.bad.pr { color: #b5342a; }

[b-db9rw7qsey] .sc-mlabel {
    font-size: 0.74rem;
    font-weight: 600;
}

[b-db9rw7qsey] .sc-mlabel.ok { color: #1b7f49; }
[b-db9rw7qsey] .sc-mlabel.warn { color: #a85f00; }
[b-db9rw7qsey] .sc-mlabel.bad { color: #b5342a; }
[b-db9rw7qsey] .sc-mlabel.great { color: #6c46a0; }

[b-db9rw7qsey] .sc-mlabel.off {
    color: #5d7a87;
    font-weight: 500;
}

[b-db9rw7qsey] .sc-blabel.ok { color: #1b7f49; }
[b-db9rw7qsey] .sc-blabel.warn { color: #a85f00; }
[b-db9rw7qsey] .sc-blabel.bad { color: #b5342a; }

[b-db9rw7qsey] .sc-chip {
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 650;
    border: 1px solid #5d7a87;
    color: #5d7a87;
    border-radius: 2px;
    padding: 0 0.3rem;
    margin-left: 0.4rem;
    vertical-align: 1px;
    white-space: nowrap;
}

[b-db9rw7qsey] .sc-chip-partial {
    border-color: #a85f00;
    color: #a85f00;
}

/* ---------- awaiting, findings, exclusions ---------- */

.sc-await[b-db9rw7qsey],
[b-db9rw7qsey] .sc-await {
    padding: 1.15rem 0.75rem;
    text-align: center;
    color: #5d7a87;
    font-size: 0.85rem;
    background: repeating-linear-gradient(135deg, transparent, transparent 7px, #edf2f5 7px, #edf2f5 14px);
}

.sc-await strong[b-db9rw7qsey],
[b-db9rw7qsey] .sc-await strong {
    display: block;
    color: #3e5966;
    font-weight: 650;
    margin-bottom: 0.2rem;
    font-size: 0.88rem;
}

.sc-loading[b-db9rw7qsey] {
    padding: 1.5rem 1rem;
    color: #5d7a87;
}

.sc-findings[b-db9rw7qsey] {
    margin: 0;
    padding: 0.55rem 0.7rem 0.65rem 1.7rem;
}

.sc-findings li[b-db9rw7qsey] {
    font-size: 0.82rem;
    margin-bottom: 0.32rem;
}

.sc-findings li:last-child[b-db9rw7qsey] {
    margin-bottom: 0;
}

.sc-exgrid[b-db9rw7qsey] {
    padding: 0.5rem 0.6rem 0.6rem;
}

.sc-exrow[b-db9rw7qsey] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.78rem;
    padding: 0.22rem 0;
    border-bottom: 1px dotted #d3dfe6;
    color: #3e5966;
}

.sc-exrow:last-child[b-db9rw7qsey] {
    border-bottom: 0;
}

.sc-exrow .c[b-db9rw7qsey] {
    font-family: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;
    font-variant-numeric: tabular-nums;
    color: #5d7a87;
    flex: none;
}

/* ---------- key ---------- */

/* The Key now sits in one half of a two-column grid rather than spanning three, so its own
   columns fit themselves to the width available instead of insisting on two. The longest entry
   ("Healthy + Partial · scored on incomplete inputs") sets the floor. */
.sc-keygrid[b-db9rw7qsey] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 0.22rem 0.9rem;
    padding: 0.6rem;
}

.sc-keygrid div[b-db9rw7qsey] {
    font-size: 0.78rem;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #3e5966;
}

/* The context badge appears in the Key as itself, because having no mark is the whole of what it
 * means. Everything about how it is drawn comes from the ::deep .sc-ctag rule above — isolation
 * compiles that to "[scope] .sc-ctag", which reaches this component's own markup as readily as the
 * table's, so the Key cannot show a differently drawn badge from the rows it explains.
 *
 * Only the margin is cancelled. On a row the badge trails a label and needs the gap; here it leads
 * the line and the grid's own gap already provides one, so keeping it would indent this entry
 * alone out of line with the eight above it. */
.sc-keygrid .sc-ctag[b-db9rw7qsey] {
    margin-left: 0;
}

.sc-keynote[b-db9rw7qsey] {
    font-size: 0.75rem;
    color: #5d7a87;
    padding: 0 0.6rem 0.6rem;
    margin: 0;
}

#sc-exclusions:focus-visible[b-db9rw7qsey] {
    outline: 2px solid #1682b8;
    outline-offset: 2px;
}

@media (max-width: 700px) {
    .sc-keygrid[b-db9rw7qsey] {
        grid-template-columns: 1fr;
    }
}

/* Theme integration. Score severity remains semantic; all surrounding chrome follows the active theme. */
.sc-app[b-db9rw7qsey],
.sc-all-drawer[b-db9rw7qsey],
[b-db9rw7qsey] .sc-block { background: var(--surface-color); border-color: var(--border-color); color: var(--text-primary); }
.sc-selectors[b-db9rw7qsey],
[b-db9rw7qsey] .sc-basis,
[b-db9rw7qsey] .sc-block thead th,
.sc-all-head[b-db9rw7qsey] { background: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%); border-color: var(--border-color); }
.sc-field > span[b-db9rw7qsey],
.sc-cov[b-db9rw7qsey],
.sc-stat .k[b-db9rw7qsey],
.sc-stat .s[b-db9rw7qsey],
[b-db9rw7qsey] .sc-detail,
[b-db9rw7qsey] .sc-more,
.sc-all-eyebrow[b-db9rw7qsey],
[b-db9rw7qsey] .sc-basis,
[b-db9rw7qsey] .sc-block thead th,
[b-db9rw7qsey] .sc-dim td,
[b-db9rw7qsey] .sc-ctag,
[b-db9rw7qsey] .sc-mlabel.off,
.sc-await[b-db9rw7qsey],
[b-db9rw7qsey] .sc-await,
.sc-loading[b-db9rw7qsey],
.sc-exrow .c[b-db9rw7qsey],
.sc-keynote[b-db9rw7qsey] { color: var(--text-secondary); }
.sc-summary[b-db9rw7qsey],
.sc-suppressed[b-db9rw7qsey],
[b-db9rw7qsey] .sc-more,
.sc-all-head[b-db9rw7qsey],
[b-db9rw7qsey] .sc-block th,
[b-db9rw7qsey] .sc-block td,
[b-db9rw7qsey] .sc-basis,
[b-db9rw7qsey] .sc-ctag,
.sc-exrow[b-db9rw7qsey] { border-color: var(--border-color); }
.sc-prompt[b-db9rw7qsey],
.sc-prompt strong[b-db9rw7qsey],
[b-db9rw7qsey] .sc-context td,
.sc-exrow[b-db9rw7qsey],
.sc-keygrid div[b-db9rw7qsey],
.sc-await strong[b-db9rw7qsey],
[b-db9rw7qsey] .sc-await strong { color: var(--text-primary); }
.sc-cov button[b-db9rw7qsey],
[b-db9rw7qsey] .sc-link { color: var(--primary-color); }
[b-db9rw7qsey] .sc-link:hover,
[b-db9rw7qsey] .sc-link:focus-visible { color: color-mix(in srgb, var(--primary-color) 75%, var(--text-primary) 25%); }
.sc-all-backdrop[b-db9rw7qsey] { background: var(--overlay-color); }
.sc-all-drawer[b-db9rw7qsey] { box-shadow: -0.4rem 0 1.4rem var(--shadow-color); }
[b-db9rw7qsey] .sc-block-head { background: var(--primary-color); color: var(--primary-contrast); }
[b-db9rw7qsey] .sc-bstatus { background: var(--surface-color); }
[b-db9rw7qsey] .sc-bstatus-none { background: color-mix(in srgb, var(--primary-contrast) 22%, transparent 78%); color: var(--primary-contrast); }
[b-db9rw7qsey] .sc-bscore { border-color: var(--border-color); color: var(--text-primary); }
[b-db9rw7qsey] .sc-qm { border-color: color-mix(in srgb, currentColor 55%, transparent 45%); }
[b-db9rw7qsey] .sc-dot.ok { background-color: var(--scorecard-ok); }
[b-db9rw7qsey] .sc-dot.warn { background-color: var(--scorecard-warn); }
[b-db9rw7qsey] .sc-dot.bad { background-color: var(--scorecard-bad); }
[b-db9rw7qsey] .sc-dot.great { background-color: var(--scorecard-great); }
[b-db9rw7qsey] .sc-mlabel.ok,
[b-db9rw7qsey] .sc-blabel.ok { color: var(--scorecard-ok); }
[b-db9rw7qsey] .sc-mlabel.warn,
[b-db9rw7qsey] .sc-blabel.warn { color: var(--scorecard-warn); }
[b-db9rw7qsey] .sc-mlabel.bad,
[b-db9rw7qsey] .sc-blabel.bad { color: var(--scorecard-bad); }
[b-db9rw7qsey] .sc-mlabel.great { color: var(--scorecard-great); }
[b-db9rw7qsey] .sc-dot.ring,
[b-db9rw7qsey] .sc-dot.dash { background: transparent; border-color: var(--text-secondary); }
[b-db9rw7qsey] .sc-dot.ring.slash::after { background: linear-gradient(to bottom right, transparent 44%, var(--text-secondary) 44%, var(--text-secondary) 56%, transparent 56%); }
[b-db9rw7qsey] .sc-dot.pr { box-shadow: 0 0 0 2px var(--surface-color), 0 0 0 3.6px currentColor; }
[b-db9rw7qsey] .sc-chip { border-color: var(--text-secondary); color: var(--text-secondary); }
[b-db9rw7qsey] .sc-chip-partial { border-color: var(--scorecard-warn); color: var(--scorecard-warn); }
.sc-await[b-db9rw7qsey],
[b-db9rw7qsey] .sc-await { background: repeating-linear-gradient(135deg, transparent, transparent 7px, color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%) 7px, color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%) 14px); }
#sc-exclusions:focus-visible[b-db9rw7qsey] { outline-color: var(--primary-color); }
/* /Pages/Scorecard/ScorecardHelpDrawer.razor.rz.scp.css */
/*
 * The scorecard drawer's own stylesheet.
 *
 * It deliberately matches the forecasting drawer visually, but it cannot reuse that
 * component's classes: Blazor CSS isolation compiles those selectors with a scope attribute
 * only ForecastHelpDrawer receives, so borrowing the class names would have produced an
 * entirely unstyled panel.
 */

.sc-help-backdrop[b-pq1wo3u4ds] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: var(--overlay-color);
}

.sc-help-drawer[b-pq1wo3u4ds] {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 1050;
    width: min(42rem, calc(100vw - 1rem));
    background: var(--surface-color);
    border-left: 1px solid var(--border-color);
    box-shadow: -0.75rem 0 2rem var(--shadow-color);
    display: flex;
    flex-direction: column;
    outline: none;
}

.sc-help-header[b-pq1wo3u4ds] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border-color);
    background: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%);
}

.sc-help-eyebrow[b-pq1wo3u4ds] {
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sc-help-body[b-pq1wo3u4ds] {
    overflow: auto;
    padding: 1.25rem;
}

.sc-help-body .lead[b-pq1wo3u4ds] {
    max-width: 62ch;
    font-size: 1rem;
}

.sc-help-body section[b-pq1wo3u4ds] {
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.sc-help-body h5[b-pq1wo3u4ds] {
    margin-bottom: 0.6rem;
}

.sc-help-body li + li[b-pq1wo3u4ds] {
    margin-top: 0.45rem;
}

.sc-help-body table[b-pq1wo3u4ds] {
    font-size: 0.82rem;
}

/* Topic switcher inside the drawer. */
.sc-help-nav[b-pq1wo3u4ds] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.85rem;
}

.sc-help-nav button[b-pq1wo3u4ds] {
    font: inherit;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid var(--border-color);
    background: var(--surface-color);
    color: var(--text-primary);
    border-radius: 2px;
    padding: 0.25rem 0.6rem;
    cursor: pointer;
}

.sc-help-nav button.active[b-pq1wo3u4ds] {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-contrast);
}

.sc-help-nav button:focus-visible[b-pq1wo3u4ds] {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .sc-help-drawer[b-pq1wo3u4ds] {
        width: 100vw;
    }
}
/* /Pages/SmartImport.razor.rz.scp.css */
.import-workbench[b-3pb6moyjp1] {
    --ink: var(--text-primary);
    --muted: var(--text-secondary);
    --line: var(--border-color);
    --surface: var(--surface-color);
    --canvas: color-mix(in srgb, var(--background-color) 70%, var(--surface-color) 30%);
    --accent: var(--primary-color);
    color: var(--ink);
    max-width: 100%;
    padding: 1.25rem 0 4rem;
}

.workbench-header[b-3pb6moyjp1],
.section-heading[b-3pb6moyjp1],
.action-row[b-3pb6moyjp1],
.split-heading[b-3pb6moyjp1],
.review-toolbar[b-3pb6moyjp1],
.commit-bar[b-3pb6moyjp1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.workbench-header[b-3pb6moyjp1] {
    border-bottom: 1px solid var(--line);
    padding-bottom: 1.4rem;
}

h1[b-3pb6moyjp1] { font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.045em; margin: 0; }
h2[b-3pb6moyjp1] { font-size: clamp(1.5rem, 2.4vw, 2.1rem); letter-spacing: -.025em; margin: 0; }
h3[b-3pb6moyjp1] { font-size: 1rem; margin: 0 0 .75rem; }
.eyebrow[b-3pb6moyjp1] { color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .16em; margin: 0 0 .35rem; }
.lede[b-3pb6moyjp1], .section-heading p[b-3pb6moyjp1] { color: var(--muted); margin: .45rem 0 0; max-width: 54rem; }

.step-track[b-3pb6moyjp1] { display: flex; list-style: none; margin: 0; padding: 0; }
.step-track li[b-3pb6moyjp1] { align-items: center; color: var(--muted); display: flex; font-size: .78rem; font-weight: 700; gap: .4rem; }
.step-track li:not(:last-child)[b-3pb6moyjp1]::after { background: var(--line); content: ""; height: 1px; margin: 0 .55rem; width: 2.1rem; }
.step-track span[b-3pb6moyjp1] { align-items: center; border: 1px solid var(--line); border-radius: 50%; display: inline-flex; height: 1.7rem; justify-content: center; width: 1.7rem; }
.step-track .active[b-3pb6moyjp1] { color: var(--accent); }
.step-track .active span[b-3pb6moyjp1] { background: var(--accent); border-color: var(--accent); color: white; }
.step-track .complete span[b-3pb6moyjp1] { background: #1e7b50; border-color: #1e7b50; color: white; }

.source-pane[b-3pb6moyjp1], .interpret-pane[b-3pb6moyjp1], .review-pane[b-3pb6moyjp1], .result-pane[b-3pb6moyjp1] { animation: pane-in-b-3pb6moyjp1 .22s ease-out; padding-top: 1.8rem; }
.section-heading[b-3pb6moyjp1] { align-items: flex-end; margin-bottom: 1.5rem; }
.scope-grid[b-3pb6moyjp1] { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.5rem 0; }
label > span[b-3pb6moyjp1], .paste-field > span[b-3pb6moyjp1] { display: block; font-size: .78rem; font-weight: 750; margin-bottom: .4rem; }
.source-switch[b-3pb6moyjp1] { border-bottom: 1px solid var(--line); display: flex; gap: 1.25rem; margin-top: 2rem; }
.source-switch button[b-3pb6moyjp1] { background: none; border: 0; border-bottom: 3px solid transparent; color: var(--muted); font-weight: 750; padding: .8rem .1rem; }
.source-switch button.active[b-3pb6moyjp1] { border-color: var(--accent); color: var(--ink); }
.paste-field[b-3pb6moyjp1] { display: block; margin-top: 1.25rem; }
.paste-field textarea[b-3pb6moyjp1] { background: var(--canvas); border: 1px solid var(--line); border-radius: .35rem; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .83rem; padding: 1rem; resize: vertical; width: 100%; }
.paste-field small[b-3pb6moyjp1] { color: var(--muted); display: block; margin-top: .4rem; }
.file-drop[b-3pb6moyjp1] { align-items: center; background: var(--canvas); border: 1px dashed #a9b6c0; display: flex; flex-direction: column; gap: .45rem; margin-top: 1.25rem; padding: 3.5rem 1rem; position: relative; text-align: center; }
.file-drop input[b-3pb6moyjp1] { cursor: pointer; inset: 0; opacity: 0; position: absolute; width: 100%; }
.file-drop span[b-3pb6moyjp1] { color: var(--muted); font-size: .8rem; }
.worksheet-choice[b-3pb6moyjp1] { display: block; margin-top: 1rem; max-width: 24rem; }
.action-row[b-3pb6moyjp1] { border-top: 1px solid var(--line); margin-top: 1.5rem; padding-top: 1rem; }
.privacy-note[b-3pb6moyjp1] { color: var(--muted); font-size: .78rem; }

.notice[b-3pb6moyjp1] { align-items: flex-start; display: flex; gap: .75rem; margin-top: 1rem; padding: .8rem 1rem; }
.notice-error[b-3pb6moyjp1] { background: #fff0f0; border-left: 4px solid #b42318; color: #7a1b14; }
.notice span[b-3pb6moyjp1] { flex: 1; }
.notice-close[b-3pb6moyjp1] { background: none; border: 0; color: inherit; font-size: 1.25rem; line-height: 1; }
.loading-line[b-3pb6moyjp1] { color: var(--muted); padding: 3rem 0; }
.loading-line span[b-3pb6moyjp1] { animation: pulse-b-3pb6moyjp1 1s infinite; background: var(--accent); display: inline-block; height: .55rem; margin-right: .5rem; width: .55rem; }

.interpret-summary[b-3pb6moyjp1] { border-left: 3px solid var(--accent); display: grid; gap: .2rem; margin-bottom: 1.5rem; padding: .3rem 0 .3rem 1rem; }
.interpret-summary span[b-3pb6moyjp1], .interpret-summary em[b-3pb6moyjp1] { color: var(--muted); font-size: .82rem; }
.mapping-layout[b-3pb6moyjp1] { display: grid; gap: 2rem; grid-template-columns: minmax(34rem, 1fr) minmax(0, 1fr); }
.mapping-table[b-3pb6moyjp1], .sample-pane table[b-3pb6moyjp1], .preview-table[b-3pb6moyjp1] { border-collapse: collapse; width: 100%; }
th[b-3pb6moyjp1] { color: var(--muted); font-size: .7rem; letter-spacing: .045em; text-align: left; text-transform: uppercase; }
.mapping-table th[b-3pb6moyjp1], .mapping-table td[b-3pb6moyjp1] { border-bottom: 1px solid var(--line); padding: .65rem .5rem; }
.mapping-table th:nth-child(3)[b-3pb6moyjp1], .mapping-table td:nth-child(3)[b-3pb6moyjp1] { width: 8.5rem; }
.mapping-table th:last-child[b-3pb6moyjp1], .mapping-table td:last-child[b-3pb6moyjp1] { width: 4.5rem; }
.data-owner[b-3pb6moyjp1] { color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.confidence[b-3pb6moyjp1] { color: var(--muted); font-variant-numeric: tabular-nums; }
.sample-scroll[b-3pb6moyjp1] { background: var(--canvas); max-height: 24rem; overflow: auto; }
.sample-pane th[b-3pb6moyjp1], .sample-pane td[b-3pb6moyjp1] { border-bottom: 1px solid var(--line); font-size: .75rem; max-width: 13rem; overflow: hidden; padding: .6rem .75rem; text-overflow: ellipsis; white-space: nowrap; }
.field-warning[b-3pb6moyjp1] { color: #9a6700; font-size: .82rem; }

.summary-strip[b-3pb6moyjp1] { background: #17232e; color: white; display: grid; grid-template-columns: 1.45fr repeat(5, 1fr); margin-bottom: 1rem; }
.summary-strip > div[b-3pb6moyjp1], .summary-strip > button[b-3pb6moyjp1] { background: none; border: 0; border-right: 1px solid #34434f; color: inherit; display: grid; padding: 1rem; text-align: left; }
.summary-strip > *:last-child[b-3pb6moyjp1] { border-right: 0; }
.summary-strip strong[b-3pb6moyjp1] { font-size: 1.65rem; font-variant-numeric: tabular-nums; line-height: 1; }
.summary-strip span[b-3pb6moyjp1] { color: #bac5cc; font-size: .72rem; margin-top: .35rem; text-transform: uppercase; }
.summary-strip button:hover[b-3pb6moyjp1] { background: #223441; }
.summary-primary strong[b-3pb6moyjp1] { color: #88dbb2; }
.review-toolbar[b-3pb6moyjp1] { align-items: flex-end; margin-bottom: .75rem; }
.filter-tabs[b-3pb6moyjp1] { display: flex; gap: .35rem; }
.filter-tabs button[b-3pb6moyjp1] { background: transparent; border: 1px solid var(--line); border-radius: 2rem; color: var(--muted); font-size: .75rem; padding: .4rem .75rem; }
.filter-tabs button.active[b-3pb6moyjp1] { background: var(--ink); border-color: var(--ink); color: white; }
.state-key[b-3pb6moyjp1] { align-items: center; background: var(--canvas); border-left: 3px solid var(--accent); display: flex; gap: .85rem; padding: .55rem .75rem; }
.state-key > strong[b-3pb6moyjp1] { color: var(--ink); flex: none; font-size: .7rem; letter-spacing: .055em; text-transform: uppercase; }
.state-key ul[b-3pb6moyjp1] { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: flex-end; list-style: none; margin: 0; padding: 0; }
.state-badge[b-3pb6moyjp1] { border: 1px solid currentColor; border-radius: 2rem; display: inline-flex; font-size: .72rem; font-weight: 700; line-height: 1; padding: .42rem .68rem; white-space: nowrap; }

.preview-scroll[b-3pb6moyjp1] { border: 1px solid var(--line); max-height: 62vh; overflow: auto; }
.preview-table[b-3pb6moyjp1] { min-width: 1750px; }
.preview-table th[b-3pb6moyjp1] { background: #edf1f3; padding: .65rem .55rem; position: sticky; z-index: 2; }
.ownership-heading-row th[b-3pb6moyjp1] { background: #dfe5e9; height: 2rem; padding-bottom: .45rem; padding-top: .45rem; top: 0; vertical-align: bottom; }
.ownership-heading-row th[rowspan][b-3pb6moyjp1] { background: #e8edef; }
.field-heading-row th[b-3pb6moyjp1] { top: 2rem; }
.group-heading[b-3pb6moyjp1] { color: #3f4b55; font-size: .68rem; font-weight: 850; letter-spacing: .075em; }
.group-start[b-3pb6moyjp1] { border-left: 2px solid #aeb8bf !important; }
.preview-table td[b-3pb6moyjp1] { border-bottom: 1px solid var(--line); border-right: 1px solid #e9edef; min-width: 11.5rem; padding: .5rem; vertical-align: top; }
.preview-table .sticky-col[b-3pb6moyjp1] { background: var(--surface); left: 0; min-width: 5rem; position: sticky; z-index: 1; }
.preview-table th.sticky-col[b-3pb6moyjp1] { background: #edf1f3; z-index: 3; }
.sticky-col small[b-3pb6moyjp1] { color: var(--muted); display: block; max-width: 7rem; overflow: hidden; text-overflow: ellipsis; }
.preview-cell input[b-3pb6moyjp1] { background: rgba(255,255,255,.72); border: 1px solid transparent; border-radius: .2rem; font-size: .78rem; padding: .38rem .42rem; width: 100%; }
.preview-cell input:focus[b-3pb6moyjp1] { background: white; border-color: var(--accent); box-shadow: 0 0 0 2px rgba(23,105,170,.15); outline: none; }
.old-value[b-3pb6moyjp1] { color: #6b747c; display: block; font-size: .68rem; margin-bottom: .2rem; text-decoration: line-through; }
.cell-footer[b-3pb6moyjp1] { align-items: center; display: flex; justify-content: space-between; margin-top: .28rem; }
.cell-footer span[b-3pb6moyjp1], .cell-footer button[b-3pb6moyjp1] { font-size: .64rem; }
.cell-footer button[b-3pb6moyjp1] { background: none; border: 0; color: inherit; padding: 0; text-decoration: underline; }
.cell-message[b-3pb6moyjp1], .row-message[b-3pb6moyjp1] { color: inherit; display: block; font-size: .67rem; margin-top: .3rem; max-width: 16rem; }
.row-outcome[b-3pb6moyjp1] { border-radius: 1rem; display: inline-block; font-size: .68rem; font-weight: 750; padding: .22rem .5rem; }
.outcome-insert[b-3pb6moyjp1] { background: #dff5e8; color: #17633b; }
.outcome-update[b-3pb6moyjp1] { background: #e2effa; color: #175d91; }
.outcome-unchanged[b-3pb6moyjp1], .outcome-ignoredduplicate[b-3pb6moyjp1] { background: #e9edef; color: #5d6871; }
.outcome-warning[b-3pb6moyjp1] { background: #fff0c2; color: #835d00; }
.outcome-blocked[b-3pb6moyjp1] { background: #ffe2df; color: #9f281e; }
.row-actions[b-3pb6moyjp1] { min-width: 8rem !important; }
.row-actions label[b-3pb6moyjp1] { color: var(--muted); display: block; font-size: .72rem; margin-top: .5rem; }
.row-actions .auto-skip[b-3pb6moyjp1] { color: #4f5d67; font-weight: 750; line-height: 1.25; margin-top: 0; }
.row-actions .auto-skip input[b-3pb6moyjp1] { accent-color: #64717d; opacity: 1; }
.ack-button[b-3pb6moyjp1] { background: #8a6100; border: 0; border-radius: .25rem; color: white; font-size: .7rem; padding: .35rem .55rem; }
.row-excluded[b-3pb6moyjp1] { opacity: .5; }

.state-new[b-3pb6moyjp1] { background-color: #e5f6ec; color: #17633b; }
.state-kept[b-3pb6moyjp1] { background-color: #f1f3f4; color: #5d6871; }
.state-changed[b-3pb6moyjp1] { background-color: #e6f1fb; color: #175d91; }
.state-warning[b-3pb6moyjp1] { background-color: #fff2c9; color: #835d00; }
.state-blocked[b-3pb6moyjp1] { background-color: #ffe5e2; color: #9f281e; }
.state-clear[b-3pb6moyjp1] { background-color: #f1e8fa; color: #69418c; }

.commit-bar[b-3pb6moyjp1] { background: var(--surface); border-top: 1px solid var(--line); bottom: 0; margin-top: 1rem; padding: .9rem 0; position: sticky; z-index: 5; }
.commit-bar div[b-3pb6moyjp1] { display: grid; }
.commit-bar span[b-3pb6moyjp1] { color: var(--muted); font-size: .78rem; }
.result-pane[b-3pb6moyjp1] { max-width: 56rem; }
.result-counts[b-3pb6moyjp1] { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); margin: 2rem 0; }
.result-counts div[b-3pb6moyjp1] { display: grid; padding: 1.5rem 1rem; }
.result-counts strong[b-3pb6moyjp1] { font-size: 2.4rem; }
.result-counts span[b-3pb6moyjp1] { color: var(--muted); font-size: .75rem; text-transform: uppercase; }
.run-reference[b-3pb6moyjp1] { color: var(--muted); font-size: .8rem; }

@keyframes pane-in-b-3pb6moyjp1 { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes pulse-b-3pb6moyjp1 { 50% { opacity: .25; } }

@media (prefers-reduced-motion: reduce) {
    .source-pane[b-3pb6moyjp1], .interpret-pane[b-3pb6moyjp1], .review-pane[b-3pb6moyjp1], .result-pane[b-3pb6moyjp1], .loading-line span[b-3pb6moyjp1] { animation: none; }
}

@media (max-width: 900px) {
    .workbench-header[b-3pb6moyjp1], .section-heading[b-3pb6moyjp1], .split-heading[b-3pb6moyjp1], .action-row[b-3pb6moyjp1], .review-toolbar[b-3pb6moyjp1], .commit-bar[b-3pb6moyjp1] { align-items: flex-start; flex-direction: column; }
    .step-track[b-3pb6moyjp1] { width: 100%; }
    .step-track li[b-3pb6moyjp1] { flex: 1; }
    .step-track li:not(:last-child)[b-3pb6moyjp1]::after { flex: 1; width: auto; }
    .scope-grid[b-3pb6moyjp1], .mapping-layout[b-3pb6moyjp1] { grid-template-columns: 1fr; }
    .summary-strip[b-3pb6moyjp1] { grid-template-columns: repeat(3, 1fr); }
    .state-key[b-3pb6moyjp1] { align-items: flex-start; flex-direction: column; width: 100%; }
    .state-key ul[b-3pb6moyjp1] { justify-content: flex-start; }
}

/* Theme integration: import states keep their meaning while deriving from the active palette. */
.step-track .active span[b-3pb6moyjp1] { color: var(--primary-contrast); }
.step-track .complete span[b-3pb6moyjp1] { background: var(--success-color); border-color: var(--success-color); color: var(--success-contrast); }
.file-drop[b-3pb6moyjp1] { border-color: var(--border-color); }
.notice-error[b-3pb6moyjp1] { background: var(--state-blocked-bg); border-color: var(--error-color); color: var(--state-blocked-text); }
.field-warning[b-3pb6moyjp1] { color: var(--state-warning-text); }
.summary-strip[b-3pb6moyjp1] { background: linear-gradient(135deg, var(--sidebar-primary), var(--sidebar-secondary)); color: var(--sidebar-contrast); }
.summary-strip > div[b-3pb6moyjp1],
.summary-strip > button[b-3pb6moyjp1] { border-color: color-mix(in srgb, var(--sidebar-contrast) 24%, transparent 76%); }
.summary-strip span[b-3pb6moyjp1] { color: color-mix(in srgb, var(--sidebar-contrast) 72%, transparent 28%); }
.summary-strip button:hover[b-3pb6moyjp1] { background: color-mix(in srgb, var(--sidebar-contrast) 10%, transparent 90%); }
.summary-primary strong[b-3pb6moyjp1] { color: color-mix(in srgb, var(--success-color) 70%, var(--sidebar-contrast) 30%); }
.filter-tabs button.active[b-3pb6moyjp1] { background: var(--primary-color); border-color: var(--primary-color); color: var(--primary-contrast); }
.preview-table th[b-3pb6moyjp1],
.preview-table th.sticky-col[b-3pb6moyjp1],
.ownership-heading-row th[b-3pb6moyjp1],
.ownership-heading-row th[rowspan][b-3pb6moyjp1] { background: var(--canvas); color: var(--text-secondary); }
.group-heading[b-3pb6moyjp1] { color: var(--text-primary); }
.group-start[b-3pb6moyjp1],
.preview-table td[b-3pb6moyjp1] { border-color: var(--border-color) !important; }
.preview-cell input[b-3pb6moyjp1] { background: color-mix(in srgb, var(--surface-color) 85%, transparent 15%); color: var(--text-primary); }
.preview-cell input:focus[b-3pb6moyjp1] { background: var(--surface-color); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-color) 20%, transparent 80%); }
.old-value[b-3pb6moyjp1],
.row-actions label[b-3pb6moyjp1],
.row-actions .auto-skip[b-3pb6moyjp1] { color: var(--text-secondary); }
.row-actions .auto-skip input[b-3pb6moyjp1] { accent-color: var(--secondary-color); }
.ack-button[b-3pb6moyjp1] { background: var(--warning-color); color: var(--warning-contrast); }
.outcome-insert[b-3pb6moyjp1],
.state-new[b-3pb6moyjp1] { background: var(--state-new-bg); color: var(--state-new-text); }
.outcome-update[b-3pb6moyjp1],
.state-changed[b-3pb6moyjp1] { background: var(--state-changed-bg); color: var(--state-changed-text); }
.outcome-unchanged[b-3pb6moyjp1],
.outcome-ignoredduplicate[b-3pb6moyjp1],
.state-kept[b-3pb6moyjp1] { background: var(--state-kept-bg); color: var(--state-kept-text); }
.outcome-warning[b-3pb6moyjp1],
.state-warning[b-3pb6moyjp1] { background: var(--state-warning-bg); color: var(--state-warning-text); }
.outcome-blocked[b-3pb6moyjp1],
.state-blocked[b-3pb6moyjp1] { background: var(--state-blocked-bg); color: var(--state-blocked-text); }
.state-clear[b-3pb6moyjp1] { background: var(--state-clear-bg); color: var(--state-clear-text); }
