@import 'tmlive.Client.6ewwzav4me.bundle.scp.css';
@import '_content/Blazor.SignaturePad/Blazor.SignaturePad.g22u5lm4z9.bundle.scp.css';

/* /Components/Account/Pages/Manage/EnableAuthenticator.razor.rz.scp.css */
.info-message[b-xagn935z2c] {
    margin: 0.625rem 0 0.625rem 0;
    justify-content: start;
}
/* /Components/Account/Pages/Manage/ExternalLogins.razor.rz.scp.css */
.current-logins[b-nzpem7e9w4] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.current-logins-item[b-nzpem7e9w4] {
    display: flex;
    gap: 0.625rem;
}
/* /Components/Account/Shared/ExternalLoginPicker.razor.rz.scp.css */
.external-logins[b-nrmjv0nnu2] {
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 500px) {
    .external-logins[b-nrmjv0nnu2] {
        flex-direction: column;
    }
}
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
[b-j7pi3cesd4] .tab-icon {
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    min-height: 1rem;
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
}

[b-j7pi3cesd4] .icon-profile {
    -webkit-mask-image: url("images/account/manage-profile.svg");
    mask-image: url("images/account/manage-profile.svg");
}

[b-j7pi3cesd4] .icon-email {
    -webkit-mask-image: url("images/account/manage-email.svg");
    mask-image: url("images/account/manage-email.svg");
}

[b-j7pi3cesd4] .icon-two-factor {
    -webkit-mask-image: url("images/account/manage-two-factor.svg");
    mask-image: url("images/account/manage-two-factor.svg");
}

[b-j7pi3cesd4] .icon-password {
    -webkit-mask-image: url("images/account/manage-password.svg");
    mask-image: url("images/account/manage-password.svg");
}

[b-j7pi3cesd4] .icon-personal {
    -webkit-mask-image: url("images/account/manage-personal.svg");
    mask-image: url("images/account/manage-personal.svg");
}

[b-j7pi3cesd4] .icon-external {
    -webkit-mask-image: url("images/account/user.svg");
    mask-image: url("images/account/user.svg");
}
/* /Components/Account/Shared/ShowRecoveryCodes.razor.rz.scp.css */
.codes[b-82055i10g1] {
    margin: 0.625rem 0px 0.625rem 0px;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-i5t9oumiej] {
    height: 100%;
    font-family: var(--bs-font-sans-serif);
}

.env-banner[b-i5t9oumiej] {
    text-align: center;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    font-size: 0.9rem;
    padding: 0.4rem 1rem;
}

.env-banner-version[b-i5t9oumiej] {
    opacity: 0.75;
    margin-left: 0.5rem;
    font-variant-numeric: tabular-nums;
}

[b-i5t9oumiej] .icon {
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    width: 1rem;
    height: 1rem;
    background-repeat: no-repeat;
    background-color: var(--dxbl-btn-color);
}

[b-i5t9oumiej] .icon-back {
    -webkit-mask-image: url("images/back.svg");
    mask-image: url("images/back.svg");
}
[b-i5t9oumiej] .icon-log-in {
    -webkit-mask-image: url("images/account/log-in.svg");
    mask-image: url("images/account/log-in.svg");
}

[b-i5t9oumiej] .icon-log-out {
    -webkit-mask-image: url("images/account/log-out.svg");
    mask-image: url("images/account/log-out.svg");
}

[b-i5t9oumiej] .icon-user {
    -webkit-mask-image: url("images/account/user.svg");
    mask-image: url("images/account/user.svg");
}

[b-i5t9oumiej] .content {
    overflow: auto;
    display: flex;
    flex-direction: column;
}

[b-i5t9oumiej] .menu-button:hover .icon {
    background-color: var(--dxbl-btn-hover-color);
}

@media (max-width: 768px) {
    [b-i5t9oumiej] .layout-sidebar {
        grid-area: header / header / header / header !important;
    }
}

@media (max-width: 500px) {
    [b-i5t9oumiej] .menu-button .dxbl-btn-caption {
        display: none;
    }
}
/* /Components/Layout/NavigationSearch.razor.rz.scp.css */
.navigation-search-container[b-8xntmoyqj9] {
    position: relative;
    padding: 0.375rem 0.75rem;
    margin-bottom: 0.5rem;
}

.search-input-wrapper[b-8xntmoyqj9] {
    position: relative;
    display: flex;
    align-items: center;
}

.navigation-search-input[b-8xntmoyqj9] {
    width: 100%;
    padding: 0.375rem 2rem 0.375rem 2rem;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    font-size: 0.813rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.navigation-search-input:focus[b-8xntmoyqj9] {
    border-color: #4a90e2;
    box-shadow: 0 0 0 0.15rem rgba(74, 144, 226, 0.25);
    outline: none;
}

.search-icon[b-8xntmoyqj9] {
    position: absolute;
    left: 0.5rem;
    color: #6c757d;
    pointer-events: none;
    font-size: 0.875rem;
}

.search-results-dropdown[b-8xntmoyqj9] {
    position: absolute;
    top: 100%;
    left: 0.75rem;
    right: auto;
    width: 450px;
    max-width: calc(100vw - 2rem);
    max-height: 350px;
    overflow-y: auto;
    background: white;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    margin-top: 0.125rem;
}

.search-result-item[b-8xntmoyqj9] {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: 
        "icon title"
        "icon description";
    gap: 0.25rem 0.5rem;
    padding: 0.5rem;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: background-color 0.1s ease;
}

.search-result-item:last-child[b-8xntmoyqj9] {
    border-bottom: none;
}

.search-result-item:hover[b-8xntmoyqj9],
.search-result-item.selected[b-8xntmoyqj9] {
    background-color: #f8f9fa;
}

.result-icon[b-8xntmoyqj9] {
    grid-area: icon;
    align-self: start;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4a90e2;
}

.result-icon i[b-8xntmoyqj9] {
    font-size: 0.938rem;
}

.result-content[b-8xntmoyqj9] {
    display: contents;
}

.result-title[b-8xntmoyqj9] {
    grid-area: title;
    font-weight: 500;
    font-size: 0.813rem;
    color: #212529;
    line-height: 1.2;
    padding-right: 5.5rem;
}

.result-description[b-8xntmoyqj9] {
    grid-area: description;
    font-size: 0.688rem;
    color: #6c757d;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.result-category[b-8xntmoyqj9] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
}

.result-category .badge[b-8xntmoyqj9] {
    font-size: 0.625rem;
    font-weight: 400;
    padding: 0.125rem 0.375rem;
    white-space: nowrap;
}

@media (prefers-color-scheme: dark) {
    .navigation-search-input[b-8xntmoyqj9] {
        background-color: #2b2b2b;
        border-color: #444;
        color: #e0e0e0;
    }

    .search-results-dropdown[b-8xntmoyqj9] {
        background: #2b2b2b;
        border-color: #444;
    }

    .search-result-item[b-8xntmoyqj9] {
        border-bottom-color: #444;
    }

    .search-result-item:hover[b-8xntmoyqj9],
    .search-result-item.selected[b-8xntmoyqj9] {
        background-color: #3a3a3a;
    }

    .result-title[b-8xntmoyqj9] {
        color: #e0e0e0;
    }

    .result-description[b-8xntmoyqj9] {
        color: #a0a0a0;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
#sidebar[b-l99km0r6zr] {
    min-width: 10rem;
    max-width: 10rem;
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.16);
    transition: transform 0.1s ease-out;
    height: 100%;
    max-height: 100%;
    background-color: black;
/*    background-image: linear-gradient(180deg, var(--bs-primary) 0%, var(--bs-black) 150%);*/
}



[b-l99km0r6zr] .sidebar-header {
    padding: 2rem 1rem;
}

.logo[b-l99km0r6zr] {
    text-align: center;
}

[b-l99km0r6zr] .menu-button-container {
    display: none;
    align-self: center;
}

.menu-button[b-l99km0r6zr] {
    padding: 0.375rem;
    width: 1.875rem;
    height: 1.875rem;
    background-image: url("images/menu.svg");
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
}



[b-l99km0r6zr] .menu {
    background-color: inherit;
}

    [b-l99km0r6zr] .menu .dxbl-menu-item-list {
        gap: 0.5rem;
    }

[b-l99km0r6zr] .menu-item {
    color: var(--bs-white);
}

[b-l99km0r6zr] .icon {
    width: 1rem;
    height: 1rem;
    background-position: center;
    background-repeat: no-repeat;
    margin-left: 0.5rem;
}

[b-l99km0r6zr] .home-icon {
    background-image: url("images/home.svg");
}

[b-l99km0r6zr] .weather-icon {
    background-image: url("images/weather.svg");
}

[b-l99km0r6zr] .counter-icon {
    background-image: url("images/counter.svg");
}

[b-l99km0r6zr] .settings-icon {
    background-image: url("images/account/settings.svg");
}

[b-l99km0r6zr] .docs-icon {
    mask-image: url("images/doc.svg");
    -webkit-mask-image: url("images/doc.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--dxbl-btn-color);
}

[b-l99km0r6zr] .demos-icon {
    mask-image: url("images/demos.svg");
    -webkit-mask-image: url("images/demos.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--dxbl-btn-color);
}

[b-l99km0r6zr] .footer-button:hover .demos-icon {
    background-color: var(--dxbl-btn-hover-color);
}

[b-l99km0r6zr] .footer-button:hover .docs-icon {
    background-color: var(--dxbl-btn-hover-color);
}

[b-l99km0r6zr] .footer {
    text-align: center;
    gap: 0.5rem;
    padding-bottom: 1.5rem;
}

#sidebar.expanded[b-l99km0r6zr]  .layout-item {
    display: block;
}

#sidebar.expanded[b-l99km0r6zr]  .footer {
    display: block;
}

@media (max-width: 768px) {
    #sidebar[b-l99km0r6zr] {
        min-width: inherit;
        max-width: inherit;
    }

        #sidebar.expanded[b-l99km0r6zr] {
            position: fixed;
            width: 100%;
            z-index: 3;
        }

            #sidebar.expanded[b-l99km0r6zr]  .sidebar-header {
                border-bottom: 1px solid var(--bs-white);
            }

            #sidebar.expanded .menu-button[b-l99km0r6zr] {
                background-image: url("images/close.svg");
            }

        #sidebar:not(.expanded)[b-l99km0r6zr]  .dxbl-gridlayout-root {
            gap: unset !important;
        }

    .logo[b-l99km0r6zr] {
        text-align: inherit;
    }

    [b-l99km0r6zr] .menu-button-container {
        display: block;
    }

    [b-l99km0r6zr] .layout-item {
        display: none;
    }

    [b-l99km0r6zr] .footer {
        display: none;
    }
}
/* /Components/Pages/Admin/DocumentList.razor.rz.scp.css */
.doc-workspace[b-20sjqccuck] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 150px);
    min-height: 560px;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    background: #fff;
    overflow: hidden;
}

.doc-header[b-20sjqccuck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
}

.doc-header-title[b-20sjqccuck] {
    font-size: 2rem;
    line-height: 2.5rem;
    font-weight: 300;
}

.doc-header-tools[b-20sjqccuck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.doc-header-tools[b-20sjqccuck]  .doc-search {
    width: 300px;
}

.doc-body[b-20sjqccuck] {
    display: flex;
    flex-grow: 1;
    min-height: 0;
}

/* ---- list ---- */
.doc-list[b-20sjqccuck] {
    width: 380px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-right: 1px solid #dee2e6;
}

.doc-chips[b-20sjqccuck] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #dee2e6;
    background: #f8f9fa;
}

.doc-chip[b-20sjqccuck] {
    height: 30px;
    padding: 0 0.75rem;
    border-radius: 999px;
    border: 1px solid #ced4da;
    background: #fff;
    color: #212529;
    font-size: 0.8125rem;
    cursor: pointer;
}

.doc-chip.active[b-20sjqccuck] {
    background: #212529;
    border-color: #212529;
    color: #fff;
}

.doc-rows[b-20sjqccuck] {
    flex-grow: 1;
    min-height: 0;
    overflow-y: auto;
}

.doc-row[b-20sjqccuck] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem 1rem 0.75rem calc(1rem + 3px);
    border-bottom: 1px solid #dee2e6;
    cursor: pointer;
}

.doc-row:hover[b-20sjqccuck] {
    background: #f8f9fa;
}

.doc-row.selected[b-20sjqccuck] {
    background: #f0f6ff;
    border-left: 3px solid #0d6efd;
    padding-left: 1rem;
}

.doc-row-title[b-20sjqccuck] {
    font-size: 0.9375rem;
}

.doc-row.selected .doc-row-title[b-20sjqccuck] {
    font-weight: 600;
}

.doc-row-meta[b-20sjqccuck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: #6c757d;
}

.doc-row-meta code[b-20sjqccuck] {
    font-size: 0.75rem;
    color: #495057;
}

.doc-pill[b-20sjqccuck] {
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 999px;
    background: #cfe2ff;
    color: #052c65;
    white-space: nowrap;
}

.doc-list-footer[b-20sjqccuck] {
    padding: 0.5rem 1rem;
    border-top: 1px solid #dee2e6;
    background: #f8f9fa;
    font-size: 0.75rem;
    color: #6c757d;
}

.doc-empty[b-20sjqccuck] {
    padding: 2rem 1rem;
    color: #6c757d;
    text-align: center;
}

.doc-empty-editor[b-20sjqccuck] {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---- editor ---- */
.doc-editor[b-20sjqccuck] {
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.doc-editor-header[b-20sjqccuck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
}

.doc-editor-heading[b-20sjqccuck] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.doc-editor-title[b-20sjqccuck] {
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.doc-editor-meta[b-20sjqccuck] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.8125rem;
    color: #6c757d;
}

.doc-editor-meta code[b-20sjqccuck] {
    font-size: 0.8125rem;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 1px 6px;
    color: #212529;
}

.doc-editor-actions[b-20sjqccuck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* ---- details strip ---- */
.doc-details[b-20sjqccuck] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.doc-details-grid[b-20sjqccuck] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.doc-pill-public[b-20sjqccuck] {
    background: #d1e7dd;
    color: #0a3622;
}

.doc-pill-private[b-20sjqccuck] {
    background: #e9ecef;
    color: #495057;
}

.doc-editor-link[b-20sjqccuck] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    margin-top: 2px;
}

.doc-link-btn[b-20sjqccuck] {
    height: 24px;
    padding: 0 0.5rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    background: #fff;
    font-size: 0.75rem;
    color: #212529;
    cursor: pointer;
}

.doc-vis[b-20sjqccuck] {
    display: flex;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    overflow: hidden;
    height: 38px;
}

.doc-vis-btn[b-20sjqccuck] {
    flex: 1 1 0;
    border: 0;
    background: #fff;
    color: #212529;
    font-size: 0.9375rem;
    cursor: pointer;
}

.doc-vis-btn + .doc-vis-btn[b-20sjqccuck] {
    border-left: 1px solid #ced4da;
}

.doc-vis-btn.active[b-20sjqccuck] {
    background: #212529;
    color: #fff;
}

.doc-type-card-add[b-20sjqccuck] {
    border-style: dashed;
    color: #6c757d;
    font-weight: 400;
}

.doc-details-foot[b-20sjqccuck] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}

.doc-details-meta[b-20sjqccuck] {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.8125rem;
    color: #6c757d;
    white-space: nowrap;
}

.doc-warn[b-20sjqccuck] {
    display: flex;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.375rem;
    background: #fff3cd;
    color: #664d03;
    font-size: 0.8125rem;
    line-height: 1.4;
    max-width: 560px;
}

/* ---- fields ---- */
.doc-field[b-20sjqccuck] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.doc-field label[b-20sjqccuck] {
    font-size: 0.875rem;
    font-weight: 600;
}

.doc-field-head[b-20sjqccuck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.doc-field-head a[b-20sjqccuck] {
    font-size: 0.8125rem;
}

.doc-field[b-20sjqccuck]  .doc-key-input input {
    font-family: Menlo, Consolas, monospace;
}

.doc-hint[b-20sjqccuck] {
    font-size: 0.8125rem;
    color: #6c757d;
}

.doc-hint-ok[b-20sjqccuck] {
    color: #198754;
}

.doc-hint-bad[b-20sjqccuck] {
    color: #dc3545;
}

/* ---- new document ---- */
.doc-new-wrap[b-20sjqccuck] {
    display: flex;
    justify-content: center;
    padding: 2rem 1.5rem;
    background: #f8f9fa;
    flex-grow: 1;
    overflow-y: auto;
}

.doc-new-card[b-20sjqccuck] {
    width: 640px;
    max-width: 100%;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    padding: 1.5rem;
}

.doc-type-cards[b-20sjqccuck] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.doc-type-card[b-20sjqccuck] {
    padding: 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
}

.doc-type-card.active[b-20sjqccuck] {
    border: 2px solid #0d6efd;
    background: #f0f6ff;
    color: #052c65;
    padding: calc(0.75rem - 1px);
}

.doc-new-note[b-20sjqccuck] {
    font-size: 0.8125rem;
    color: #6c757d;
    border-top: 1px solid #dee2e6;
    padding-top: 1rem;
}

/* ---- mode bar + panes ---- */
.doc-modebar[b-20sjqccuck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.375rem 1.5rem;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.doc-modes[b-20sjqccuck] {
    display: flex;
    gap: 0.25rem;
}

.doc-mode[b-20sjqccuck] {
    height: 30px;
    padding: 0 0.75rem;
    border-radius: 0.375rem;
    border: 1px solid transparent;
    background: transparent;
    font-size: 0.875rem;
    color: #212529;
    cursor: pointer;
}

.doc-mode.active[b-20sjqccuck] {
    background: #fff;
    border-color: #ced4da;
}

.doc-modebar-status[b-20sjqccuck] {
    display: flex;
    gap: 0.75rem;
    font-size: 0.8125rem;
    color: #6c757d;
}

.doc-unsaved[b-20sjqccuck] {
    color: #fd7e14;
}

.doc-panes[b-20sjqccuck] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    flex-grow: 1;
    min-height: 0;
}

.doc-panes.split[b-20sjqccuck] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.doc-pane[b-20sjqccuck] {
    min-height: 0;
    overflow-y: auto;
}

.doc-pane-source[b-20sjqccuck] {
    display: flex;
    border-right: 1px solid #dee2e6;
}

.doc-pane-source[b-20sjqccuck]  .doc-memo {
    flex-grow: 1;
    height: 100%;
    border: 0;
    border-radius: 0;
}

.doc-pane-source[b-20sjqccuck]  .doc-memo textarea {
    height: 100% !important;
    font-family: Menlo, Consolas, monospace;
    font-size: 0.8125rem;
    line-height: 1.6;
    padding: 1rem 1.25rem;
}

.doc-pane-preview[b-20sjqccuck] {
    padding: 1rem 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.6;
}
/* /Components/Pages/Controls/LegAlertsPopup.razor.rz.scp.css */
/* Leg Alerts popup, design 1b (.design/design_handoff_leg_alerts_popup/).
   Tokens live here rather than inline so the seven columns, the subheader and the row
   expander share one palette. DevExpress renders the grid internals as child components,
   so anything reaching inside the grid needs ::deep. */

.leg-alerts[b-llkompzhxy] {
    font-size: 13.5px;
    color: #212529;
    /* Nothing inside may push past the popup card. */
    max-width: 100%;
    overflow-x: hidden;
}

/* Leg summary strip, under the popup header.

   Deliberately NOT bled to the card edges with negative margins. The popup body's padding is
   a DevExpress theme value, so a hard-coded -16px overshot it and the strip sat a few pixels
   proud of the card on both sides. Styling the body itself is not an option either: it is an
   ANCESTOR of this component's markup, so ::deep cannot reach it, and BodyCssClass would need
   an unscoped global rule - which is exactly what broke the height (see below). */
.leg-alerts-summary[b-llkompzhxy] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin-bottom: 8px;
    background: #faf9fb;
    border: 1px solid #eceaef;
    border-radius: 6px;
    font-size: 12.5px;
    color: #5a5262;
}

    .leg-alerts-summary b[b-llkompzhxy] {
        color: #212529;
    }

.leg-alerts-truck[b-llkompzhxy] {
    color: #8049b0;
}

.leg-alerts-arrow[b-llkompzhxy] {
    color: #8a8494;
}

.leg-alerts-dot[b-llkompzhxy] {
    color: #c2bcc9;
}

.leg-alerts-chevron[b-llkompzhxy] {
    font-size: 12px;
    color: #8a8494;
}

/* Two-line Raised cell: local time above, relative time muted below. */
.leg-alerts-raised[b-llkompzhxy] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1.25;
}

.leg-alerts-ago[b-llkompzhxy] {
    font-size: 11.5px;
    color: #8a8494;
}

.leg-alerts-icontext[b-llkompzhxy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.leg-alerts-ellipsis[b-llkompzhxy] {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Status chip replaces the Open checkbox; the badge replaces the Esc number. */
.leg-alerts-status[b-llkompzhxy] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.leg-alerts-chip[b-llkompzhxy] {
    font-size: 11.5px;
    font-weight: 600;
    padding: 2px 9px;
    border-radius: 99px;
    border: 1px solid;
    white-space: nowrap;
}

.leg-alerts-chip-open[b-llkompzhxy] {
    background: #fff8e6;
    border-color: #ecd9a0;
    color: #8a6100;
}

.leg-alerts-chip-closed[b-llkompzhxy] {
    background: #f1f3f5;
    border-color: #dee2e6;
    color: #6c757d;
}

.leg-alerts-esc[b-llkompzhxy] {
    font-size: 11px;
    font-weight: 700;
    color: #c23a2b;
    border: 1px solid #eec2bc;
    background: #fdf3f1;
    border-radius: 99px;
    padding: 1px 6px;
    white-space: nowrap;
}

/* Row expander. Left column is the alert body, right is the timeline. */
.leg-alerts-detail[b-llkompzhxy] {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 24px;
    margin: 0 12px 10px 36px;
    padding: 12px 16px;
    background: #faf9fb;
    border: 1px solid #eceaef;
    border-radius: 6px;
    font-size: 12.5px;
}

.leg-alerts-detail-body[b-llkompzhxy] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.leg-alerts-body-text[b-llkompzhxy] {
    color: #3d3745;
    line-height: 1.5;
    white-space: pre-wrap; /* the sweep writes the body with newlines */
}

.leg-alerts-callout[b-llkompzhxy] {
    border-left: 3px solid #c23a2b;
    padding: 4px 10px;
    background: #fdf3f1;
    border-radius: 0 4px 4px 0;
}

.leg-alerts-timeline[b-llkompzhxy] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-left: 1px solid #e3e0e7;
    padding-left: 18px;
}

    .leg-alerts-timeline > div[b-llkompzhxy] {
        display: flex;
        justify-content: space-between;
        gap: 10px;
    }

.leg-alerts-label[b-llkompzhxy] {
    color: #8a8494;
}

.leg-alerts-footer[b-llkompzhxy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 4px 0 4px;
    font-size: 12px;
    color: #8a8494;
}

/* Grid chrome. ::deep because DxGrid renders these elements itself. */

/* The height override is load-bearing, not cosmetic. DailyJobs.razor carries an UNSCOPED
   global rule in a <style> block - ".dxbl-grid { height: calc(100vh - 180px); }" - which hits
   every grid on that page, this popup's included. That is what stretched the popup to the
   full viewport with a screenful of blank space under three rows.

   !important rather than relying on specificity: the rule lives in a <style> block in the page
   body, so it is fighting on load order as well, and this component must be immune wherever it
   is hosted. Fixing DailyJobs' own rule would be the root-cause fix, but it would change that
   page's layout, which is not this change's business. */
[b-llkompzhxy] .leg-alerts-grid {
    border: none;
    height: auto !important;
    max-width: 100%;
}

    [b-llkompzhxy] .leg-alerts-grid .dxbl-grid-header-content {
        font-size: 12px;
        font-weight: 700;
        color: #5a5262;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    [b-llkompzhxy] .leg-alerts-grid .dxbl-grid-table > tbody > tr > td {
        border-bottom: 1px solid #eceaef;
    }

    /* Rows toggle their expander on click, so they must look clickable. */
    [b-llkompzhxy] .leg-alerts-grid .dxbl-grid-data-row {
        cursor: pointer;
    }

        [b-llkompzhxy] .leg-alerts-grid .dxbl-grid-data-row:hover > td {
            background: #faf8fc;
        }
/* /Components/Pages/Controls/ReportExport.razor.rz.scp.css */
/* Exports workbench — chrome DevExpress doesn't provide.
   Tokens from the design handoff; treat spacing/borders as approximate. */

.exports-page[b-l6xq2u4csc] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: #fff;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ---- Header ---- */
.exports-header[b-l6xq2u4csc] {
    padding: 26px 32px 20px;
    border-bottom: 1px solid #ececf1;
}

.exports-eyebrow[b-l6xq2u4csc] {
    font-size: 12px;
    font-weight: 600;
    color: #6b6b76;
    text-transform: uppercase;
    letter-spacing: .09em;
    margin-bottom: 6px;
}

.exports-title[b-l6xq2u4csc] {
    margin: 0;
    font-size: 30px;
    font-weight: 600;
    color: #1f2023;
    letter-spacing: -.01em;
}

/* Shared uppercase field label */
.field-label[b-l6xq2u4csc] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #6b6b76;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 7px;
}

/* ---- Period bar ---- */
.period-bar[b-l6xq2u4csc] {
    display: flex;
    align-items: flex-end;
    gap: 28px;
    flex-wrap: wrap;
    padding: 16px 32px;
    background: #faf9fc;
    border-bottom: 1px solid #ececf1;
}

.period-presets .field-label[b-l6xq2u4csc] {
    letter-spacing: .07em;
}

.preset-pills[b-l6xq2u4csc] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.pill[b-l6xq2u4csc] {
    padding: 6px 13px;
    border-radius: 6px;
    font-size: 13px;
    background: #fff;
    border: 1px solid #d7d7de;
    color: #4a4a55;
    cursor: pointer;
}

.pill:hover[b-l6xq2u4csc] {
    background: #f5f2fc;
}

.pill-active[b-l6xq2u4csc] {
    background: #6E44BE;
    border-color: #6E44BE;
    color: #fff;
    font-weight: 600;
}

.period-dates[b-l6xq2u4csc] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.period-to[b-l6xq2u4csc] {
    color: #6b6b76;
    font-size: 13px;
}

/* ---- Body grid ---- */
.exports-body[b-l6xq2u4csc] {
    flex: 1;
    display: grid;
    grid-template-columns: 296px 1fr;
    min-height: 0;
}

/* ---- Master list ---- */
.master-list[b-l6xq2u4csc] {
    border-right: 1px solid #ececf1;
    padding: 18px 0;
    overflow-y: auto;
    background: #fff;
}

.group-head[b-l6xq2u4csc] {
    padding: 20px 20px 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.master-list > .group-head:first-child[b-l6xq2u4csc] {
    padding-top: 0;
}

.group-title[b-l6xq2u4csc] {
    font-size: 11px;
    font-weight: 700;
    color: #6b6b76;
    text-transform: uppercase;
    letter-spacing: .07em;
    white-space: nowrap;
}

.role-chip[b-l6xq2u4csc] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10.5px;
    font-weight: 600;
    color: #6E44BE;
    background: #f3efff;
    border: 1px solid #e0d6f6;
    border-radius: 4px;
    padding: 2px 7px;
    white-space: nowrap;
}

.export-row[b-l6xq2u4csc] {
    display: flex;
    gap: 12px;
    padding: 11px 20px;
    border-left: 3px solid transparent;
    cursor: pointer;
}

.export-row:hover[b-l6xq2u4csc] {
    background: #faf9fc;
}

.export-row-selected[b-l6xq2u4csc],
.export-row-selected:hover[b-l6xq2u4csc] {
    border-left-color: #6E44BE;
    background: #f5f2fc;
}

.export-row-icon[b-l6xq2u4csc] {
    font-size: 16px;
    color: #6b6b76;
    margin-top: 2px;
}

.export-row-selected .export-row-icon[b-l6xq2u4csc],
.export-row-selected .export-row-delivery[b-l6xq2u4csc] {
    color: #6E44BE;
}

.export-row-body[b-l6xq2u4csc] {
    flex: 1;
    min-width: 0;
}

.export-row-title[b-l6xq2u4csc] {
    font-size: 14px;
    font-weight: 600;
    color: #1f2023;
    display: flex;
    align-items: center;
    gap: 7px;
}

.export-row-selected .export-row-title[b-l6xq2u4csc] {
    color: #3a2a5c;
}

.export-row-sub[b-l6xq2u4csc] {
    font-size: 12.5px;
    color: #5f5f6b;
    margin-top: 2px;
}

.export-row-delivery[b-l6xq2u4csc] {
    font-size: 13px;
    margin-top: 3px;
}

.delivery-instant[b-l6xq2u4csc] {
    color: #2e7d5b;
}

.export-row-locked[b-l6xq2u4csc] {
    opacity: .5;
    cursor: default;
}

.export-row-locked:hover[b-l6xq2u4csc] {
    background: transparent;
}

.export-lock[b-l6xq2u4csc] {
    font-size: 11px;
    color: #6b6b76;
}

/* ---- Detail pane ---- */
.detail-pane[b-l6xq2u4csc] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.detail-pane[b-l6xq2u4csc]  .dxbl-loading-panel-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.detail-content[b-l6xq2u4csc] {
    flex: 1;
    padding: 26px 32px;
    overflow-y: auto;
}

.detail-title-row[b-l6xq2u4csc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.detail-title[b-l6xq2u4csc] {
    margin: 0 0 6px;
    font-size: 21px;
    font-weight: 600;
    color: #1f2023;
}

.detail-desc[b-l6xq2u4csc] {
    font-size: 14px;
    color: #6b6b76;
    max-width: 60ch;
    text-wrap: pretty;
}

.delivery-pill[b-l6xq2u4csc] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    font-size: 12.5px;
    font-weight: 600;
    border-radius: 999px;
    padding: 6px 12px;
}

.delivery-pill-instant[b-l6xq2u4csc] {
    color: #23684d;
    background: #eef6f1;
    border: 1px solid #cfe6da;
}

/* Delivery callout */
.callout[b-l6xq2u4csc] {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    padding: 14px 16px;
    background: #faf9fc;
    border: 1px solid #ece7f7;
    border-left: 3px solid #6E44BE;
    border-radius: 6px;
}

.callout-icon[b-l6xq2u4csc] {
    color: #6E44BE;
    font-size: 15px;
    margin-top: 1px;
}

.callout-body[b-l6xq2u4csc] {
    font-size: 13.5px;
    color: #4a4a55;
    line-height: 1.5;
}

.callout-body strong[b-l6xq2u4csc] {
    color: #1f2023;
}

/* Fields grid */
.detail-fields[b-l6xq2u4csc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 24px;
    margin-top: 26px;
}

.field-full[b-l6xq2u4csc] {
    grid-column: 1 / -1;
}

.field-hint[b-l6xq2u4csc] {
    font-size: 12.5px;
    color: #6b6b76;
    margin-top: 6px;
}

/* ---- Action bar ---- */
.action-bar[b-l6xq2u4csc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 16px 32px;
    background: #fbfbfd;
    border-top: 1px solid #ececf1;
}

.action-summary[b-l6xq2u4csc] {
    font-size: 13px;
    color: #6b6b76;
    line-height: 1.5;
}

.action-summary strong[b-l6xq2u4csc] {
    color: #1f2023;
}

.action-buttons[b-l6xq2u4csc] {
    display: flex;
    align-items: center;
    gap: 12px;
}
/* /Components/Pages/Fatigue/FatigueTile.razor.rz.scp.css */
/* Home page fatigue tile. Sits alongside the welcome-card shortcuts, so it borrows
   their radius, height and shadow-lift-on-hover rather than inventing a second card
   language. Keep the height in step with .welcome-card in Index.razor.css. */

.fatigue-tile[b-0i75rcrkv8] {
    position: relative;
    width: 17rem;
    height: 8rem;
    padding: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: var(--bs-body-bg);
    border-radius: 0.75rem;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s;
    cursor: pointer;
    overflow: hidden;
}

    .fatigue-tile:hover[b-0i75rcrkv8] {
        box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 8px 10px -6px rgba(0, 0, 0, 0.1);
    }

    /* The status bar along the bottom edge - the tile's at-a-glance signal. */
    .fatigue-tile[b-0i75rcrkv8]::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 0.25rem;
        background: var(--bs-secondary);
    }

.fatigue-tile-breach[b-0i75rcrkv8]::after {
    background: #dc3545;
}

.fatigue-tile-warning[b-0i75rcrkv8]::after {
    background: #ffc107;
}

.fatigue-tile-clear[b-0i75rcrkv8]::after {
    background: #198754;
}

.fatigue-tile-unknown[b-0i75rcrkv8]::after {
    background: var(--bs-secondary);
}

/* Counted, but every event signed off. Neutral rather than green: the drivers are still
   there, so this is "handled", not "nothing happened". */
.fatigue-tile-acknowledged[b-0i75rcrkv8]::after {
    background: var(--bs-secondary);
}

.fatigue-tile-head[b-0i75rcrkv8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.fatigue-tile-icon[b-0i75rcrkv8] {
    font-size: 1.25rem;
    line-height: 1;
    color: #6f42c1;
}

.fatigue-tile-title[b-0i75rcrkv8] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--bs-body-color);
}

.fatigue-tile-figures[b-0i75rcrkv8] {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.fatigue-tile-figure[b-0i75rcrkv8] {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
}

    .fatigue-tile-figure:hover[b-0i75rcrkv8] {
        background: rgba(0, 0, 0, 0.04);
    }

.fatigue-tile-divider[b-0i75rcrkv8] {
    width: 1px;
    align-self: stretch;
    background: var(--bs-border-color);
}

.fatigue-tile-value[b-0i75rcrkv8] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
}

    /* Zero is deliberately muted: nothing to act on should not draw the eye. */
    .fatigue-tile-value.is-zero[b-0i75rcrkv8] {
        color: var(--bs-secondary-color);
    }

    .fatigue-tile-value.is-breach[b-0i75rcrkv8] {
        color: #dc3545;
    }

    .fatigue-tile-value.is-warning[b-0i75rcrkv8] {
        color: #ffc107;
    }

.fatigue-tile-dot[b-0i75rcrkv8] {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: #dc3545;
}

.fatigue-tile-label[b-0i75rcrkv8] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.fatigue-tile-note[b-0i75rcrkv8] {
    font-size: 0.875rem;
    color: var(--bs-secondary-color);
}

.fatigue-tile-refresh[b-0i75rcrkv8] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    padding: 0.125rem 0.375rem;
    border: none;
    border-radius: 0.25rem;
    background: transparent;
    color: var(--bs-secondary-color);
    opacity: 0;
    transition: opacity 0.2s;
}

.fatigue-tile:hover .fatigue-tile-refresh[b-0i75rcrkv8] {
    opacity: 1;
}

.fatigue-tile-refresh:hover[b-0i75rcrkv8] {
    background: rgba(0, 0, 0, 0.06);
}
/* /Components/Pages/HR/Tags.razor.rz.scp.css */
/* /HR/Tags master-detail. Recreates .design/design_handoff_tags_master_detail — the tokens
   below (hex, type scale, radii) are the handoff's and are deliberately literal rather than
   Bootstrap variables: this screen has its own palette, not the site theme's.

   One stylesheet covers both Tags.razor and its TagPeople child, so everything below the page
   root is written with ::deep. Class prefixes: dc- shared primitives (buttons, modals, search,
   pills), tag- the master list, detail-/member-/candidate- the detail panel. */

.tags-page[b-rgjqd049y9] {
    /* MainLayout wraps content in px-4; pull back out so the header bar is full bleed. */
    margin: 0 -1.5rem;
    /* MainLayout's content area is a flex column, so fill what is left of it rather than
       guessing a 100vh offset - the test-environment banner changes that offset. min-height
       keeps the panes usable if the flex chain above ever stops giving us a definite height. */
    flex: 1 1 auto;
    min-height: 30rem;
    display: flex;
    flex-direction: column;
    background: #f4f4f8;
    color: #1d1d24;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ---------- page header ---------- */

.tags-page[b-rgjqd049y9]  .tags-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 28px;
    background: #ffffff;
    border-bottom: 1px solid #e5e5ec;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .tags-header-titles {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tags-page[b-rgjqd049y9]  .tags-title {
    margin: 0;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.tags-page[b-rgjqd049y9]  .tags-subtitle {
    font-size: 13px;
    color: #70707c;
}

/* ---------- main area / cards ---------- */

.tags-page[b-rgjqd049y9]  .tags-main {
    display: flex;
    gap: 18px;
    padding: 18px 28px;
    flex: 1;
    min-height: 0;
}

.tags-page[b-rgjqd049y9]  .dc-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e5e5ec;
    border-radius: 12px;
    overflow: hidden;
}

.tags-page[b-rgjqd049y9]  .tag-list-card {
    width: 330px;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .detail-card {
    flex: 1;
    min-width: 0;
}

.tags-page[b-rgjqd049y9]  .detail-placeholder {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #9a9aa6;
}

/* ---------- search input ---------- */

.tags-page[b-rgjqd049y9]  .dc-search {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #e5e5ec;
    border-radius: 8px;
    background: #fbfbfd;
}

.tags-page[b-rgjqd049y9]  .dc-search input {
    border: none;
    outline: none;
    background: transparent;
    flex: 1;
    min-width: 0;
    font-size: 13px;
    font-family: inherit;
    color: #1d1d24;
}

.tags-page[b-rgjqd049y9]  .dc-search input::placeholder {
    color: #a5a5b1;
}

/* ---------- tag list (master) ---------- */

.tags-page[b-rgjqd049y9]  .tag-list-toolbar {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 14px 12px 14px;
    border-bottom: 1px solid #f1f1f5;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .tag-list-toolbar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tags-page[b-rgjqd049y9]  .dc-segmented {
    display: flex;
    gap: 2px;
    padding: 3px;
    background: #f1f1f5;
    border-radius: 8px;
}

.tags-page[b-rgjqd049y9]  .dc-seg {
    border: none;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    background: transparent;
    color: #70707c;
    box-shadow: none;
}

.tags-page[b-rgjqd049y9]  .dc-seg-on {
    background: #ffffff;
    color: #1d1d24;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.tags-page[b-rgjqd049y9]  .tag-list-count {
    font-size: 12px;
    color: #9a9aa6;
}

.tags-page[b-rgjqd049y9]  .tag-list {
    flex: 1;
    overflow-y: auto;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.tags-page[b-rgjqd049y9]  .tag-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    background: transparent;
}

.tags-page[b-rgjqd049y9]  .tag-row:hover {
    background: #f2f1f8;
}

.tags-page[b-rgjqd049y9]  .tag-row-selected,
.tags-page[b-rgjqd049y9]  .tag-row-selected:hover {
    background: #eeebfb;
}

.tags-page[b-rgjqd049y9]  .tag-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    background: #2eaa63;
}

.tags-page[b-rgjqd049y9]  .tag-dot-off {
    background: #c6c6d0;
}

.tags-page[b-rgjqd049y9]  .tag-row-name {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tags-page[b-rgjqd049y9]  .tag-row-selected .tag-row-name {
    font-weight: 600;
    color: #3b2e86;
}

.tags-page[b-rgjqd049y9]  .tag-inactive-pill {
    font-size: 10.5px;
    font-weight: 600;
    color: #9a9aa6;
    background: #f1f1f5;
    padding: 2px 7px;
    border-radius: 999px;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .tag-count-pill {
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    flex-shrink: 0;
    background: #f1f1f5;
    color: #70707c;
}

.tags-page[b-rgjqd049y9]  .tag-row-selected .tag-count-pill {
    background: #dcd5f5;
    color: #4d39b3;
}

/* ---------- detail header ---------- */

.tags-page[b-rgjqd049y9]  .detail-head {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 20px 14px 20px;
    border-bottom: 1px solid #f1f1f5;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .detail-head-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.tags-page[b-rgjqd049y9]  .detail-head-left {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.tags-page[b-rgjqd049y9]  .detail-name-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.tags-page[b-rgjqd049y9]  .detail-name {
    margin: 0;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.tags-page[b-rgjqd049y9]  .detail-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    color: #9a9aa6;
}

.tags-page[b-rgjqd049y9]  .detail-head-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .detail-rename {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tags-page[b-rgjqd049y9]  .detail-rename-input {
    width: 260px;
    font-size: 16px;
    font-weight: 600;
    padding: 7px 12px;
}

.tags-page[b-rgjqd049y9]  .detail-search {
    max-width: 340px;
}

/* ---------- people table ---------- */

.tags-page[b-rgjqd049y9]  .member-head {
    display: flex;
    align-items: center;
    padding: 9px 20px;
    background: #fafafc;
    border-bottom: 1px solid #f1f1f5;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8b8b96;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .member-list {
    flex: 1;
    overflow-y: auto;
}

.tags-page[b-rgjqd049y9]  .member-row {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    border-bottom: 1px solid #f4f4f7;
}

.tags-page[b-rgjqd049y9]  .member-row:hover {
    background: #fbfbfd;
}

.tags-page[b-rgjqd049y9]  .member-col-person {
    flex: 1.5;
    min-width: 0;
}

.tags-page[b-rgjqd049y9]  .member-col-contact {
    flex: 1.6;
    min-width: 0;
    padding-right: 12px;
}

.tags-page[b-rgjqd049y9]  .member-col-tag {
    width: 120px;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .member-col-actions {
    width: 76px;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .member-person {
    display: flex;
    align-items: center;
    gap: 11px;
}

.tags-page[b-rgjqd049y9]  .member-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #eeebfb;
    color: #5b46c8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .member-person-text {
    min-width: 0;
}

.tags-page[b-rgjqd049y9]  .member-name {
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tags-page[b-rgjqd049y9]  .member-personid {
    font-size: 12px;
    color: #5b46c8;
    cursor: pointer;
    width: fit-content;
}

.tags-page[b-rgjqd049y9]  .member-personid:hover {
    text-decoration: underline;
}

.tags-page[b-rgjqd049y9]  .member-email {
    font-size: 13px;
    color: #3f3f4a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tags-page[b-rgjqd049y9]  .member-phone {
    font-size: 12px;
    color: #9a9aa6;
}

.tags-page[b-rgjqd049y9]  .member-tag {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tags-page[b-rgjqd049y9]  .member-tag-label {
    font-size: 12px;
    font-weight: 600;
    color: #9a9aa6;
}

.tags-page[b-rgjqd049y9]  .member-tag-on {
    color: #188a4f;
}

.tags-page[b-rgjqd049y9]  .member-actions {
    display: flex;
    justify-content: flex-end;
}

.tags-page[b-rgjqd049y9]  .member-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 56px 20px;
}

.tags-page[b-rgjqd049y9]  .member-empty-text {
    font-size: 14px;
    font-weight: 600;
    color: #70707c;
}

/* ---------- in-tag switch ---------- */

.tags-page[b-rgjqd049y9]  .dc-switch {
    width: 36px;
    height: 20px;
    border-radius: 999px;
    cursor: pointer;
    position: relative;
    background: #cfcfd8;
    transition: background 0.15s;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .dc-switch-on {
    background: #2eaa63;
}

.tags-page[b-rgjqd049y9]  .dc-switch-knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    transition: left 0.15s;
}

.tags-page[b-rgjqd049y9]  .dc-switch-on .dc-switch-knob {
    left: 18px;
}

/* ---------- buttons, links, pills ---------- */

.tags-page[b-rgjqd049y9]  .dc-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 8px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    border: 1px solid transparent;
    white-space: nowrap;
}

.tags-page[b-rgjqd049y9]  .dc-btn-plus {
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
}

.tags-page[b-rgjqd049y9]  .dc-btn-primary {
    background: #5b46c8;
    color: #ffffff;
}

.tags-page[b-rgjqd049y9]  .dc-btn-primary:hover {
    background: #4d39b3;
}

.tags-page[b-rgjqd049y9]  .dc-btn-dim {
    opacity: 0.45;
}

.tags-page[b-rgjqd049y9]  .dc-btn-ghost {
    background: #ffffff;
    color: #3f3f4a;
    border-color: #e5e5ec;
    padding: 8px 13px;
}

.tags-page[b-rgjqd049y9]  .dc-btn-ghost:hover {
    background: #f6f5fa;
    border-color: #d9d9e2;
}

.tags-page[b-rgjqd049y9]  .dc-btn-danger {
    background: #c2453a;
    color: #ffffff;
}

.tags-page[b-rgjqd049y9]  .dc-btn-danger:hover {
    background: #a93a30;
}

.tags-page[b-rgjqd049y9]  .dc-btn-danger-outline {
    background: #ffffff;
    color: #c2453a;
    border-color: #eccfcb;
}

.tags-page[b-rgjqd049y9]  .dc-btn-danger-outline:hover {
    background: #fbeeec;
}

.tags-page[b-rgjqd049y9]  .dc-link {
    border: none;
    background: none;
    padding: 0;
    font-size: 12.5px;
    font-weight: 600;
    font-family: inherit;
    color: #5b46c8;
    cursor: pointer;
}

.tags-page[b-rgjqd049y9]  .dc-link:hover {
    color: #4d39b3;
    text-decoration: underline;
}

.tags-page[b-rgjqd049y9]  .dc-link-danger {
    color: #9a9aa6;
}

.tags-page[b-rgjqd049y9]  .dc-link-danger:hover {
    color: #c2453a;
    text-decoration: underline;
}

.tags-page[b-rgjqd049y9]  .dc-remove {
    border: none;
    background: none;
    padding: 4px 6px;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 600;
    font-family: inherit;
    color: #9a9aa6;
    cursor: pointer;
}

.tags-page[b-rgjqd049y9]  .dc-remove:hover {
    color: #c2453a;
    background: #fbeeec;
}

.tags-page[b-rgjqd049y9]  .dc-pill {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 999px;
    white-space: nowrap;
}

.tags-page[b-rgjqd049y9]  .dc-pill-active {
    background: #e3f4ea;
    color: #188a4f;
}

.tags-page[b-rgjqd049y9]  .dc-pill-inactive {
    background: #f1f1f5;
    color: #70707c;
}

.tags-page[b-rgjqd049y9]  .dc-empty {
    padding: 32px 16px;
    text-align: center;
    font-size: 13px;
    color: #9a9aa6;
}

.tags-page[b-rgjqd049y9]  .dc-input-focus {
    box-sizing: border-box;
    font-size: 14px;
    font-family: inherit;
    color: #1d1d24;
    padding: 9px 12px;
    border: 1.5px solid #5b46c8;
    border-radius: 8px;
    outline: none;
}

/* ---------- modals ---------- */

@keyframes dcFadeIn-b-rgjqd049y9 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes dcPopUp-b-rgjqd049y9 {
    from { opacity: 0; transform: translateY(8px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.tags-page[b-rgjqd049y9]  .dc-overlay {
    position: fixed;
    inset: 0;
    background: rgba(24, 22, 40, 0.42);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    animation: dcFadeIn-b-rgjqd049y9 0.15s ease;
}

.tags-page[b-rgjqd049y9]  .dc-modal {
    background: #ffffff;
    border-radius: 14px;
    max-width: calc(100vw - 48px);
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 50px rgba(20, 16, 50, 0.3);
    animation: dcPopUp-b-rgjqd049y9 0.18s ease;
}

.tags-page[b-rgjqd049y9]  .dc-modal-sm {
    width: 400px;
}

.tags-page[b-rgjqd049y9]  .dc-modal-lg {
    width: 520px;
    max-height: 78vh;
}

.tags-page[b-rgjqd049y9]  .dc-modal-head {
    padding: 20px 22px 8px 22px;
}

.tags-page[b-rgjqd049y9]  .dc-modal-title {
    font-size: 17px;
    font-weight: 600;
}

.tags-page[b-rgjqd049y9]  .dc-modal-sub {
    font-size: 12.5px;
    color: #9a9aa6;
    margin-top: 2px;
}

.tags-page[b-rgjqd049y9]  .dc-modal-text {
    font-size: 13px;
    color: #70707c;
    margin-top: 8px;
    line-height: 1.5;
}

.tags-page[b-rgjqd049y9]  .dc-modal-body {
    padding: 8px 22px 4px 22px;
}

.tags-page[b-rgjqd049y9]  .dc-modal-body .dc-input-focus {
    width: 100%;
}

.tags-page[b-rgjqd049y9]  .dc-modal-search {
    padding: 12px 22px;
}

.tags-page[b-rgjqd049y9]  .dc-modal-list {
    flex: 1;
    overflow-y: auto;
    border-top: 1px solid #f1f1f5;
    border-bottom: 1px solid #f1f1f5;
    padding: 6px;
    min-height: 180px;
}

.tags-page[b-rgjqd049y9]  .dc-modal-foot {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 22px 20px 22px;
}

.tags-page[b-rgjqd049y9]  .dc-modal-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 22px 20px 22px;
}

.tags-page[b-rgjqd049y9]  .dc-modal-stack .dc-btn {
    justify-content: center;
    padding: 10px 16px;
}

/* ---------- add-people candidates ---------- */

.tags-page[b-rgjqd049y9]  .candidate-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 8px;
    cursor: pointer;
}

.tags-page[b-rgjqd049y9]  .candidate-row:hover {
    background: #f6f5fa;
}

.tags-page[b-rgjqd049y9]  .dc-check {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #ffffff;
    border: 1.5px solid #c9c9d4;
}

.tags-page[b-rgjqd049y9]  .dc-check svg {
    visibility: hidden;
}

.tags-page[b-rgjqd049y9]  .dc-check-on {
    background: #5b46c8;
    border-color: #5b46c8;
}

.tags-page[b-rgjqd049y9]  .dc-check-on svg {
    visibility: visible;
}

.tags-page[b-rgjqd049y9]  .candidate-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #eeebfb;
    color: #5b46c8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    flex-shrink: 0;
}

.tags-page[b-rgjqd049y9]  .candidate-text {
    min-width: 0;
    flex: 1;
}

.tags-page[b-rgjqd049y9]  .candidate-name {
    font-size: 13.5px;
    font-weight: 600;
}

.tags-page[b-rgjqd049y9]  .candidate-email {
    font-size: 12px;
    color: #9a9aa6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tags-page[b-rgjqd049y9]  .candidate-personid {
    font-size: 12px;
    color: #9a9aa6;
    flex-shrink: 0;
}
/* /Components/Pages/Index.razor.rz.scp.css */
.welcome[b-ude5v3jczs] {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

[b-ude5v3jczs] .welcome-gridlayout {
    margin: auto;
    width: auto;
    height: auto;
}

[b-ude5v3jczs] .welcome-gridlayout .dxbl-gridlayout-root {
    align-content: center;
    justify-content: center;
}

[b-ude5v3jczs] .welcome-title {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.welcome-title .welcome-title-header[b-ude5v3jczs] {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0em;
    text-align: center;
}

.welcome-title .welcome-title-content[b-ude5v3jczs] {
    font-size: 1.375rem;
    font-weight: 400;
    letter-spacing: 0em;
    text-align: center;
}

/* ::deep is required here (as it is for .welcome-card) - the tiles are rendered by
   child components, so scoped selectors would not reach them. */
[b-ude5v3jczs] .welcome-tiles {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

[b-ude5v3jczs] .welcome-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

/* Shortcut cards are a launcher, not the content of the page: sized so a full set
   (7 for an operations + payroll user) fits above the fold alongside the status
   tiles rather than pushing them off it. Height matches .fatigue-tile so the two
   rows read as one grid. */
[b-ude5v3jczs] .welcome-card {
    width: 13rem;
    height: 8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s;
    border-radius: 0.75rem;
    color: var(--bs-link-color-rgb);
    gap: 0.625rem;
    text-decoration: none;
    position: relative;
}

    [b-ude5v3jczs] .welcome-card:hover {
        box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 8px 10px -6px rgba(0, 0, 0, 0.1);
    }

    [b-ude5v3jczs] .welcome-card .welcome-card-img {
        width: 3rem;
        height: 3rem;
    }

    [b-ude5v3jczs] .welcome-card .welcome-card-icon {
        font-size: 1.75rem;
        line-height: 1;
    }

    [b-ude5v3jczs] .welcome-card .welcome-card-text {
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0em;
        text-align: center;
        text-decoration: unset;
    }

    [b-ude5v3jczs] .icon-fill {
        fill: var(--bs-primary);
    }

    [b-ude5v3jczs] .welcome-card .welcome-card-back {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--bs-body-color);
        opacity: 0.05;
        border-radius: 0.75rem;
        z-index: -2;
    }
/* /Components/Pages/Jobs/CreateNewJob.razor.rz.scp.css */
/* Create-job confirmation popup. Two choice cards replace the two footer buttons, so each
   option shows what happens after the save. Plain <button> elements, not DxButton: scoped CSS
   does not reach DevExpress internals, and a card needs a title and a description line. */

.cnj[b-ak3ic274zc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 13.5px;
    color: #212529;
}

.cnj-muted[b-ak3ic274zc] {
    color: #6c757d;
}

/* Summary of the job that is about to be saved. */
.cnj-summary[b-ak3ic274zc] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
}

.cnj-summary-customer[b-ak3ic274zc] {
    font-weight: 600;
    font-size: 14.5px;
}

.cnj-summary-line[b-ak3ic274zc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.cnj-chip[b-ak3ic274zc] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 8px;
    font-size: 12px;
    font-weight: 600;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 99px;
}

/* Warnings. They sit above the choices so the user reads them first. */
.cnj-alert[b-ak3ic274zc] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 12px;
    border-left: 3px solid;
    border-radius: 0 6px 6px 0;
}

.cnj-alert-danger[b-ak3ic274zc] {
    background: #fdf3f1;
    border-color: #c23a2b;
    color: #8f2418;
}

.cnj-alert-warning[b-ak3ic274zc] {
    background: #fff8e6;
    border-color: #d99a00;
    color: #6b4b00;
}

/* The two choices. */
.cnj-choices[b-ak3ic274zc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 4px;
}

.cnj-choice[b-ak3ic274zc] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 14px 16px;
    text-align: left;
    background: #fff;
    color: #212529;
    border: 1px solid #ced4da;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

    .cnj-choice:hover:not(:disabled)[b-ak3ic274zc] {
        border-color: #495057;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
        transform: translateY(-1px);
    }

    .cnj-choice:focus-visible[b-ak3ic274zc] {
        outline: 3px solid rgba(25, 135, 84, 0.35);
        outline-offset: 2px;
    }

    .cnj-choice:disabled[b-ak3ic274zc] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.cnj-choice-icon[b-ak3ic274zc] {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 4px;
    color: #495057;
}

.cnj-choice-title[b-ak3ic274zc] {
    font-weight: 600;
    font-size: 15px;
}

.cnj-choice-text[b-ak3ic274zc] {
    font-size: 12.5px;
    line-height: 1.4;
    color: #6c757d;
}

/* "Create and open" is the default choice, so it carries the colour. */
.cnj-choice-primary[b-ak3ic274zc] {
    background: #198754;
    border-color: #198754;
    color: #fff;
}

    .cnj-choice-primary .cnj-choice-icon[b-ak3ic274zc],
    .cnj-choice-primary .cnj-choice-text[b-ak3ic274zc] {
        color: rgba(255, 255, 255, 0.85);
    }

    .cnj-choice-primary:hover:not(:disabled)[b-ak3ic274zc] {
        background: #157347;
        border-color: #146c43;
    }

@media (max-width: 575px) {
    .cnj-choices[b-ak3ic274zc] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Jobs/JobLocationUpdates.razor.rz.scp.css */
/* Job Locations map view. The map control, its popups and the P/D stop tags are DOM that the
   Azure Maps SDK creates, which scoped CSS does not reach, so those rules go through
   .jlm-wrap ::deep. The reading ramp and leg colours match wwwroot/job-location-map.js. */

.jlm-row[b-mewljetz66] {
    display: flex;
    gap: 0.75rem;
    align-items: stretch;
}

.jlm-wrap[b-mewljetz66] {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    height: calc(100vh - 330px);
    min-height: 450px;
}

.jlm-map[b-mewljetz66] {
    position: absolute;
    inset: 0;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    overflow: hidden;
}

.jlm-overlay[b-mewljetz66] {
    position: absolute;
    top: 0.75rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.875rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    font-size: 0.875rem;
    pointer-events: none;
}

.jlm-side[b-mewljetz66] {
    flex: 0 0 22rem;
    height: calc(100vh - 330px);
    min-height: 450px;
    overflow-y: auto;
    padding: 0.25rem 0.75rem 0.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    font-size: 0.8125rem;
}

.jlm-section-title[b-mewljetz66] {
    margin: 0.5rem 0 0.25rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.jlm-muted[b-mewljetz66] {
    color: var(--bs-secondary-color);
}

.jlm-leg-problem[b-mewljetz66] {
    color: #b45309;
}

.jlm-legend-item[b-mewljetz66] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
}

.jlm-swatch-line[b-mewljetz66] {
    flex: 0 0 1.5rem;
    height: 5px;
    margin-top: 0.45rem;
    border-radius: 3px;
    box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(0, 0, 0, 0.15);
}

.jlm-swatch-ramp[b-mewljetz66] {
    flex: 0 0 1.5rem;
    height: 0.75rem;
    margin-top: 0.2rem;
    border-radius: 0.375rem;
    background: linear-gradient(90deg, #fed7aa, #f97316, #9a3412);
}

.jlm-swatch-dash[b-mewljetz66] {
    flex: 0 0 1.5rem;
    height: 0;
    margin-top: 0.55rem;
    border-top: 2px dashed #4b5563;
}

.jlm-readings[b-mewljetz66] {
    width: 100%;
    border-collapse: collapse;
}

    .jlm-readings th[b-mewljetz66] {
        position: sticky;
        top: 0;
        padding: 0.25rem;
        border-bottom: 1px solid var(--bs-border-color);
        background: var(--bs-body-bg);
        font-weight: 600;
        text-align: left;
    }

    .jlm-readings td[b-mewljetz66] {
        padding: 0.25rem;
        border-bottom: 1px solid var(--bs-border-color-translucent);
        vertical-align: top;
    }

    .jlm-readings tbody tr[b-mewljetz66] {
        cursor: pointer;
    }

        .jlm-readings tbody tr:hover[b-mewljetz66] {
            background: rgba(0, 0, 0, 0.04);
        }

        .jlm-readings tbody tr.is-focus[b-mewljetz66] {
            background: rgba(249, 115, 22, 0.14);
        }

@media (max-width: 991.98px) {
    .jlm-row[b-mewljetz66] {
        flex-direction: column;
    }

    .jlm-side[b-mewljetz66] {
        flex-basis: auto;
        height: auto;
        min-height: 0;
        max-height: 24rem;
    }
}

/* ---- SDK-created DOM ---- */

.jlm-wrap[b-mewljetz66]  .jlm-popup {
    max-width: 17rem;
    max-height: 16rem;
    overflow-y: auto;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.35;
    color: #1f2937;
}

.jlm-wrap[b-mewljetz66]  .jlm-popup-item + .jlm-popup-item {
    margin-top: 0.375rem;
    padding-top: 0.375rem;
    border-top: 1px solid #e5e7eb;
}

.jlm-wrap[b-mewljetz66]  .jlm-popup-item.is-focus {
    margin-left: -0.5rem;
    padding-left: 0.375rem;
    border-left: 3px solid #f97316;
}

.jlm-wrap[b-mewljetz66]  .jlm-popup-title {
    font-weight: 600;
}

.jlm-wrap[b-mewljetz66]  .jlm-popup-muted {
    color: #6b7280;
}

/* The SDK uses this element itself as the marker and positions it absolute (.maplibregl-marker).
   Never set position here: the scoped attribute outranks the SDK rule, and a relative stop tag
   stretches to the full map width. The absolute marker is also the ::after pointer's anchor. */
.jlm-wrap[b-mewljetz66]  .jlm-stop {
    min-width: 1.75rem;
    padding: 0.0625rem 0.3125rem;
    border: 2px solid #fff;
    border-radius: 0.3125rem;
    background: var(--jlm-stop-colour, #1d4ed8);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
    color: #fff;
    font: 600 0.6875rem/1.2 system-ui, sans-serif;
    text-align: center;
    cursor: pointer;
}

    .jlm-wrap[b-mewljetz66]  .jlm-stop::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -7px;
        transform: translateX(-50%);
        border: 5px solid transparent;
        border-bottom: 0;
        border-top-color: var(--jlm-stop-colour, #1d4ed8);
    }
/* /Components/Pages/Payroll/TimesheetDay.razor.rz.scp.css */
/* Timesheet day view. Tokens from .design/timesheet-day-ribbon/reference/design-tokens. */
.tsd-header[b-zifszz61lc] { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.tsd-driver[b-zifszz61lc] { margin: 0; font-size: 21px; font-weight: 600; color: #212529; }
.tsd-meta[b-zifszz61lc] { font-size: 13px; color: #585c5e; }
.tsd-status[b-zifszz61lc] { display: inline-block; margin-left: 8px; padding: 1px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; vertical-align: middle; }
.tsd-status--pending[b-zifszz61lc] { background: #fff3cd; color: #664d03; }
.tsd-status--approved[b-zifszz61lc] { background: #d4edda; color: #10431c; }
.tsd-status--rejected[b-zifszz61lc] { background: #f8d7da; color: #58151c; }
.tsd-actions[b-zifszz61lc] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tsd-unsaved[b-zifszz61lc] { padding: 2px 10px; border-radius: 999px; background: #fff3cd; color: #664d03; font-size: 12px; font-weight: 600; }
/* Warning button: dark text, never white on yellow. */
.tsd-actions[b-zifszz61lc]  .tsd-approve, .tsd-actions[b-zifszz61lc]  .tsd-approve .dxbl-btn-caption { color: #212529 !important; }
.tsd-note[b-zifszz61lc] { padding: 6px 12px; font-size: 13px; margin-bottom: 8px; }
.tsd-pre[b-zifszz61lc] { white-space: pre-line; font-size: 12px; margin-top: 4px; }

.tsd-timeline-header[b-zifszz61lc] { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; background: #fff; }
.tsd-timeline-title[b-zifszz61lc] { margin: 0; font-size: 15px; font-weight: 600; }
.tsd-legend[b-zifszz61lc] { display: flex; gap: 12px; margin: 0; padding: 0; list-style: none; font-size: 12px; color: #585c5e; }
.tsd-legend li[b-zifszz61lc] { display: flex; align-items: center; gap: 4px; }
.tsd-key[b-zifszz61lc] { display: inline-block; width: 14px; height: 10px; border-radius: 2px; }
.tsd-key--drive[b-zifszz61lc] { background: #5f368d; }
.tsd-key--transit[b-zifszz61lc] { background: repeating-linear-gradient(135deg, #d3c7e2 0 3px, #f3eff8 3px 7px); }
.tsd-key--break[b-zifszz61lc] { background: #cceefa; border: 1px solid #00a9e6; }
.tsd-key--clock[b-zifszz61lc] { background: #f7f4fa; border: 1px solid #dee2e6; }
.tsd-tools[b-zifszz61lc] { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-left: auto; }
.tsd-tool-label[b-zifszz61lc] { align-self: center; margin-right: 6px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #585c5e; }

.tsd-cards[b-zifszz61lc] { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 12px; margin-bottom: 16px; }
.tsd-card-title[b-zifszz61lc] { margin: 0; font-size: 14px; font-weight: 600; }
.tsd-field-label[b-zifszz61lc] { display: block; font-size: 12px; font-weight: 600; color: #212529; }
.tsd-totals[b-zifszz61lc] { display: grid; grid-template-columns: auto auto; gap: 2px 16px; margin: 0 0 10px; font-size: 13px; }
.tsd-totals dt[b-zifszz61lc] { font-weight: normal; color: #585c5e; }
.tsd-totals dd[b-zifszz61lc] { margin: 0; font-variant-numeric: tabular-nums; }
.tsd-quick[b-zifszz61lc] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.tsd-tab-tools[b-zifszz61lc] { display: flex; justify-content: flex-end; margin-bottom: 8px; }

@media (max-width: 768px) {
    .tsd-tools[b-zifszz61lc] { margin-left: 0; }
}
/* /Components/Timesheets/DayRibbon.razor.rz.scp.css */
/* Timesheet Day Ribbon — scoped styles (from the design handoff).
   Colours are TM Live UI / Blazing Berry tokens (see reference/design-tokens/tokens.json):
   bs-primary #5f368d, bs-body-color #212529, bs-border-color #dee2e6, muted text #585c5e,
   bs-info #00a9e6 / info-subtle #cceefa / info-emphasis #00445c, warning-subtle #fff3cd. */

.dr[b-gap4ixplid] { font-size: .875rem; line-height: 1.5; color: #212529; }
.dr-readout[b-gap4ixplid] { margin: 0 0 4px; font-size: 13px; color: #585c5e; }
.dr-scroll[b-gap4ixplid] { overflow-x: auto; padding: 4px 32px 4px; }
.dr-track[b-gap4ixplid] { position: relative; min-width: 880px; user-select: none; -webkit-user-select: none; }

/* Bookends */
.dr-rail[b-gap4ixplid] { position: relative; height: 30px; }
.dr-book[b-gap4ixplid] {
    position: absolute; top: 2px; height: 24px; padding: 0 8px; display: flex; align-items: center; gap: 6px;
    border: 0; background: #212529; color: #fff; font: inherit; font-size: 12px; font-weight: 600; white-space: nowrap;
    cursor: ew-resize; touch-action: none;
}
.dr-book--start[b-gap4ixplid] { transform: translateX(-100%); border-radius: 4px 4px 0 4px; }
.dr-book--end[b-gap4ixplid] { border-radius: 4px 4px 4px 0; }
.dr-grip[b-gap4ixplid] { width: 6px; height: 12px; background: radial-gradient(circle, currentColor 1px, transparent 1.2px) 0 0 / 3px 4px; }
.dr-bookline[b-gap4ixplid] { position: absolute; top: 26px; height: 170px; width: 2px; margin-left: -1px; background: #212529; pointer-events: none; }
.dr-bookline--zones[b-gap4ixplid] { height: 198px; }

/* Axis */
.dr-axis[b-gap4ixplid] { position: relative; height: 20px; }
.dr-axis span[b-gap4ixplid] { position: absolute; transform: translateX(-50%); font-size: 11px; color: #585c5e; font-variant-numeric: tabular-nums; }

/* Zone strip */
.dr-zones[b-gap4ixplid] { position: relative; height: 24px; margin-bottom: 4px; }
.dr-zone[b-gap4ixplid] {
    position: absolute; top: 2px; height: 20px; box-sizing: border-box; padding: 0 6px;
    border: 1px solid #ced4da; border-radius: 4px; background: #e9ecef; color: #343a40;
    font-size: 11px; font-weight: 600; display: flex; align-items: center; justify-content: center;
    overflow: hidden; white-space: nowrap;
}
.dr-zone--cross[b-gap4ixplid] { background: #fff; border: 1px dashed #495057; color: #212529; }

/* Lanes */
.dr-lane[b-gap4ixplid] { position: relative; border-radius: 4px; }
.dr-lane--jobs[b-gap4ixplid] { height: 100px; }
.dr-lane--breaks[b-gap4ixplid] { height: 40px; margin-top: 6px; }
.dr-offclock[b-gap4ixplid] { background: repeating-linear-gradient(135deg, #e6e6e6 0 1px, #f8f8f8 1px 7px); }
.dr-band[b-gap4ixplid] { position: absolute; top: 0; bottom: 0; background: #f7f4fa; }
.dr-tick[b-gap4ixplid] { position: absolute; top: 0; bottom: 0; width: 1px; background: #ececec; }
.dr-tick--major[b-gap4ixplid] { background: #d5d9de; }
.dr-lane-label[b-gap4ixplid] {
    position: absolute; left: 8px; top: 50%; transform: translateY(-50%); pointer-events: none;
    font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #585c5e;
}
.dr-break-shadow[b-gap4ixplid] {
    position: absolute; top: 0; bottom: 0; box-sizing: border-box; background: rgba(0, 169, 230, .10);
    border-left: 1px dashed #00a9e6; border-right: 1px dashed #00a9e6;
}
.dr-ghost-line[b-gap4ixplid] { position: absolute; top: 0; bottom: 0; border-left: 2px dotted #6c757d; }

/* Transit */
.dr-transit[b-gap4ixplid] {
    position: absolute; top: 41px; height: 16px; border-radius: 2px;
    background: repeating-linear-gradient(135deg, #d3c7e2 0 3px, #f3eff8 3px 7px);
}
.dr-transit-label[b-gap4ixplid] { position: absolute; top: 60px; transform: translateX(-50%); font-size: 11px; color: #4c2b71; white-space: nowrap; }
.dr-transit-label--zone[b-gap4ixplid] { font-weight: 600; }

/* Drives */
.dr-job-label[b-gap4ixplid] { position: absolute; top: 4px; transform: translateX(-50%); font-size: 12px; font-weight: 600; color: #261638; white-space: nowrap; }
.dr-job-label--error[b-gap4ixplid] { color: #b02a37; }
.dr-ghost[b-gap4ixplid] { position: absolute; top: 26px; height: 46px; box-sizing: border-box; border: 2px dashed #8a6fae; border-radius: 4px; }
.dr-drive[b-gap4ixplid] { position: absolute; top: 26px; height: 46px; }
.dr-drive-body[b-gap4ixplid] {
    position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 4px; padding: 0 12px;
    background: #5f368d; color: #fff; font: inherit; font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden;
    font-variant-numeric: tabular-nums; cursor: grab; touch-action: none;
}
.dr-drive-body:hover[b-gap4ixplid] { filter: brightness(1.15); }
.dr-drive.is-selected .dr-drive-body[b-gap4ixplid] { background: #4c2b71; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #5f368d; }
.dr-drive.is-overlap .dr-drive-body[b-gap4ixplid] { background: #dc3545; }
.dr-edge[b-gap4ixplid] {
    position: absolute; top: 0; width: 12px; height: 100%; padding: 0; border: 0; background: transparent;
    display: flex; align-items: center; justify-content: center; cursor: ew-resize; touch-action: none;
}
.dr-edge--start[b-gap4ixplid] { left: -6px; }
.dr-edge--end[b-gap4ixplid] { right: -6px; }
.dr-edge span[b-gap4ixplid] { width: 4px; height: 20px; border-radius: 2px; background: #fff; box-shadow: 0 0 0 1px #5f368d; }
.dr-edge-time[b-gap4ixplid] { position: absolute; top: 78px; font-size: 11px; font-weight: 600; color: #261638; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dr-edge-time--start[b-gap4ixplid] { transform: translateX(-100%); padding-right: 4px; }
.dr-edge-time--end[b-gap4ixplid] { padding-left: 4px; }

/* Breaks */
.dr-break[b-gap4ixplid] { position: absolute; top: 7px; height: 26px; }
.dr-break-body[b-gap4ixplid] {
    position: absolute; inset: 0; width: 100%; height: 100%; box-sizing: border-box; padding: 0 8px;
    border: 1px solid #00a9e6; border-radius: 4px; background: #cceefa; color: #00445c;
    font: inherit; font-size: 11px; font-weight: 600; white-space: nowrap; overflow: hidden; cursor: grab; touch-action: none;
}
.dr-break.is-selected .dr-break-body[b-gap4ixplid] { background: #99ddf5; border-color: #00445c; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #00445c; }
.dr-break .dr-edge span[b-gap4ixplid] { width: 3px; height: 14px; background: #00445c; box-shadow: none; }
.dr-edge-time--break[b-gap4ixplid] { top: 12px; color: #00445c; padding-left: 8px; padding-right: 8px; }

/* Brackets */
.dr-brackets[b-gap4ixplid] { position: relative; height: 36px; }
.dr-bracket[b-gap4ixplid] { position: absolute; top: 4px; height: 8px; box-sizing: border-box; border: 1px solid #adb5bd; border-top: 0; }
.dr-bracket.is-selected[b-gap4ixplid] { border-color: #5f368d; }
.dr-bracket-label[b-gap4ixplid] { position: absolute; top: 13px; transform: translateX(-50%); font-size: 11px; color: #585c5e; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dr-bracket-label.is-selected[b-gap4ixplid] { color: #4c2b71; }

/* Checks */
.dr-checks[b-gap4ixplid] { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dr-check[b-gap4ixplid] { display: inline-flex; align-items: center; gap: 8px; padding: 3px 12px 3px 3px; border-radius: 999px; border: 1px solid; font-size: 13px; }
.dr-check-tag[b-gap4ixplid] { padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.dr-check--error[b-gap4ixplid] { background: #f8d7da; border-color: #f1aeb5; color: #58151c; }
.dr-check--error .dr-check-tag[b-gap4ixplid] { background: #dc3545; color: #fff; }
.dr-check--warn[b-gap4ixplid] { background: #fff3cd; border-color: #ffe69c; color: #664d03; }
.dr-check--warn .dr-check-tag[b-gap4ixplid] { background: #ffc107; color: #212529; }
.dr-check--zone[b-gap4ixplid] { background: #fff; border-color: #495057; color: #212529; }
.dr-check--zone .dr-check-tag[b-gap4ixplid] { background: #343a40; color: #fff; }
.dr-check--info[b-gap4ixplid] { background: #f3eff8; border-color: #bfafd1; color: #261638; }
.dr-check--info .dr-check-tag[b-gap4ixplid] { background: #5f368d; color: #fff; }
.dr-check--ok[b-gap4ixplid] { background: #d4edda; border-color: #a9dcb5; color: #10431c; }
.dr-check--ok .dr-check-tag[b-gap4ixplid] { background: #198754; color: #fff; }

/* Locked items: no grab cursor, muted fill, lock icon in the label */
.dr-book.is-locked[b-gap4ixplid] { cursor: default; background: #6c757d; }
.dr-drive.is-locked .dr-drive-body[b-gap4ixplid] { cursor: pointer; background: #8a6fae; }
.dr-drive.is-locked.is-selected .dr-drive-body[b-gap4ixplid] { background: #6f5592; }
.dr-break.is-locked .dr-break-body[b-gap4ixplid] { cursor: pointer; }
.dr-drive-body .bi[b-gap4ixplid], .dr-nondriving-body .bi[b-gap4ixplid] { font-size: 10px; margin-right: 2px; }

/* Non-driving leg: the whole shift, hatched, read-only */
.dr-nondriving[b-gap4ixplid] { position: absolute; top: 26px; height: 46px; }
.dr-nondriving-body[b-gap4ixplid] {
    position: absolute; inset: 0; width: 100%; height: 100%; border: 1px dashed #5f368d; border-radius: 4px; padding: 0 12px;
    background: repeating-linear-gradient(135deg, #e4dcef 0 6px, #f3eff8 6px 12px); color: #261638;
    font: inherit; font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; cursor: pointer; text-align: left;
}
.dr-nondriving.is-selected .dr-nondriving-body[b-gap4ixplid] { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #5f368d; }

/* Focus */
.dr button:focus-visible[b-gap4ixplid] { outline: 2px solid #5f368d; outline-offset: 2px; }
/* /Components/Timesheets/JobFilesWindow.razor.rz.scp.css */
.jfw[b-p3hwvps4o4] { display: flex; flex-direction: column; gap: 10px; height: 72vh; min-height: 420px; }
.jfw-toolbar[b-p3hwvps4o4] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.jfw-filters[b-p3hwvps4o4] { display: flex; gap: 4px; flex-wrap: wrap; }
.jfw-label[b-p3hwvps4o4] { font-size: 12px; font-weight: 600; color: #585c5e; min-width: 70px; }
.jfw-muted[b-p3hwvps4o4] { font-size: 12px; color: #585c5e; }
.jfw-upload-row[b-p3hwvps4o4]  .jfw-grow, .jfw-edit-row[b-p3hwvps4o4]  .jfw-grow { flex: 1 1 auto; min-width: 0; }
.jfw-empty[b-p3hwvps4o4] { margin: 24px 0; text-align: center; color: #585c5e; }

.jfw-upload[b-p3hwvps4o4] { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid #bfafd1; border-radius: 6px; background: #faf8fc; }
.jfw-upload-row[b-p3hwvps4o4] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.jfw-upstatus[b-p3hwvps4o4] { margin: 0; padding-left: 0; list-style: none; font-size: 12px; max-height: 110px; overflow: auto; }

.jfw-split[b-p3hwvps4o4] { display: grid; grid-template-columns: 320px 1fr; gap: 10px; flex: 1 1 auto; min-height: 0; }
.jfw-list[b-p3hwvps4o4] { margin: 0; padding: 0; list-style: none; overflow: auto; border: 1px solid #dee2e6; border-radius: 6px; }
.jfw-item[b-p3hwvps4o4] { display: flex; gap: 8px; width: 100%; padding: 6px; border: 0; border-bottom: 1px solid #eef0f2; background: #fff; text-align: left; }
.jfw-item:hover[b-p3hwvps4o4] { background: #f8f9fa; }
.jfw-item--selected[b-p3hwvps4o4], .jfw-item--selected:hover[b-p3hwvps4o4] { background: #f3eff8; box-shadow: inset 3px 0 0 #5f368d; }
.jfw-thumb[b-p3hwvps4o4] { flex: 0 0 56px; height: 56px; display: flex; align-items: center; justify-content: center; border-radius: 4px; background: #f1f3f5; overflow: hidden; }
.jfw-thumb img[b-p3hwvps4o4] { width: 100%; height: 100%; object-fit: cover; }
.jfw-thumb .bi[b-p3hwvps4o4] { font-size: 24px; color: #6c757d; }
.jfw-item-text[b-p3hwvps4o4] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.jfw-item-title[b-p3hwvps4o4] { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jfw-item-sub[b-p3hwvps4o4] { display: flex; gap: 4px; flex-wrap: wrap; }
.jfw-item-date[b-p3hwvps4o4] { font-size: 11px; color: #585c5e; font-variant-numeric: tabular-nums; }
.jfw-chip[b-p3hwvps4o4] { display: inline-block; padding: 0 6px; border-radius: 999px; background: #f3eff8; color: #261638; border: 1px solid #bfafd1; font-size: 11px; font-weight: 600; white-space: nowrap; }
.jfw-chip--muted[b-p3hwvps4o4] { background: #fff; border-color: #ced4da; color: #495057; }
.jfw-chip--leg[b-p3hwvps4o4] { background: #e7f1ff; border-color: #9ec5fe; color: #052c65; }

.jfw-preview[b-p3hwvps4o4] { display: flex; flex-direction: column; gap: 8px; min-height: 0; border: 1px solid #dee2e6; border-radius: 6px; padding: 8px; }
.jfw-viewer[b-p3hwvps4o4] { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; min-height: 0; border-radius: 4px; }
.jfw-viewer:focus-visible[b-p3hwvps4o4] { outline: 2px solid #5f368d; outline-offset: 2px; }
.jfw-nav[b-p3hwvps4o4] { display: flex; align-items: center; gap: 6px; }
.jfw-view[b-p3hwvps4o4] { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; background: #f8f9fa; border-radius: 4px; overflow: hidden; }
.jfw-view img[b-p3hwvps4o4] { max-width: 100%; max-height: 100%; object-fit: contain; }
.jfw-view iframe[b-p3hwvps4o4] { width: 100%; height: 100%; border: 0; background: #fff; }
.jfw-edit[b-p3hwvps4o4] { display: flex; flex-direction: column; gap: 6px; }
.jfw-edit-row[b-p3hwvps4o4] { display: flex; align-items: center; gap: 8px; }
.jfw-edit-row[b-p3hwvps4o4]  .jfw-combo { width: 180px; }
/* /Components/Timesheets/PayGradeOverridePanel.razor.rz.scp.css */
.pgo[b-q1080h6hes] { margin: 0 0 12px; border-color: #bfafd1; background: #fbfafd; }
.pgo-lead[b-q1080h6hes] { margin: 0 0 10px; font-size: 13px; color: #585c5e; }
.pgo-row[b-q1080h6hes] { display: flex; flex-wrap: wrap; gap: 12px; }
.pgo-field[b-q1080h6hes] { display: flex; flex-direction: column; gap: 2px; min-width: 220px; }
.pgo-field--reason[b-q1080h6hes] { flex: 1; min-width: 260px; }
.pgo-label[b-q1080h6hes] { font-size: 12px; font-weight: 600; color: #212529; }
.pgo-buttons[b-q1080h6hes] { display: flex; gap: 8px; margin-top: 12px; }
/* /Components/Timesheets/ReceiptAddPopup.razor.rz.scp.css */
.rap[b-hohvlzh804] { display: grid; grid-template-columns: 120px 1fr; gap: 8px 10px; align-items: center; }
.rap-label[b-hohvlzh804] { font-size: 12px; font-weight: 600; color: #585c5e; }
.rap-hint[b-hohvlzh804] { margin-top: 2px; font-size: 11px; color: #585c5e; }
.rap-actions[b-hohvlzh804] { display: flex; gap: 8px; margin-top: 14px; }
/* /Components/Timesheets/TimesheetDayBreaksGrid.razor.rz.scp.css */
.tdb-time[b-0r66nxdjx2] { display: flex; align-items: center; gap: 4px; }
.tdb-time[b-0r66nxdjx2]  .tdb-timeedit { width: 80px; }
.tdb-zone[b-0r66nxdjx2] { font-size: 10px; font-weight: 600; color: #00445c; }
.tdb-was[b-0r66nxdjx2] { font-size: 11px; color: #00445c; font-style: italic; }
.tdb-new[b-0r66nxdjx2] { padding: 0 6px; border-radius: 999px; background: #cceefa; color: #00445c; font-size: 11px; font-weight: 600; }
.tdb-hint[b-0r66nxdjx2] { margin: 6px 0 0; font-size: 12px; color: #585c5e; }
.tdb-wrap[b-0r66nxdjx2]  .tdb-row--selected > td { background: #e6f6fd !important; box-shadow: inset 3px 0 0 #00445c; }
/* /Components/Timesheets/TimesheetDayLegsGrid.razor.rz.scp.css */
.tdl-sub[b-kdyju81e9i] { font-size: 11px; color: #585c5e; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tdl-muted[b-kdyju81e9i] { color: #585c5e; font-variant-numeric: tabular-nums; }
.tdl-type[b-kdyju81e9i] { max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tdl-seq[b-kdyju81e9i] { font-weight: 600; min-width: 24px; }
.tdl-time[b-kdyju81e9i] { display: flex; align-items: center; gap: 4px; }
.tdl-time[b-kdyju81e9i]  .tdl-timeedit { width: 80px; }
.tdl-was[b-kdyju81e9i] { font-size: 11px; color: #4c2b71; font-style: italic; }
.tdl-lock[b-kdyju81e9i] { font-size: 10px; color: #6c757d; }
.tdl-zone[b-kdyju81e9i] { padding: 0 5px; border: 1px solid #495057; border-radius: 3px; font-size: 10px; font-weight: 600; color: #212529; }
.tdl-chip[b-kdyju81e9i] { display: inline-block; margin: 1px 4px 1px 0; padding: 0 7px; border-radius: 999px; background: #f3eff8; color: #261638; border: 1px solid #bfafd1; font-size: 11px; font-weight: 600; white-space: nowrap; }
.tdl-chip--error[b-kdyju81e9i] { background: #f8d7da; border-color: #f1aeb5; color: #58151c; }
.tdl-chip--warn[b-kdyju81e9i] { background: #fff3cd; border-color: #ffe69c; color: #664d03; }
.tdl-chip--zone[b-kdyju81e9i] { background: #fff; border-color: #495057; color: #212529; }
.tdl-files[b-kdyju81e9i] { display: inline-flex; align-items: center; gap: 2px; font-weight: 600; text-decoration: none; }
.tdl-files--none[b-kdyju81e9i] { font-weight: 400; color: #585c5e; }
.tdl-hint[b-kdyju81e9i] { margin: 6px 0 0; font-size: 12px; color: #585c5e; }
.tdl-wrap[b-kdyju81e9i]  .tdl-row--selected > td { background: #f3eff8 !important; box-shadow: inset 3px 0 0 #5f368d; }
.tdl-wrap[b-kdyju81e9i]  .tdl-row--error > td { background: #fdf3f4 !important; }
/* /Components/Timesheets/TimesheetDaySummary.razor.rz.scp.css */
/* Summary strip. Tokens: border #dee2e6, muted #585c5e, primary #5f368d, tint #f3eff8. */
.tds[b-njmiuttd0a] { display: flex; flex-wrap: wrap; border: 1px solid #dee2e6; border-radius: 6px; background: #fff; margin: 8px 0 12px; }
.tds-tile[b-njmiuttd0a] { flex: 1 1 150px; min-width: 150px; padding: 10px 14px; border-right: 1px solid #dee2e6; }
.tds-tile:last-child[b-njmiuttd0a] { border-right: 0; }
.tds-tile--payroll[b-njmiuttd0a] { background: #f3eff8; }
.tds-tile--adjust[b-njmiuttd0a] { flex-basis: 220px; }
.tds-label[b-njmiuttd0a] { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #585c5e; }
.tds-value[b-njmiuttd0a] { font-size: 18px; font-weight: 600; color: #212529; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tds-sub[b-njmiuttd0a] { font-size: 12px; color: #585c5e; }
.tds-pill[b-njmiuttd0a] { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: #5f368d; color: #fff; font-size: 11px; font-weight: 600; vertical-align: middle; }
.tds-links[b-njmiuttd0a] { display: flex; gap: 12px; }
.tds-adjust[b-njmiuttd0a] { display: flex; gap: 6px; margin-top: 2px; }
.tds-adjust[b-njmiuttd0a]  .tds-adjust-hours { width: 90px; }
.tds-adjust[b-njmiuttd0a]  .tds-adjust-reason { flex: 1; min-width: 100px; }
