/* /Components/Layout/EnvironmentBanner.razor.rz.scp.css */
.env-banner[b-8rcw6baoyr] {
    background-color: #fd7e14;
    color: #1a1200;
    text-align: center;
    font-weight: 600;
    border-radius: 0;
    border: none;
    padding: 0.5rem 1rem;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-k0r13kysl8] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-k0r13kysl8] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-qrf1dauf7m],
.components-reconnect-repeated-attempt-visible[b-qrf1dauf7m],
.components-reconnect-failed-visible[b-qrf1dauf7m],
.components-pause-visible[b-qrf1dauf7m],
.components-resume-failed-visible[b-qrf1dauf7m],
.components-rejoining-animation[b-qrf1dauf7m] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-qrf1dauf7m],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-qrf1dauf7m],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-qrf1dauf7m],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-qrf1dauf7m],
#components-reconnect-modal.components-reconnect-retrying[b-qrf1dauf7m],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-qrf1dauf7m],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-qrf1dauf7m],
#components-reconnect-modal.components-reconnect-failed[b-qrf1dauf7m],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-qrf1dauf7m] {
    display: block;
}


#components-reconnect-modal[b-qrf1dauf7m] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-qrf1dauf7m 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-qrf1dauf7m 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-qrf1dauf7m 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-qrf1dauf7m]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-qrf1dauf7m 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-qrf1dauf7m {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-qrf1dauf7m {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-qrf1dauf7m {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-qrf1dauf7m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-qrf1dauf7m] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-qrf1dauf7m] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-qrf1dauf7m] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-qrf1dauf7m] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-qrf1dauf7m] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-qrf1dauf7m] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-qrf1dauf7m 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-qrf1dauf7m] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-qrf1dauf7m {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/Theme/ThemeSwitcher.razor.rz.scp.css */
.theme-switcher-wrapper[b-5qclsh01go] {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.theme-switcher-panel[b-5qclsh01go] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1050;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: .375rem;
    min-width: 210px;
    overflow: hidden;
}

.theme-switcher-header[b-5qclsh01go] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem .75rem;
    background: #f8f9fa;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.theme-switcher-body[b-5qclsh01go] {
    max-height: 420px;
    overflow-y: auto;
    overflow-x: hidden;
}

.theme-group-label[b-5qclsh01go] {
    padding: .45rem .75rem .2rem;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #6c757d;
    background: #f8f9fa;
    border-top: 1px solid rgba(0, 0, 0, .06);
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.theme-switcher-list[b-5qclsh01go] {
    padding: .25rem 0;
}

.theme-switcher-item[b-5qclsh01go] {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: 100%;
    padding: .45rem .75rem;
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: .875rem;
    color: #212529;
    text-align: left;
    transition: background-color .15s ease;
}

.theme-switcher-item:hover[b-5qclsh01go] {
    background: #e9ecef;
}

.theme-switcher-item.active[b-5qclsh01go] {
    font-weight: 600;
    color: #2774AE;
    background: #edf4fb;
}

.theme-swatch[b-5qclsh01go] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, .18);
    flex-shrink: 0;
}

.theme-name[b-5qclsh01go] {
    flex: 1;
}

.btn-close-sm[b-5qclsh01go] {
    width: .75em;
    height: .75em;
}
/* /Components/Layout/TopBar.razor.rz.scp.css */
/* Skip-link: must meet WCAG AA (4.5:1) on white at all times.
   #005587 (Dark Cerulean) gives ~7.0:1 on white.
   Set on the base element so WCAG scanners see a compliant color
   regardless of focus state. */
a.visually-hidden-focusable[b-033de9w2if] {
    color: #005587 !important;
}

a.visually-hidden-focusable:focus[b-033de9w2if],
a.visually-hidden-focusable:focus-visible[b-033de9w2if] {
    color: #005587 !important;
    text-decoration: underline;
}
/* /Components/Pages/AiAssistant/AiAnswerFeedback.razor.rz.scp.css */
/* Sits under an answer bubble in the launcher and under the answer block on the Help page, so it is
   sized like the sources line beside it and brings no background of its own. */
.ai-feedback[b-449qy6zvdh] {
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: #4a5568;
}

.ai-feedback-row[b-449qy6zvdh] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.ai-feedback-label[b-449qy6zvdh] {
    margin-right: 0.1rem;
}

.ai-feedback-btn[b-449qy6zvdh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    padding: 0;
    font-size: 0.9rem;
    line-height: 1;
    color: #4a5568;
    background: transparent;
    border: 1px solid rgba(16, 42, 67, 0.18);
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
}

.ai-feedback-btn:hover:not(:disabled)[b-449qy6zvdh] {
    color: #1b5482;
    border-color: #1b5482;
    background: rgba(39, 116, 174, 0.08);
}

.ai-feedback-btn:focus-visible[b-449qy6zvdh] {
    outline: 2px solid var(--bs-primary, #2774AE);
    outline-offset: 1px;
}

.ai-feedback-btn:disabled[b-449qy6zvdh] {
    cursor: default;
    opacity: 0.6;
}

.ai-feedback-btn.is-on[b-449qy6zvdh] {
    color: #fff;
    background: var(--bs-primary, #2774AE);
    border-color: var(--bs-primary, #2774AE);
}

.ai-feedback-btn.is-down.is-on[b-449qy6zvdh] {
    background: #6c757d;
    border-color: #6c757d;
}

.ai-feedback-note[b-449qy6zvdh] {
    margin-left: 0.2rem;
    color: #2f855a;
}

.ai-feedback-note.is-error[b-449qy6zvdh] {
    color: #842029;
}

/* The comment box only exists after a thumbs-down. */
.ai-feedback-comment[b-449qy6zvdh] {
    display: flex;
    align-items: flex-end;
    gap: 0.4rem;
    margin-top: 0.4rem;
}

.ai-feedback-input[b-449qy6zvdh] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.35rem 0.5rem;
    font: inherit;
    font-size: 0.8rem;
    line-height: 1.35;
    color: #1f2933;
    background: #fff;
    border: 1px solid rgba(16, 42, 67, 0.18);
    border-radius: 0.5rem;
    resize: vertical;
}

.ai-feedback-input:focus[b-449qy6zvdh] {
    outline: none;
    border-color: var(--bs-primary, #2774AE);
    box-shadow: 0 0 0 2px rgba(39, 116, 174, 0.2);
}

.ai-feedback-send[b-449qy6zvdh] {
    flex: 0 0 auto;
    padding: 0.35rem 0.7rem;
    font-size: 0.8rem;
    color: #fff;
    background: var(--bs-primary, #2774AE);
    border: 0;
    border-radius: 0.5rem;
    cursor: pointer;
}

.ai-feedback-send:hover:not(:disabled)[b-449qy6zvdh] {
    background: #1b5482;
}

.ai-feedback-send:disabled[b-449qy6zvdh] {
    cursor: default;
    opacity: 0.55;
}
/* /Components/Pages/AiAssistant/AiAssistantLauncher.razor.rz.scp.css */
/* The corner dock: the panel stacked above the button, both pinned to the lower right of the
   viewport. The dock itself lets clicks through so only the two controls are ever in the way. */
.ai-dock[b-oj0wkkq61w] {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1090;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
    pointer-events: none;
}

.ai-dock > *[b-oj0wkkq61w] {
    pointer-events: auto;
}

/* ----- the launcher button ------------------------------------------------ */

/* Closed, the button is the sticker: the bear on his disc with the speech bubble hanging past
   the ring. So the button itself has no fill, clip or shadow - the shadow is on the picture and
   follows its outline - and the circle only appears once the panel is open and the chevron takes
   the bear's place. */
.ai-fab[b-oj0wkkq61w] {
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.ai-fab:hover[b-oj0wkkq61w] {
    transform: translateY(-2px) scale(1.04);
}

.ai-fab:focus-visible[b-oj0wkkq61w] {
    outline: 3px solid var(--bs-secondary, #ffd100);
    outline-offset: 3px;
}

.ai-fab.is-open[b-oj0wkkq61w] {
    overflow: hidden;
    background: #1b5482;
    box-shadow: 0 6px 18px rgba(16, 42, 67, 0.35);
}

.ai-fab.is-open:hover[b-oj0wkkq61w] {
    box-shadow: 0 10px 26px rgba(16, 42, 67, 0.45);
}

.ai-fab .bi[b-oj0wkkq61w] {
    font-size: 1.4rem;
    line-height: 1;
}

.ai-fab[b-oj0wkkq61w]  img {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 5px 8px rgba(16, 42, 67, 0.35));
    transition: filter 0.18s ease;
}

.ai-fab:hover[b-oj0wkkq61w]  img {
    filter: drop-shadow(0 8px 12px rgba(16, 42, 67, 0.45));
}

/* ----- the panel ---------------------------------------------------------- */

.ai-panel[b-oj0wkkq61w] {
    width: min(23.5rem, calc(100vw - 2.5rem));
    height: min(32rem, calc(100vh - 9rem));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(16, 42, 67, 0.12);
    border-radius: 1rem;
    box-shadow: 0 18px 48px rgba(16, 42, 67, 0.28);
    /* Closed: folded down into the button it grows out of. visibility keeps it off the tab order
       and out of the layout's reach while the transition runs. */
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.75rem) scale(0.96);
    transform-origin: 100% 100%;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}

.ai-panel.is-open[b-oj0wkkq61w] {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.ai-head[b-oj0wkkq61w] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem 0.875rem;
    color: #fff;
    background: linear-gradient(145deg, var(--bs-primary, #2774AE) 0%, #1b5482 100%);
}

.ai-head-mark[b-oj0wkkq61w] {
    display: flex;
    align-items: center;
    flex: none;
}

.ai-head-text[b-oj0wkkq61w] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    margin-right: auto;
}

.ai-head-title[b-oj0wkkq61w] {
    font-size: 0.95rem;
    font-weight: 600;
}

.ai-head-sub[b-oj0wkkq61w] {
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.8;
}

.ai-head-btn[b-oj0wkkq61w] {
    width: 1.75rem;
    height: 1.75rem;
    border: 0;
    border-radius: 0.375rem;
    color: #fff;
    background: rgba(255, 255, 255, 0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease;
}

.ai-head-btn:hover:not(:disabled)[b-oj0wkkq61w] {
    background: rgba(255, 255, 255, 0.3);
}

.ai-head-btn:disabled[b-oj0wkkq61w] {
    opacity: 0.35;
    cursor: default;
}

.ai-head-btn:focus-visible[b-oj0wkkq61w] {
    outline: 2px solid var(--bs-secondary, #ffd100);
    outline-offset: 1px;
}

.ai-head-btn .bi[b-oj0wkkq61w] {
    font-size: 0.8rem;
    line-height: 1;
}

/* ----- transcript --------------------------------------------------------- */

.ai-transcript[b-oj0wkkq61w] {
    flex: 1;
    overflow-y: auto;
    padding: 0.875rem;
    background: #f6f8fa;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.ai-welcome[b-oj0wkkq61w] {
    font-size: 0.85rem;
    color: #4a5568;
}

.ai-welcome p[b-oj0wkkq61w] {
    margin-bottom: 0.625rem;
}

.ai-welcome-label[b-oj0wkkq61w] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #718096;
    margin-bottom: 0.375rem;
}

.ai-chip[b-oj0wkkq61w] {
    display: block;
    width: 100%;
    text-align: left;
    margin-bottom: 0.375rem;
    padding: 0.4rem 0.625rem;
    font-size: 0.8rem;
    color: #1b5482;
    background: #fff;
    border: 1px solid rgba(39, 116, 174, 0.35);
    border-radius: 0.75rem;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.ai-chip:hover:not(:disabled)[b-oj0wkkq61w] {
    background: #eaf2f9;
    border-color: var(--bs-primary, #2774AE);
}

.ai-chip:disabled[b-oj0wkkq61w] {
    opacity: 0.5;
    cursor: default;
}

.ai-msg[b-oj0wkkq61w] {
    display: flex;
    flex-direction: column;
    max-width: 90%;
}

.ai-msg.is-user[b-oj0wkkq61w] {
    align-self: flex-end;
    align-items: flex-end;
}

.ai-msg.is-bot[b-oj0wkkq61w] {
    align-self: flex-start;
}

.ai-bubble[b-oj0wkkq61w] {
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    line-height: 1.45;
    border-radius: 0.875rem;
    /* Answers arrive with their own line breaks, and a pasted account number must not blow the
       panel's width out. */
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* A rendered answer lays itself out; pre-wrap would double every gap between its blocks. */
.ai-bubble.is-markdown[b-oj0wkkq61w] {
    white-space: normal;
}

.ai-msg.is-user .ai-bubble[b-oj0wkkq61w] {
    color: #fff;
    background: var(--bs-primary, #2774AE);
    border-bottom-right-radius: 0.25rem;
}

.ai-msg.is-bot .ai-bubble[b-oj0wkkq61w] {
    color: #1f2933;
    background: #fff;
    border: 1px solid rgba(16, 42, 67, 0.12);
    border-bottom-left-radius: 0.25rem;
}

.ai-msg.is-error .ai-bubble[b-oj0wkkq61w] {
    color: #842029;
    background: #fbe9eb;
    border-color: #f1aeb4;
}

.ai-sources[b-oj0wkkq61w] {
    margin-top: 0.3rem;
    font-size: 0.75rem;
    color: #4a5568;
}

.ai-sources summary[b-oj0wkkq61w] {
    cursor: pointer;
    color: #1b5482;
}

.ai-sources ul[b-oj0wkkq61w] {
    margin: 0.25rem 0 0;
    padding-left: 1rem;
}

.ai-sources li[b-oj0wkkq61w] {
    margin-bottom: 0.15rem;
}

.ai-cite[b-oj0wkkq61w] {
    font-weight: 600;
}

.ai-file[b-oj0wkkq61w] {
    color: #718096;
}

.ai-typing[b-oj0wkkq61w] {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    min-height: 1.75rem;
}

.ai-typing span[b-oj0wkkq61w] {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: #9aa5b1;
    animation: ai-typing-bounce-b-oj0wkkq61w 1.1s infinite ease-in-out;
}

.ai-typing span:nth-child(2)[b-oj0wkkq61w] {
    animation-delay: 0.15s;
}

.ai-typing span:nth-child(3)[b-oj0wkkq61w] {
    animation-delay: 0.3s;
}

@keyframes ai-typing-bounce-b-oj0wkkq61w {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.45; }
    30%           { transform: translateY(-0.2rem); opacity: 1; }
}

/* ----- composer ----------------------------------------------------------- */

.ai-composer[b-oj0wkkq61w] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.625rem 0.75rem 0.375rem;
    border-top: 1px solid rgba(16, 42, 67, 0.1);
    background: #fff;
}

.ai-input[b-oj0wkkq61w] {
    flex: 1;
    min-width: 0;
    padding: 0.45rem 0.75rem;
    font-size: 0.85rem;
    color: #1f2933;
    border: 1px solid rgba(16, 42, 67, 0.2);
    border-radius: 1.25rem;
    background: #fff;
}

.ai-input:focus[b-oj0wkkq61w] {
    outline: 0;
    border-color: var(--bs-primary, #2774AE);
    box-shadow: 0 0 0 0.15rem rgba(39, 116, 174, 0.2);
}

.ai-input:disabled[b-oj0wkkq61w] {
    background: #f1f3f5;
}

.ai-icon-btn[b-oj0wkkq61w] {
    flex: none;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 50%;
    color: #4a5568;
    background: #eef1f4;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.ai-icon-btn:hover:not(:disabled)[b-oj0wkkq61w] {
    background: #dde3e9;
}

.ai-icon-btn:focus-visible[b-oj0wkkq61w] {
    outline: 2px solid var(--bs-primary, #2774AE);
    outline-offset: 2px;
}

.ai-icon-btn:disabled[b-oj0wkkq61w] {
    opacity: 0.45;
    cursor: default;
}

.ai-icon-btn.is-send[b-oj0wkkq61w] {
    color: #fff;
    background: var(--bs-primary, #2774AE);
}

.ai-icon-btn.is-send:hover:not(:disabled)[b-oj0wkkq61w] {
    background: #1b5482;
}

.ai-icon-btn.is-listening[b-oj0wkkq61w] {
    color: #fff;
    background: #b3261e;
}

.ai-icon-btn .bi[b-oj0wkkq61w] {
    font-size: 0.85rem;
    line-height: 1;
}

.ai-foot[b-oj0wkkq61w] {
    margin: 0;
    padding: 0 0.75rem 0.5rem;
    font-size: 0.68rem;
    color: #718096;
    text-align: center;
    background: #fff;
}

.ai-foot a[b-oj0wkkq61w] {
    color: #718096;
    text-decoration: underline;
    white-space: nowrap;
}

.ai-foot a:hover[b-oj0wkkq61w] {
    color: var(--bs-primary, #2774AE);
}

/* ----- small screens and print -------------------------------------------- */

@media (max-width: 575.98px) {
    .ai-dock[b-oj0wkkq61w] {
        right: 0.75rem;
        bottom: 0.75rem;
    }

    .ai-panel[b-oj0wkkq61w] {
        width: calc(100vw - 1.5rem);
        height: min(30rem, calc(100vh - 7rem));
    }
}

@media (prefers-reduced-motion: reduce) {
    .ai-panel[b-oj0wkkq61w],
    .ai-fab[b-oj0wkkq61w] {
        transition: none;
    }

    .ai-typing span[b-oj0wkkq61w] {
        animation: none;
    }
}

@media print {
    .ai-dock[b-oj0wkkq61w] {
        display: none;
    }
}
/* /Components/Pages/AiAssistant/AiAssistantMark.razor.rz.scp.css */
/* The sticker brings its own ring and transparent corners, and its speech bubble hangs past the
   ring - so nothing here clips it. The drag and select guards keep a decorative picture from
   acting like content. */
img[b-v220ix1vcs] {
    display: block;
    user-select: none;
    -webkit-user-drag: none;
}
/* /Components/Pages/InfoHub/Components/PdcSummarySheetView.razor.rz.scp.css */
/* Layout template 30 ("PDC Report - HTML Template"), moved from inline styles to classes. */
.pdc-sheet[b-0yyjyh1vbf] {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.pdc-sheet th[b-0yyjyh1vbf] {
    width: 33.33%;
    background: #f0f0f0;
    border: 1px solid #ccc;
    padding: 0.3rem 0.4rem;
    text-align: left;
    font-size: 0.7rem;
    text-transform: uppercase;
}

.pdc-sheet tbody tr[b-0yyjyh1vbf] {
    vertical-align: top;
    break-inside: avoid;
}

.pdc-sheet tbody td[b-0yyjyh1vbf] {
    border: 1px solid #ccc;
    padding: 0.2rem 0.1rem;
}

.pdc-sheet-dept[b-0yyjyh1vbf] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #000;
    margin: 0.15rem 0 0.25rem;
    padding: 0.15rem 0.4rem;
    background: #f5f5f5;
}

.pdc-sheet-empty[b-0yyjyh1vbf] {
    padding: 0.2rem 0.4rem;
    color: #999;
    font-size: 0.72rem;
}

.pdc-sheet-line[b-0yyjyh1vbf] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    padding: 0.1rem 0.4rem;
    font-size: 0.72rem;
}

.pdc-sheet-name[b-0yyjyh1vbf] {
    flex: 1 1 0;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pdc-sheet-prelim[b-0yyjyh1vbf] {
    margin-right: 0.25rem;
}

.pdc-sheet-num[b-0yyjyh1vbf] {
    flex-shrink: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.pdc-w-money[b-0yyjyh1vbf] { flex-shrink: 0; width: 3.2rem; }
.pdc-w-month[b-0yyjyh1vbf] { flex-shrink: 0; width: 4.2rem; }
.pdc-w-slip[b-0yyjyh1vbf]  { flex-shrink: 0; width: 2.4rem; }

.pdc-sheet-total[b-0yyjyh1vbf] {
    padding: 0.2rem 0.4rem;
    margin-top: 0.2rem;
    font-weight: 700;
    border-top: 1px solid #333;
}

.pdc-sheet-total-label[b-0yyjyh1vbf] {
    text-align: right;
}

.pdc-sheet tfoot td[b-0yyjyh1vbf] {
    border: 1px solid #ccc;
    border-top: 2px solid #1F4477;
    padding: 0.3rem 0.4rem;
    font-weight: 700;
}

.pdc-sheet-foot[b-0yyjyh1vbf] {
    display: flex;
    gap: 0.4rem;
}

.pdc-sheet-grand[b-0yyjyh1vbf] {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 0.4rem;
    padding: 0.3rem 0.4rem;
    font-weight: 700;
    border-top: 3px double #1F4477;
    margin-top: 0.5rem;
    font-size: 0.8rem;
}

.pdc-sheet-caption[b-0yyjyh1vbf] {
    text-align: right;
    font-size: 0.65rem;
    color: #333;
    padding: 0.1rem 0.4rem;
}
/* /Components/Pages/Maintenance/KnowledgeIngestion/Components/AiAssistantAuditGrid.razor.rz.scp.css */
/* The View dialog's long-text blocks. A question arrives with the asker's own line breaks and may
   carry a pasted identifier that must not widen the dialog. */
.audit-detail-text[b-utre25tqe1] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.audit-detail-answer[b-utre25tqe1] {
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    background: #f8f9fa;
    border: 1px solid #e3e7ec;
    border-radius: 0.5rem;
}
/* /Components/Pages/Preferences/Components/PreferencesForm.razor.rz.scp.css */
.pref-section[b-3lo2wk16g0] {
    margin-bottom: 2.5rem;
}

.pref-section__heading[b-3lo2wk16g0] {
    font-size: 1.1rem;
    font-weight: 600;
    border-bottom: 2px solid var(--bs-border-color, #dee2e6);
    padding-bottom: .5rem;
    margin-bottom: 1rem;
}

.pref-group-label[b-3lo2wk16g0] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bs-secondary);
    margin-bottom: .5rem;
}

/* ── Theme cards ──────────────────────────────────────────────────────────── */
.pref-theme-grid[b-3lo2wk16g0] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 1rem;
}

.pref-theme-card[b-3lo2wk16g0] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .35rem;
    padding: .75rem .9rem;
    border: 2px solid var(--bs-border-color, #dee2e6);
    border-radius: .5rem;
    background: var(--bs-body-bg, #fff);
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
    min-width: 90px;
}

    .pref-theme-card:hover[b-3lo2wk16g0] {
        border-color: var(--bs-primary, #0d6efd);
        box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb, 13,110,253), .15);
    }

    .pref-theme-card--active[b-3lo2wk16g0] {
        border-color: var(--bs-primary, #0d6efd);
        background: var(--bs-primary-bg-subtle, #cfe2ff);
    }

    .pref-theme-card:disabled[b-3lo2wk16g0] {
        cursor: not-allowed;
        opacity: .6;
    }

        .pref-theme-card:disabled:hover[b-3lo2wk16g0] {
            border-color: var(--bs-border-color, #dee2e6);
            box-shadow: none;
        }

        .pref-theme-card--active:disabled[b-3lo2wk16g0] {
            border-color: var(--bs-primary, #0d6efd);
        }

.pref-theme-swatch[b-3lo2wk16g0] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid rgba(0, 0, 0, .08);
    display: block;
}

.pref-theme-name[b-3lo2wk16g0] {
    font-size: .78rem;
    font-weight: 500;
}

.pref-theme-check[b-3lo2wk16g0] {
    position: absolute;
    top: 4px;
    right: 5px;
    color: var(--bs-primary, #0d6efd);
    font-size: .8rem;
}

/* ── Width cards ──────────────────────────────────────────────────────────── */
.pref-width-options[b-3lo2wk16g0] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.pref-width-card[b-3lo2wk16g0] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    padding: 1.25rem 2rem;
    border: 2px solid var(--bs-border-color, #dee2e6);
    border-radius: .5rem;
    background: var(--bs-body-bg, #fff);
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
    min-width: 160px;
}

    .pref-width-card i.bi:first-child[b-3lo2wk16g0] {
        font-size: 1.75rem;
        color: var(--bs-secondary);
    }

    .pref-width-card:hover[b-3lo2wk16g0] {
        border-color: var(--bs-primary, #0d6efd);
        box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb, 13,110,253), .15);
    }

    .pref-width-card--active[b-3lo2wk16g0] {
        border-color: var(--bs-primary, #0d6efd);
        background: var(--bs-primary-bg-subtle, #cfe2ff);
    }

.pref-width-label[b-3lo2wk16g0] {
    font-weight: 600;
}

.pref-width-desc[b-3lo2wk16g0] {
    font-size: .78rem;
    color: var(--bs-secondary);
}
/* /Components/Pages/Preferences/Index.razor.rz.scp.css */
.pref-hero[b-5vqzie74al] {
    background: var(--bs-primary, #2774AE);
    color: #fff;
    padding: 2rem 0 1.5rem;
}

.pref-hero h1[b-5vqzie74al] {
    font-size: 1.75rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.pref-hero p[b-5vqzie74al] {
    opacity: .85;
    margin-bottom: 0;
}
/* /Components/Shared/AppSection.razor.rz.scp.css */
/* A band per region of a long record page. The header wears the light UCLA blue of the form group
   caption bar (Styles/wrapper/_appform.scss sets --dxbl-group-header-bg / -color to the same two
   values), so a section header and a group header read as the same kind of thing. The colour down
   the left edge says which region a field belongs to without scrolling back to the header. */

.app-section[b-60rkt2zsdy] {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-left: 0.25rem solid var(--bs-secondary, #6c757d);
    border-radius: var(--bs-border-radius, 0.375rem);
    background-color: var(--bs-body-bg, #fff);
    margin-bottom: 0.75rem;
    overflow: hidden; /* the header's corners follow the band's, open or closed */
}

.app-section__header[b-60rkt2zsdy] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 0;
    background-color: #d1e8f8; /* $ucla-light-blue */
    color: #00598c;            /* $ucla-dark-blue */
    text-align: left;
}

.app-section__header:hover[b-60rkt2zsdy],
.app-section__header:focus-visible[b-60rkt2zsdy] {
    background-color: #c4e8f8; /* $ucla-blue-lighter */
}

.app-section__title[b-60rkt2zsdy] {
    font-weight: 600;
}

.app-section__subtitle[b-60rkt2zsdy] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.8125rem;
    color: var(--bs-secondary-color, #6c757d);
}

.app-section__badge[b-60rkt2zsdy] {
    flex: 0 0 auto;
}

.app-section__body[b-60rkt2zsdy] {
    padding: 0.75rem 0.875rem 0.875rem;
    border-top: 1px solid var(--bs-border-color, #dee2e6);
}

.app-band-red[b-60rkt2zsdy] { border-left-color: var(--bs-danger, #dc3545); }
.app-band-amber[b-60rkt2zsdy] { border-left-color: var(--bs-warning, #ffc107); }
.app-band-green[b-60rkt2zsdy] { border-left-color: var(--bs-success, #198754); }
.app-band-teal[b-60rkt2zsdy] { border-left-color: var(--bs-teal, #20c997); }
.app-band-cyan[b-60rkt2zsdy] { border-left-color: var(--bs-info, #0dcaf0); }
.app-band-blue[b-60rkt2zsdy] { border-left-color: var(--bs-primary, #0d6efd); }
.app-band-violet[b-60rkt2zsdy] { border-left-color: var(--bs-purple, #6f42c1); }
.app-band-slate[b-60rkt2zsdy] { border-left-color: var(--bs-secondary, #6c757d); }
.app-band-grey[b-60rkt2zsdy] { border-left-color: var(--bs-border-color, #dee2e6); }
/* /Components/Shared/AppTabs.razor.rz.scp.css */
[b-rbdt1qw0z9] .dxbl-tabs-content-panel {
    padding: 0 !important;
}
/* /Components/Shared/PageNoticeBanner.razor.rz.scp.css */
.page-notice-banner[b-gguo75bgi0] {
    background-color: #fd7e14;
    color: #1a1200;
    text-align: center;
    font-weight: 600;
}
/* /Components/Shared/VideoPlayer.razor.rz.scp.css */
.video-wrapper[b-7kydb5euc7] {
    position: relative;
    width: 100%;
    max-width: 1296px;
    margin-inline: auto;      /* center when narrower than the column */
    aspect-ratio: 16 / 9;     /* reserve the box up-front — kills the layout jump */
}

.video-wrapper video[b-7kydb5euc7] {
    width: 100%;
    height: 100%;
    object-fit: contain;      /* letterbox non-16:9 videos instead of resizing the box */
    display: block;
    background-color: #000;
    border-radius: 16px;      /* match the overlay's corners */
}

.spinner-overlay[b-7kydb5euc7] {
    position: absolute;
    inset: 0;
    /* Dark navy blue gradient background with a soft center glow */
    background: radial-gradient(circle at 50% 50%, #1f2c41 0%, #111a2e 60%, #0a101d 100%);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: opacity 0.3s ease;
}

.spinner-overlay.hidden[b-7kydb5euc7] {
    opacity: 0;
    visibility: hidden;
}

.error-message[b-7kydb5euc7] {
    display: none;            /* shown only in the error state */
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #d1d5db;
    padding: 1rem;
}

.error-message i[b-7kydb5euc7] {
    font-size: 48px;
    color: #f7b48b;
    margin-bottom: 12px;
}

.error-message p[b-7kydb5euc7] {
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 1px;
    margin: 0;
}

/* Error state: hide the spinner, show the message; keep the overlay visible. */
.spinner-overlay.error .spinner-container[b-7kydb5euc7],
.spinner-overlay.error .loading-text[b-7kydb5euc7] {
    display: none;
}

.spinner-overlay.error .error-message[b-7kydb5euc7] {
    display: flex;
}

.spinner-container[b-7kydb5euc7] {
    position: relative;
    width: 100px;
    height: 100px;
    /* Centered slightly above vertical center */
    transform: translateY(-20px);
}

.spinner-segment[b-7kydb5euc7] {
    position: absolute;
    top: 0;
    left: 47%; /* Center the 6px width in the 100px container (50% - 3px) */
    width: 6px;
    height: 20px;
    background-color: #8bb4f7;
    border-radius: 3px;
    transform-origin: 50% 50px;
    opacity: 0.2;
    /* 1.5s seamless loop animation */
    animation: color-chase-b-7kydb5euc7 1.5s linear infinite;
}

/* Positioning and animating the 12 symmetrical segments to create the illusion of clockwise rotation */
.spinner-segment:nth-child(1)[b-7kydb5euc7] { transform: rotate(0deg); animation-delay: -1.5s; }
.spinner-segment:nth-child(2)[b-7kydb5euc7] { transform: rotate(30deg); animation-delay: -1.375s; }
.spinner-segment:nth-child(3)[b-7kydb5euc7] { transform: rotate(60deg); animation-delay: -1.25s; }
.spinner-segment:nth-child(4)[b-7kydb5euc7] { transform: rotate(90deg); animation-delay: -1.125s; }
.spinner-segment:nth-child(5)[b-7kydb5euc7] { transform: rotate(120deg); animation-delay: -1.0s; }
.spinner-segment:nth-child(6)[b-7kydb5euc7] { transform: rotate(150deg); animation-delay: -0.875s; }
.spinner-segment:nth-child(7)[b-7kydb5euc7] { transform: rotate(180deg); animation-delay: -0.75s; }
.spinner-segment:nth-child(8)[b-7kydb5euc7] { transform: rotate(210deg); animation-delay: -0.625s; }
.spinner-segment:nth-child(9)[b-7kydb5euc7] { transform: rotate(240deg); animation-delay: -0.5s; }
.spinner-segment:nth-child(10)[b-7kydb5euc7] { transform: rotate(270deg); animation-delay: -0.375s; }
.spinner-segment:nth-child(11)[b-7kydb5euc7] { transform: rotate(300deg); animation-delay: -0.25s; }
.spinner-segment:nth-child(12)[b-7kydb5euc7] { transform: rotate(330deg); animation-delay: -0.125s; }

/* The animation strictly alters color/brightness, keeping the shapes perfectly still */
@keyframes color-chase-b-7kydb5euc7 {
    0% {
        background-color: #8bb4f7;
        opacity: 1;
        box-shadow: 0 0 10px rgba(139, 180, 247, 0.7);
    }
    25% {
        background-color: #4b6a9e;
        opacity: 0.6;
        box-shadow: none;
    }
    100% {
        background-color: #273d61;
        opacity: 0.2;
        box-shadow: none;
    }
}

.loading-text[b-7kydb5euc7] {
    color: #d1d5db;
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 2px;
    margin-top: 25px;
    /* Adjust for visual balance */
    transform: translateY(-20px);
}
