/* /Components/Layout/KioskLayout.razor.rz.scp.css */
.kiosk[b-9d3d05upfp] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--bs-body-bg);
    overflow: hidden;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-kzjtio2nbf] {
    height: 100%;
    font-family: var(--cf-font);
}

.page.non-prod[b-kzjtio2nbf] {
    border: var(--cf-env-border-width) solid var(--cf-env-amber);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

    .page.non-prod[b-kzjtio2nbf]  .page-layout {
        flex: 1 1 auto;
        min-height: 0;
    }

[b-kzjtio2nbf] .env-ribbon {
    height: var(--cf-env-ribbon-height);
    background-color: var(--cf-env-amber);
    background-image: repeating-linear-gradient(
        45deg,
        rgba(0, 0, 0, 0.08) 0,
        rgba(0, 0, 0, 0.08) 10px,
        transparent 10px,
        transparent 20px
    );
    color: var(--cf-env-amber-text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    flex: 0 0 auto;
    user-select: none;
}

[b-kzjtio2nbf] .icon {
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    mask-position: center center;
    -webkit-mask-mask-position: center center;
    width: 1rem;
    height: 1rem;
    background-repeat: no-repeat;
    background-color: var(--dxbl-btn-color);
}

[b-kzjtio2nbf] #menu-top {
    display: block;
}

    [b-kzjtio2nbf] #menu-top.hidden {
        display: none;
    }

[b-kzjtio2nbf] .icon-back {
    -webkit-mask-image: url("images/back.svg");
    mask-image: url("images/back.svg");
}

[b-kzjtio2nbf] .icon-menu {
    -webkit-mask-image: url("images/menu.svg");
    mask-image: url("images/menu.svg");
}
[b-kzjtio2nbf] .icon-log-in {
    -webkit-mask-image: url("images/account/log-in.svg");
    mask-image: url("images/account/log-in.svg");
}


[b-kzjtio2nbf] .icon-log-out {
    -webkit-mask-image: url("images/account/log-out.svg");
    mask-image: url("images/account/log-out.svg");
}

[b-kzjtio2nbf] .icon-user {
    -webkit-mask-image: url("images/account/user.svg");
    mask-image: url("images/account/user.svg");
}

[b-kzjtio2nbf] .content {
    overflow: auto;
    display: flex;
    flex-direction: column;
}

[b-kzjtio2nbf] .menu-button:hover .icon {
    background-color: var(--dxbl-btn-hover-color);
}

.nav-buttons-container[b-kzjtio2nbf] {
    display: flex;
    gap: var(--cf-space-sm);
    padding: 0.5rem 0rem;
}

    .nav-buttons-container[b-kzjtio2nbf]  .menubutton-float-end {
        margin-left: auto;
    }

    .nav-buttons-container[b-kzjtio2nbf]  .dxbl-btn-icon-only {
        --dxbl-btn-padding-x: 0.75rem;
        --dxbl-btn-padding-y: 0.25rem;
    }

@media (max-width: 768px) {
    [b-kzjtio2nbf] .layout-sidebar {
        grid-area: header / header / header / header !important;
    }
}

@media (max-width: 768px) {
    [b-kzjtio2nbf] #menu-top {
        display: none;
    }
}

@media (max-width: 768px) {
    .page.non-prod[b-kzjtio2nbf] {
        border-width: 2px;
    }

    [b-kzjtio2nbf] .env-ribbon {
        height: 22px;
        font-size: 0.6875rem;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
#sidebar[b-59q3ga35ta] {
    min-width: var(--cf-sidebar-width);
    max-width: var(--cf-sidebar-width);
    box-shadow: var(--cf-shadow-sidebar);
    transition: transform var(--cf-transition);
    height: 100%;
    max-height: 100%;
    background-color: var(--cf-sidebar-bg);
    color: var(--cf-sidebar-fg);
    display: block;
}

    #sidebar.auto-expanded[b-59q3ga35ta] {
        display: none;
    }

    #sidebar .menu-closeonclick-placeholder[b-59q3ga35ta] {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        display: none;
    }

[b-59q3ga35ta] .sidebar-header {
    padding: var(--cf-space-xl) var(--cf-space-md) 0;
}

.logo[b-59q3ga35ta] {
    text-align: center;
}

[b-59q3ga35ta] .menu-button-container {
    align-self: center;
}

.menu-button[b-59q3ga35ta] {
    padding: 0.375rem;
    width: 1rem;
    height: 1rem;
    background-image: url("images/menu.svg");
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
}

[b-59q3ga35ta] .menu.display-mobile {
    margin-bottom: 2rem;
}

/* CastFlo NavItem: 8x12 padding, 4px radius, 10px icon gap, white 8% hover, white 12% + 600 active. */
[b-59q3ga35ta] .menu {
    background-color: inherit;
    padding: 0 var(--cf-space-md);
    --dxbl-menu-bg: transparent;
    --dxbl-menu-color: var(--cf-sidebar-fg);
    --dxbl-menu-item-hover-bg: var(--cf-sidebar-hover);
    --dxbl-menu-item-hover-color: var(--cf-sidebar-fg);
    --dxbl-menu-item-selected-bg: var(--cf-sidebar-active);
    --dxbl-menu-item-selected-color: var(--cf-sidebar-fg);
    --dxbl-menu-item-selected-hover-bg: var(--cf-sidebar-active);
    --dxbl-menu-item-selected-hover-color: var(--cf-sidebar-fg);
    --dxbl-menu-item-padding-x: var(--cf-space-md);
    --dxbl-menu-item-padding-y: var(--cf-space-sm);
    --dxbl-menu-item-image-spacing: 10px;
    --dxbl-menu-item-focus-outline-color: var(--cf-sidebar-fg);
    --dxbl-menu-separator-color: rgba(255, 255, 255, 0.16);
}

    [b-59q3ga35ta] .menu .dxbl-menu-item-list {
        gap: var(--cf-space-xs);
    }

[b-59q3ga35ta] .menu-item {
    color: var(--cf-sidebar-fg);
    border-radius: var(--cf-radius);
    transition: background-color var(--cf-transition);
}

[b-59q3ga35ta] .menu-item-active,
[b-59q3ga35ta] .menu-item-active .dxbl-menu-item-text {
    background-color: var(--cf-sidebar-active);
    font-weight: 600;
}

/* The group holding the current page: bold title only (its own button, not the child items). */
[b-59q3ga35ta] .menu-group-active > .dxbl-menu-item > .dxbl-btn .dxbl-menu-item-text {
    font-weight: 600;
}

[b-59q3ga35ta] .icon {
    width: 1rem;
    height: 1rem;
    background-position: center;
    background-repeat: no-repeat;
    margin-left: 0.5rem;
}

[b-59q3ga35ta] .log-in-icon {
    background-image: url("images/account/log-in.svg");
}

[b-59q3ga35ta] .user-icon {
    background-image: url("images/account/user.svg");
}

[b-59q3ga35ta] .footer {
    text-align: center;
    gap: 0.5rem;
    padding-bottom: 1.5rem;
}

    [b-59q3ga35ta] .footer .icon {
        margin-left: 0;
    }

#sidebar.auto-expanded[b-59q3ga35ta]  .layout-item {
    display: block;
}

#sidebar.auto-expanded[b-59q3ga35ta]  .footer {
    display: block;
}

@media (max-width: 768px) {
    #sidebar[b-59q3ga35ta] {
        min-width: inherit;
        max-width: inherit;
        display: block;
    }

        #sidebar .menu-closeonclick-placeholder[b-59q3ga35ta] {
            display: block;
        }

        #sidebar.auto-expanded[b-59q3ga35ta] {
            position: fixed;
            width: 100%;
            z-index: 3;
            display: block;
        }

            #sidebar.auto-expanded[b-59q3ga35ta]  .sidebar-header {
                border-bottom: 1px solid var(--bs-white);
            }

            #sidebar.auto-expanded .menu-button[b-59q3ga35ta] {
                background-image: url("images/close.svg");
                width: 1.875rem;
                height: 1.875rem;
            }

        #sidebar:not(.auto-expanded)[b-59q3ga35ta]  .dxbl-gridlayout-root {
            gap: unset !important;
        }

    .logo[b-59q3ga35ta] {
        text-align: inherit;
    }

    [b-59q3ga35ta] .menu-button-container {
        display: block;
    }

    [b-59q3ga35ta] .layout-item {
        display: none;
    }

    [b-59q3ga35ta] .footer {
        display: none;
    }
}

/* Signed-out sidebar text and the small-screen Log out form. */
.sidebar-signedout[b-59q3ga35ta] {
    color: var(--cf-sidebar-fg-dim);
    padding: 0 1rem;
    font-size: 0.875rem;
}

.mobile-logout[b-59q3ga35ta] {
    padding: 0 0.5rem 1rem;
}

/* Menu icons: 16px Bootstrap Icons in white; child items dimmed. No boxes, borders or colours. */
[b-59q3ga35ta] .bi-navmenu,
[b-59q3ga35ta] .bi-navmenu-group {
    font-size: 1rem;
    width: 1rem;
    height: 1rem;
    display: block;
    text-align: center;
    line-height: 1;
    background-color: transparent;
}

[b-59q3ga35ta] .bi-navmenu-group {
    color: var(--cf-sidebar-fg);
}

[b-59q3ga35ta] .bi-navmenu {
    color: var(--cf-sidebar-fg-dim);
    margin-left: var(--cf-space-sm);
}

/* BeginGroup separators. */
[b-59q3ga35ta] .dxbl-menu.dxbl-menu-vertical .dxbl-menu-item-list > .dxbl-menu-separator {
    margin: var(--cf-space-xs) var(--cf-space-md) !important;
    height: 1px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-1teg11rpqz],
.components-reconnect-repeated-attempt-visible[b-1teg11rpqz],
.components-reconnect-failed-visible[b-1teg11rpqz],
.components-pause-visible[b-1teg11rpqz],
.components-resume-failed-visible[b-1teg11rpqz],
.components-rejoining-animation[b-1teg11rpqz] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-1teg11rpqz],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-1teg11rpqz],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-1teg11rpqz],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-1teg11rpqz],
#components-reconnect-modal.components-reconnect-retrying[b-1teg11rpqz],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-1teg11rpqz],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-1teg11rpqz],
#components-reconnect-modal.components-reconnect-failed[b-1teg11rpqz],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-1teg11rpqz] {
    display: block;
}


#components-reconnect-modal[b-1teg11rpqz] {
    background-color: var(--cf-surface);
    color: var(--cf-text);
    font: var(--text-body-md);
    width: 20rem;
    margin: 20vh auto;
    padding: var(--cf-space-2xl);
    border: 1px solid var(--cf-border-input);
    border-radius: var(--cf-radius-card);
    box-shadow: var(--cf-shadow-popup);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-1teg11rpqz 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-fadeInOpacity-b-1teg11rpqz 120ms ease 0.3s; /* CastFlo: no slide or bounce */
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-1teg11rpqz]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-1teg11rpqz 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-fadeInOpacity-b-1teg11rpqz {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-1teg11rpqz {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-1teg11rpqz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-1teg11rpqz] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-1teg11rpqz] {
    border: 0;
    background-color: var(--cf-primary-text);
    color: #fff;
    font: var(--text-button);
    padding: var(--cf-space-sm) var(--cf-space-lg);
    border-radius: var(--cf-radius);
    transition: background-color var(--cf-transition);
}

    #components-reconnect-modal button:hover[b-1teg11rpqz],
    #components-reconnect-modal button:active[b-1teg11rpqz] {
        background-color: #984c0c; /* OfficeWhite primary active */
    }

.components-rejoining-animation[b-1teg11rpqz] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-1teg11rpqz] {
        position: absolute;
        border: 3px solid var(--cf-primary);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-1teg11rpqz 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-1teg11rpqz] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-1teg11rpqz {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-content[b-lolg9c2i4h] {
    display: flex;
    flex-direction: column;
    gap: var(--cf-space-2xl);
    padding: var(--cf-space) 0;
}

.home-logo[b-lolg9c2i4h] {
    display: flex;
    justify-content: center;
}

.welcome-cards[b-lolg9c2i4h] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cf-space);
    justify-content: center;
}

.home-section[b-lolg9c2i4h] {
    display: flex;
    flex-direction: column;
    gap: var(--cf-space);
}
/* /Components/Pages/Production/Admin/DisaSimulator.razor.rz.scp.css */
/* DisaCim Simulator (handoff "Page"). Child step components render inside .sim-page, so their classes are styled
   here with ::deep. CastFlo tokens only (site.css); mould colours follow spec 4.6. */
.sim-page[b-exocr5a9p6] {
    display: flex;
    flex-direction: column;
    gap: var(--cf-space-xl);
    padding-bottom: 40px;
}

.sim-page[b-exocr5a9p6]  .sim-cap {
    font-size: 12px;
    color: var(--cf-text-muted);
}

.sim-page[b-exocr5a9p6]  .sim-intro {
    margin: calc(-1 * var(--cf-space-lg)) 0 0;
    max-width: 960px;
}

.sim-page[b-exocr5a9p6]  .sim-lbl {
    font-size: 13px;
    font-weight: 500;
    color: var(--cf-text-muted);
}

.sim-page[b-exocr5a9p6]  .sim-h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.sim-page[b-exocr5a9p6]  .sim-floor {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.sim-page[b-exocr5a9p6]  .cf-tnum {
    font-variant-numeric: tabular-nums;
}

/* Status strip */
.sim-page[b-exocr5a9p6]  .sim-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-space-md) var(--cf-space-xl);
    padding: var(--cf-space-md) var(--cf-space-lg);
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius-card);
    background: var(--cf-surface-alt);
}

.sim-page[b-exocr5a9p6]  .sim-clock {
    display: flex;
    flex-direction: column;
    min-width: 150px;
}

.sim-page[b-exocr5a9p6]  .sim-clock-time {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}

.sim-page[b-exocr5a9p6]  .sim-clock-speed {
    font-size: 13px;
    font-weight: 500;
    color: var(--cf-text-muted);
}

.sim-page[b-exocr5a9p6]  .sim-vr {
    width: 1px;
    height: 44px;
    background: var(--cf-border);
}

.sim-page[b-exocr5a9p6]  .sim-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 220px;
}

.sim-page[b-exocr5a9p6]  .sim-dot {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: var(--cf-radius-pill);
}

.sim-page[b-exocr5a9p6]  .sim-dot-sm {
    width: 8px;
    height: 8px;
}

.sim-page[b-exocr5a9p6]  .sim-hint {
    max-width: 320px;
}

/* Step bar */
.sim-page[b-exocr5a9p6]  .sim-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--cf-space-sm);
}

.sim-page[b-exocr5a9p6]  .sim-step {
    display: flex;
    align-items: center;
    gap: var(--cf-space-md);
    min-height: 64px;
    padding: 10px 14px;
    border: 1px solid var(--cf-border);
    border-left: 4px solid var(--cf-border);
    border-radius: var(--cf-radius-card);
    background: var(--cf-surface-alt);
    color: var(--cf-text);
    font-size: 14px;
    cursor: pointer;
    transition: border-color var(--cf-transition);
}

    .sim-page[b-exocr5a9p6]  .sim-step:hover {
        border-color: var(--cf-primary);
    }

    .sim-page[b-exocr5a9p6]  .sim-step:focus-visible {
        outline: 2px solid var(--cf-primary);
        outline-offset: 2px;
    }

    .sim-page[b-exocr5a9p6]  .sim-step.is-current {
        background: var(--cf-surface);
        border-color: var(--cf-primary);
    }

    .sim-page[b-exocr5a9p6]  .sim-step.is-done {
        border-left-color: var(--cf-success);
    }

.sim-page[b-exocr5a9p6]  .sim-step-n {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--cf-radius-pill);
    background: #e9ecef;
    color: #495057;
    font-weight: 700;
}

.sim-page[b-exocr5a9p6]  .sim-step.is-current .sim-step-n {
    background: var(--cf-primary);
    color: var(--cf-on-primary);
}

.sim-page[b-exocr5a9p6]  .sim-step.is-done .sim-step-n {
    background: var(--cf-success);
    color: #fff;
}

/* Cards and layout */
.sim-page[b-exocr5a9p6]  .sim-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: var(--cf-space-lg);
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius-card);
    background: var(--cf-surface);
    box-shadow: var(--cf-shadow-card);
}

.sim-page[b-exocr5a9p6]  .sim-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-space-md);
}

.sim-page[b-exocr5a9p6]  .sim-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
    gap: var(--cf-space-lg);
}

.sim-page[b-exocr5a9p6]  .sim-split {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--cf-space-xl);
}

.sim-page[b-exocr5a9p6]  .sim-split-main {
    flex: 1 1 520px;
}

.sim-page[b-exocr5a9p6]  .sim-split-side {
    flex: 1 1 380px;
}

.sim-page[b-exocr5a9p6]  .sim-split-feed {
    flex: 1 1 360px;
}

.sim-page[b-exocr5a9p6]  .sim-split-writes {
    flex: 2 1 520px;
}

.sim-page[b-exocr5a9p6]  .sim-step-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--cf-space-md) var(--cf-space-xl);
}

.sim-page[b-exocr5a9p6]  .sim-step-head-text {
    flex: 1 1 480px;
    min-width: 0;
}

.sim-page[b-exocr5a9p6]  .sim-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--cf-space-lg) var(--cf-space-xl);
}

.sim-page[b-exocr5a9p6]  .sim-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sim-page[b-exocr5a9p6]  .sim-band {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-space-md);
    padding: var(--cf-space-md);
    border-radius: var(--cf-radius);
    background: var(--cf-surface-alt);
}

.sim-page[b-exocr5a9p6]  .sim-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-space-sm) var(--cf-space-md);
}

.sim-page[b-exocr5a9p6]  .sim-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--cf-space-sm);
}

.sim-page[b-exocr5a9p6]  .sim-btn-lg {
    min-height: 44px;
    padding-left: 20px;
    padding-right: 20px;
}

.sim-page[b-exocr5a9p6]  .sim-divider {
    padding-top: var(--cf-space-lg);
    border-top: 1px solid var(--cf-border);
}

/* Segmented buttons */
.sim-page[b-exocr5a9p6]  .sim-seg {
    display: inline-flex;
    width: fit-content;
    border: 1px solid var(--cf-text-muted);
    border-radius: var(--cf-radius);
    overflow: hidden;
}

.sim-page[b-exocr5a9p6]  .sim-seg-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--cf-space-sm);
    height: var(--cf-control-height);
    min-width: 56px;
    padding: 0 var(--cf-space-md);
    border: none;
    border-left: 1px solid var(--cf-text-muted);
    background: var(--cf-surface);
    color: var(--cf-text);
    font-size: 14px;
    font-weight: 600;
    justify-content: center;
    cursor: pointer;
}

    .sim-page[b-exocr5a9p6]  .sim-seg-btn:first-child {
        border-left: none;
    }

    .sim-page[b-exocr5a9p6]  .sim-seg-btn.is-on {
        background: var(--cf-primary);
        color: var(--cf-on-primary);
    }

    .sim-page[b-exocr5a9p6]  .sim-seg-btn:disabled {
        opacity: .5;
        cursor: not-allowed;
    }

    .sim-page[b-exocr5a9p6]  .sim-seg-btn:focus-visible {
        outline: 2px solid var(--cf-primary);
        outline-offset: -2px;
    }

.sim-page[b-exocr5a9p6]  .sim-seg.is-lg .sim-seg-btn {
    height: 44px;
    min-width: 60px;
    padding: 0 var(--cf-space-lg);
}

/* Step 2 */
.sim-page[b-exocr5a9p6]  .sim-kv3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--cf-space-md) var(--cf-space-xl);
}

    .sim-page[b-exocr5a9p6]  .sim-kv3 > div {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

.sim-page[b-exocr5a9p6]  .sim-spin {
    width: 120px;
}

/* Step 3 */
.sim-page[b-exocr5a9p6]  .sim-figures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--cf-space-md);
}

    .sim-page[b-exocr5a9p6]  .sim-figures > div {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

.sim-page[b-exocr5a9p6]  .sim-fig-lbl {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--cf-text-muted);
}

.sim-page[b-exocr5a9p6]  .sim-fig {
    font-size: 20px;
    font-weight: 600;
}

.sim-page[b-exocr5a9p6]  .sim-progress {
    height: 8px;
    border-radius: var(--cf-radius);
    background: #e9ecef;
    overflow: hidden;
}

    .sim-page[b-exocr5a9p6]  .sim-progress > div {
        height: 8px;
        background: var(--cf-primary);
    }

.sim-page[b-exocr5a9p6]  .sim-pour {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-space-md);
    padding: var(--cf-space-md);
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius);
    background: var(--cf-surface);
}

    .sim-page[b-exocr5a9p6]  .sim-pour > .flex-grow-1 {
        flex: 1 1 220px;
        min-width: 0;
    }

    .sim-page[b-exocr5a9p6]  .sim-pour.is-held {
        border-color: var(--cf-warning);
        background: #fff8e1;
    }

        .sim-page[b-exocr5a9p6]  .sim-pour.is-held .sim-cap {
            color: #4d3b00;
        }

.sim-page[b-exocr5a9p6]  .sim-dot-pour {
    width: 12px;
    height: 12px;
    background: #fd7e14;
}

.sim-page[b-exocr5a9p6]  .sim-dot-held {
    width: 12px;
    height: 12px;
    background: var(--cf-warning);
}

.sim-page[b-exocr5a9p6]  .sim-furnace {
    width: 90px;
}

.sim-page[b-exocr5a9p6]  .sim-strip {
    display: flex;
    gap: 2px;
}

.sim-page[b-exocr5a9p6]  .sim-cell {
    flex: 1 1 0;
    min-width: 0;
    height: 22px;
    border-radius: 2px;
}

.sim-page[b-exocr5a9p6]  .sim-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px var(--cf-space-lg);
}

    .sim-page[b-exocr5a9p6]  .sim-legend > span {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

.sim-page[b-exocr5a9p6]  .sim-swatch {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 2px;
}

/* Step 4 */
.sim-page[b-exocr5a9p6]  .sim-inject {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-space-md);
    padding: var(--cf-space-md);
    border: 1px solid var(--cf-warning);
    border-radius: var(--cf-radius);
    background: #fff8e1;
    color: var(--cf-env-amber-text);
}

    .sim-page[b-exocr5a9p6]  .sim-inject > .flex-grow-1 {
        flex: 1 1 240px;
        min-width: 0;
    }

    .sim-page[b-exocr5a9p6]  .sim-inject .bi {
        font-size: 20px;
    }

.sim-page[b-exocr5a9p6]  .sim-inject-detail {
    color: #4d3b00;
}

.sim-page[b-exocr5a9p6]  .sim-inject-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--cf-space-sm);
}

.sim-page[b-exocr5a9p6]  .sim-inject-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    min-height: 64px;
    padding: var(--cf-space-sm) var(--cf-space-md);
    border: 1px solid var(--cf-text-muted);
    border-radius: var(--cf-radius);
    background: var(--cf-surface);
    color: var(--cf-text);
    text-align: left;
    cursor: pointer;
    transition: background-color var(--cf-transition);
}

    .sim-page[b-exocr5a9p6]  .sim-inject-btn:hover:not(:disabled) {
        background: var(--cf-surface-alt);
    }

    .sim-page[b-exocr5a9p6]  .sim-inject-btn:disabled {
        opacity: .5;
        cursor: not-allowed;
    }

    .sim-page[b-exocr5a9p6]  .sim-inject-btn:focus-visible {
        outline: 2px solid var(--cf-primary);
        outline-offset: 2px;
    }

/* Step 2: the date's schedule rows, one button each. */
.sim-page[b-exocr5a9p6]  .sim-sched {
    display: flex;
    flex-direction: column;
    gap: var(--cf-space-xs, 4px);
}

.sim-page[b-exocr5a9p6]  .sim-sched-btn {
    display: flex;
    align-items: center;
    gap: var(--cf-space-md);
    min-height: 44px;
    padding: var(--cf-space-xs, 4px) var(--cf-space-md);
    border: 1px solid var(--cf-border, #dee2e6);
    border-radius: var(--cf-radius);
    background: var(--cf-surface);
    color: var(--cf-text);
    text-align: left;
    cursor: pointer;
    transition: background-color var(--cf-transition);
}

    .sim-page[b-exocr5a9p6]  .sim-sched-btn:hover:not(:disabled) {
        background: var(--cf-surface-alt);
    }

    .sim-page[b-exocr5a9p6]  .sim-sched-btn.is-chosen {
        border-color: var(--cf-primary);
        box-shadow: inset 0 0 0 1px var(--cf-primary);
    }

    .sim-page[b-exocr5a9p6]  .sim-sched-btn:disabled {
        opacity: .6;
        cursor: not-allowed;
    }

    .sim-page[b-exocr5a9p6]  .sim-sched-btn:focus-visible {
        outline: 2px solid var(--cf-primary);
        outline-offset: 2px;
    }

.sim-page[b-exocr5a9p6]  .sim-sched-no {
    min-width: 20px;
    font-weight: 600;
    color: var(--cf-text-muted);
    text-align: right;
}

.sim-page[b-exocr5a9p6]  .sim-sched-text {
    min-width: 0;
}

.sim-page[b-exocr5a9p6]  .sim-dur {
    width: 160px;
}

.sim-page[b-exocr5a9p6]  .sim-change-to {
    flex: 1 1 280px;
    min-width: 0;
}

/* Step 5 */
.sim-page[b-exocr5a9p6]  .sim-counters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--cf-space-lg);
}

.sim-page[b-exocr5a9p6]  .sim-counter {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--cf-space-md) var(--cf-space-lg);
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius-card);
}

.sim-page[b-exocr5a9p6]  .sim-kv2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--cf-space-sm) var(--cf-space-xl);
}

    .sim-page[b-exocr5a9p6]  .sim-kv2 > div {
        display: flex;
        justify-content: space-between;
        gap: var(--cf-space-sm);
        padding-bottom: 6px;
        border-bottom: 1px solid var(--cf-border);
    }

        .sim-page[b-exocr5a9p6]  .sim-kv2 > div > span:first-child {
            color: var(--cf-text-muted);
        }

        .sim-page[b-exocr5a9p6]  .sim-kv2 > div > span:last-child {
            font-weight: 600;
        }

.sim-page[b-exocr5a9p6]  .sim-op {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: var(--cf-radius-pill);
    background: #e9ecef;
    color: var(--cf-text);
    font-size: 12px;
    font-weight: 600;
}

    .sim-page[b-exocr5a9p6]  .sim-op.is-insert {
        background: #cfe2ff;
        color: #052c65;
    }

    .sim-page[b-exocr5a9p6]  .sim-op.is-delete {
        background: #f8d7da;
        color: #58151c;
    }

    .sim-page[b-exocr5a9p6]  .sim-op.is-read {
        background: #d1e7dd;
        color: #0a3622;
    }

/* Explain: beside the step on a wide screen, under it otherwise */
.sim-page[b-exocr5a9p6]  .sim-explain-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cf-space-sm) var(--cf-space-md);
}

.sim-page[b-exocr5a9p6]  .sim-body {
    display: flex;
    flex-direction: column;
    gap: var(--cf-space-xl);
}

.sim-page[b-exocr5a9p6]  .sim-body-main {
    min-width: 0;
}

.sim-page[b-exocr5a9p6]  .sim-explain {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: var(--cf-space-md);
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--cf-border);
    border-left: 4px solid var(--cf-primary);
    border-radius: var(--cf-radius-card);
    background: var(--cf-surface);
    box-shadow: var(--cf-shadow-card);
    font-size: 14px;
}

.sim-page[b-exocr5a9p6]  .sim-explain-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--cf-space-md);
}

.sim-page[b-exocr5a9p6]  .sim-explain-conv,
.sim-page[b-exocr5a9p6]  .sim-explain-intro {
    margin: 0;
}

.sim-page[b-exocr5a9p6]  .sim-explain-event {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: var(--cf-space-md);
    border-top: 1px solid var(--cf-border);
}

.sim-page[b-exocr5a9p6]  .sim-explain-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

.sim-page[b-exocr5a9p6]  .sim-explain-tag {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius-pill);
    color: var(--cf-text-muted);
    font-size: 12px;
    font-weight: 600;
}

.sim-page[b-exocr5a9p6]  .sim-explain-writes {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .sim-page[b-exocr5a9p6]  .sim-explain-writes > li {
        display: grid;
        grid-template-columns: 68px minmax(0, 1fr);
        align-items: baseline;
        gap: var(--cf-space-sm);
    }

        /* A "nothing is written" line has no op pill. */
        .sim-page[b-exocr5a9p6]  .sim-explain-writes > li > span:only-child {
            grid-column: 1 / -1;
        }

    .sim-page[b-exocr5a9p6]  .sim-explain-writes .sim-op {
        justify-content: center;
    }

.sim-page[b-exocr5a9p6]  .sim-explain-table {
    font-weight: 600;
}

.sim-page[b-exocr5a9p6]  .sim-explain-not {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding-left: 18px;
}

@media (min-width: 1500px) {
    .sim-page[b-exocr5a9p6]  .sim-body.has-explain {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(400px, 480px);
        align-items: start;
    }

    .sim-page[b-exocr5a9p6]  .sim-explain {
        position: sticky;
        top: var(--cf-space-md);
        max-height: calc(100vh - 2 * var(--cf-space-md));
        overflow-y: auto;
    }
}

@media (max-width: 576px) {
    .sim-page[b-exocr5a9p6]  .sim-kv3,
    .sim-page[b-exocr5a9p6]  .sim-kv2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sim-page[b-exocr5a9p6]  .sim-kv2 {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Production/Admin/ServiceHealth.razor.rz.scp.css */
.sh-page[b-rrydkwj7ho] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.sh-card[b-rrydkwj7ho] {
    padding: 0.5rem 0.75rem;
}

.sh-title[b-rrydkwj7ho] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.sh-title .cf-caption[b-rrydkwj7ho] {
    font-weight: 400;
    margin-left: 0.5rem;
}

.sh-facts[b-rrydkwj7ho] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
    margin: 0;
}

.sh-facts dt[b-rrydkwj7ho] {
    font-weight: 400;
    font-size: 0.8rem;
    color: var(--bs-secondary-color);
}

.sh-facts dd[b-rrydkwj7ho] {
    margin: 0;
    font-weight: 600;
}

.sh-facts dd .cf-caption[b-rrydkwj7ho] {
    font-weight: 400;
    margin-left: 0.25rem;
}

/* Which instance this is. Test = the app's orange non-production frame; Production = green (the theme's primary is
   orange too, so not that); a Production instance that is not recording = danger. */
.sh-instance[b-rrydkwj7ho] {
    --sh-instance: var(--bs-orange);
    --sh-instance-text: #000;
    border-left: 0.375rem solid var(--sh-instance);
}

.sh-instance-production[b-rrydkwj7ho] {
    --sh-instance: var(--bs-success);
    --sh-instance-text: #fff;
}

.sh-instance-problem[b-rrydkwj7ho] {
    --sh-instance: var(--bs-danger);
    --sh-instance-text: #fff;
}

.sh-instance-head[b-rrydkwj7ho] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.625rem;
}

.sh-instance-tag[b-rrydkwj7ho] {
    flex: none;
    padding: 0.25rem 0.625rem;
    border-radius: var(--bs-border-radius);
    background: var(--sh-instance);
    color: var(--sh-instance-text);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sh-instance-detail[b-rrydkwj7ho] {
    flex: 1 1 24rem;
}

/* The page is live: a pulsing dot beside the time of the last re-read. */
.sh-live[b-rrydkwj7ho] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-weight: 600;
    color: var(--bs-success);
    font-variant-numeric: tabular-nums;
}

.sh-live-time[b-rrydkwj7ho] {
    font-weight: 400;
    color: var(--bs-secondary-color);
}

.sh-live-dot[b-rrydkwj7ho] {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    background: var(--bs-success);
    animation: sh-pulse-b-rrydkwj7ho 2s ease-out infinite;
}

.sh-live-off[b-rrydkwj7ho] {
    color: var(--bs-danger);
}

@keyframes sh-pulse-b-rrydkwj7ho {
    0% {
        box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0.6);
    }

    70%, 100% {
        box-shadow: 0 0 0 0.5rem rgba(var(--bs-success-rgb), 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sh-live-dot[b-rrydkwj7ho] {
        animation: none;
    }
}

.sh-table[b-rrydkwj7ho] {
    font-size: 0.875rem;
    font-variant-numeric: tabular-nums;
    margin-bottom: 0.25rem;
}

.sh-table td[b-rrydkwj7ho] {
    vertical-align: middle;
}

.sh-doing[b-rrydkwj7ho] {
    max-width: 28rem;
}

.sh-nowrap[b-rrydkwj7ho] {
    white-space: nowrap;
}

.sh-error[b-rrydkwj7ho] {
    color: var(--bs-danger);
    max-width: 24rem;
    overflow-wrap: anywhere;
}

/* An error from an earlier turn; the service has recovered since. */
.sh-error-old[b-rrydkwj7ho] {
    color: var(--bs-secondary-color);
}
/* /Components/Pages/Production/Line/ActionsPanel.razor.rz.scp.css */
.ac-grid[b-aoaw3v3f46] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.ac-btn[b-aoaw3v3f46] {
    min-height: 72px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    color: var(--cf-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
}

.ac-btn.is-off[b-aoaw3v3f46] {
    opacity: .55;
}

/* First tap of two (ConfirmTap): the button asks for the second. */
.ac-btn.is-armed[b-aoaw3v3f46] {
    border-color: var(--cf-warning);
    background: var(--cf-warning);
    color: var(--cf-env-amber-text);
}

.ac-danger[b-aoaw3v3f46] {
    border: none;
    background: var(--cf-danger);
    color: #fff;
}

.ac-primary[b-aoaw3v3f46] {
    border: none;
    background: var(--lc-select);
    color: #fff;
}

.ac-dashed[b-aoaw3v3f46] {
    border-style: dashed;
    color: var(--lc-grey-700);
    font-size: 15px;
}

.ac-hint[b-aoaw3v3f46] {
    margin: 10px 0 0;
    font-size: 13px;
    color: var(--lc-grey-700);
}
/* /Components/Pages/Production/Line/CausePicker.razor.rz.scp.css */
.cp[b-1tf9b4lt1o] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cp-most[b-1tf9b4lt1o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
}

.cp-most-label[b-1tf9b4lt1o],
.cp-step-label[b-1tf9b4lt1o] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--bs-secondary-color);
}

.cp-optional[b-1tf9b4lt1o] {
    text-transform: none;
    font-weight: 400;
}

.cp-chip[b-1tf9b4lt1o] {
    border: 1px solid var(--bs-primary);
    color: var(--bs-primary);
    background: var(--bs-body-bg);
    border-radius: 999px;
    padding: 0.25rem 0.75rem;
    min-height: 2rem;
}

.cp-grid[b-1tf9b4lt1o] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
    gap: 0.375rem;
}

.cp-grid-headings[b-1tf9b4lt1o] {
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
}

.cp-btn[b-1tf9b4lt1o] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.125rem;
    text-align: left;
    min-height: 2.75rem;
    padding: 0.375rem 0.625rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    background: var(--bs-body-bg);
}

.cp-btn:hover[b-1tf9b4lt1o] {
    background: var(--bs-tertiary-bg);
}

.cp-btn:active[b-1tf9b4lt1o],
.cp-chip:active[b-1tf9b4lt1o],
.cp-change:active[b-1tf9b4lt1o] {
    filter: brightness(.88);
}

.cp-btn.is-on[b-1tf9b4lt1o] {
    border-color: var(--bs-primary);
    background: var(--bs-primary);
    color: #fff;
}

.cp-btn-label[b-1tf9b4lt1o] {
    font-weight: 600;
    line-height: 1.2;
}

.cp-btn-sub[b-1tf9b4lt1o] {
    font-size: 0.75rem;
    color: var(--bs-secondary-color);
}

.cp-btn.is-on .cp-btn-sub[b-1tf9b4lt1o] {
    color: rgba(255, 255, 255, 0.85);
}

.cp-crumb[b-1tf9b4lt1o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    font-weight: 600;
}

.cp-crumb-link[b-1tf9b4lt1o] {
    border: 0;
    background: none;
    padding: 0;
    color: var(--bs-primary);
    font-weight: 600;
}

.cp-crumb-sep[b-1tf9b4lt1o] {
    color: var(--bs-secondary-color);
}

.cp-change[b-1tf9b4lt1o] {
    margin-left: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    background: var(--bs-body-bg);
    padding: 0.25rem 0.75rem;
    min-height: 2.25rem;
}

.cp-describe[b-1tf9b4lt1o] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-weight: 600;
}

.cp-footer[b-1tf9b4lt1o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    border-top: 1px solid var(--bs-border-color);
    padding-top: 0.5rem;
}

.cp-header[b-1tf9b4lt1o] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}

.cp-title[b-1tf9b4lt1o] {
    font-weight: 600;
}

.cp-summary[b-1tf9b4lt1o] {
    font-weight: 600;
    text-align: right;
}

.cp-actions[b-1tf9b4lt1o] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

/* DISA Console: the "Other" description box, under the top bar and over the line, clear of the touch keyboard. It is
   placed against the console frame (the nearest positioned ancestor). */
.cp-sheet[b-1tf9b4lt1o] {
    position: absolute;
    top: 64px;
    left: 12px;
    right: 12px;
    z-index: 12;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px;
    border: 2px solid var(--lc-select);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
}

.cp-sheet-title[b-1tf9b4lt1o] {
    font-size: 16px;
    font-weight: 600;
}

.cp-sheet-row[b-1tf9b4lt1o] {
    display: flex;
    gap: 8px;
}

.cp-sheet-row .btn[b-1tf9b4lt1o] {
    min-height: 48px;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}

/* DISA Console (handoff "Stepped cause picker", console sizes). */
.cp-large[b-1tf9b4lt1o] {
    gap: 10px;
}

.cp-large .cp-title[b-1tf9b4lt1o] {
    font-size: 16px;
}

.cp-large .cp-summary[b-1tf9b4lt1o] {
    font-size: 12px;
    font-weight: 400;
    color: var(--lc-grey-700);
}

.cp-large .cp-btn[b-1tf9b4lt1o] {
    border-color: var(--cf-border-input);
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--cf-text);
    background: #fff;
}

.cp-large .cp-btn-label[b-1tf9b4lt1o] {
    font-weight: 600;
}

.cp-large .cp-btn-sub[b-1tf9b4lt1o] {
    font-size: 12px;
    font-weight: 400;
    color: var(--cf-text-muted);
}

.cp-large .cp-btn.is-on[b-1tf9b4lt1o] {
    background: var(--lc-select);
    border-color: var(--lc-select);
    color: #fff;
}

.cp-large .cp-btn.is-on .cp-btn-sub[b-1tf9b4lt1o] {
    color: #fff;
}

.cp-large .cp-grid-headings[b-1tf9b4lt1o] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.cp-large .cp-grid-headings .cp-btn[b-1tf9b4lt1o] {
    min-height: 48px;
    padding: 6px 12px;
    align-items: center;
    text-align: center;
    font-size: 15px;
}

.cp-large .cp-grid-causes[b-1tf9b4lt1o] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.cp-large .cp-grid-causes .cp-btn[b-1tf9b4lt1o] {
    min-height: 52px;
    padding: 6px 12px;
    gap: 2px;
}

.cp-large .cp-grid-details[b-1tf9b4lt1o] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.cp-large .cp-grid-details .cp-btn[b-1tf9b4lt1o] {
    min-height: 44px;
    padding: 6px 10px;
    font-size: 13px;
}

.cp-large .cp-crumb[b-1tf9b4lt1o] {
    gap: 8px;
}

.cp-large .cp-crumb-link[b-1tf9b4lt1o],
.cp-large .cp-crumb-current[b-1tf9b4lt1o] {
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--lc-grey-200);
    color: var(--cf-text);
    font-size: 14px;
    font-weight: 600;
}

.cp-large .cp-change[b-1tf9b4lt1o] {
    margin-left: 0;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid var(--lc-select);
    border-radius: 4px;
    background: #fff;
    color: var(--lc-select);
    font-size: 14px;
    font-weight: 600;
}

.cp-large .cp-chip[b-1tf9b4lt1o] {
    min-height: 44px;
    font-size: 14px;
}

/* The console's content area scrolls: Cancel and the confirm button stay in reach under a long list. */
.cp-large .cp-footer[b-1tf9b4lt1o] {
    position: sticky;
    bottom: 0;
    z-index: 1;
    padding: 8px 0;
    border-top: 1px solid var(--lc-grey-200);
    background: #fff;
}

.cp-large .cp-actions .btn[b-1tf9b4lt1o] {
    min-height: 48px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 4px;
}
/* /Components/Pages/Production/Line/DowntimePanel.razor.rz.scp.css */
.dt[b-ckh5sc6nn1] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dt-banner[b-ckh5sc6nn1] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    border: 2px solid var(--cf-danger);
    border-radius: 4px;
}

.dt-dot[b-ckh5sc6nn1] {
    flex: 0 0 12px;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: var(--cf-danger);
}

.dt-banner.is-warning[b-ckh5sc6nn1] {
    border-color: var(--cf-warning);
}

.dt-banner.is-warning .dt-dot[b-ckh5sc6nn1] {
    background: var(--cf-warning);
}

.dt-banner.is-muted[b-ckh5sc6nn1] {
    border-color: var(--lc-grey-600);
}

.dt-banner.is-muted .dt-dot[b-ckh5sc6nn1] {
    background: var(--lc-grey-600);
}

.dt-banner-text[b-ckh5sc6nn1] {
    flex: 1 1 auto;
    min-width: 0;
}

.dt-banner-title[b-ckh5sc6nn1] {
    font-size: 15px;
    font-weight: 600;
}

.dt-banner-sub[b-ckh5sc6nn1] {
    font-size: 12px;
    color: var(--lc-grey-700);
}

.dt-btn[b-ckh5sc6nn1] {
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}

.dt-summary[b-ckh5sc6nn1] {
    font-size: 13px;
    color: var(--lc-grey-700);
}

.dt-tiles[b-ckh5sc6nn1] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
}

.dt-tile[b-ckh5sc6nn1] {
    display: flex;
    flex-direction: column;
    padding: 6px 8px;
    border: 1px solid var(--cf-border);
    border-radius: 4px;
    background: #fff;
}

.dt-tile.is-running[b-ckh5sc6nn1] {
    box-shadow: inset 0 0 0 2px var(--cf-danger);
}

.dt-tile-name[b-ckh5sc6nn1] {
    font-size: 12px;
    font-weight: 600;
    color: var(--lc-grey-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dt-tile-time[b-ckh5sc6nn1] {
    font-size: 15px;
    font-weight: 600;
    color: var(--cf-text);
}

.dt-tile.is-running .dt-tile-time[b-ckh5sc6nn1] {
    color: var(--cf-danger);
}

/* Office: heading groups and a third line. */
.dt-group[b-ckh5sc6nn1] {
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-grey-700);
    margin-top: 2px;
}

.dt-tile-sub[b-ckh5sc6nn1] {
    font-size: 12px;
    color: var(--cf-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dt-tile-sub.is-now[b-ckh5sc6nn1] {
    color: var(--cf-danger);
    font-weight: 600;
}
/* /Components/Pages/Production/Line/KioskTopBar.razor.rz.scp.css */
.kt[b-p548zk5sef] {
    flex: 0 0 56px;
    height: 56px;
    box-sizing: border-box;
    padding: 0 12px;
    background: #000;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

/* The state strip: what the line needs, along the bottom edge of the bar. It takes no room of its own. */
.kt[b-p548zk5sef]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 6px;
    background: transparent;
}

.kt-tone-danger[b-p548zk5sef]::after {
    background: var(--cf-danger);
}

.kt-tone-warning[b-p548zk5sef]::after {
    background: var(--cf-warning);
}

.kt-tone-muted[b-p548zk5sef]::after {
    background: var(--cf-text-muted);
}

.kt.is-urgent[b-p548zk5sef]::after {
    animation: ktBlink-b-p548zk5sef 1s steps(1) infinite;
}

@keyframes ktBlink-b-p548zk5sef {
    50% {
        opacity: .2;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kt.is-urgent[b-p548zk5sef]::after {
        animation: none;
    }
}

.kt-logo[b-p548zk5sef] {
    height: 44px;
    width: auto;
}

.kt-name[b-p548zk5sef] {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
}

.kt-sub[b-p548zk5sef] {
    font-size: 12px;
    color: rgba(255, 255, 255, .6);
}

.kt-badge[b-p548zk5sef] {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.kt-clock[b-p548zk5sef] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.kt-time[b-p548zk5sef] {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.1;
    color: #fff;
}

.kt-caption[b-p548zk5sef] {
    font-size: 11px;
    color: rgba(255, 255, 255, .6);
    white-space: nowrap;
}
/* /Components/Pages/Production/Line/LineMap.razor.rz.scp.css */
.lm-row[b-7af9v2gslo] {
    display: flex;
    align-items: flex-end;
    gap: 12px 16px;
}

.lm-label[b-7af9v2gslo] {
    flex: 0 0 132px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-bottom: 22px;
}

.lm-title[b-7af9v2gslo] {
    font-size: 13px;
    font-weight: 600;
}

.lm-sub[b-7af9v2gslo] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

.lm-map[b-7af9v2gslo] {
    flex: 1 1 360px;
    min-width: 0;
    position: relative;
    height: 78px;
}

.lm-map > *[b-7af9v2gslo] {
    position: absolute;
}

.lm-bracket[b-7af9v2gslo] {
    top: 26px;
    height: 8px;
    box-sizing: border-box;
    border: 2px solid;
    border-bottom-width: 0;
}

.lm-blabel[b-7af9v2gslo] {
    transform: translateX(-50%);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.lm-bar[b-7af9v2gslo] {
    left: 0;
    right: 0;
    top: 34px;
    height: 20px;
    box-sizing: border-box;
    border: 1px solid var(--lc-grey-500);
}

.lm-pour[b-7af9v2gslo] {
    left: 0;
    top: 34px;
    width: 4px;
    height: 20px;
    background: repeating-linear-gradient(180deg, #000 0 4px, #ffc107 4px 8px);
}

.lm-window[b-7af9v2gslo] {
    left: 0;
    top: 55px;
    height: 2px;
    background: var(--lc-select);
}

.lm-tick[b-7af9v2gslo] {
    top: 57px;
    width: 1px;
    height: 4px;
    background: var(--lc-grey-500);
}

.lm-tick.is-major[b-7af9v2gslo] {
    height: 7px;
    background: var(--lc-grey-700);
}

.lm-mark[b-7af9v2gslo] {
    top: 64px;
    font-size: 11px;
    color: var(--lc-grey-700);
    white-space: nowrap;
}

.lm-section[b-7af9v2gslo] {
    top: 0;
    height: 78px;
    z-index: 5;
    border: 0;
    border-radius: 3px;
    background: transparent;
    padding: 0;
}

.lm-section:active[b-7af9v2gslo] {
    background: rgba(13, 110, 253, .14);
}

.lm-section.is-open[b-7af9v2gslo] {
    border: 2px solid var(--lc-select);
    background: rgba(13, 110, 253, .14);
}

.lm-so[b-7af9v2gslo] {
    flex: 0 0 150px;
    box-sizing: border-box;
    padding: 8px 12px;
    margin-bottom: 22px;
    border-radius: 4px;
    background: var(--lc-grey-800);
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lm-so-title[b-7af9v2gslo] {
    font-size: 12px;
    font-weight: 600;
}

.lm-so-value[b-7af9v2gslo] {
    font-size: 13px;
}
/* /Components/Pages/Production/Line/LineView.razor.rz.scp.css */
.lv[b-o3bmy5q57n] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lv-head[b-o3bmy5q57n] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lv-text[b-o3bmy5q57n] {
    flex: 1 1 auto;
    min-width: 0;
}

.lv-title[b-o3bmy5q57n] {
    font-size: 16px;
    font-weight: 600;
}

.lv-sub[b-o3bmy5q57n] {
    font-size: 12px;
    color: var(--lc-grey-700);
}

.lv-btn[b-o3bmy5q57n] {
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.lv-close[b-o3bmy5q57n] {
    min-height: 48px;
    padding: 0 18px;
    border: 1px solid var(--cf-border-input);
    border-radius: 4px;
    background: var(--lc-grey-200);
    font-size: 14px;
    font-weight: 600;
}

.lv-strip[b-o3bmy5q57n] {
    position: relative;
    height: 194px;
    overflow: hidden;
    border-bottom: 1px solid var(--cf-border);
}

.lv-strip > *[b-o3bmy5q57n] {
    position: absolute;
}

.lv-hatch[b-o3bmy5q57n] {
    top: 22px;
    height: 130px;
    background: repeating-linear-gradient(45deg, var(--lc-grey-800) 0 6px, var(--lc-grey-700) 6px 12px);
}

.lv-bracket[b-o3bmy5q57n] {
    top: 14px;
    height: 8px;
    box-sizing: border-box;
    border: 2px solid;
    border-bottom-width: 0;
    transform: translateX(calc(var(--push, 0) * var(--pitchpx)));
}

.lv-blabel[b-o3bmy5q57n] {
    top: 0;
    transform: translateX(-50%);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.lv-conveyor[b-o3bmy5q57n] {
    left: 0;
    right: 0;
    top: 148px;
    height: 6px;
    background: var(--lc-grey-500);
}

.lv-pour[b-o3bmy5q57n] {
    top: 147px;
    height: 9px;
    background: repeating-linear-gradient(135deg, #000 0 5px, #ffc107 5px 10px);
}

.lv-mould[b-o3bmy5q57n] {
    left: 0;
    top: 28px;
    height: 118px;
    box-sizing: border-box;
    padding: 0;
    border-radius: 3px;
    overflow: hidden;
    font: 600 11px/1.2 'Helvetica Neue', Helvetica, Inter, Arial, sans-serif;
    transform: translateX(calc(var(--x) + var(--push, 0) * var(--pitchpx)));
    z-index: 1;
}

/* As on the mould string (MouldString.razor.css): colour fades, the newest mould waits for the animation's clock,
   a prior-job mould is hatched, and the mould a reason panel will act on is ringed. */
.lv-strip > .lv-mould.cf-pick[b-o3bmy5q57n] {
    transition: background-color .6s linear, border-color .6s linear;
}

.lv-strip > .lv-mould.is-newest[b-o3bmy5q57n] {
    opacity: calc(1 - var(--pending, 0));
}

.lv-strip > .lv-mould.is-prior[b-o3bmy5q57n] {
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .3) 0 4px, transparent 4px 9px) !important;
}

.lv-strip > .lv-mould.is-target[b-o3bmy5q57n] {
    outline: 3px solid var(--cf-warning);
    outline-offset: 2px;
    z-index: 2;
    animation: lvTarget-b-o3bmy5q57n 1s ease-in-out infinite;
}

@keyframes lvTarget-b-o3bmy5q57n {
    50% {
        outline-color: var(--cf-env-amber-text);
    }
}

@media (prefers-reduced-motion: reduce) {
    .lv-strip > .lv-mould.cf-pick[b-o3bmy5q57n] {
        transition: none;
    }

    .lv-strip > .lv-mould.is-target[b-o3bmy5q57n] {
        animation: none;
    }
}

.lv-fill[b-o3bmy5q57n] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(var(--pour, 0) * 100%);
    background: #fd7e14;
}

/* As on the mould string: the pour of the mould one past the pour, replayed while the newest mould emerges. */
.lv-prevpour[b-o3bmy5q57n] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #fd7e14 calc(var(--pour-prev, 1) * 100%), #ced4da 0);
    opacity: var(--pour-prev-on, 0);
    transition: opacity calc((1 - var(--pour-prev-on, 0)) * .6s) linear;
}

.lv-mould.is-prev :is(.lv-t1, .lv-t2, .lv-t2b, .lv-t3)[b-o3bmy5q57n] {
    color: color-mix(in srgb, #212529 calc(var(--pour-prev-on, 0) * 100%), currentColor);
}

.lv-t1[b-o3bmy5q57n], .lv-t2[b-o3bmy5q57n], .lv-t2b[b-o3bmy5q57n], .lv-t3[b-o3bmy5q57n] {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}

.lv-t1[b-o3bmy5q57n] {
    top: 8px;
}

.lv-t2[b-o3bmy5q57n] {
    top: 40px;
    font-size: 12px;
    font-weight: 500;
}

.lv-t2b[b-o3bmy5q57n] {
    top: 58px;
    font-size: 13px;
}

.lv-t3[b-o3bmy5q57n] {
    bottom: 8px;
    font-weight: 500;
}

.lv-tick[b-o3bmy5q57n] {
    top: 156px;
    width: 2px;
    height: 12px;
}

.lv-mark[b-o3bmy5q57n] {
    top: 170px;
    font-size: 12px;
    color: var(--cf-text);
    white-space: nowrap;
}

.lv-info[b-o3bmy5q57n] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
}

.lv-info-text[b-o3bmy5q57n] {
    flex: 1 1 auto;
    font-size: 14px;
}
/* /Components/Pages/Production/Line/MouldCounts.razor.rz.scp.css */
.mc[b-5wbufr8w81] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.mc-grid[b-5wbufr8w81] {
    flex: 1 1 auto;
    min-width: 0;
    border: 1px solid var(--cf-border);
    border-radius: 6px;
    overflow: hidden;
}

.mc-table[b-5wbufr8w81] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.mc-table th[b-5wbufr8w81],
.mc-table td[b-5wbufr8w81] {
    padding: 9px 12px;
    border-bottom: 1px solid var(--cf-border);
}

.mc-table thead th[b-5wbufr8w81] {
    background: var(--cf-surface-alt);
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-grey-700);
    text-align: right;
}

.mc-table tbody th[b-5wbufr8w81] {
    font-weight: 600;
    color: var(--lc-grey-700);
    white-space: nowrap;
}

.mc-table td[b-5wbufr8w81] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.mc-table thead th[b-5wbufr8w81] {
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.2;
}

.mc-table tbody th[b-5wbufr8w81] {
    width: 110px;
    text-align: left;
}

.mc-side[b-5wbufr8w81] {
    flex: 0 0 200px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mc-key[b-5wbufr8w81] {
    font-size: 12px;
    color: var(--lc-grey-700);
}

.mc-big[b-5wbufr8w81] {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
}

.mc-mid[b-5wbufr8w81] {
    font-size: 16px;
    font-weight: 600;
}
/* /Components/Pages/Production/Line/MouldPopup.razor.rz.scp.css */
.mp-backdrop[b-cyd1cyz244] {
    position: absolute;
    inset: 0;
    z-index: 20;
    background: rgba(33, 37, 41, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 64px;
}

.mp-backdrop.mp-fixed[b-cyd1cyz244] {
    position: fixed;
    z-index: 1050;
    padding-top: 80px;
}

/* The backdrop holds the keyboard focus on the office page (Esc closes); it shows no ring of its own. */
.mp-backdrop:focus[b-cyd1cyz244] {
    outline: none;
}

.mp-backdrop[b-cyd1cyz244] {
    animation: mpFade-b-cyd1cyz244 .14s ease-out;
}

.mp-dialog[b-cyd1cyz244] {
    width: 840px;
    max-height: 660px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: mpIn-b-cyd1cyz244 .16s ease-out;
}

@keyframes mpFade-b-cyd1cyz244 {
    from {
        opacity: 0;
    }
}

@keyframes mpIn-b-cyd1cyz244 {
    from {
        transform: translateY(8px) scale(.985);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mp-backdrop[b-cyd1cyz244],
    .mp-dialog[b-cyd1cyz244] {
        animation: none;
    }
}

/* Prior job: hatched, as on the mould string. */
.mp-drawing.is-prior[b-cyd1cyz244] {
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .3) 0 5px, transparent 5px 11px) !important;
}

.mp-head[b-cyd1cyz244] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px 10px 16px;
    border-bottom: 1px solid var(--cf-border);
}

.mp-head-text[b-cyd1cyz244] {
    flex: 1 1 auto;
    min-width: 0;
}

.mp-title[b-cyd1cyz244] {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
}

.mp-sub[b-cyd1cyz244] {
    font-size: 13px;
    color: var(--lc-grey-700);
}

.mp-pill[b-cyd1cyz244] {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.mp-x[b-cyd1cyz244] {
    width: 48px;
    height: 48px;
    border: 1px solid var(--cf-border-input);
    border-radius: 4px;
    background: #fff;
    font-size: 20px;
}

.mp-gone[b-cyd1cyz244] {
    padding: 28px 16px;
    font-size: 15px;
}

.mp-body[b-cyd1cyz244] {
    display: flex;
    gap: 20px;
    padding: 16px;
    min-height: 0;
    overflow: auto;
}

.mp-drawing[b-cyd1cyz244] {
    flex: 0 0 96px;
    height: 236px;
    box-sizing: border-box;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.mp-fill[b-cyd1cyz244] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(var(--pour, 0) * 100%);
    background: #fd7e14;
}

/* As on the mould string: the pour of the mould one past the pour, replayed while the newest mould emerges. */
.mp-prevpour[b-cyd1cyz244] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #fd7e14 calc(var(--pour-prev, 1) * 100%), #ced4da 0);
    opacity: var(--pour-prev-on, 0);
    transition: opacity calc((1 - var(--pour-prev-on, 0)) * .6s) linear;
}

.mp-drawing.is-prev :is(.mp-d1, .mp-d2, .mp-d2b, .mp-d3)[b-cyd1cyz244] {
    color: color-mix(in srgb, #212529 calc(var(--pour-prev-on, 0) * 100%), currentColor);
}

.mp-d1[b-cyd1cyz244], .mp-d2[b-cyd1cyz244], .mp-d2b[b-cyd1cyz244], .mp-d3[b-cyd1cyz244] {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
}

.mp-d1[b-cyd1cyz244] {
    top: 14px;
    font-size: 15px;
    font-weight: 600;
}

.mp-d2[b-cyd1cyz244] {
    top: 92px;
    font-size: 16px;
    font-weight: 500;
}

.mp-d2b[b-cyd1cyz244] {
    top: 118px;
    font-size: 20px;
    font-weight: 600;
}

.mp-d3[b-cyd1cyz244] {
    bottom: 14px;
    font-size: 14px;
    font-weight: 500;
}

.mp-fields[b-cyd1cyz244] {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 24px;
    align-content: start;
}

.mp-field[b-cyd1cyz244] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--lc-grey-200);
    min-width: 0;
}

.mp-key[b-cyd1cyz244] {
    font-size: 12px;
    color: var(--lc-grey-700);
}

.mp-value[b-cyd1cyz244] {
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mp-foot[b-cyd1cyz244] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--cf-border);
    background: var(--cf-surface-alt);
}

.mp-btn[b-cyd1cyz244] {
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.mp-dashed[b-cyd1cyz244] {
    border-style: dashed;
    color: var(--lc-grey-700);
}

.mp-closebtn[b-cyd1cyz244] {
    min-height: 52px;
    padding: 0 22px;
    border: none;
    border-radius: 4px;
    background: var(--lc-select);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

.mp-reasons[b-cyd1cyz244] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
}

.mp-r-title[b-cyd1cyz244] {
    font-size: 16px;
    font-weight: 600;
}

.mp-r-sub[b-cyd1cyz244] {
    font-size: 13px;
    color: var(--lc-grey-700);
}

.mp-r-grid[b-cyd1cyz244] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.mp-r-btn[b-cyd1cyz244] {
    min-height: 56px;
    padding: 8px 14px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
}

.mp-r-btn.is-on[b-cyd1cyz244] {
    background: var(--lc-select);
    border-color: var(--lc-select);
    color: #fff;
}

.mp-r-cancel[b-cyd1cyz244] {
    border-color: var(--cf-border-input);
    background: var(--lc-grey-200);
    text-align: center;
}

/* Insert Tap: the furnace and size rows, as on the Tap tab. */
.mp-i-row[b-cyd1cyz244] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mp-i-label[b-cyd1cyz244] {
    flex: 0 0 90px;
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-grey-700);
}

.mp-i-btn[b-cyd1cyz244] {
    flex: 1 1 0;
    min-height: 52px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    color: var(--cf-text);
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}

.mp-i-btn.is-on[b-cyd1cyz244] {
    background: var(--lc-select);
    border-color: var(--lc-select);
    color: #fff;
}

.mp-i-step[b-cyd1cyz244] {
    flex: 0 0 96px;
}

/* The furnaces with their heat, and the heat strip hung under them, as on the Tap tab (NextTapPanel). */
.mp-i-furnaces[b-cyd1cyz244] {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    gap: 8px;
}

.mp-i-furnace[b-cyd1cyz244] {
    min-height: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.mp-i-code[b-cyd1cyz244] {
    font-size: 20px;
}

.mp-i-heatno[b-cyd1cyz244] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--lc-grey-700);
}

.mp-i-furnace.is-on .mp-i-heatno[b-cyd1cyz244] {
    color: #fff;
}

.mp-i-heatno i[b-cyd1cyz244] {
    font-size: 10px;
}

.mp-i-shade[b-cyd1cyz244] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.mp-i-heat[b-cyd1cyz244] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 21;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
}

.mp-i-heat-head[b-cyd1cyz244] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-grey-700);
}

.mp-i-heat-close[b-cyd1cyz244] {
    min-height: 28px;
    padding: 0 8px;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--cf-primary, #0d6efd);
    font-size: 13px;
    font-weight: 600;
}

.mp-i-heat-strip[b-cyd1cyz244] {
    display: flex;
    gap: 8px;
}

.mp-i-size[b-cyd1cyz244] {
    flex: 1;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}

.mp-r-btn.mp-i-go[b-cyd1cyz244] {
    grid-column: span 2;
    border-color: var(--lc-select);
    background: var(--lc-select);
    color: #fff;
    text-align: center;
}

.mp-r-describe[b-cyd1cyz244] {
    display: flex;
    gap: 8px;
}
/* /Components/Pages/Production/Line/MouldString.razor.rz.scp.css */
/* Positions in px inside the box (handoff "Schematic"). The machine parts and the push read CSS variables that
   lineConsole.js sets on the console frame; at rest (no script) everything sits at phase 0. */
.ms[b-342rq9gnxw] {
    position: relative;
    height: 180px;
    overflow: hidden;
    font-variant-numeric: tabular-nums;
}

.ms > *[b-342rq9gnxw] {
    position: absolute;
}

.ms-hopper[b-342rq9gnxw] {
    left: 112px;
    top: 4px;
    width: 24px;
    height: 30px;
    background: #cfc5ad;
    clip-path: polygon(0 0, 100% 0, 70% 100%, 30% 100%);
}

.ms-body[b-342rq9gnxw] {
    left: 0;
    top: 34px;
    width: 156px;
    height: 128px;
    background: var(--lc-grey-800);
    border-radius: 4px 0 0 4px;
}

.ms-name[b-342rq9gnxw] {
    left: 10px;
    top: 42px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    z-index: 2;
}

.ms-floor[b-342rq9gnxw] {
    left: 10px;
    top: 58px;
    font-size: 12px;
    color: var(--lc-grey-400);
    z-index: 2;
}

.ms-step[b-342rq9gnxw] {
    left: 10px;
    top: 138px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    z-index: 2;
}

.ms-chamber[b-342rq9gnxw] {
    left: 110px;
    top: 76px;
    width: 46px;
    height: 80px;
    background: #1b1e21;
}

.ms-sandstream[b-342rq9gnxw] {
    left: 122px;
    top: 34px;
    width: 5px;
    height: 44px;
    background: #cfc5ad;
    opacity: var(--stream-sand, 0);
    z-index: 2;
}

.ms-rod[b-342rq9gnxw] {
    left: 16px;
    top: 110px;
    height: 12px;
    width: var(--rod, 136px);
    background: var(--lc-grey-600);
}

.ms-sand[b-342rq9gnxw] {
    left: 0;
    top: var(--sand-top, 154px);
    width: var(--sand-w, 0px);
    height: var(--sand-h, 0px);
    transform: translateX(var(--ram, 158px));
    background: var(--lc-grey-400);
    border: 1px solid var(--lc-grey-500);
    border-radius: 2px;
    box-sizing: border-box;
    opacity: var(--sand-op, 0);
    z-index: 1;
    overflow: hidden;
}

.ms-sand-core[b-342rq9gnxw] {
    position: absolute;
    right: 2px;
    top: 18px;
    width: 16px;
    height: 10px;
    background: var(--lc-grey-700);
    border-radius: 2px;
    opacity: var(--core-in, 0);
}

.ms-ram[b-342rq9gnxw] {
    left: 0;
    top: 78px;
    width: 6px;
    height: 76px;
    transform: translateX(calc(var(--ram, 158px) - 6px));
    background: var(--lc-grey-500);
    z-index: 1;
}

.ms-arm[b-342rq9gnxw] {
    left: 144px;
    top: 0;
    width: 4px;
    height: var(--arm-h, 18px);
    background: #868e96;
    z-index: 4;
}

.ms-head[b-342rq9gnxw] {
    left: 136px;
    top: var(--arm-h, 18px);
    width: 20px;
    height: 8px;
    box-sizing: border-box;
    background: var(--lc-grey-400);
    border: 1px solid var(--lc-grey-600);
    border-radius: 2px;
    z-index: 4;
}

.ms-carry[b-342rq9gnxw] {
    left: 137px;
    top: calc(var(--arm-h, 18px) + 8px);
    width: 16px;
    height: 10px;
    background: var(--lc-grey-600);
    border-radius: 2px;
    opacity: var(--core-carry, 0);
    z-index: 4;
}

/* The chamber door slides straight up by --door (0 shut, 76px open); open at rest. */
.ms-door[b-342rq9gnxw] {
    left: 156px;
    top: 78px;
    width: 4px;
    height: 76px;
    background: var(--lc-grey-500);
    transform: translateY(calc(var(--door, 76px) * -1));
    z-index: 3;
}

.ms-conveyor[b-342rq9gnxw] {
    left: 156px;
    top: 156px;
    height: 6px;
    background: var(--lc-grey-500);
}

.ms-pour-marker[b-342rq9gnxw] {
    top: 155px;
    width: 26px;
    height: 9px;
    background: repeating-linear-gradient(135deg, #000 0 5px, #ffc107 5px 10px);
    z-index: 1;
}

.ms-posn[b-342rq9gnxw] {
    top: 167px;
    width: 26px;
    text-align: center;
    font-size: 11px;
    color: var(--cf-text-muted);
}

.ms-mould[b-342rq9gnxw] {
    left: 0;
    top: 78px;
    width: 26px;
    height: 76px;
    box-sizing: border-box;
    padding: 0;
    border-radius: 2px;
    overflow: hidden;
    font: 600 10px/1 'Helvetica Neue', Helvetica, Inter, Arial, sans-serif;
    transform: translateX(calc(var(--x) + var(--push, 0) * 28px));
    z-index: 2;
}

/* A mould's colour fades as its state changes and as it cools (the element follows its mould: @key). The selector is
   heavier than the consoles' .cf-pick rule, which would otherwise set the transition. */
.ms > .ms-mould.cf-pick[b-342rq9gnxw] {
    transition: background-color .6s linear, border-color .6s linear;
}

/* The newest mould stays inside the machine until the animation's clock reaches it (ProductionConsole.razor.js). */
.ms > .ms-mould.is-newest[b-342rq9gnxw] {
    opacity: calc(1 - var(--pending, 0));
}

/* Prior job: hatched as well as green, so it is not read as "running" and stays apart from the cooling browns
   without relying on colour. */
.ms > .ms-mould.is-prior[b-342rq9gnxw] {
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .3) 0 3px, transparent 3px 7px) !important;
}

/* The mould an open Not Poured or Log Mis-pour panel will act on. */
.ms > .ms-mould.is-target[b-342rq9gnxw] {
    outline: 3px solid var(--cf-warning);
    outline-offset: 2px;
    z-index: 4;
    animation: msTarget-b-342rq9gnxw 1s ease-in-out infinite;
}

@keyframes msTarget-b-342rq9gnxw {
    50% {
        outline-color: var(--cf-env-amber-text);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ms > .ms-mould.cf-pick[b-342rq9gnxw] {
        transition: none;
    }

    .ms > .ms-mould.is-target[b-342rq9gnxw] {
        animation: none;
    }
}

.ms-fill[b-342rq9gnxw] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(var(--pour, 0) * 100%);
    background: #fd7e14;
}

/* The mould one past the pour while the newest mould emerges: the string is drawn one slot back, so it is under the
   nozzle and its pour is replayed over its poured colour (ProductionConsole.razor.js). It shows at once and fades out. */
.ms-prevpour[b-342rq9gnxw] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #fd7e14 calc(var(--pour-prev, 1) * 100%), #ced4da 0);
    opacity: var(--pour-prev-on, 0);
    transition: opacity calc((1 - var(--pour-prev-on, 0)) * .6s) linear;
}

.ms-mould.is-prev .ms-code[b-342rq9gnxw] {
    color: color-mix(in srgb, #212529 calc(var(--pour-prev-on, 0) * 100%), currentColor);
}

.ms-code[b-342rq9gnxw] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    text-align: center;
    /* Pattern set numbers run to 5 digits here (11014). */
    letter-spacing: -0.6px;
    white-space: nowrap;
}

/* The tap at the very top; the pattern set number above the daily count at the bottom. */
.ms-tap[b-342rq9gnxw] {
    top: 7px;
    bottom: auto;
}

.ms-pat[b-342rq9gnxw] {
    bottom: 21px;
    font-weight: 500;
    opacity: 0.85;
}

/* Empty slots left by a line advance (the string moved with no mould made): a dashed outline with the count. */
.ms-gap[b-342rq9gnxw] {
    position: absolute;
    left: 0;
    top: 78px;
    height: 76px;
    box-sizing: border-box;
    border: 1px dashed #adb5bd;
    border-radius: 2px;
    font-size: 10px;
    line-height: 74px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    color: #6c757d;
    transform: translateX(calc(var(--x) + var(--push, 0) * 28px));
    z-index: 1;
}

.ms-mp[b-342rq9gnxw] {
    left: 0;
    top: 62px;
    width: 26px;
    text-align: center;
    font-size: 9px;
    font-weight: 700;
    line-height: 13px;
    color: #fff;
    background: var(--cf-danger);
    border-radius: 2px;
    transform: translateX(calc(var(--x) + var(--push, 0) * 28px));
    z-index: 3;
}

.ms-vessel[b-342rq9gnxw] {
    top: 2px;
    width: 120px;
    height: 40px;
    box-sizing: border-box;
    border: 2px solid var(--lc-grey-800);
    border-top-width: 0;
    border-radius: 0 0 6px 6px;
    background: var(--cf-surface-alt);
    overflow: hidden;
}

.ms-metal[b-342rq9gnxw] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    /* The page's kg left, plus the metal the picture has still to pour (--pour-owed, in moulds). */
    height: min(100%, calc((var(--vf, 0) + var(--pour-owed, 0) * var(--vm, 0)) * 1%));
    background: #c2410c;
}

.ms-vline[b-342rq9gnxw] {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
}

.ms-nozzle[b-342rq9gnxw] {
    top: 42px;
    width: 8px;
    height: 4px;
    background: var(--lc-grey-800);
}

.ms-stream[b-342rq9gnxw] {
    top: 46px;
    width: 4px;
    height: 32px;
    opacity: var(--pour-stream, 0);
    z-index: 2;
}

.ms-stream > span[b-342rq9gnxw] {
    display: block;
    width: 100%;
    height: 100%;
    background: #fd7e14;
    border-radius: 2px;
}

.ms-pourlabel[b-342rq9gnxw] {
    top: 2px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    white-space: nowrap;
}

.ms-pourtitle[b-342rq9gnxw] {
    font-size: 12px;
    font-weight: 600;
    color: var(--cf-text);
}

.ms-pourtext[b-342rq9gnxw] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

.ms-chip[b-342rq9gnxw] {
    align-self: flex-start;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

/* What is being made: the running schedule row's Tool Set and products, right of the pour unit and above the moulds
   (which start at 78px). Four lines of 12px at most. */
.ms-products[b-342rq9gnxw] {
    top: 2px;
    right: 4px;
    height: 72px;
    box-sizing: border-box;
    padding: 4px 8px;
    border: 1px solid var(--lc-grey-300, #dee2e6);
    border-radius: 4px;
    background: #fff;
    display: flex;
    gap: 10px;
    overflow: hidden;
    font-size: 12px;
    line-height: 15px;
    color: var(--cf-text);
}

/* Left: the Tool Set and its products: 16 + 3 × 15 px, or two product lines and the foot with no progress block. */
.ms-prod-main[b-342rq9gnxw] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ms-prod-head[b-342rq9gnxw] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    line-height: 16px;
}

.ms-prod-ts[b-342rq9gnxw] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 600;
}

/* The pattern set number as a chip, so it is not read as part of the name. */
.ms-prod-pat[b-342rq9gnxw] {
    flex: none;
    padding: 0 5px;
    border-radius: 3px;
    background: var(--cf-text);
    color: #fff;
    font-weight: 700;
}

/* One product a line: code, name and "× n" are columns, so they line up down the list. */
.ms-prod-grid[b-342rq9gnxw] {
    display: grid;
    grid-template-columns: auto minmax(0, max-content) auto;
    justify-content: start;
    column-gap: 6px;
}

.ms-prod-grid:not(.is-multi) .ms-prod-line:not(.ms-prod-muted)[b-342rq9gnxw] {
    display: contents;
}

.ms-prod-grid:not(.is-multi) .ms-prod-muted[b-342rq9gnxw] {
    grid-column: 1 / -1;
}

.ms-prod-grid:not(.is-multi) .ms-prod-cpm[b-342rq9gnxw] {
    text-align: right;
}

/* More products than lines: two to a line. */
.ms-prod-grid.is-multi[b-342rq9gnxw] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    column-gap: 12px;
}

.ms-prod-line[b-342rq9gnxw] {
    display: flex;
    gap: 4px;
    min-width: 0;
}

.ms-prod-code[b-342rq9gnxw], .ms-prod-cpm[b-342rq9gnxw] {
    flex: none;
    font-weight: 600;
}

.ms-prod-name[b-342rq9gnxw] {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Right: moulds made against the forecast (blue to the forecast, amber past it), then the row's place in the day
   and the next Tool Set. 18 + 6 + 2 × 14 px and three 3px gaps fill the panel. */
.ms-prog[b-342rq9gnxw] {
    flex: 0 0 190px;
    box-sizing: border-box;
    min-width: 0;
    padding-left: 10px;
    border-left: 1px solid var(--lc-grey-300, #dee2e6);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    white-space: nowrap;
}

.ms-prog-top[b-342rq9gnxw] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
    line-height: 18px;
}

.ms-prog-count[b-342rq9gnxw] {
    color: var(--cf-text-muted);
}

.ms-prog-count b[b-342rq9gnxw] {
    font-size: 18px;
    color: var(--cf-text);
}

.ms-prog-foot[b-342rq9gnxw] {
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 14px;
    color: var(--cf-text-muted);
}

.ms-prog-foot b[b-342rq9gnxw] {
    color: var(--cf-text);
}

.ms-prog-bar[b-342rq9gnxw] {
    align-self: stretch;
    display: flex;
    height: 6px;
    border-radius: 999px;
    background: var(--lc-grey-300, #dee2e6);
    overflow: hidden;
}

/* The console's blue, not --cf-primary (orange in CastPro, too close to the amber overrun). */
.ms-prog-bar .is-made[b-342rq9gnxw] {
    background: #0d6efd;
}

.ms-prog-bar .is-over[b-342rq9gnxw] {
    background: var(--cf-warning, #f59e0b);
}

.ms-prog-over[b-342rq9gnxw] {
    padding: 0 7px;
    border-radius: 999px;
    background: var(--cf-warning, #f59e0b);
    color: var(--cf-env-amber-text, #1f1300);
    font-size: 11px;
    font-weight: 600;
}

.ms-prog-note[b-342rq9gnxw] {
    font-size: 13px;
    font-weight: 600;
}

.ms-prod-tag[b-342rq9gnxw] {
    flex: none;
    padding: 0 6px;
    border-radius: 999px;
    background: #f8d7da;
    color: #58151c;
    font-size: 11px;
    font-weight: 600;
}

.ms-prod-foot[b-342rq9gnxw] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ms-prod-muted[b-342rq9gnxw], .ms-prod-foot[b-342rq9gnxw] {
    color: var(--cf-text-muted);
}

.ms-prod-foot[b-342rq9gnxw] {
    margin-top: auto;
}

.ms-prod-link[b-342rq9gnxw] {
    color: #0a58ca;
    text-decoration: none;
}
/* /Components/Pages/Production/Line/NextTapPanel.razor.rz.scp.css */
.nt[b-mlc3hd6t4p] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.nt-left[b-mlc3hd6t4p] {
    flex: 1 1 300px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nt-title[b-mlc3hd6t4p] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
}

/* One line always: a title too long for a narrow card is cut with an ellipsis, not wrapped. */
.nt-title-text[b-mlc3hd6t4p] {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.nt-badge[b-mlc3hd6t4p] {
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.nt-text[b-mlc3hd6t4p] {
    font-size: 14px;
    color: var(--lc-grey-700);
}

.nt-gauge[b-mlc3hd6t4p] {
    position: relative;
    height: 30px;
    box-sizing: border-box;
    border: 1px solid var(--lc-grey-500);
    border-radius: 4px;
    background: var(--cf-surface-alt);
}

.nt-gauge-fill[b-mlc3hd6t4p] {
    height: 100%;
    border-radius: 3px 0 0 3px;
    transition: width .5s linear, background-color .3s;
}

@media (prefers-reduced-motion: reduce) {
    .nt-gauge-fill[b-mlc3hd6t4p] {
        transition: none;
    }
}

.nt-mark[b-mlc3hd6t4p] {
    position: absolute;
    top: -5px;
    bottom: -5px;
    width: 3px;
}

.nt-legend[b-mlc3hd6t4p] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
}

.nt-legend i[b-mlc3hd6t4p] {
    display: inline-block;
    width: 3px;
    height: 14px;
    margin-right: 8px;
    vertical-align: middle;
}

.nt-timers[b-mlc3hd6t4p] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.nt-timers div[b-mlc3hd6t4p] {
    display: flex;
    flex-direction: column;
}

.nt-timers span[b-mlc3hd6t4p] {
    font-size: 12px;
    color: var(--lc-grey-700);
}

.nt-timers strong[b-mlc3hd6t4p] {
    font-size: 20px;
    font-weight: 600;
}

.nt-right[b-mlc3hd6t4p] {
    flex: 0 1 540px;
    min-width: min(100%, 400px);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nt-row[b-mlc3hd6t4p] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nt-label[b-mlc3hd6t4p] {
    flex: 0 0 90px;
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-grey-700);
}

/* The heat strip hangs under the furnaces, over the rows below. */
.nt-furnaces[b-mlc3hd6t4p] {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    gap: 8px;
}

.nt-furnace[b-mlc3hd6t4p] {
    flex: 1 1 0;
    min-width: 52px;
    min-height: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    color: var(--cf-text);
    line-height: 1;
}

.nt-furnace.is-on[b-mlc3hd6t4p] {
    background: var(--lc-select);
    border-color: var(--lc-select);
    color: #fff;
}

.nt-furnace-code[b-mlc3hd6t4p] {
    font-size: 20px;
    font-weight: 600;
}

/* A furnace's current heat number, under its letter; the chevron marks the one whose heat a second touch changes. */
.nt-heatno[b-mlc3hd6t4p] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--lc-grey-700);
}

.nt-furnace.is-on .nt-heatno[b-mlc3hd6t4p] {
    color: #fff;
}

.nt-heatno i[b-mlc3hd6t4p] {
    font-size: 10px;
}

.nt-heat-shade[b-mlc3hd6t4p] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.nt-heat[b-mlc3hd6t4p] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 21;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
}

.nt-heat-head[b-mlc3hd6t4p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-grey-700);
}

.nt-heat-close[b-mlc3hd6t4p] {
    min-height: 28px;
    padding: 0 8px;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--cf-primary, #0d6efd);
    font-size: 13px;
    font-weight: 600;
}

.nt-heat-strip[b-mlc3hd6t4p] {
    display: flex;
    gap: 8px;
}

.nt-heatpick[b-mlc3hd6t4p] {
    flex: 1 1 0;
    min-height: 48px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    color: var(--cf-text);
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}

.nt-heatpick.is-on[b-mlc3hd6t4p] {
    background: var(--lc-select);
    border-color: var(--lc-select);
    color: #fff;
}

.nt-step[b-mlc3hd6t4p] {
    flex: 0 0 64px;
    min-height: 48px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}

.nt-size[b-mlc3hd6t4p] {
    flex: 1;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}

/* Two rows, no taller than before Run Out: New Tap and Sub Tap share the first, End Tap, Pig Tap and Run Out the second. */
.nt-buttons[b-mlc3hd6t4p] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}

.nt-buttons .nt-btn[b-mlc3hd6t4p] {
    grid-column: span 2;
    padding: 4px 6px;
}

.nt-buttons .nt-btn:nth-child(-n+2)[b-mlc3hd6t4p] {
    grid-column: span 3;
}

.nt-btn[b-mlc3hd6t4p] {
    min-height: 52px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
}

.nt-btn.is-off[b-mlc3hd6t4p] {
    opacity: .55;
}

/* First tap of two (ConfirmTap): the button asks for the second. */
.nt-btn.is-armed[b-mlc3hd6t4p] {
    border-color: var(--cf-warning);
    background: var(--cf-warning);
    color: var(--cf-env-amber-text);
}

.nt-new[b-mlc3hd6t4p] {
    border: none;
    background: var(--lc-select);
    color: #fff;
}
/* /Components/Pages/Production/Line/OfficeView.razor.rz.scp.css */
/* Moulding Lines, the Office view (handoff "Office view"). CastFlo look: cards, Bootstrap greys, DS badges. */
.ov[b-d5huvclmxl] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
}

.ov[b-d5huvclmxl]  .cf-tnum,
.cf-tnum[b-d5huvclmxl] {
    font-variant-numeric: tabular-nums;
}

/* Pressed and disabled, as on the DISA Console (ProductionConsole.razor.css). */
.ov[b-d5huvclmxl]  .cf-pick {
    transition: opacity .15s;
}

.ov[b-d5huvclmxl]  .cf-pick:active:not(:disabled) {
    filter: brightness(.85);
}

.ov[b-d5huvclmxl]  .cf-pick:disabled {
    opacity: .55;
    cursor: not-allowed;
    transition-delay: .25s;
}

.ov[b-d5huvclmxl]  .cf-blink,
.cf-blink[b-d5huvclmxl] {
    animation: ovBlink-b-d5huvclmxl 1s steps(1) infinite;
}

.ov[b-d5huvclmxl]  .cf-stream {
    animation: ovFlicker-b-d5huvclmxl .18s linear infinite alternate;
}

/* A stop someone chose (planned, pattern change) pulses softly; the hard blink is for what needs attention. */
.ov[b-d5huvclmxl]  .cf-pulse,
.cf-pulse[b-d5huvclmxl] {
    animation: ovSoft-b-d5huvclmxl 2.4s ease-in-out infinite;
}

@keyframes ovSoft-b-d5huvclmxl {
    50% {
        opacity: .45;
    }
}

@keyframes ovBlink-b-d5huvclmxl {
    50% {
        opacity: .25;
    }
}

@keyframes ovFlicker-b-d5huvclmxl {
    to {
        opacity: .7;
    }
}

@keyframes ovPulse-b-d5huvclmxl {
    0% {
        box-shadow: 0 0 0 0 rgba(25, 135, 84, .5);
    }

    100% {
        box-shadow: 0 0 0 8px rgba(25, 135, 84, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ov[b-d5huvclmxl]  .cf-blink,
    .ov[b-d5huvclmxl]  .cf-pulse,
    .ov[b-d5huvclmxl]  .cf-stream,
    .cf-blink[b-d5huvclmxl],
    .cf-pulse[b-d5huvclmxl],
    .ov-pulse.is-live[b-d5huvclmxl] {
        animation: none;
    }
}

/* Header: machine switch and clock */
.ov-switch[b-d5huvclmxl] {
    display: inline-flex;
    border: 1px solid var(--cf-border-input);
    border-radius: 4px;
    overflow: hidden;
}

.ov-switch-btn[b-d5huvclmxl] {
    min-height: 40px;
    padding: 0 14px;
    border: 0;
    background: #fff;
    color: var(--cf-text);
    font-size: 15px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.ov-switch-btn + .ov-switch-btn[b-d5huvclmxl] {
    border-left: 1px solid var(--cf-border-input);
}

.ov-switch-btn.is-on[b-d5huvclmxl] {
    background: var(--lc-select);
    color: #fff;
}

.ov-dot[b-d5huvclmxl] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    box-shadow: 0 0 0 2px #fff;
}

.ov-clock[b-d5huvclmxl] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.ov-time[b-d5huvclmxl] {
    font-size: 40px;
    font-weight: 600;
    line-height: 1.1;
}

.ov-caption[b-d5huvclmxl] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

/* Feed strip */
.ov-feed[b-d5huvclmxl] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.ov-pulse[b-d5huvclmxl] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--lc-grey-500);
}

.ov-pulse.is-live[b-d5huvclmxl] {
    background: var(--cf-success);
    animation: ovPulse-b-d5huvclmxl 1.6s infinite;
}

/* KPI tiles */
.ov-kpis[b-d5huvclmxl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.ov-kpi[b-d5huvclmxl] {
    padding: 12px 16px;
    border: 1px solid var(--cf-border);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}

.ov-kpi.is-alert[b-d5huvclmxl] {
    border-color: var(--cf-warning);
}

.ov-kpi-label[b-d5huvclmxl] {
    font-size: 13px;
    font-weight: 600;
    color: var(--cf-text-muted);
}

.ov-kpi-value[b-d5huvclmxl] {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
}

.ov-kpi-sub[b-d5huvclmxl] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

/* Cards */
.ov-card[b-d5huvclmxl] {
    padding: 12px 16px;
    border: 1px solid var(--cf-border);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

/* Line card: a bar down its left edge in the colour of what the line needs (LineStyle.Tone). */
.ov-line[b-d5huvclmxl] {
    border-left: 4px solid var(--cf-border);
}

.ov-line.tone-danger[b-d5huvclmxl] {
    border-left-color: var(--cf-danger);
}

.ov-line.tone-warning[b-d5huvclmxl] {
    border-left-color: var(--cf-warning);
}

.ov-line.tone-muted[b-d5huvclmxl] {
    border-left-color: var(--lc-grey-600);
}

/* The feed has stopped (FeedWatch): the drawing is the last read, not the line as it is now. */
.ov-line.is-stale .ov-scroll[b-d5huvclmxl],
.ov-line.is-stale .ov-chips[b-d5huvclmxl],
.ov-line.is-stale[b-d5huvclmxl]  .lm-row {
    filter: grayscale(1);
    opacity: .55;
}

.ov-line-head[b-d5huvclmxl] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.ov-line-name[b-d5huvclmxl] {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.ov-line-sub[b-d5huvclmxl] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

.ov-badge[b-d5huvclmxl],
.ov-dot[b-d5huvclmxl] {
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.ov-dot[b-d5huvclmxl] {
    padding: 0;
}

.ov-stats[b-d5huvclmxl] {
    display: flex;
    gap: 18px;
}

.ov-stats div[b-d5huvclmxl] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.ov-stats span[b-d5huvclmxl] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

.ov-stats strong[b-d5huvclmxl] {
    font-size: 16px;
}

.ov-pattern[b-d5huvclmxl] {
    font-size: 13px;
    color: var(--lc-grey-700);
}

.ov-stop[b-d5huvclmxl] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    border: 2px solid var(--cf-danger);
    border-radius: 4px;
}

.ov-stop-dot[b-d5huvclmxl] {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: var(--cf-danger);
}

/* The banner takes the stop's colour, as the state badge does. */
.ov-stop.is-warning[b-d5huvclmxl] {
    border-color: var(--cf-warning);
}

.ov-stop.is-warning .ov-stop-dot[b-d5huvclmxl] {
    background: var(--cf-warning);
}

.ov-stop.is-muted[b-d5huvclmxl] {
    border-color: var(--lc-grey-600);
}

.ov-stop.is-muted .ov-stop-dot[b-d5huvclmxl] {
    background: var(--lc-grey-600);
}

.ov-stop-title[b-d5huvclmxl] {
    font-size: 15px;
    font-weight: 600;
}

.ov-stop-sub[b-d5huvclmxl] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

.ov-needs[b-d5huvclmxl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px;
    border: 2px solid var(--cf-warning);
    border-radius: 4px;
    font-weight: 600;
}

.ov-scroll[b-d5huvclmxl] {
    overflow-x: auto;
}

/* Its width is set inline: as many slots as the card has room for (OfficeView.Slots). */
.ov-string[b-d5huvclmxl] {
    height: 182px;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid var(--cf-border);
    border-radius: 6px;
}

.ov-chips[b-d5huvclmxl] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.ov-chip[b-d5huvclmxl] {
    padding: 3px 10px;
    border: 1px solid var(--cf-border);
    border-radius: 999px;
    background: var(--cf-surface-alt);
    color: var(--cf-text-muted);
    font-size: 12px;
    font-weight: 600;
}

.ov-chip.is-on[b-d5huvclmxl] {
    background: var(--lc-select);
    border-color: var(--lc-select);
    color: #fff;
}

/* Line Console */
.ov-console-head[b-d5huvclmxl] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: 16px;
}

/* The Line Console's tabs (David Archer, 13-Nov-2026): the theme draws them as plain text with the active one only
   coloured, which was easy to miss. Here the strip is a grey band, labels are semibold and the active tab is a white
   tab with the theme's own colour and a thicker underline. */
.ov[b-d5huvclmxl]  .dxbl-tabs > .dxbl-tabs-tablist {
    padding: 4px 4px 0;
    border-bottom: 1px solid var(--cf-border);
    border-radius: 6px 6px 0 0;
    background: var(--cf-surface-alt, #f8f9fa);
}

.ov[b-d5huvclmxl]  .dxbl-tabs .dxbl-tabs-item {
    padding: 8px 18px;
    border-radius: 4px 4px 0 0;
    color: #495057;
    font-size: 15px;
    font-weight: 600;
}

.ov[b-d5huvclmxl]  .dxbl-tabs .dxbl-tabs-item:hover {
    background: #e9ecef;
    color: var(--cf-text);
}

.ov[b-d5huvclmxl]  .dxbl-tabs .dxbl-tabs-item.dxbl-active {
    background: #fff !important;
    box-shadow: 0 0 0 1px var(--cf-border);
}

.ov[b-d5huvclmxl]  .dxbl-tabs .dxbl-tabs-item.dxbl-active::after {
    height: 3px;
}

.ov-tab[b-d5huvclmxl] {
    padding-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ov-two[b-d5huvclmxl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 16px;
    align-items: start;
}

.ov-note[b-d5huvclmxl] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

.ov-section[b-d5huvclmxl] {
    font-weight: 600;
}

.ov-feedrows[b-d5huvclmxl] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 24px;
}

.ov-feedrows div[b-d5huvclmxl] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--lc-grey-200);
    padding-bottom: 4px;
}

.ov-feedrows span[b-d5huvclmxl] {
    color: var(--cf-text-muted);
}
/* /Components/Pages/Production/Line/PatternLoaded.razor.rz.scp.css */
.pl[b-2z0h7s5e8c] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pl-fields[b-2z0h7s5e8c] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px 16px;
}

.pl-field[b-2z0h7s5e8c] {
    display: flex;
    flex-direction: column;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--lc-grey-200);
    min-width: 0;
}

.pl-key[b-2z0h7s5e8c] {
    font-size: 12px;
    color: var(--cf-text-muted);
}

.pl-value[b-2z0h7s5e8c] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pl-bar[b-2z0h7s5e8c] {
    height: 10px;
    border-radius: 999px;
    background: var(--lc-grey-200);
    overflow: hidden;
}

.pl-bar > div[b-2z0h7s5e8c] {
    height: 100%;
}

.pl-section[b-2z0h7s5e8c] {
    font-weight: 600;
}

.pl-products[b-2z0h7s5e8c] {
    margin: 0;
}
/* /Components/Pages/Production/Line/ProductionConsole.razor.rz.scp.css */
/* DISA Console frame, 1024 × 768 (handoff "Console frame"): top bar 56, line 274, tabs 50, content 388. */
.lc-frame[b-zj1ujdo7o7] {
    width: 1024px;
    height: 768px;
    box-sizing: border-box;
    background: #fff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    /* Centred when ProductionConsole.razor.js scales it to a screen that is not 1024 × 768. */
    margin: 0 auto;
    flex: 0 0 auto;
    font: 14px/1.45 var(--cf-font);
    color: var(--cf-text);
}

/* The feed has stopped (FeedWatch): the drawing is the last read, not the line as it is now. */
.lc-frame.is-stale .lc-line[b-zj1ujdo7o7] {
    filter: grayscale(1);
    opacity: .55;
}

.lc-frame[b-zj1ujdo7o7]  .cf-tnum {
    font-variant-numeric: tabular-nums;
}

.lc-frame[b-zj1ujdo7o7]  .cf-pick:focus-visible {
    outline: 2px solid var(--lc-select);
    outline-offset: 2px;
}

/* Pressed and disabled: a tap must show at once, before the server answers. Busy only dims the buttons when a
   command runs longer than a quarter of a second, so quick commands do not flash. */
.lc-frame[b-zj1ujdo7o7]  .cf-pick {
    transition: opacity .15s;
}

.lc-frame[b-zj1ujdo7o7]  .cf-pick:active:not(:disabled) {
    filter: brightness(.85);
}

.lc-frame[b-zj1ujdo7o7]  .cf-pick:disabled {
    opacity: .55;
    cursor: not-allowed;
    transition-delay: .25s;
}

.lc-frame[b-zj1ujdo7o7]  .cf-blink {
    animation: lcBlink-b-zj1ujdo7o7 1s steps(1) infinite;
}

.lc-frame[b-zj1ujdo7o7]  .cf-stream {
    animation: lcFlicker-b-zj1ujdo7o7 .18s linear infinite alternate;
}

/* A stop someone chose (planned, pattern change) pulses softly; the hard blink is for what needs attention. */
.lc-frame[b-zj1ujdo7o7]  .cf-pulse {
    animation: lcPulse-b-zj1ujdo7o7 2.4s ease-in-out infinite;
}

/* Tab content, reason panels and the picker fade in when they replace one another. */
.lc-content[b-zj1ujdo7o7]  > * {
    animation: lcIn-b-zj1ujdo7o7 .14s ease-out;
}

@keyframes lcBlink-b-zj1ujdo7o7 {
    50% {
        opacity: .25;
    }
}

@keyframes lcPulse-b-zj1ujdo7o7 {
    50% {
        opacity: .45;
    }
}

@keyframes lcIn-b-zj1ujdo7o7 {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
}

@keyframes lcFlicker-b-zj1ujdo7o7 {
    to {
        opacity: .7;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lc-frame[b-zj1ujdo7o7]  .cf-blink,
    .lc-frame[b-zj1ujdo7o7]  .cf-pulse,
    .lc-frame[b-zj1ujdo7o7]  .cf-stream,
    .lc-content[b-zj1ujdo7o7]  > * {
        animation: none;
    }
}

.lc-frame[b-zj1ujdo7o7]  .lc-needs {
    min-height: 44px;
    padding: 0 14px;
    border: none;
    border-radius: 4px;
    background: var(--cf-warning);
    color: var(--cf-env-amber-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

.lc-line[b-zj1ujdo7o7] {
    flex: 0 0 auto;
    padding: 8px 12px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lc-string[b-zj1ujdo7o7] {
    width: 1000px;
    height: 182px;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid var(--cf-border);
    border-radius: 6px;
}

.lc-tabs[b-zj1ujdo7o7] {
    flex: 0 0 auto;
    display: flex;
    gap: 6px;
    padding: 6px 12px 0;
}

.lc-tab[b-zj1ujdo7o7] {
    flex: 1 1 0;
    min-height: 44px;
    border: 1px solid var(--cf-border-input);
    border-radius: 4px;
    background: var(--cf-surface-alt);
    color: var(--cf-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

.lc-tab.is-on[b-zj1ujdo7o7] {
    background: var(--lc-select);
    border-color: var(--lc-select);
    color: #fff;
}

/* Production Day only: hides the line so the table fills the frame, and brings it back. */
.lc-expand[b-zj1ujdo7o7] {
    flex: 0 0 auto;
    min-width: 150px;
    min-height: 44px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--lc-select);
    border-radius: 4px;
    background: #fff;
    color: var(--lc-select);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

/* A mark after a tab's label: the count of stops needing a reason, or a dot in the Next Tap state's colour. */
.lc-tab-mark[b-zj1ujdo7o7] {
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
}

.lc-tab-mark.is-count[b-zj1ujdo7o7] {
    min-width: 22px;
    padding: 2px 6px;
    border-radius: 999px;
    background: var(--cf-warning);
    color: var(--cf-env-amber-text);
    font-size: 13px;
    line-height: 1.2;
}

.lc-tab-mark.is-dot[b-zj1ujdo7o7] {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    box-shadow: 0 0 0 2px #fff;
}

.lc-tab-mark.is-warning[b-zj1ujdo7o7] {
    background: var(--cf-warning);
}

.lc-tab-mark.is-danger[b-zj1ujdo7o7] {
    background: var(--cf-danger);
}

.lc-content[b-zj1ujdo7o7] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 8px 12px 10px;
    overflow-x: hidden;
    overflow-y: auto;
}

.lc-pick[b-zj1ujdo7o7] {
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.lc-pick-title[b-zj1ujdo7o7] {
    font-size: 20px;
    font-weight: 600;
}

.lc-pick-lines[b-zj1ujdo7o7] {
    display: flex;
    gap: 16px;
}

.lc-pick-btn[b-zj1ujdo7o7] {
    flex: 0 0 220px;
    min-height: 96px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: var(--lc-select);
    color: #fff;
    text-decoration: none;
    font-size: 28px;
    font-weight: 600;
}

.lc-pick-btn small[b-zj1ujdo7o7] {
    font-size: 13px;
    font-weight: 400;
}

.lc-pick-sub[b-zj1ujdo7o7] {
    font-size: 13px;
    color: var(--lc-grey-700);
}

.lc-message[b-zj1ujdo7o7] {
    padding: 24px;
    font-size: 18px;
}
/* /Components/Pages/Production/Line/ProductionDayTab.razor.rz.scp.css */
/* The console's Production Day tab: one row of slim tiles, then the table filling the rest of the content area. */
.pdt[b-zekpwudouo] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pdt.compact[b-zekpwudouo] {
    height: 100%;
    min-height: 0;
}

.pdt-error[b-zekpwudouo] {
    color: #b02a37;
    font-size: 13px;
}

.pdt-tiles[b-zekpwudouo] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}

.pdt-tile[b-zekpwudouo] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--cf-border);
    border-radius: 4px;
    background: #fff;
}

.pdt-tile span[b-zekpwudouo] {
    font-size: 12px;
    font-weight: 600;
    color: var(--lc-grey-700);
}

.pdt-tile strong[b-zekpwudouo] {
    font-size: 18px;
    font-variant-numeric: tabular-nums;
}

.pdt-tile.warn[b-zekpwudouo] {
    background: #fff8e1;
    border-color: var(--cf-warning);
}

.pdt-table[b-zekpwudouo] {
    flex: 1 1 auto;
    min-height: 0;
}
/* /Components/Pages/Production/Line/ReasonPanel.razor.rz.scp.css */
.rp[b-xeviilzfwr] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--cf-border-input);
    border-radius: 4px;
    background: var(--cf-surface-alt);
}

.rp-title[b-xeviilzfwr] {
    font-size: 16px;
    font-weight: 600;
}

.rp-sub[b-xeviilzfwr] {
    font-size: 13px;
    color: var(--lc-grey-700);
}

.rp-grid[b-xeviilzfwr] {
    display: grid;
    gap: 10px;
}

.rp-btn[b-xeviilzfwr] {
    min-height: 56px;
    padding: 8px 12px;
    border: 1px solid var(--lc-grey-600);
    border-radius: 4px;
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
}

.rp-btn.is-on[b-xeviilzfwr] {
    background: var(--lc-select);
    border-color: var(--lc-select);
    color: #fff;
}

.rp-cancel[b-xeviilzfwr] {
    border-color: var(--cf-border-input);
    background: var(--lc-grey-200);
    text-align: center;
}

.rp-describe-row[b-xeviilzfwr] {
    display: flex;
    gap: 8px;
}

/* DISA Console: the box sits under the top bar, over the line, where the touch keyboard does not reach. It is
   placed against the console frame (the nearest positioned ancestor). */
.rp-describe.is-sheet[b-xeviilzfwr] {
    position: absolute;
    top: 64px;
    left: 12px;
    right: 12px;
    z-index: 12;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px;
    border: 2px solid var(--lc-select);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
}

.rp-describe-title[b-xeviilzfwr] {
    font-size: 16px;
    font-weight: 600;
}

.rp-describe.is-sheet .btn[b-xeviilzfwr] {
    min-height: 48px;
    white-space: nowrap;
}
/* /Components/Pages/Production/Line/ScheduleTab.razor.rz.scp.css */
/* The DISA Console's Schedule tab: touch rows (44px targets) that scroll inside the content area. */
.st[b-xv8gf4b8fq] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;
    min-height: 0;
}

.st-head[b-xv8gf4b8fq] {
    flex: 0 0 auto;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.st-title[b-xv8gf4b8fq] {
    font-size: 16px;
    font-weight: 600;
    color: var(--cf-text);
}

.st-sub[b-xv8gf4b8fq] {
    font-size: 13px;
    color: var(--cf-text-muted);
}

.st-empty[b-xv8gf4b8fq] {
    padding: 24px 0;
    font-size: 15px;
    color: var(--cf-text-muted);
}

.st-list[b-xv8gf4b8fq] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    border: 1px solid var(--cf-border-input);
    border-radius: 4px;
    background: #fff;
}

.st-row[b-xv8gf4b8fq] {
    display: grid;
    grid-template-columns: 48px 28px minmax(0, 1.15fr) minmax(0, 1fr) 116px 120px 88px 104px;
    gap: 8px;
    align-items: center;
    min-height: 48px;
    padding: 2px 10px;
    border-top: 1px solid var(--lc-grey-300, #dee2e6);
    font-size: 14px;
}

.st-row:first-child[b-xv8gf4b8fq] {
    border-top: 0;
}

/* Column headers: the grid-header band, kept in view while the rows scroll. */
.st-row.st-cols[b-xv8gf4b8fq] {
    position: sticky;
    top: 0;
    z-index: 1;
    min-height: 30px;
    background: var(--cf-surface-alt, #f8f9fa);
    border-bottom: 1px solid var(--lc-grey-300, #dee2e6);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: #495057;
}

.st-row.st-cols + .st-row[b-xv8gf4b8fq] {
    border-top: 0;
}

.st-row.st-cols .st-no[b-xv8gf4b8fq] {
    font-size: 12px;
}

/* A row open to its products: the one-line cells stay level with the first product line. */
.st-row.is-open[b-xv8gf4b8fq] {
    align-items: start;
}

.st-row.is-open > [role="cell"][b-xv8gf4b8fq] {
    min-height: 44px;
}

.st-row.is-open > .st-no[b-xv8gf4b8fq], .st-row.is-open > .st-status[b-xv8gf4b8fq] {
    display: flex;
    align-items: center;
}

.st-row.is-open > .st-no[b-xv8gf4b8fq] {
    justify-content: center;
}

.st-row.is-open > .st-products[b-xv8gf4b8fq], .st-row.is-open > .st-casts[b-xv8gf4b8fq] {
    padding: 12px 0 6px;
}

.st-row.is-open > .st-moulds[b-xv8gf4b8fq] {
    padding-top: 8px;
}

.st-muted[b-xv8gf4b8fq] {
    color: var(--cf-text-muted);
}

.st-row.is-running .st-muted[b-xv8gf4b8fq] {
    color: #495057;
}

/* Products: one line each (code, name, castings per mould), or the codes of a closed row. */
.st-products[b-xv8gf4b8fq], .st-casts[b-xv8gf4b8fq] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    font-size: 14px;
    line-height: 20px;
}

.st-pline[b-xv8gf4b8fq] {
    display: flex;
    gap: 6px;
    min-width: 0;
    white-space: nowrap;
}

.st-pline > b[b-xv8gf4b8fq], .st-pcpm[b-xv8gf4b8fq] {
    flex: none;
}

.st-pline > .st-muted[b-xv8gf4b8fq], .st-pname[b-xv8gf4b8fq] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.st-pcpm[b-xv8gf4b8fq] {
    font-weight: 600;
}

/* Moulds made / forecast, what that means, and a bar: blue while running, green once complete, amber past the forecast. */
.st-moulds[b-xv8gf4b8fq] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    font-size: 14px;
}

.st-mtop[b-xv8gf4b8fq] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    column-gap: 6px;
    line-height: 18px;
}

.st-mtop b[b-xv8gf4b8fq] {
    font-size: 16px;
}

.st-mnote[b-xv8gf4b8fq] {
    font-size: 12px;
    color: #495057;
    white-space: nowrap;
}

.st-mnote.is-over[b-xv8gf4b8fq] {
    padding: 0 6px;
    border-radius: 999px;
    background: var(--cf-warning, #f59e0b);
    color: var(--cf-env-amber-text, #1f1300);
    font-weight: 600;
}

.st-bar[b-xv8gf4b8fq] {
    display: flex;
    height: 6px;
    border-radius: 999px;
    background: var(--lc-grey-300, #dee2e6);
    overflow: hidden;
}

.st-row.is-running .st-bar[b-xv8gf4b8fq] {
    background: #fff;
}

.st-bar .is-made[b-xv8gf4b8fq] {
    background: #198754;
}

/* The console's blue, not --cf-primary (orange in CastPro). */
.st-row.is-running .st-bar .is-made[b-xv8gf4b8fq] {
    background: #0d6efd;
}

.st-bar .is-over[b-xv8gf4b8fq] {
    background: var(--cf-warning, #f59e0b);
}

/* Castings poured / forecast and the share, a line per product. */
.st-cline[b-xv8gf4b8fq] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    white-space: nowrap;
}

.st-cpct[b-xv8gf4b8fq] {
    color: #495057;
}

.st-row.is-running[b-xv8gf4b8fq] {
    background: #e7f1ff;
}

.st-row.is-cancelled[b-xv8gf4b8fq] {
    color: var(--cf-text-muted);
}

.st-row.is-cancelled .st-name[b-xv8gf4b8fq] {
    text-decoration: line-through;
}

.st-no[b-xv8gf4b8fq] {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}

.st-what[b-xv8gf4b8fq] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.st-name[b-xv8gf4b8fq] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.st-name[b-xv8gf4b8fq] {
    font-size: 15px;
    font-weight: 600;
}

/* The pattern set number as a chip, so it is not read as part of the name. */
.st-pat[b-xv8gf4b8fq] {
    flex: none;
    padding: 1px 7px;
    border-radius: 4px;
    background: var(--cf-text);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.st-row.is-cancelled .st-pat[b-xv8gf4b8fq] {
    background: var(--cf-text-muted);
}

.st-status[b-xv8gf4b8fq] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.st-pill[b-xv8gf4b8fq] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    background: #e9ecef;
    color: #343a40;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

/* The console's blue, not --cf-primary (orange in CastPro, which read as a warning here). */
.st-pill.is-running[b-xv8gf4b8fq] { background: #0d6efd; color: #fff; }
.st-pill.is-complete[b-xv8gf4b8fq] { background: #d1e7dd; color: #0a3622; }
.st-pill.is-cancelled[b-xv8gf4b8fq] { background: #fff; border: 1px solid #adb5bd; color: #6c757d; }
.st-pill.is-unsched[b-xv8gf4b8fq] { background: #f8d7da; color: #58151c; }

.st-move[b-xv8gf4b8fq] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.st-btn[b-xv8gf4b8fq] {
    width: 48px;
    height: 44px;
    border: 1px solid var(--cf-border-input);
    border-radius: 4px;
    background: #fff;
    color: var(--cf-text);
    font-size: 18px;
}

.st-btn:disabled[b-xv8gf4b8fq] {
    opacity: 0.35;
}

.st-toggle[b-xv8gf4b8fq] {
    border-color: transparent;
    background: transparent;
}

.is-bad[b-xv8gf4b8fq] {
    color: #b02a37;
    font-weight: 600;
}

.st-link[b-xv8gf4b8fq] {
    color: #0a58ca;
    text-decoration: none;
}

/* Office view (Moulding Lines, Line Console): the same grid at mouse size in the office page's look. It grows with
   its rows, so the page scrolls, not the list. */
.st.is-office[b-xv8gf4b8fq] {
    height: auto;
    gap: 8px;
}

.st.is-office .st-head[b-xv8gf4b8fq] {
    align-items: center;
}

.st.is-office .st-sub[b-xv8gf4b8fq] {
    margin-left: auto;
}

.st.is-office .st-list[b-xv8gf4b8fq] {
    overflow: visible;
    border-color: var(--cf-border);
    border-radius: 6px;
}

.st.is-office .st-row[b-xv8gf4b8fq] {
    grid-template-columns: 32px 28px minmax(0, 1.4fr) minmax(0, 1.4fr) 140px 140px 120px 72px;
    gap: 12px;
    min-height: 40px;
    padding: 2px 12px;
}

.st.is-office .st-row.st-cols[b-xv8gf4b8fq] {
    min-height: 34px;
    border-radius: 6px 6px 0 0;
    font-size: 13px;
    color: var(--cf-text-muted);
}

.st.is-office .st-row:last-child[b-xv8gf4b8fq] {
    border-radius: 0 0 6px 6px;
}

.st.is-office .st-no[b-xv8gf4b8fq], .st.is-office .st-name[b-xv8gf4b8fq] {
    font-size: 14px;
}

.st.is-office .st-pat[b-xv8gf4b8fq] {
    font-size: 12px;
}

.st.is-office .st-btn[b-xv8gf4b8fq] {
    width: 32px;
    height: 32px;
    font-size: 14px;
}

.st.is-office .st-move[b-xv8gf4b8fq] {
    gap: 6px;
}

.st.is-office .st-row.is-open > [role="cell"][b-xv8gf4b8fq] {
    min-height: 32px;
}

.st.is-office .st-row.is-open > .st-products[b-xv8gf4b8fq], .st.is-office .st-row.is-open > .st-casts[b-xv8gf4b8fq] {
    padding: 6px 0 4px;
}

.st.is-office .st-row.is-open > .st-moulds[b-xv8gf4b8fq] {
    padding-top: 4px;
}
/* /Components/Pages/Production/Line/SelectedMouldPanel.razor.rz.scp.css */
.sm[b-hzj2yv4fzv] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sm-title[b-hzj2yv4fzv] {
    font-weight: 600;
    font-size: 15px;
}

.sm-rows[b-hzj2yv4fzv] {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 4px 12px;
    margin: 0;
}

.sm-rows dt[b-hzj2yv4fzv] {
    font-weight: 400;
    color: var(--cf-text-muted);
}

.sm-rows dd[b-hzj2yv4fzv] {
    margin: 0;
    font-weight: 600;
}
/* /Components/Pages/Production/Line/TapPositions.razor.rz.scp.css */
/* Handoff "Taps on Line": table 788 px with a sticky header, side panel about 200 px. */
.tp[b-5zir4qgeag] {
    display: flex;
    gap: 0.75rem;
    min-height: 0;
    height: 100%;
}

.tp-table-wrap[b-5zir4qgeag] {
    flex: 0 1 788px;
    min-width: 0;
    overflow-y: auto;
    border: 1px solid var(--cf-border);
    border-radius: 0.25rem;
}

.tp-table[b-5zir4qgeag] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 18px;
}

.tp-table thead th[b-5zir4qgeag] {
    position: sticky;
    top: 0;
    z-index: 1;
    height: 40px;
    background: var(--cf-surface-alt);
    font-size: 13px;
    font-weight: 600;
    color: var(--lc-grey-700);
    padding: 0 8px;
    border-bottom: 1px solid var(--cf-border);
}

.tp-table td[b-5zir4qgeag] {
    height: 34px;
    padding: 0 8px;
    border-bottom: 1px solid #F1F3F5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tp-tap[b-5zir4qgeag] { width: 64px; text-align: right; font-weight: 700; font-size: 20px; }
.tp-pc[b-5zir4qgeag] { width: 74px; } /* 5-digit prod codes (62 px in the handoff, 4 digits) */
.tp-start[b-5zir4qgeag] { width: 70px; text-align: right; }
.tp-moulds[b-5zir4qgeag] { width: 80px; text-align: right; }
.tp-pos[b-5zir4qgeag] { width: 84px; text-align: right; }
.tp-hood[b-5zir4qgeag] { width: 168px; font-weight: 700; font-size: 20px; }
.tp-tail[b-5zir4qgeag] { width: 134px; color: #495057; }
.tp-state[b-5zir4qgeag] { width: auto; }

.tp-table thead .tp-tap[b-5zir4qgeag],
.tp-table thead .tp-hood[b-5zir4qgeag] {
    font-size: 13px;
}

.tp-day td[b-5zir4qgeag] {
    height: 27px;
    background: var(--lc-grey-200);
    font-size: 14px;
    font-weight: 600;
    color: var(--lc-grey-700);
}

.tp-row-pouring td[b-5zir4qgeag] { background: #FFF0E3; }
.tp-row-vc td[b-5zir4qgeag] { background: #FFF8E1; }

.tp-off td[b-5zir4qgeag] {
    background: #F1F3F5;
    color: var(--cf-text-muted);
    font-size: 15px;
}

.tp-empty[b-5zir4qgeag] {
    color: var(--cf-text-muted);
    text-align: center;
}

.tp-pill[b-5zir4qgeag] {
    display: inline-block;
    border-radius: 999px;
    padding: 2px 10px;
    font-size: 14px;
    font-weight: 600;
}

.tp-pill-pouring[b-5zir4qgeag] { background: #FD7E14; color: #1F1300; }
.tp-pill-vc[b-5zir4qgeag] { background: #F59E0B; color: #1F1300; }
.tp-pill-cooling[b-5zir4qgeag] { background: #E9ECEF; color: #495057; }

.tp-side[b-5zir4qgeag] {
    flex: 0 0 200px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.tp-card[b-5zir4qgeag] {
    border: 1px solid var(--cf-border);
    border-radius: 0.25rem;
    padding: 8px 10px;
    font-size: 16px;
}

.tp-card-title[b-5zir4qgeag] {
    font-size: 12px;
    font-weight: 600;
    color: var(--cf-text-muted);
    margin-bottom: 4px;
}

.tp-card-row[b-5zir4qgeag] {
    display: flex;
    justify-content: space-between;
}

.tp-card-dark[b-5zir4qgeag] {
    margin-top: auto;
    background: var(--lc-grey-800);
    border-color: var(--lc-grey-800);
    color: #FFFFFF;
    font-weight: 600;
}

@media (max-width: 900px) {
    .tp[b-5zir4qgeag] {
        flex-direction: column;
    }

    .tp-side[b-5zir4qgeag] {
        flex-direction: row;
        flex-wrap: wrap;
        flex-basis: auto;
    }
}
/* /Components/Pages/Production/Line/TapPositionsPage.razor.rz.scp.css */
/* Tap Position Tracking, 1024 × 768 (spec 8.6): top bar 56, line map, then the grid and side panel fill the rest. */
.tpp[b-3jix8uqq6m] {
    width: 1024px;
    height: 768px;
    box-sizing: border-box;
    background: #fff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font: 14px/1.45 'Helvetica Neue', Helvetica, Inter, Arial, sans-serif;
    color: var(--cf-text);
}

.tpp[b-3jix8uqq6m]  .cf-tnum {
    font-variant-numeric: tabular-nums;
}

.tpp[b-3jix8uqq6m]  .cf-pick:focus-visible {
    outline: 2px solid var(--lc-select);
    outline-offset: 2px;
}

.tpp-btn[b-3jix8uqq6m] {
    min-height: 44px;
    min-width: 88px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--lc-grey-500);
    border-radius: 4px;
    background: #fff;
    color: var(--cf-text);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.tpp-main[b-3jix8uqq6m] {
    border-color: var(--lc-select);
    background: var(--lc-select);
    color: #fff;
}

.tpp-map[b-3jix8uqq6m] {
    flex: 0 0 auto;
    padding: 8px 12px 0;
}

.tpp-body[b-3jix8uqq6m] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 4px 12px 12px;
}

.tpp-message[b-3jix8uqq6m] {
    padding: 24px;
    font-size: 18px;
}
/* /Components/Pages/Production/Office/Day/ProductionDay.razor.rz.scp.css */
/* Production Day page: header, filters, tiles, the DISA sections and the dialogs (design "Office page · Production Day"). */
.pday-page[b-f5alo9qd21] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 1rem;
    min-width: 0;
}

/* One DISA (.pday-fill, with site.css .grid-fill): the sections and the table take the height the window has left,
   so the page does not scroll as well as the table. Below 240 px of table the page scrolls instead. */
.pday-fill .pday-lines[b-f5alo9qd21],
.pday-fill .pday-line[b-f5alo9qd21] {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0;
}

.pday-fill .pday-line[b-f5alo9qd21]  .pd-panel {
    flex: 1 1 0;
    min-height: 0;
}

.pday-fill .pday-line[b-f5alo9qd21]  .pd-table {
    flex: 1 1 0;
    min-height: 240px;
    max-height: none;
}

.pday-label-note[b-f5alo9qd21] {
    font-weight: 400;
    color: #6c757d;
    font-variant-numeric: tabular-nums;
}

.pday-badge[b-f5alo9qd21] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 22px;
    padding: 0 10px;
    border-radius: 999px;
    background: #6c757d;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.pday-badge.live[b-f5alo9qd21] {
    background: #198754;
}

.pday-dot[b-f5alo9qd21] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    animation: pday-pulse-b-f5alo9qd21 1.6s ease-out infinite;
}

@keyframes pday-pulse-b-f5alo9qd21 {
    0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
    70% { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .pday-dot[b-f5alo9qd21] { animation: none; }
}

/* Filters. */
.pday-filters[b-f5alo9qd21] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1.5rem;
}

.pday-filter[b-f5alo9qd21], .pday-field[b-f5alo9qd21] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pday-label[b-f5alo9qd21] {
    font-size: 12px;
    font-weight: 600;
    color: #495057;
}

.pday-date[b-f5alo9qd21], .pday-size[b-f5alo9qd21] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pday-date[b-f5alo9qd21]  .pday-dateedit {
    width: 9.5rem;
}

.pday-step[b-f5alo9qd21], .pday-today[b-f5alo9qd21] {
    height: 34px;
    min-width: 34px;
    padding: 0 8px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
}

.pday-step.wide[b-f5alo9qd21] {
    min-width: 56px;
}

.pday-step:disabled[b-f5alo9qd21], .pday-today:disabled[b-f5alo9qd21] {
    opacity: 0.45;
    cursor: not-allowed;
}

.pday-seg[b-f5alo9qd21] {
    display: flex;
    flex-wrap: wrap;
}

.pday-seg button[b-f5alo9qd21] {
    height: 34px;
    padding: 0 14px;
    margin-left: -1px;
    border: 1px solid #ced4da;
    background: #fff;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
}

.pday-seg button:first-child[b-f5alo9qd21] {
    margin-left: 0;
    border-radius: 4px 0 0 4px;
}

.pday-seg button:last-child[b-f5alo9qd21] {
    border-radius: 0 4px 4px 0;
}

.pday-seg button.on[b-f5alo9qd21] {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
    position: relative;
}

.pday-seg.big button[b-f5alo9qd21] {
    min-width: 56px;
    height: 44px;
    font-size: 16px;
    font-weight: 600;
}

button:focus-visible[b-f5alo9qd21] {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

/* The DISA sections: Both stacks them, side by side on a wide (wall) screen. */
.pday-lines[b-f5alo9qd21] {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

@media (min-width: 2400px) {
    .pday-lines.both[b-f5alo9qd21] {
        grid-template-columns: 1fr 1fr;
    }
}

.pday-line[b-f5alo9qd21] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.pday-line-name[b-f5alo9qd21] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.pday-floor[b-f5alo9qd21] {
    font-size: 0.85rem;
    font-weight: 400;
    color: #6c757d;
}

/* Tiles. */
/* Six tiles in one row; three by two when the window is narrow. Never five and one. */
.pday-tiles[b-f5alo9qd21] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (max-width: 1100px) {
    .pday-tiles[b-f5alo9qd21] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.pday-tile[b-f5alo9qd21] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.pday-tile.warn[b-f5alo9qd21] {
    background: #fff8e1;
    border-color: #f59e0b;
}

.pday-tile-label[b-f5alo9qd21] {
    font-size: 12px;
    font-weight: 600;
    color: #495057;
}

.pday-tile-value[b-f5alo9qd21] {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.pday-tile-sub[b-f5alo9qd21] {
    font-size: 12px;
    color: #6c757d;
    font-variant-numeric: tabular-nums;
}

/* Dialogs. */
.pday-dlg[b-f5alo9qd21] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pday-dlg-sub[b-f5alo9qd21] {
    font-size: 13px;
    color: #495057;
    font-variant-numeric: tabular-nums;
}

.pday-help[b-f5alo9qd21] {
    font-size: 12px;
    color: #495057;
}

.pday-help.bad[b-f5alo9qd21] {
    color: #b02a37;
}

.pday-size[b-f5alo9qd21]  .pday-bad input {
    border-color: #dc3545;
}

.pday-dlg-foot[b-f5alo9qd21] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    border-top: 1px solid #dee2e6;
    padding-top: 0.75rem;
}

.pday-mould-head[b-f5alo9qd21] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.pday-mbadge[b-f5alo9qd21] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    border: 1px solid #e9ecef;
    border-radius: 999px;
    background: #e9ecef;
    color: #212529;
    font-size: 12px;
    font-weight: 600;
}

.pday-mbadge.pd-pouring[b-f5alo9qd21] { background: #fd7e14; border-color: #fd7e14; color: #1f1300; }
.pday-mbadge.pd-offline[b-f5alo9qd21] { background: #fff; border-color: #adb5bd; color: #495057; }
.pday-mbadge.pd-notpoured[b-f5alo9qd21] { background: #fff; border-color: #adb5bd; color: #6c757d; }
.pday-mbadge.pd-mispour[b-f5alo9qd21] { background: #fff; border-color: #dc3545; color: #b02a37; }

.pday-facts[b-f5alo9qd21] {
    display: grid;
    grid-template-columns: 1fr;
    margin: 0;
    font-size: 13px;
}

.pday-facts > div[b-f5alo9qd21] {
    display: grid;
    grid-template-columns: 11rem 1fr;
    gap: 0.5rem;
    padding: 4px 0;
    border-bottom: 1px solid #f1f3f5;
}

.pday-facts dt[b-f5alo9qd21] {
    font-weight: 400;
    color: #6c757d;
}

.pday-facts dd[b-f5alo9qd21] {
    margin: 0;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.pday-reasons[b-f5alo9qd21] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.pday-reason[b-f5alo9qd21] {
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
    text-align: left;
}

.pday-reason:hover[b-f5alo9qd21] {
    background: #e7f1ff;
    border-color: #0d6efd;
}

.pday-reason.on[b-f5alo9qd21] {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

/* "Other": its description, before it is recorded. */
.pday-other[b-f5alo9qd21] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 0.75rem;
}

.pday-other-row[b-f5alo9qd21] {
    display: flex;
    gap: 0.5rem;
}
/* /Components/Pages/Production/Office/Day/ProductionDayTable.razor.rz.scp.css */
/* Production Day table: the design's grid (13 columns), rows, badges and toolbar. */
.pd-panel[b-ymk2erzwma] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    background: #fff;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.pd-toolbar[b-ymk2erzwma] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
}

.pd-title[b-ymk2erzwma] {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #495057;
}

.pd-seg[b-ymk2erzwma] {
    display: flex;
}

.pd-seg-btn[b-ymk2erzwma] {
    height: 34px;
    padding: 0 14px;
    margin-left: -1px;
    border: 1px solid #ced4da;
    background: #fff;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
}

.pd-seg-btn:first-child[b-ymk2erzwma] {
    border-radius: 4px 0 0 4px;
}

.pd-seg-btn:last-child[b-ymk2erzwma] {
    border-radius: 0 4px 4px 0;
}

.pd-seg-btn.on[b-ymk2erzwma] {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
    position: relative;
}

.pd-check[b-ymk2erzwma] {
    height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
}

.pd-box[b-ymk2erzwma] {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #6c757d;
    border-radius: 3px;
    background: #fff;
    color: #fff;
    font-size: 14px;
}

.pd-box.on[b-ymk2erzwma] {
    background: #0d6efd;
    border-color: #0d6efd;
}

/* Expand all and Collapse all, in the header of the action column. */
.pd-g > div.pd-hacts[b-ymk2erzwma] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pd-hbtn[b-ymk2erzwma] {
    width: 32px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    color: #0a58ca;
    font-size: 16px;
}

.pd-hbtn:hover[b-ymk2erzwma] {
    background: #e7f1ff;
    border-color: #0a58ca;
}

button:focus-visible[b-ymk2erzwma] {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

/* The grid. */
.pd-table[b-ymk2erzwma] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    max-height: 720px;
    overflow: auto;
}

/* PC and the two hood columns take the spare width and give it up first, so the table fits a 1,400 px window with
   the sidebar open. Narrower than its minimum it scrolls sideways, with the action column held in view. */
.pd-g[b-ymk2erzwma] {
    display: grid;
    grid-template-columns: 34px 76px 104px minmax(72px, 0.5fr) 84px 80px 72px 80px 80px minmax(104px, 1.5fr) minmax(104px, 1.5fr) 104px 112px;
    align-items: center;
    min-width: 1106px;
    font-variant-numeric: tabular-nums;
}

/* The action column (Edit, Open, Pick Reason) stays at the right edge when the table scrolls sideways. */
.pd-g:not(.pd-div) > div:last-child[b-ymk2erzwma] {
    position: sticky;
    right: 0;
    background: inherit;
    /* A rule on its left, so columns passing under it read as scrolled, not cut off. */
    border-left: 1px solid #dee2e6;
}

.pd-g > div[b-ymk2erzwma] {
    padding: 0 8px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-g > div.c0[b-ymk2erzwma] {
    padding: 0 0 0 6px;
}

.pd-g > .r[b-ymk2erzwma] {
    text-align: right;
}

.pd-g > .b[b-ymk2erzwma] {
    font-weight: 600;
}

.pd-head[b-ymk2erzwma] {
    position: sticky;
    top: 0;
    z-index: 1;
    height: 40px;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: #212529;
}

.pd-div[b-ymk2erzwma] {
    height: 28px;
    background: #e9ecef;
    border-bottom: 1px solid #dee2e6;
    font-size: 12px;
    font-weight: 600;
    color: #343a40;
}

.pd-span-all[b-ymk2erzwma] {
    grid-column: 1 / -1;
}

.pd-span6[b-ymk2erzwma] {
    grid-column: span 6;
}

.pd-span2[b-ymk2erzwma] {
    grid-column: span 2;
}

.pd-wrap[b-ymk2erzwma] {
    white-space: normal !important;
}

.pd-empty[b-ymk2erzwma] {
    padding: 32px 16px;
    text-align: center;
    font-size: 14px;
    color: #495057;
}

/* Tap rows. */
.pd-tap[b-ymk2erzwma] {
    min-height: 40px;
    border-bottom: 1px solid #dee2e6;
    background: #fff;
    color: #212529;
}

.pd-tap.pd-pouring[b-ymk2erzwma] {
    background: #fff0e3;
}

.pd-tap.pd-shakeout[b-ymk2erzwma] {
    background: #fff8e1;
}

.pd-tap.pd-offline[b-ymk2erzwma] {
    background: #f1f3f5;
    color: #5c636a;
}

.pd-tap.sel[b-ymk2erzwma] {
    background: #e7f1ff;
    box-shadow: inset 0 0 0 2px #0d6efd;
}

.pd-exp[b-ymk2erzwma] {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: #495057;
}

.pd-exp i[b-ymk2erzwma] {
    transition: transform 0.15s;
}

.pd-exp i.open[b-ymk2erzwma] {
    transform: rotate(90deg);
}

.pd-tapno[b-ymk2erzwma] {
    padding: 0;
    border: none;
    background: transparent;
    color: inherit;
    font-size: 15px;
    font-weight: 700;
}

/* Mould rows. */
.pd-mould[b-ymk2erzwma] {
    min-height: 34px;
    border-bottom: 1px solid #edf0f2;
    background: #fcfcfd;
    color: #212529;
    font-size: 13px;
}

.pd-mould.pd-offline[b-ymk2erzwma] {
    color: #5c636a;
}

.pd-stem[b-ymk2erzwma] {
    display: block;
    width: 2px;
    height: 34px;
    margin-left: 13px;
    background: #ced4da;
}

.pd-muted[b-ymk2erzwma] {
    color: #6c757d;
}

.pd-dash[b-ymk2erzwma] {
    color: #adb5bd;
}

/* Stop rows. */
.pd-stop[b-ymk2erzwma] {
    min-height: 36px;
    border-bottom: 1px solid #dee2e6;
    background: #f8f9fa;
    font-size: 13px;
}

.pd-stop.need[b-ymk2erzwma] {
    background: #fffbeb;
}

.pd-tag[b-ymk2erzwma] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 20px;
    padding: 0 8px;
    border-radius: 4px;
    background: #495057;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.pd-tag.planned[b-ymk2erzwma] {
    background: #6c757d;
}

.pd-need[b-ymk2erzwma] {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    border-radius: 999px;
    background: #f59e0b;
    color: #1f1300;
    font-size: 12px;
    font-weight: 600;
}

.pd-heading[b-ymk2erzwma] {
    font-size: 12px;
    color: #495057;
}

/* Badges. */
.pd-badge[b-ymk2erzwma] {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    border: 1px solid #e9ecef;
    border-radius: 999px;
    background: #e9ecef;
    color: #212529;
    font-size: 12px;
    font-weight: 600;
}

.pd-badge.sm[b-ymk2erzwma] {
    height: 18px;
    padding: 0 7px;
    font-size: 11px;
}

.pd-badge.pd-pouring[b-ymk2erzwma] {
    background: #fd7e14;
    border-color: #fd7e14;
    color: #1f1300;
}

.pd-badge.pd-shakeout[b-ymk2erzwma] {
    background: #f59e0b;
    border-color: #f59e0b;
    color: #1f1300;
}

.pd-badge.pd-offline[b-ymk2erzwma] {
    background: #fff;
    border-color: #adb5bd;
    color: #495057;
}

.pd-badge.pd-pigged[b-ymk2erzwma] {
    background: #fff;
    border-color: #f59e0b;
    color: #664d03;
}

.pd-badge.pd-notpoured[b-ymk2erzwma] {
    background: #fff;
    border-color: #adb5bd;
    color: #6c757d;
}

.pd-badge.pd-mispour[b-ymk2erzwma] {
    background: #fff;
    border-color: #dc3545;
    color: #b02a37;
}

/* Action buttons. */
.pd-act[b-ymk2erzwma] {
    height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    color: #212529;
    font-size: 13px;
    font-weight: 500;
}

.pd-act.sm[b-ymk2erzwma] {
    height: 26px;
    font-size: 12px;
}

.pd-act.need[b-ymk2erzwma] {
    border-color: #f59e0b;
    background: #f59e0b;
    color: #1f1300;
    font-weight: 600;
}

/* Pressed: a tap shows at once, before the server answers. */
.pd-act:active[b-ymk2erzwma],
.pd-seg-btn:active[b-ymk2erzwma],
.pd-check:active[b-ymk2erzwma] {
    filter: brightness(.88);
}

.pd-exp:active[b-ymk2erzwma],
.pd-hbtn:active[b-ymk2erzwma],
.pd-tapno:active[b-ymk2erzwma] {
    background: #e9ecef;
}

.pd-more[b-ymk2erzwma] {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: #495057;
}

/* Compact: the console's Production Day tab (1024 × 768, touch). */
.pd-compact[b-ymk2erzwma] {
    height: 100%;
    min-height: 0;
    padding: 6px 8px;
    gap: 6px;
    box-shadow: none;
}

.pd-compact .pd-table[b-ymk2erzwma] {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
}

.pd-compact .pd-g[b-ymk2erzwma] {
    grid-template-columns: 30px 64px 108px 72px 58px 60px 58px 56px 56px 100px 92px 80px 76px;
    min-width: 0;
    font-size: 13px;
}

.pd-compact .pd-g > div[b-ymk2erzwma] {
    padding: 0 5px;
}

/* 46 px, not 32: the header holds Expand all and Collapse all at the console's 44 px touch height. */
.pd-compact .pd-head[b-ymk2erzwma] {
    height: 46px;
    font-size: 11px;
    letter-spacing: 0;
}

/* Touch targets are 44 px high, the console's floor; rows grow by a few px to hold them. */
.pd-compact .pd-tap[b-ymk2erzwma],
.pd-compact .pd-mould[b-ymk2erzwma],
.pd-compact .pd-stop[b-ymk2erzwma] {
    min-height: 48px;
}

.pd-compact .pd-tapno[b-ymk2erzwma] {
    min-height: 44px;
    font-size: 14px;
}

.pd-compact .pd-exp[b-ymk2erzwma] {
    width: 34px;
    height: 44px;
}

.pd-compact .pd-act[b-ymk2erzwma],
.pd-compact .pd-act.sm[b-ymk2erzwma] {
    height: 44px;
    padding: 0 8px;
}

.pd-compact .pd-seg-btn[b-ymk2erzwma],
.pd-compact .pd-check[b-ymk2erzwma],
.pd-compact .pd-hbtn[b-ymk2erzwma] {
    height: 44px;
}

.pd-compact .pd-g > div.pd-hacts[b-ymk2erzwma] {
    gap: 2px;
}
/* /Components/Pages/Production/Office/ProductionDetails.razor.rz.scp.css */
.pd-page[b-iboylt15cg] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pd-head[b-iboylt15cg] {
    padding: 0.5rem 0.75rem;
}

.pd-facts[b-iboylt15cg] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
}

.pd-facts > div[b-iboylt15cg] {
    display: flex;
    flex-direction: column;
}

.pd-facts strong[b-iboylt15cg] {
    font-size: 1.05rem;
}

/* Tap and Products side by side on a wide screen. */
.pd-grid[b-iboylt15cg] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 1200px) {
    .pd-grid[b-iboylt15cg] {
        grid-template-columns: 3fr 2fr;
    }
}

.pd-card[b-iboylt15cg] {
    padding: 0.5rem 0.75rem;
    min-width: 0;
}

.pd-title[b-iboylt15cg] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.pd-value[b-iboylt15cg] {
    display: inline-block;
    padding-top: 0.25rem;
    font-variant-numeric: tabular-nums;
}

.pd-actions[b-iboylt15cg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.pd-table[b-iboylt15cg] {
    font-size: 0.875rem;
    font-variant-numeric: tabular-nums;
    margin-bottom: 0;
}

.pd-name[b-iboylt15cg] {
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-cavs[b-iboylt15cg] {
    width: 7rem;
}

.pd-reason-needed td[b-iboylt15cg] {
    background-color: var(--bs-warning-bg-subtle);
}
/* /Components/Pages/Production/Office/ProductionDetailsMoulds.razor.rz.scp.css */
.pdm[b-fynk1anq6d] {
    padding: 0.5rem 0.75rem;
}

.pdm-head[b-fynk1anq6d] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.pdm-title[b-fynk1anq6d] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

[b-fynk1anq6d] .pdm-reason {
    width: 14rem;
}

[b-fynk1anq6d] .pdm-note {
    width: 12rem;
}

.pdm-wrap[b-fynk1anq6d] {
    max-height: 24rem;
    overflow-y: auto;
    margin-top: 0.5rem;
}

.pdm-table[b-fynk1anq6d] {
    font-size: 0.875rem;
    font-variant-numeric: tabular-nums;
    margin-bottom: 0;
}

.pdm-deducted td[b-fynk1anq6d] {
    color: var(--bs-secondary-color);
    text-decoration: line-through;
}

.pdm-deducted td:last-child[b-fynk1anq6d] {
    text-decoration: none;
}
/* /Components/Pages/Production/Office/Schedule/ProductionSchedule.razor.rz.scp.css */
/* Production Schedule page: filters, the day blocks with their tiles and rows, and the dialogs. Same look as Production Day. */
.psch-page[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 1rem;
    min-width: 0;
}

/* Filters. */
.psch-filters[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1.5rem;
}

.psch-filter[b-0986m4w1if], .psch-field[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.psch-label[b-0986m4w1if] {
    font-size: 12px;
    font-weight: 600;
    color: #495057;
}

.psch-help[b-0986m4w1if] {
    font-size: 12px;
    color: #495057;
}

.psch-readonly[b-0986m4w1if] {
    align-self: center;
}

.psch-date[b-0986m4w1if] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.psch-date[b-0986m4w1if]  .psch-dateedit {
    width: 11.5rem;
}

.psch-step[b-0986m4w1if], .psch-today[b-0986m4w1if] {
    height: 34px;
    min-width: 34px;
    padding: 0 8px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
}

.psch-today:disabled[b-0986m4w1if] {
    opacity: 0.45;
    cursor: not-allowed;
}

.psch-seg[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
}

.psch-seg button[b-0986m4w1if] {
    height: 34px;
    padding: 0 14px;
    margin-left: -1px;
    border: 1px solid #ced4da;
    background: #fff;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
}

.psch-seg button:first-child[b-0986m4w1if] {
    margin-left: 0;
    border-radius: 4px 0 0 4px;
}

.psch-seg button:last-child[b-0986m4w1if] {
    border-radius: 0 4px 4px 0;
}

.psch-seg button.on[b-0986m4w1if] {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
    position: relative;
}

button:focus-visible[b-0986m4w1if] {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

/* A DISA's production date. */
.psch-block[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.psch-block-head[b-0986m4w1if] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.psch-block-name[b-0986m4w1if] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.psch-floor[b-0986m4w1if] {
    margin-left: 0.5rem;
    font-size: 0.85rem;
    font-weight: 400;
    color: #6c757d;
}

.psch-link[b-0986m4w1if] {
    padding: 0;
    border: 0;
    background: none;
    color: #0d6efd;
    font-size: 13px;
    font-weight: 500;
}

.psch-link:hover[b-0986m4w1if] {
    text-decoration: underline;
}

.psch-link:disabled[b-0986m4w1if] {
    opacity: 0.5;
}

.psch-empty[b-0986m4w1if] {
    margin: 0;
    padding: 0.5rem 0;
    font-size: 13px;
    color: #6c757d;
}

/* Tiles. */
.psch-tiles[b-0986m4w1if] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (max-width: 1100px) {
    .psch-tiles[b-0986m4w1if] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.psch-tile[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.psch-tile.warn[b-0986m4w1if] {
    background: #fff8e1;
    border-color: #f59e0b;
}

.psch-tile-label[b-0986m4w1if] {
    font-size: 12px;
    font-weight: 600;
    color: #495057;
}

.psch-tile-value[b-0986m4w1if] {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.psch-of[b-0986m4w1if] {
    font-size: 14px;
    font-weight: 400;
    color: #6c757d;
}

.psch-tile-sub[b-0986m4w1if] {
    font-size: 12px;
    color: #6c757d;
    font-variant-numeric: tabular-nums;
}

/* The rows. */
.psch-table[b-0986m4w1if] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #fff;
    overflow-x: auto;
}

.psch-row[b-0986m4w1if] {
    display: grid;
    grid-template-columns: 4.5rem minmax(16rem, 2.2fr) 5rem minmax(7.5rem, 0.9fr) minmax(8rem, 0.9fr) minmax(7.5rem, 0.8fr) 6.5rem 11rem;
    gap: 0.75rem;
    align-items: center;
    min-width: 62rem;
    padding: 8px 12px;
    border-top: 1px solid #e9ecef;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

.psch-head[b-0986m4w1if] {
    border-top: 0;
    background: #f8f9fa;
    font-size: 12px;
    font-weight: 600;
    color: #495057;
}

.psch-row.is-running[b-0986m4w1if] {
    background: #e7f1ff;
}

.psch-row.is-cancelled[b-0986m4w1if] {
    color: #6c757d;
}

.psch-row.is-cancelled .psch-ts-name[b-0986m4w1if] {
    text-decoration: line-through;
}

.num[b-0986m4w1if] {
    text-align: right;
}

.psch-order[b-0986m4w1if] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}

.psch-expand[b-0986m4w1if], .psch-icon[b-0986m4w1if] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: none;
    color: #495057;
}

.psch-icon[b-0986m4w1if] {
    border-color: #ced4da;
    background: #fff;
}

.psch-expand:hover[b-0986m4w1if], .psch-icon:hover[b-0986m4w1if] {
    background: #e7f1ff;
    border-color: #0d6efd;
    color: #0d6efd;
}

.psch-icon.danger:hover[b-0986m4w1if] {
    background: #f8d7da;
    border-color: #dc3545;
    color: #b02a37;
}

.psch-icon:disabled[b-0986m4w1if] {
    opacity: 0.4;
    cursor: not-allowed;
}

.psch-toolset[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.psch-ts-name[b-0986m4w1if] {
    font-weight: 500;
}

.psch-pat[b-0986m4w1if] {
    font-weight: 600;
    color: #0a58ca;
}

.psch-sub[b-0986m4w1if] {
    display: block;
    font-size: 12px;
    color: #6c757d;
}

.psch-toolset .psch-sub[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.psch-note[b-0986m4w1if] {
    font-style: italic;
}

.psch-castdiff[b-0986m4w1if] {
    font-weight: 600;
    color: #997404;
}

.psch-bar[b-0986m4w1if] {
    display: block;
    height: 4px;
    margin-top: 4px;
    border-radius: 2px;
    background: #e9ecef;
}

.psch-bar i[b-0986m4w1if] {
    display: block;
    height: 4px;
    border-radius: 2px;
    background: #0d6efd;
}

.psch-actions[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px;
}

.psch-actions-head[b-0986m4w1if] {
    text-align: right;
}

/* Pills. */
.psch-pill[b-0986m4w1if] {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    border-radius: 999px;
    background: #e9ecef;
    color: #343a40;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.psch-pill.running[b-0986m4w1if] { background: #fd7e14; color: #1f1300; }
.psch-pill.complete[b-0986m4w1if] { background: #d1e7dd; color: #0a3622; }
.psch-pill.cancelled[b-0986m4w1if] { background: #fff; border: 1px solid #adb5bd; color: #6c757d; }
.psch-pill.unsched[b-0986m4w1if] { background: #f8d7da; color: #58151c; }
.psch-pill.needs[b-0986m4w1if] { background: #fff3cd; color: #664d03; }
.psch-pill.today[b-0986m4w1if] { margin-left: 0.5rem; background: #198754; color: #fff; }

/* A row's products. */
.psch-products[b-0986m4w1if] {
    padding: 6px 12px 10px 5.25rem;
    border-top: 1px solid #e9ecef;
    background: #f8f9fa;
    min-width: 62rem;
}

.psch-prow[b-0986m4w1if] {
    display: grid;
    grid-template-columns: minmax(12rem, 1.6fr) minmax(14rem, 1.8fr) 5rem 5rem 9rem 5.5rem 5rem;
    gap: 0.75rem;
    align-items: start;
    padding: 5px 0;
    border-top: 1px solid #e9ecef;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.psch-phead[b-0986m4w1if] {
    border-top: 0;
    font-size: 12px;
    font-weight: 600;
    color: #495057;
}

.psch-missing[b-0986m4w1if] {
    font-weight: 600;
    color: #997404;
}

/* Dialogs. */
.psch-dlg[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.psch-dlg-sub[b-0986m4w1if] {
    font-size: 13px;
    color: #495057;
}

.psch-dlg-foot[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    border-top: 1px solid #dee2e6;
    padding-top: 0.75rem;
}

.psch-quotes[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 18rem;
    overflow-y: auto;
    padding: 2px;
}

.psch-quote[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: 44px;
    padding: 6px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    color: #212529;
    font-size: 14px;
    font-weight: 500;
    text-align: left;
}

.psch-quote:hover[b-0986m4w1if] {
    background: #e7f1ff;
    border-color: #0d6efd;
}

.psch-quote.on[b-0986m4w1if] {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

.psch-quote-sub[b-0986m4w1if] {
    font-size: 12px;
    font-weight: 400;
    opacity: 0.85;
}

.psch-field[b-0986m4w1if]  .psch-narrow {
    width: 8rem;
}

/* Add a Tool Set: the search box, its two filters, the matches and what was chosen. */
.psch-add[b-0986m4w1if] {
    gap: 0.75rem;
}

.psch-add-top[b-0986m4w1if] {
    display: grid;
    grid-template-columns: 8rem 12rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: end;
}

.psch-add-filters[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}

.psch-add-count[b-0986m4w1if] {
    margin-left: auto;
}

.psch-chip[b-0986m4w1if] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 28px;
    padding: 0 12px;
    border: 1px solid #ced4da;
    border-radius: 999px;
    background: #fff;
    color: #495057;
    font-size: 13px;
    font-weight: 500;
}

.psch-chip.on[b-0986m4w1if] {
    background: #e7f1ff;
    border-color: #0d6efd;
    color: #0a58ca;
}

.psch-add-list[b-0986m4w1if] {
    height: min(42vh, 24rem);
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #fff;
}

.psch-add-row[b-0986m4w1if] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2.3fr);
    gap: 0.75rem;
    padding: 8px 12px;
    border-top: 1px solid #e9ecef;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}

.psch-add-row:hover[b-0986m4w1if] {
    background: #f8f9fa;
}

.psch-add-row.on[b-0986m4w1if] {
    background: #e7f1ff;
    box-shadow: inset 3px 0 0 #0d6efd;
}

.psch-add-row.other[b-0986m4w1if] {
    color: #6c757d;
}

.psch-add-head[b-0986m4w1if], .psch-add-head:hover[b-0986m4w1if] {
    position: sticky;
    top: 0;
    z-index: 1;
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    background: #f8f9fa;
    font-size: 12px;
    font-weight: 600;
    color: #495057;
    cursor: default;
}

.psch-add-head + .psch-add-row[b-0986m4w1if] {
    border-top: 0;
}

.psch-add-none[b-0986m4w1if] {
    padding: 0.75rem 12px;
}

.psch-add-ts[b-0986m4w1if], .psch-add-prods[b-0986m4w1if], .psch-add-quotes[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.psch-add-prods[b-0986m4w1if] {
    gap: 8px;
}

.psch-add-ts .psch-sub[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
}

.psch-add-prod[b-0986m4w1if] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 0.75rem;
    min-width: 0;
}

.psch-add-pick[b-0986m4w1if] {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-weight: 500;
    text-align: left;
}

.psch-add-quote[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin: -3px 0 0 -8px;
    padding: 3px 8px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: none;
    color: inherit;
    font-size: 14px;
    text-align: left;
}

.psch-add-quote:hover[b-0986m4w1if] {
    border-color: #0d6efd;
    background: #fff;
}

.psch-add-quote.on[b-0986m4w1if] {
    border-color: #0d6efd;
    background: #fff;
    font-weight: 500;
}

.psch-add-quote.on .bi[b-0986m4w1if] {
    color: #0d6efd;
}

.psch-add-quote .psch-quote-sub[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 6px;
    opacity: 1;
    color: #6c757d;
}

/* The search words found in a match (the marks are built in code, so they carry no scope attribute). */
.psch-add[b-0986m4w1if]  .psch-hit {
    padding: 0;
    border-radius: 2px;
    background: #fff3cd;
    color: inherit;
}

.psch-pill.info[b-0986m4w1if] { background: #cff4fc; color: #055160; }

.psch-add-panel[b-0986m4w1if] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 12px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #f8f9fa;
}

.psch-add-chain[b-0986m4w1if] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    font-size: 14px;
    font-weight: 500;
}

.psch-add-chain .bi[b-0986m4w1if] {
    color: #6c757d;
}

.psch-add-link[b-0986m4w1if] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.psch-add-fields[b-0986m4w1if] {
    display: grid;
    grid-template-columns: 11rem 12rem minmax(0, 1fr);
    gap: 0.75rem;
}

@media (max-width: 800px) {
    .psch-add-top[b-0986m4w1if], .psch-add-fields[b-0986m4w1if] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .psch-add-top > :last-child[b-0986m4w1if], .psch-add-fields > :last-child[b-0986m4w1if] {
        grid-column: 1 / -1;
    }

    .psch-add-prod[b-0986m4w1if] {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }
}

.psch-ts-link[b-0986m4w1if] {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: #adb5bd;
    text-underline-offset: 2px;
}

.psch-ts-link:hover[b-0986m4w1if] {
    color: #0a58ca;
    text-decoration-color: #0a58ca;
}
/* /Components/Pages/Production/ToolSets/ToolSetKiosk.razor.rz.scp.css */
/* The DISA Console's Tool Set page: the kiosk frame, as Tap Position Tracking. */
.tsk[b-d9qcgn0hb6] {
    width: 1024px;
    height: 768px;
    box-sizing: border-box;
    background: #f8f9fa;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font: 14px/1.45 'Helvetica Neue', Helvetica, Inter, Arial, sans-serif;
    color: var(--cf-text);
}

.tsk[b-d9qcgn0hb6]  .tsk-btn {
    min-height: 44px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--lc-select);
    border-radius: 4px;
    background: var(--lc-select);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.tsk-body[b-d9qcgn0hb6] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 10px 12px 12px;
}

.tsk-message[b-d9qcgn0hb6] {
    padding: 24px;
    font-size: 18px;
}
/* /Components/Pages/Production/ToolSets/ToolSetView.razor.rz.scp.css */
/* The read-only Tool Set view: a settings card, then tools, summary and products side by side (CastFlo look). */
.tsv[b-0ucwkisb3g] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
    font-size: 14px;
    color: #212529;
}

.cf-tnum[b-0ucwkisb3g] {
    font-variant-numeric: tabular-nums;
}

.tsv-card[b-0ucwkisb3g] {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.tsv-card-head[b-0ucwkisb3g] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 12px 16px;
    border-bottom: 1px solid #e9ecef;
}

.tsv-title[b-0ucwkisb3g] {
    font-size: 1.15rem;
    font-weight: 600;
}

.tsv-pat[b-0ucwkisb3g], .tsv-code[b-0ucwkisb3g] {
    font-weight: 600;
    color: #0a58ca;
}

.tsv-sub[b-0ucwkisb3g] {
    font-size: 12px;
    color: #6c757d;
}

.tsv-pill[b-0ucwkisb3g] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    border-radius: 999px;
    background: #e9ecef;
    color: #343a40;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.tsv-pill.on[b-0ucwkisb3g] { background: #d1e7dd; color: #0a3622; }
.tsv-pill.off[b-0ucwkisb3g] { background: #f8d7da; color: #58151c; }

.tsv-fields[b-0ucwkisb3g] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 2rem;
    padding: 10px 16px 12px;
}

.tsv-fields dl[b-0ucwkisb3g] {
    margin: 0;
}

.tsv-fields dl > div[b-0ucwkisb3g] {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 0.5rem;
    padding: 5px 0;
    border-bottom: 1px solid #f1f3f5;
}

.tsv-fields dt[b-0ucwkisb3g] {
    font-weight: 400;
    color: #6c757d;
}

.tsv-fields dd[b-0ucwkisb3g] {
    margin: 0;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.tsv-note[b-0ucwkisb3g] {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #6c757d;
}

.tsv-cols[b-0ucwkisb3g] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.tsv-col[b-0ucwkisb3g] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}

.tsv-h[b-0ucwkisb3g] {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #495057;
}

.tsv-total[b-0ucwkisb3g] {
    font-size: 13px;
    font-weight: 600;
}

.tsv-empty[b-0ucwkisb3g] {
    margin: 0;
    font-size: 13px;
    color: #6c757d;
}

.tsv-item[b-0ucwkisb3g] {
    padding: 8px 12px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #fff;
}

.tsv-item.is-off[b-0ucwkisb3g] {
    border-style: dashed;
    color: #6c757d;
    background: #f8f9fa;
}

.tsv-summary[b-0ucwkisb3g] {
    border-color: #adb5bd;
}

.tsv-item-top[b-0ucwkisb3g] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.tsv-name[b-0ucwkisb3g] {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tsv-summary .tsv-name[b-0ucwkisb3g] {
    font-size: 1rem;
    font-weight: 600;
}

.tsv-id[b-0ucwkisb3g] {
    flex: none;
    font-size: 12px;
    color: #6c757d;
}

.tsv-item-sub[b-0ucwkisb3g] {
    font-size: 12px;
    color: #495057;
}

.tsv-star[b-0ucwkisb3g] {
    color: #f59e0b;
}

/* The DISA Console's page: 1024 px wide. */
.tsv.compact[b-0ucwkisb3g] {
    gap: 0.6rem;
    font-size: 13px;
}

.tsv.compact .tsv-card-head[b-0ucwkisb3g] {
    padding: 8px 12px;
}

.tsv.compact .tsv-fields[b-0ucwkisb3g] {
    gap: 0 1.25rem;
    padding: 6px 12px 8px;
}

.tsv.compact .tsv-fields dl > div[b-0ucwkisb3g] {
    grid-template-columns: 7rem minmax(0, 1fr);
    padding: 3px 0;
}

.tsv.compact .tsv-cols[b-0ucwkisb3g] {
    gap: 0.75rem;
}

@media (max-width: 900px) {
    .tsv:not(.compact) .tsv-fields[b-0ucwkisb3g],
    .tsv:not(.compact) .tsv-cols[b-0ucwkisb3g] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/StaticComponent/CheckBoxSelector.razor.rz.scp.css */
/* ============================================
   CheckBoxSelector - segmented sliding toggle
   ============================================ */

.cbs-root[b-o2we63epqj] {
    display: inline-block;
    -webkit-tap-highlight-color: transparent;
}

.cbs-track[b-o2we63epqj] {
    position: relative;
    display: inline-flex;
    align-items: stretch;
    padding: 2px;
    border-radius: var(--cf-radius);
    /* Grey recessed track (CastFlo surface-alt); the white thumb is the highlight. */
    background: var(--cf-surface-alt);
    border: 1px solid var(--cf-border-input);
    user-select: none;
}

/* Sliding highlight - a raised white pill that snaps to the active half. */
.cbs-thumb[b-o2we63epqj] {
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 2px;
    width: calc(50% - 2px);
    border-radius: 3px;
    background: var(--cf-surface);
    border: 1px solid var(--cf-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    transition: transform var(--cf-transition);
    z-index: 0;
}

.cbs-thumb-left[b-o2we63epqj] {
    transform: translateX(0);
}

.cbs-thumb-right[b-o2we63epqj] {
    transform: translateX(100%);
}

.cbs-option[b-o2we63epqj] {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    min-width: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 3px;
    font-weight: 500;
    white-space: nowrap;
    text-align: center;
    line-height: 1.25;
    color: var(--cf-text-muted);
    transition: color var(--cf-transition);
    -webkit-tap-highlight-color: transparent;
}

/* Active option pops: darker/bolder by default, or coloured via CssClassFor0/1. */
.cbs-option.cbs-active[b-o2we63epqj] {
    color: var(--cf-text);
    font-weight: 600;
}

/* ============================================
   SIZES — tuned to sit at DevExpress editor height
   ============================================ */

.cbs-sm .cbs-option[b-o2we63epqj] {
    padding: 2px 10px;
    font-size: 0.75rem;
}

.cbs-md .cbs-option[b-o2we63epqj] {
    padding: 4px 14px;
    font-size: 0.8125rem;
}

.cbs-lg .cbs-option[b-o2we63epqj] {
    padding: 6px 18px;
    font-size: 0.9375rem;
}

/* ============================================
   DISABLED
   ============================================ */

.cbs-disabled[b-o2we63epqj] {
    opacity: 0.55;
}

    .cbs-disabled .cbs-option[b-o2we63epqj] {
        cursor: not-allowed;
    }
/* /Components/Pages/StaticComponent/IsCheckbox.razor.rz.scp.css */
.status-toggle[b-xvab8j304o] {
    display: flex;
    align-items: center;
    justify-content: start;
}

    .status-toggle[b-xvab8j304o]  .status-toggle-button {
        margin: 0 0.5em;
    }
/* /Components/Pages/StaticComponent/StatusBadge.razor.rz.scp.css */
/* CastFlo Badge: 3x10 padding, pill radius, 12/600, solid status fill. White text except on the
   amber (warning) and orange (primary) fills, which take dark text. */
.cf-badge[b-6uvsk3wu54] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: var(--cf-radius-pill);
    font: var(--text-badge);
    white-space: nowrap;
    vertical-align: middle;
    color: #fff;
}

    .cf-badge + .cf-badge[b-6uvsk3wu54] {
        margin-left: var(--cf-space-xs);
    }

.cf-badge-success[b-6uvsk3wu54] {
    background: var(--status-active);
}

.cf-badge-warning[b-6uvsk3wu54] {
    background: var(--status-pending);
    color: var(--cf-env-amber-text);
}

.cf-badge-danger[b-6uvsk3wu54] {
    background: var(--status-onhold);
}

.cf-badge-muted[b-6uvsk3wu54] {
    background: var(--status-draft);
}

.cf-badge-primary[b-6uvsk3wu54] {
    background: var(--status-inproduction);
    color: var(--cf-on-primary);
}
/* /Components/Pages/StaticComponent/StatusButtonWidget.razor.rz.scp.css */
/* ============================================
   StatusButtonWidget - issue count chip
   A CastFlo Badge (solid status fill, pill radius, 12/600) that is clickable.
   ============================================ */

.sbw[b-5wnpd5jhmy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    padding: 3px 10px;
    border: 0;
    border-radius: var(--cf-radius-pill);
    font: var(--text-badge);
    white-space: nowrap;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
}

.sbw-icon[b-5wnpd5jhmy] {
    font-size: 0.8125rem;
    line-height: 1;
}

.sbw-counts[b-5wnpd5jhmy] {
    letter-spacing: 0.02em;
}

/* ============================================
   TONES - solid status fills, as StatusBadge
   ============================================ */

.sbw-danger[b-5wnpd5jhmy] {
    background: var(--status-onhold);
    color: #fff;
}

.sbw-warning[b-5wnpd5jhmy] {
    background: var(--status-pending);
    color: var(--cf-env-amber-text);
}

.sbw-info[b-5wnpd5jhmy] {
    background: var(--status-inproduction);
    color: var(--cf-on-primary);
}

/* Clean state: the quietest item on the strip, a success tick with no fill. It confirms
   a check ran; it is not an action. */
.sbw-ok[b-5wnpd5jhmy] {
    padding: 3px 4px;
    background: transparent;
    color: var(--cf-success);
}

/* ============================================
   INTERACTION - only the counted chip is clickable; darkens on hover
   ============================================ */

.sbw-btn[b-5wnpd5jhmy] {
    cursor: pointer;
    transition: filter var(--cf-transition);
}

    .sbw-btn:hover[b-5wnpd5jhmy] {
        filter: brightness(0.9);
    }

    .sbw-btn:focus-visible[b-5wnpd5jhmy] {
        outline: 2px solid var(--cf-primary-text);
        outline-offset: 2px;
    }
/* /Components/Pages/StaticComponent/TitleWidget.razor.rz.scp.css */
/* CastFlo page header: breadcrumb, 28/600 title row, muted sub-line. Flat, no accents. */
.titlebar[b-xz6z12189o] {
    display: flex;
    flex-direction: column;
    gap: var(--cf-space-xs);
    padding: var(--cf-space-sm) 0 var(--cf-space);
}

.titlebar-breadcrumb[b-xz6z12189o] {
    display: flex;
    align-items: center;
    gap: var(--cf-space-sm);
    font: 400 13px/1.2 var(--cf-font);
    color: var(--cf-text-muted);
}

    .titlebar-breadcrumb[b-xz6z12189o]  .titlebar-back {
        display: inline-flex;
        align-items: center;
        gap: var(--cf-space-xs);
        color: var(--cf-primary-text);
        text-decoration: none;
        transition: color var(--cf-transition);
    }

        .titlebar-breadcrumb[b-xz6z12189o]  .titlebar-back:hover {
            text-decoration: underline;
        }

.titlebar-area[b-xz6z12189o] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.titlebar-row[b-xz6z12189o] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--cf-space-md);
    color: var(--cf-text);
}

.titlebar-actions[b-xz6z12189o] {
    display: flex;
    align-items: center;
    gap: var(--cf-space-sm);
    margin-left: auto;
}

.titlebar-subtitle[b-xz6z12189o] {
    margin: 0;
    font: var(--text-body-md);
    color: var(--cf-text-muted);
}
/* /Components/Pages/StaticComponent/WelcomeCard.razor.rz.scp.css */
.welcome-card-host[b-k0lm0x3w8o] {
    display: contents;
}

/* WelcomeCard: CastFlo card (white, 1px cf-border, 6px radius, cf-shadow-card). Flat hover, no lift. */

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--cf-space-md);
    width: 240px;
    height: 150px;
    padding: 20px;
    background: var(--cf-surface);
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius-card);
    box-shadow: var(--cf-shadow-card);
    color: var(--cf-text);
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    transition: background-color var(--cf-transition), border-color var(--cf-transition);
}

    .welcome-card-host[b-k0lm0x3w8o]  .welcome-card:hover {
        background: var(--cf-surface-alt);
        border-color: var(--cf-border-input);
        text-decoration: none;
    }

    .welcome-card-host[b-k0lm0x3w8o]  .welcome-card:focus-visible {
        outline: 2px solid var(--cf-primary-text);
        outline-offset: 2px;
    }

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-icon {
    font-size: 2rem;
    line-height: 1;
    color: var(--cf-primary-text);
}

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-text {
    font: var(--text-section-heading);
    color: var(--cf-text);
    text-align: center;
}

/* Launch tile: a card with a Description and/or ActionText. Taller, content from the top, action at the foot. */

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card--launch {
    justify-content: flex-start;
    gap: var(--cf-space-sm);
    height: 210px;
    padding: 28px var(--cf-space) var(--cf-space);
}

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-description {
    font: var(--text-caption);
    color: var(--cf-text-muted);
    text-align: center;
    text-wrap: balance;
}

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-action {
    display: flex;
    align-items: center;
    gap: var(--cf-space-sm);
    margin-top: auto;
    font: var(--text-button);
    color: var(--cf-primary-text);
}

/* Action pill: a CastFlo Badge (solid status fill, pill radius, 12/600). */

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-pill {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    gap: var(--cf-space-xs);
    padding: 3px 10px;
    border-radius: var(--cf-radius-pill);
    font: var(--text-badge);
    white-space: nowrap;
    user-select: none;
}

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-pill--info {
    background: var(--status-inproduction);
    color: var(--cf-on-primary);
}

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-pill--warning {
    background: var(--status-pending);
    color: var(--cf-env-amber-text);
}

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-pill--critical {
    background: var(--status-onhold);
    color: #fff;
}

.welcome-card-host[b-k0lm0x3w8o]  .welcome-card-pill--none {
    background: var(--status-active);
    color: #fff;
}

@media (prefers-reduced-motion: reduce) {
    .welcome-card-host[b-k0lm0x3w8o]  .welcome-card {
        transition: none;
    }
}

[dir="rtl"] .welcome-card-host[b-k0lm0x3w8o]  .welcome-card-pill {
    right: auto;
    left: 10px;
}
