@import '_content/Advising.UI/Advising.UI.ehl0vkf1rf.bundle.scp.css';

/* _content/CaseManagement.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-wdfqwiirk4] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-wdfqwiirk4] {
    flex: 1;
}

.sidebar[b-wdfqwiirk4] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-wdfqwiirk4] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-wdfqwiirk4]  a, .top-row[b-wdfqwiirk4]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-wdfqwiirk4]  a:hover, .top-row[b-wdfqwiirk4]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-wdfqwiirk4]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-wdfqwiirk4] {
        justify-content: space-between;
    }

    .top-row[b-wdfqwiirk4]  a, .top-row[b-wdfqwiirk4]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-wdfqwiirk4] {
        flex-direction: row;
    }

    .sidebar[b-wdfqwiirk4] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-wdfqwiirk4] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-wdfqwiirk4]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-wdfqwiirk4], article[b-wdfqwiirk4] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-wdfqwiirk4] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    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-wdfqwiirk4] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* Footer strip under the page body. Deliberately quiet: it carries a legal
   obligation, not a call to action. */
.cms-foot[b-wdfqwiirk4] {
    border-top: 1px solid #e3e2dd;
    font-size: 12px;
    margin-top: 32px;
    padding: 12px 1.25rem;
    text-align: right;
}

    .cms-foot a[b-wdfqwiirk4] {
        color: #6b6b66;
        text-decoration: none;
    }

        .cms-foot a:hover[b-wdfqwiirk4] {
            color: #2166AC;
            text-decoration: underline;
        }
/* _content/CaseManagement.Web/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-9jxnfl6x4r] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-9jxnfl6x4r] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-9jxnfl6x4r] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-9jxnfl6x4r] {
    font-size: 1.1rem;
}

.bi[b-9jxnfl6x4r] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-9jxnfl6x4r] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-9jxnfl6x4r] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-9jxnfl6x4r] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-9jxnfl6x4r] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-9jxnfl6x4r] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-9jxnfl6x4r] {
        padding-bottom: 1rem;
    }

    .nav-item[b-9jxnfl6x4r]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-9jxnfl6x4r]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-9jxnfl6x4r]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-9jxnfl6x4r] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-9jxnfl6x4r] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-9jxnfl6x4r] {
        display: none;
    }

    .nav-scrollable[b-9jxnfl6x4r] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratBar.razor.rz.scp.css */
.spbar[b-gr7og5ur0r] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.spbar-top[b-gr7og5ur0r] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.spbar-pct[b-gr7og5ur0r] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #02084B;
}

.spbar-note[b-gr7og5ur0r] {
    font-size: 11px;
    color: #64748B;
    text-align: right;
}

.spbar-track[b-gr7og5ur0r] {
    position: relative;
    height: 8px;
    border-radius: 999px;
    background: #E5E7EB;
    overflow: hidden;
}

.spbar-fill[b-gr7og5ur0r] {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    border-radius: 999px;
    background: var(--spbar-c);
    transition: width 0.6s ease;
}

.spbar.lg .spbar-pct[b-gr7og5ur0r] {
    font-size: 22px;
}

.spbar.lg .spbar-track[b-gr7og5ur0r] {
    height: 14px;
}

@media (prefers-reduced-motion: reduce) {
    .spbar-fill[b-gr7og5ur0r] {
        transition: none;
    }
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratEvidenceViewer.razor.rz.scp.css */
.spv[b-mdd9087c0o] {
    position: fixed;
    top: 80px;
    right: 40px;
    width: 1000px;
    max-width: calc(100vw - 32px);
    height: 80vh;
    max-height: calc(100vh - 100px);
    z-index: 1055;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    background: #fff;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, 0.15);
}

.spv-head[b-mdd9087c0o] {
    background: #02084B;
    color: #fff;
    border-radius: 8px 8px 0 0;
    user-select: none;
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    cursor: move;
}

.spv-name[b-mdd9087c0o] {
    font-weight: 600;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.spv-tools[b-mdd9087c0o] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.spv-btn[b-mdd9087c0o] {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 12.5px;
    text-decoration: none;
    cursor: pointer;
}

.spv-body[b-mdd9087c0o] {
    flex: 1;
    overflow: auto;
    border-radius: 0 0 8px 8px;
    position: relative;
}

.spv-body.pdf[b-mdd9087c0o] {
    overflow: hidden;
    background: #525659;
}

.spv-body.img[b-mdd9087c0o] {
    background: #F1F5F9;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 12px;
}

.spv-body.img img[b-mdd9087c0o] {
    max-width: 100%;
    height: auto;
}

.spv-body.other[b-mdd9087c0o] {
    padding: 24px;
    font-size: 14px;
}

.spv-dl[b-mdd9087c0o] {
    color: #057EE6;
}

@media (max-width: 640px) {
    .spv[b-mdd9087c0o] {
        top: 60px;
        right: 16px;
        left: 16px;
        width: auto;
    }

    .spv-tools .spv-btn:nth-child(-n+2)[b-mdd9087c0o] {
        display: none;
    }
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratGauge.razor.rz.scp.css */
.spg[b-jfv5f88xwd] {
    position: relative;
    display: inline-block;
    flex: none;
    width: var(--spg-size);
    height: var(--spg-size);
    border-radius: 50%;
    overflow: hidden;
    vertical-align: middle;
}

.spg.imp[b-jfv5f88xwd] {
    background: color-mix(in srgb, var(--spg-c) 30%, #fff);
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--spg-c) 60%, #fff);
}

.spg.sys[b-jfv5f88xwd] {
    background: #D9D9D9;
}

.spg-fill[b-jfv5f88xwd] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    background: var(--spg-c);
    transition: height 0.6s ease;
}

.spg-glyph[b-jfv5f88xwd] {
    display: block;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.spg-under[b-jfv5f88xwd] {
    position: absolute;
    inset: 0;
}

.spg.imp .spg-under[b-jfv5f88xwd] {
    background: color-mix(in srgb, var(--spg-c) 55%, #1F2733);
}

.spg.sys .spg-under[b-jfv5f88xwd] {
    background: #111827;
}

.spg-over[b-jfv5f88xwd] {
    position: absolute;
    left: 0;
    bottom: 0;
    width: var(--spg-size);
    height: var(--spg-size);
    background: #fff;
}

@media (prefers-reduced-motion: reduce) {
    .spg-fill[b-jfv5f88xwd] {
        transition: none;
    }
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratGoalFigure.razor.rz.scp.css */
.sgf[b-l0fqijigr5] {
    background: #fff;
    border: 1px solid #DCE3EC;
    border-radius: 8px;
    padding: 8px 10px;
}

.sgf-l[b-l0fqijigr5] {
    font-size: 12px;
    color: #64748B;
    font-weight: 600;
}

.sgf-n[b-l0fqijigr5] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: #02084B;
    line-height: 1.2;
}

.sgf-of[b-l0fqijigr5] {
    font-family: inherit;
    font-weight: 400;
    font-size: 12.5px;
    color: #475569;
}

.sgf-c[b-l0fqijigr5] {
    font-size: 12px;
    color: #475569;
    margin-top: 3px;
}

.sgf-src[b-l0fqijigr5] {
    font-size: 11px;
    color: #94A3B8;
    margin-top: 4px;
}

.sgf-cnt[b-l0fqijigr5] {
    font-size: 13px;
    font-weight: 600;
    color: #02084B;
}

.sgf-cp[b-l0fqijigr5] {
    font-weight: 600;
}

.sgf-cp.met[b-l0fqijigr5] {
    color: #15803D;
}

.sgf-cp.miss[b-l0fqijigr5] {
    color: #B91C1C;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratMeasureEditor.razor.rz.scp.css */
.sme[b-aqythqyicd] {
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #F8FAFC;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.sme-row[b-aqythqyicd] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    border-top: 1px dashed #E2E8F0;
    padding-top: 6px;
}

.sme-in[b-aqythqyicd] {
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 13px;
    flex: 1 1 260px;
    min-width: 0;
}

.sme-in.sm[b-aqythqyicd] {
    flex: 0 0 180px;
}

.sme-num[b-aqythqyicd] {
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 13px;
    width: 90px;
}

.sme-btn[b-aqythqyicd] {
    border: 1px solid #02084B;
    background: #02084B;
    color: #fff;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: 12.5px;
    cursor: pointer;
}

.sme-btn.ghost[b-aqythqyicd] {
    background: #fff;
    color: #02084B;
}

.sme-btn:disabled[b-aqythqyicd] {
    opacity: .5;
    cursor: default;
}

.sme-link[b-aqythqyicd] {
    background: none;
    border: none;
    color: #057EE6;
    font-weight: 600;
    font-size: 12.5px;
    cursor: pointer;
    padding: 0 4px;
}

.sme-hint[b-aqythqyicd] {
    margin: 0;
    font-size: 12px;
    color: #64748B;
}

.sme-def[b-aqythqyicd] {
    flex: 1 1 100%;
    font-size: 12px;
    color: #475569;
}

.sme-actions[b-aqythqyicd] {
    display: flex;
    gap: 10px;
}

.sme-err[b-aqythqyicd] {
    color: #B91C1C;
    font-size: 12.5px;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratOwnerNotices.razor.rz.scp.css */
.son[b-qoy5esd3k4] {
    border: 1px solid #DCE3EC;
    border-radius: 8px;
    padding: 12px 14px;
    margin: 0 0 16px;
    max-width: 980px;
    background: #fff;
}

.son h3[b-qoy5esd3k4] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 16px;
    color: #02084B;
    margin: 0 0 4px;
}

.son-note[b-qoy5esd3k4] {
    font-size: 13px;
    color: #475569;
    margin: 0 0 8px;
}

.son-row[b-qoy5esd3k4] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    font-size: 13px;
    margin-top: 8px;
}

.son-row label[b-qoy5esd3k4] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.son-count[b-qoy5esd3k4], .son-hint[b-qoy5esd3k4] {
    color: #64748B;
    font-size: 12.5px;
}

.son-confirm[b-qoy5esd3k4] {
    font-weight: 600;
    color: #02084B;
}

.son-btn[b-qoy5esd3k4] {
    border: 1px solid #02084B;
    background: #02084B;
    color: #fff;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: 12.5px;
    cursor: pointer;
}

.son-btn.ghost[b-qoy5esd3k4] {
    background: #fff;
    color: #02084B;
}

.son-btn:disabled[b-qoy5esd3k4] {
    opacity: .5;
    cursor: default;
}

.son-msg[b-qoy5esd3k4] {
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #ECFDF3;
    color: #065F46;
    font-size: 13px;
}

.son-msg.err[b-qoy5esd3k4] {
    background: #FEF2F2;
    color: #991B1B;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratPlanArea.razor.rz.scp.css */
.spa-back[b-6y6mwthsln] {
    color: #057EE6;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
}

.spa-note[b-6y6mwthsln] {
    font-size: 12.5px;
    color: #64748B;
}

.spa-terms[b-6y6mwthsln] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    margin: 12px 0 16px;
}

.spa-term[b-6y6mwthsln] {
    border: 1px solid #CBD5E1;
    background: #fff;
    color: #02084B;
    border-radius: 999px;
    padding: 5px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.spa-term.on[b-6y6mwthsln] {
    background: #02084B;
    border-color: #02084B;
    color: #fff;
}

.spa-count[b-6y6mwthsln] {
    font-size: 12.5px;
    color: #475569;
    margin-left: 6px;
}

.spa-goals[b-6y6mwthsln],
.spa-strategy[b-6y6mwthsln] {
    background: #fff;
    border: 1px solid #E7E2DA;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 14px;
}

.spa-goals[b-6y6mwthsln] {
    border-left: 4px solid #B45309;
}

.spa-goals h3[b-6y6mwthsln],
.spa-strategy-h[b-6y6mwthsln] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 14.5px;
    color: #02084B;
    margin: 0 0 10px;
    line-height: 1.4;
}

.spa-goal[b-6y6mwthsln] {
    padding: 8px 0;
    border-top: 1px solid #F1EDE6;
}

.spa-goal:first-of-type[b-6y6mwthsln] {
    border-top: none;
}

.spa-goal-text[b-6y6mwthsln] {
    font-weight: 600;
    font-size: 13.5px;
    color: #1F2733;
    margin-bottom: 6px;
}

.spa-tactic[b-6y6mwthsln] {
    padding: 10px 0;
    border-top: 1px solid #F1EDE6;
}

.spa-tactic:first-of-type[b-6y6mwthsln] {
    border-top: none;
}

.spa-tactic-head[b-6y6mwthsln] {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
}

.spa-tactic-text[b-6y6mwthsln] {
    font-weight: 600;
    font-size: 13.5px;
    color: #1F2733;
    flex: 1;
    min-width: 220px;
}

.spa-ref[b-6y6mwthsln] {
    font-size: 11.5px;
    color: #64748B;
    white-space: nowrap;
}

.spa-field[b-6y6mwthsln] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 8px;
    font-size: 12.5px;
    margin-top: 5px;
    color: #334155;
}

.spa-k[b-6y6mwthsln] {
    color: #64748B;
    font-weight: 600;
    min-width: 58px;
}

.spa-v[b-6y6mwthsln] {
    flex: 1;
    min-width: 160px;
}

.spa-missing[b-6y6mwthsln] {
    color: #8A6A00;
    font-style: italic;
}

.spa-term-row[b-6y6mwthsln] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.spa-tcell[b-6y6mwthsln] {
    border: 1px solid #EEF2F6;
    border-radius: 8px;
    padding: 6px 8px;
    background: #FBFCFD;
    min-width: 0;
}

.spa-tcell.sel[b-6y6mwthsln] {
    border-color: #057EE6;
    background: #F3F8FE;
}

.spa-ev[b-6y6mwthsln] {
    font-size: 12px;
    color: #334155;
    margin-top: 4px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .spa-term-row[b-6y6mwthsln] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.spa-prog[b-6y6mwthsln] {
    margin-top: 10px;
    border-top: 1px dashed #E2E8F0;
    padding-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.spa-prog-meta[b-6y6mwthsln] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.spa-chip[b-6y6mwthsln] {
    font-size: 11px;
    border: 1px solid #0B2F63;
    color: #0B2F63;
    border-radius: 999px;
    padding: 1px 8px;
}

.spa-chip.upd[b-6y6mwthsln] {
    border-color: #A7F3D0;
    background: #ECFDF3;
    color: #065F46;
}

.spa-file[b-6y6mwthsln] {
    border: 1px solid #CBD5E1;
    background: #fff;
    border-radius: 999px;
    padding: 2px 10px;
    font-size: 12px;
    color: #02084B;
    cursor: pointer;
}

.spa-btn[b-6y6mwthsln] {
    border: 1px solid #02084B;
    background: #02084B;
    color: #fff;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: 12.5px;
    cursor: pointer;
    margin-left: auto;
}

.spa-narr[b-6y6mwthsln] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 3px 12px;
    margin: 0;
    font-size: 12.5px;
}

.spa-narr dt[b-6y6mwthsln] {
    color: #64748B;
    font-weight: 600;
}

.spa-narr dd[b-6y6mwthsln] {
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .spa-narr[b-6y6mwthsln] {
        grid-template-columns: 1fr;
    }

    .spa-btn[b-6y6mwthsln] {
        margin-left: 0;
    }
}

.spa-chip.met[b-6y6mwthsln] {
    border-color: #065F46;
    background: #065F46;
    color: #fff;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratPlanBoard.razor.rz.scp.css */
.spb[b-slkj0p7oek] {
    margin-top: 16px;
}

.spb-band[b-slkj0p7oek] {
    background: #02084B;
    color: #fff;
    border-radius: 0 0 48px 48px;
    padding: 10px 24px 14px;
    text-align: center;
    max-width: 560px;
    margin: 0 auto -2px;
    position: relative;
    z-index: 1;
}

.spb-band.sys[b-slkj0p7oek] {
    background: #6E6E6E;
}

.spb-band-t[b-slkj0p7oek] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.spb-band-s[b-slkj0p7oek] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 17px;
}

.spb-band-s b[b-slkj0p7oek] {
    color: #FFCC00;
}

.spb-box[b-slkj0p7oek] {
    border: 6px solid #E5E7EB;
    background: #fff;
    padding: 28px 14px 18px;
    margin-top: -26px;
}

.spb-box.sys[b-slkj0p7oek] {
    border-color: #D9D9D9;
}

.spb-cols[b-slkj0p7oek] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.spb-col[b-slkj0p7oek] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.spb-head[b-slkj0p7oek] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 8px 6px;
    border-radius: 12px;
    color: inherit;
    text-decoration: none;
}

.spb-head:hover[b-slkj0p7oek],
.spb-head:focus-visible[b-slkj0p7oek] {
    background: #F3F6FA;
    outline: none;
}

.spb-gpct[b-slkj0p7oek] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #02084B;
}

.spb-col-h[b-slkj0p7oek] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #111827;
    text-align: center;
    text-transform: uppercase;
    line-height: 1.15;
    min-height: 56px;
}

.spb-goals[b-slkj0p7oek] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.spb-goal[b-slkj0p7oek] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px;
    border-radius: 10px;
    color: inherit;
    text-decoration: none;
    border: 1px solid transparent;
}

.spb-goal:hover[b-slkj0p7oek],
.spb-goal:focus-visible[b-slkj0p7oek] {
    border-color: #DCE3EC;
    background: #F8FAFC;
    outline: none;
}

.spb-goal-t[b-slkj0p7oek] {
    display: flex;
    gap: 7px;
    font-size: 13px;
    color: #1F2733;
    line-height: 1.35;
}

.spb-sq[b-slkj0p7oek] {
    flex: none;
    width: 7px;
    height: 7px;
    margin-top: 6px;
    background: #02084B;
}

.spb-mid[b-slkj0p7oek] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 18px 0 26px;
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 24px;
    color: #4B5563;
    line-height: 1.25;
    text-align: center;
}

.spb-mid b[b-slkj0p7oek] {
    color: #02084B;
    font-weight: 700;
}

.spb-arrows[b-slkj0p7oek] {
    display: flex;
    justify-content: space-around;
    padding: 6px 10% 0;
}

.spb-arrows svg[b-slkj0p7oek] {
    width: 16px;
    height: 30px;
}

.spb-foot[b-slkj0p7oek] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    background: #0B2F63;
    color: #fff;
    padding: 18px 24px;
    font-family: 'Poppins', 'Segoe UI', sans-serif;
}

.spb-foot-l[b-slkj0p7oek] {
    font-weight: 800;
    font-size: 20px;
    line-height: 1.15;
    padding-right: 28px;
    border-right: 3px solid #fff;
}

.spb-foot-r[b-slkj0p7oek] {
    font-size: 19px;
    line-height: 1.25;
}

.spb-foot-r b[b-slkj0p7oek] {
    font-weight: 700;
}

.spb-year[b-slkj0p7oek] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #475569;
    letter-spacing: .02em;
}

@media (max-width: 1100px) {
    .spb-cols[b-slkj0p7oek] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .spb-cols[b-slkj0p7oek] {
        grid-template-columns: minmax(0, 1fr);
    }

    .spb-mid[b-slkj0p7oek] {
        font-size: 18px;
    }

    .spb-foot[b-slkj0p7oek] {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .spb-foot-l[b-slkj0p7oek] {
        border-right: 0;
        padding-right: 0;
    }

    .spb-arrows[b-slkj0p7oek] {
        display: none;
    }
}

.spb-num[b-slkj0p7oek] {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #02084B;
}

.spb-cp[b-slkj0p7oek] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #475569;
}

.spb-cp.met[b-slkj0p7oek] {
    color: #15803D;
}

.spb-cp.miss[b-slkj0p7oek] {
    color: #B91C1C;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratPlanDashboard.razor.rz.scp.css */
.sp-source[b-flhfd2wbto] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    align-items: center;
    font-size: 13px;
    color: #64748B;
    margin-top: 6px;
}

.sp-link[b-flhfd2wbto] {
    color: #057EE6;
    font-weight: 600;
    text-decoration: underline;
}

.sp-note[b-flhfd2wbto] {
    font-size: 12.5px;
    color: #64748B;
    margin: 8px 0 0;
}

.sp-empty[b-flhfd2wbto] {
    background: #fff;
    border: 1px solid #E7E2DA;
    border-radius: 12px;
    padding: 18px 20px;
}

.sp-terms[b-flhfd2wbto] {
    display: flex;
    gap: 6px;
    margin: 14px 0 10px;
    flex-wrap: wrap;
}

.sp-term[b-flhfd2wbto] {
    border: 1px solid #CBD5E1;
    background: #fff;
    color: #02084B;
    border-radius: 999px;
    padding: 5px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.sp-term.on[b-flhfd2wbto] {
    background: #02084B;
    border-color: #02084B;
    color: #fff;
}

.sp-totals[b-flhfd2wbto] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 22px;
    background: #fff;
    border: 1px solid #E7E2DA;
    border-radius: 12px;
    padding: 14px 18px;
}

.sp-total[b-flhfd2wbto] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.sp-total-n[b-flhfd2wbto] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 26px;
    color: #02084B;
    line-height: 1;
}

.sp-other-l[b-flhfd2wbto] {
    font-size: 12px;
    color: #3F3D56;
    font-weight: 600;
}

.sp-total-cap[b-flhfd2wbto] {
    flex-basis: 100%;
    font-size: 12.5px;
    color: #64748B;
}

.sp-h[b-flhfd2wbto] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 16px;
    color: #02084B;
    margin: 22px 0 10px;
}

.sp-grid[b-flhfd2wbto] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}

.sp-card[b-flhfd2wbto] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #fff;
    border: 1px solid #E7E2DA;
    border-top: 3px solid #B45309;
    border-radius: 12px;
    padding: 14px 16px;
    color: inherit;
    text-decoration: none;
}

.sp-card:hover[b-flhfd2wbto],
.sp-card:focus-visible[b-flhfd2wbto] {
    border-color: #057EE6;
    border-top-color: #B45309;
    box-shadow: 0 2px 10px rgba(2, 8, 75, 0.08);
}

.sp-card-h[b-flhfd2wbto] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 14.5px;
    color: #02084B;
}

.sp-goals[b-flhfd2wbto] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    color: #1F2733;
}

.sp-goals li[b-flhfd2wbto] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    align-items: baseline;
}

.sp-goal-e[b-flhfd2wbto] {
    flex-basis: 100%;
    font-size: 12px;
    color: #64748B;
}

.sp-bar[b-flhfd2wbto] {
    display: flex;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: #F1F5F9;
    margin-top: auto;
}

.sp-seg.on[b-flhfd2wbto] { background: #057EE6; }
.sp-seg.risk[b-flhfd2wbto] { background: #FFCC00; }
.sp-seg.off[b-flhfd2wbto] { background: #DC2626; }
.sp-seg.other[b-flhfd2wbto] { background: #9C98B8; }
.sp-seg.none[b-flhfd2wbto] { background: #E2E8F0; }

.sp-card-f[b-flhfd2wbto] {
    font-size: 12px;
    color: #475569;
}

.sp-changes[b-flhfd2wbto] {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid #E7E2DA;
    border-radius: 12px;
}

.sp-changes li[b-flhfd2wbto] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 12px;
    padding: 8px 14px;
    border-top: 1px solid #F1EDE6;
    font-size: 13px;
}

.sp-changes li:first-child[b-flhfd2wbto] {
    border-top: none;
}

.sp-ch-when[b-flhfd2wbto] {
    color: #64748B;
    min-width: 110px;
}

.sp-ch-what[b-flhfd2wbto] {
    flex: 1;
    min-width: 200px;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratPlanEditor.razor.rz.scp.css */
.spe-back[b-dlhda679hn],
.spe-link[b-dlhda679hn] {
    color: #057EE6;
    text-decoration: none;
    font-size: 13px;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.spe-back:hover[b-dlhda679hn],
.spe-link:hover[b-dlhda679hn] {
    text-decoration: underline;
}

.spe-note[b-dlhda679hn],
.spe-hint[b-dlhda679hn] {
    color: #64748B;
    font-size: 12px;
}

.spe-filters[b-dlhda679hn] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.spe-filter[b-dlhda679hn] {
    border: 1px solid #DCE3EC;
    background: #fff;
    color: #1F2733;
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 13px;
    cursor: pointer;
}

.spe-filter.on[b-dlhda679hn] {
    background: #02084B;
    border-color: #02084B;
    color: #fff;
}

.spe-count[b-dlhda679hn] {
    opacity: 0.75;
    margin-left: 4px;
}

.spe-msg[b-dlhda679hn] {
    margin: 0 0 12px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #ECFDF3;
    color: #065F46;
    font-size: 13px;
    max-width: 980px;
}

.spe-msg.err[b-dlhda679hn] {
    background: #FEF2F2;
    color: #991B1B;
}

.spe-area h3[b-dlhda679hn] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 17px;
    color: #02084B;
    margin: 22px 0 8px;
    text-transform: uppercase;
}

.spe-goal[b-dlhda679hn] {
    background: #fff;
    border: 1px solid #DCE3EC;
    border-left: 6px solid #02084B;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 12px;
    max-width: 980px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.spe-goal.unlinked[b-dlhda679hn] {
    border-left-color: #B45309;
}

.spe-goal-head[b-dlhda679hn] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.spe-kicker[b-dlhda679hn],
.spe-l[b-dlhda679hn] {
    font-size: 11.5px;
    color: #64748B;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.spe-goal-t[b-dlhda679hn] {
    font-size: 15px;
    color: #111827;
    line-height: 1.4;
}

.spe-target[b-dlhda679hn],
.spe-owner[b-dlhda679hn],
.spe-row[b-dlhda679hn],
.spe-meta[b-dlhda679hn] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 13px;
}

.spe-tacs[b-dlhda679hn] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.spe-tac[b-dlhda679hn] {
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.spe-tac.retired[b-dlhda679hn] {
    background: #F8FAFC;
    opacity: 0.8;
}

.spe-tac-t[b-dlhda679hn] {
    font-size: 13.5px;
    color: #1F2733;
    line-height: 1.4;
    white-space: pre-wrap;
}

.spe-tac-m[b-dlhda679hn] {
    font-size: 12.5px;
    color: #334155;
    white-space: pre-wrap;
}

.spe-wb[b-dlhda679hn] {
    font-size: 11.5px;
    color: #92400E;
    background: #FFF8DB;
    border-radius: 6px;
    padding: 3px 8px;
    white-space: pre-wrap;
}

.spe-chip[b-dlhda679hn] {
    font-size: 11px;
    border: 1px solid #CBD5E1;
    color: #334155;
    border-radius: 999px;
    padding: 1px 8px;
}

.spe-chip.ok[b-dlhda679hn] {
    border-color: #0B2F63;
    color: #0B2F63;
}

.spe-chip.warn[b-dlhda679hn] {
    border: 1px dashed #B45309;
    color: #92400E;
}

.spe-missing[b-dlhda679hn] {
    color: #B45309;
}

.spe-ta[b-dlhda679hn],
.spe-in[b-dlhda679hn] {
    width: 100%;
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 5px 8px;
    font-size: 13px;
    font-family: inherit;
}

.spe-in.sm[b-dlhda679hn] {
    width: auto;
    min-width: 180px;
    max-width: 360px;
}

.spe-num[b-dlhda679hn] {
    width: 80px;
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 4px 6px;
    font-size: 13px;
}

.spe-check[b-dlhda679hn] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12.5px;
}

.spe-btn[b-dlhda679hn] {
    border: 1px solid #02084B;
    background: #02084B;
    color: #fff;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: 12.5px;
    cursor: pointer;
}

.spe-btn.ghost[b-dlhda679hn] {
    background: #fff;
    color: #02084B;
}

.spe-btn.danger[b-dlhda679hn] {
    border-color: #B91C1C;
    color: #B91C1C;
}

.spe-btn:disabled[b-dlhda679hn] {
    opacity: 0.55;
    cursor: default;
}

.spe-add[b-dlhda679hn] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-top: 1px dashed #E2E8F0;
    padding-top: 8px;
}

.spe-picks[b-dlhda679hn] {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.spe-pick[b-dlhda679hn] {
    width: 100%;
    text-align: left;
    border: 1px solid #E2E8F0;
    background: #fff;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 13px;
    cursor: pointer;
}

.spe-pick:hover[b-dlhda679hn] {
    border-color: #057EE6;
}

.spe-measures[b-dlhda679hn] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratPlanGoal.razor.rz.scp.css */
.sg-back[b-o8bu7e5r06],
.sg-link[b-o8bu7e5r06] {
    color: #057EE6;
    text-decoration: none;
    font-size: 13px;
}

.sg-back:hover[b-o8bu7e5r06],
.sg-link:hover[b-o8bu7e5r06] {
    text-decoration: underline;
}

.sg-note[b-o8bu7e5r06] {
    color: #64748B;
    font-size: 12.5px;
    max-width: 900px;
}

.sg-head[b-o8bu7e5r06] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 4px 0 14px;
}

.sg-head h2[b-o8bu7e5r06] {
    margin: 2px 0 4px;
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 22px;
    color: #02084B;
    text-transform: uppercase;
}

.sg-kicker[b-o8bu7e5r06] {
    font-size: 12px;
    color: #64748B;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sg-terms[b-o8bu7e5r06] {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.sg-term[b-o8bu7e5r06] {
    border: 1px solid #DCE3EC;
    background: #fff;
    color: #1F2733;
    border-radius: 999px;
    padding: 5px 14px;
    font-size: 13px;
    cursor: pointer;
}

.sg-term.on[b-o8bu7e5r06] {
    background: #02084B;
    border-color: #02084B;
    color: #fff;
}

.sg-siblings[b-o8bu7e5r06] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.sg-sib[b-o8bu7e5r06] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 10px;
    border: 1px solid #DCE3EC;
    border-radius: 10px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.sg-sib.on[b-o8bu7e5r06] {
    border-color: #02084B;
    box-shadow: inset 0 0 0 1px #02084B;
}

.sg-sib-t[b-o8bu7e5r06] {
    font-size: 12px;
    color: #334155;
    line-height: 1.3;
}

.sg-goal[b-o8bu7e5r06] {
    background: #fff;
    border: 1px solid #DCE3EC;
    border-left: 6px solid var(--sg-c);
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 980px;
}

.sg-goal-k[b-o8bu7e5r06] {
    font-size: 11.5px;
    color: #64748B;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sg-goal-t[b-o8bu7e5r06] {
    font-size: 16px;
    color: #111827;
    line-height: 1.4;
}

.sg-proposed[b-o8bu7e5r06] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    background: #FFF8DB;
    border: 1px solid #F5E19A;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 12.5px;
    color: #5B4A00;
}

.sg-msg[b-o8bu7e5r06] {
    margin: 10px 0 0;
    padding: 8px 12px;
    border-radius: 8px;
    background: #ECFDF3;
    color: #065F46;
    font-size: 13px;
    max-width: 980px;
}

.sg-msg.err[b-o8bu7e5r06] {
    background: #FEF2F2;
    color: #991B1B;
}

.sg-h[b-o8bu7e5r06] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 16px;
    color: #02084B;
    margin: 22px 0 8px;
}

.sg-tacs[b-o8bu7e5r06] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 980px;
}

.sg-tac[b-o8bu7e5r06] {
    background: #fff;
    border: 1px solid #DCE3EC;
    border-radius: 10px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sg-tac-main[b-o8bu7e5r06] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-radius: 8px;
    outline: none;
}

.sg-tac-main:focus-visible[b-o8bu7e5r06] {
    box-shadow: 0 0 0 2px #057EE6;
}

.sg-tac-t[b-o8bu7e5r06] {
    font-size: 13.5px;
    color: #1F2733;
    line-height: 1.4;
    white-space: pre-wrap;
}

.sg-tac-meta[b-o8bu7e5r06] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sg-chip[b-o8bu7e5r06] {
    font-size: 11px;
    border: 1px dashed #B45309;
    color: #92400E;
    border-radius: 999px;
    padding: 1px 8px;
}

.sg-info-wrap[b-o8bu7e5r06] {
    position: relative;
    display: inline-flex;
}

.sg-info[b-o8bu7e5r06] {
    border: 1px solid #CBD5E1;
    background: #fff;
    color: #02084B;
    border-radius: 999px;
    padding: 1px 9px;
    font-size: 11.5px;
    cursor: help;
}

.sg-info:hover[b-o8bu7e5r06],
.sg-info:focus-visible[b-o8bu7e5r06] {
    border-color: #057EE6;
    outline: none;
}

.sg-pop[b-o8bu7e5r06] {
    display: none;
    position: absolute;
    z-index: 20;
    top: calc(100% + 6px);
    left: 0;
    width: min(560px, calc(100vw - 48px));
    pointer-events: none;
    background: #fff;
    border: 1px solid #CBD5E1;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(2, 8, 75, 0.18);
    padding: 12px 14px;
}

.sg-info:hover + .sg-pop[b-o8bu7e5r06],
.sg-info:focus-visible + .sg-pop[b-o8bu7e5r06] {
    display: block;
}

.sg-pop-k[b-o8bu7e5r06] {
    font-size: 11px;
    font-weight: 700;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 8px;
}

.sg-pop-k:first-child[b-o8bu7e5r06] {
    margin-top: 0;
}

.sg-pop-v[b-o8bu7e5r06] {
    font-size: 13px;
    color: #1F2733;
    line-height: 1.4;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.sg-pop-row[b-o8bu7e5r06] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.sg-pop-src[b-o8bu7e5r06] {
    margin-top: 8px;
    font-size: 11px;
    color: #94A3B8;
}

.sg-tac-act[b-o8bu7e5r06] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    border-top: 1px dashed #E2E8F0;
    padding-top: 8px;
}

.sg-edit[b-o8bu7e5r06] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 13px;
}

.sg-edit-l[b-o8bu7e5r06] {
    font-size: 12px;
    color: #475569;
    font-weight: 600;
}

.sg-edit input[type=range][b-o8bu7e5r06] {
    width: 200px;
}

.sg-edit-n[b-o8bu7e5r06] {
    width: 64px;
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 4px 6px;
    font-size: 13px;
}

.sg-btn[b-o8bu7e5r06] {
    border: 1px solid #02084B;
    background: #02084B;
    color: #fff;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: 12.5px;
    cursor: pointer;
}

.sg-btn.ghost[b-o8bu7e5r06] {
    background: #fff;
    color: #02084B;
}

.sg-btn:disabled[b-o8bu7e5r06] {
    opacity: 0.55;
    cursor: default;
}

.sg-link-l[b-o8bu7e5r06] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #475569;
}

.sg-link-l select[b-o8bu7e5r06] {
    max-width: 360px;
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 3px 6px;
    font-size: 12.5px;
}

@media (max-width: 640px) {
    .sg-pop-row[b-o8bu7e5r06] {
        grid-template-columns: 1fr;
    }

    .sg-edit input[type=range][b-o8bu7e5r06] {
        width: 140px;
    }
}

.sg-chip.count[b-o8bu7e5r06] {
    border: 1px solid #0B2F63;
    color: #0B2F63;
}

.sg-chip.upd[b-o8bu7e5r06] {
    border: 1px solid #A7F3D0;
    background: #ECFDF3;
    color: #065F46;
}

.sg-meas[b-o8bu7e5r06] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.sg-meas li[b-o8bu7e5r06] {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 12px;
    border-bottom: 1px dotted #E2E8F0;
    padding-bottom: 2px;
}

.sg-meas-l[b-o8bu7e5r06] {
    color: #475569;
    flex: 1 1 320px;
}

.sg-meas-v[b-o8bu7e5r06] {
    color: #02084B;
    font-weight: 600;
}

.sg-narr[b-o8bu7e5r06] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 3px 12px;
    margin: 0;
    font-size: 12.5px;
}

.sg-narr dt[b-o8bu7e5r06] {
    color: #64748B;
    font-weight: 600;
}

.sg-narr dd[b-o8bu7e5r06] {
    margin: 0;
    color: #1F2733;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.sg-files[b-o8bu7e5r06] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sg-file[b-o8bu7e5r06] {
    border: 1px solid #CBD5E1;
    background: #fff;
    border-radius: 999px;
    padding: 2px 10px;
    font-size: 12px;
    color: #02084B;
    cursor: pointer;
}

.sg-file:hover[b-o8bu7e5r06] {
    border-color: #057EE6;
}

@media (max-width: 640px) {
    .sg-narr[b-o8bu7e5r06] {
        grid-template-columns: 1fr;
    }
}

.sg-chip.owner[b-o8bu7e5r06] {
    border: 1px solid #CBD5E1;
    color: #334155;
}

.sg-key[b-o8bu7e5r06] {
    display: inline-block;
    min-width: 2.6em;
    margin-right: 6px;
    padding: 0 6px;
    border-radius: 4px;
    background: #E8EDF5;
    color: #0B2F63;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.sg-year[b-o8bu7e5r06] {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.sg-gv-open[b-o8bu7e5r06] {
    margin-top: 8px;
}

.sg-gv[b-o8bu7e5r06] {
    margin-top: 10px;
    border: 1px solid #DCE3EC;
    border-radius: 8px;
    padding: 10px 12px;
    background: #fff;
}

.sg-gv-h[b-o8bu7e5r06] {
    font-weight: 700;
    font-size: 13px;
    color: #02084B;
}

.sg-gv-row[b-o8bu7e5r06] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: 13px;
}

.sg-gv-in[b-o8bu7e5r06] {
    width: 90px;
    margin-left: 4px;
}

.sg-gv-nl[b-o8bu7e5r06] {
    flex: 1 1 220px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.sg-gv-note[b-o8bu7e5r06] {
    flex: 1;
    min-width: 0;
}

.sg-chip.met[b-o8bu7e5r06] {
    border: 1px solid #065F46;
    background: #065F46;
    color: #fff;
}

.sg-hist[b-o8bu7e5r06] {
    font-size: 12.5px;
    border-top: 1px dashed #E2E8F0;
    padding-top: 4px;
}

.sg-hist summary[b-o8bu7e5r06] {
    cursor: pointer;
    color: #057EE6;
    font-weight: 600;
}

.sg-hist-e[b-o8bu7e5r06] {
    border-left: 3px solid #E2E8F0;
    padding: 4px 0 4px 10px;
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.sg-hist-h[b-o8bu7e5r06] {
    color: #475569;
    font-weight: 600;
}

.sg-hist-f[b-o8bu7e5r06] {
    color: #02084B;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratPlanSync.razor.rz.scp.css */
.sps-back[b-n8r5sc8y35] {
    color: #057EE6;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
}

.sps-note[b-n8r5sc8y35] {
    font-size: 12.5px;
    color: #64748B;
}

.sps-box[b-n8r5sc8y35] {
    background: #fff;
    border: 1px solid #E7E2DA;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 12px;
}

.sps-box.good[b-n8r5sc8y35] {
    border-left: 4px solid #057EE6;
}

.sps-box.bad[b-n8r5sc8y35] {
    border-left: 4px solid #DC2626;
}

.sps-box h3[b-n8r5sc8y35],
.sps-h[b-n8r5sc8y35] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 14.5px;
    color: #02084B;
    margin: 0 0 8px;
}

.sps-h[b-n8r5sc8y35] {
    margin: 20px 0 8px;
}

.sps-warn[b-n8r5sc8y35] {
    color: #8A6A00;
    background: #FFF6CC;
    border: 1px solid #FFCC00;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 13px;
}

.sps-ok[b-n8r5sc8y35] {
    font-size: 13px;
    color: #03549A;
}

.sps-actions[b-n8r5sc8y35] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sps-btn[b-n8r5sc8y35] {
    background: #02084B;
    color: #fff;
    border: 1px solid #02084B;
    border-radius: 8px;
    padding: 7px 14px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.sps-btn.ghost[b-n8r5sc8y35] {
    background: #fff;
    color: #02084B;
}

.sps-btn:disabled[b-n8r5sc8y35] {
    opacity: 0.5;
    cursor: not-allowed;
}

.sps-list[b-n8r5sc8y35] {
    margin: 6px 0 0;
    padding-left: 18px;
    font-size: 12.5px;
}

.sps-table-wrap[b-n8r5sc8y35] {
    overflow-x: auto;
    background: #fff;
    border: 1px solid #E7E2DA;
    border-radius: 12px;
}

.sps-table[b-n8r5sc8y35] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.sps-table th[b-n8r5sc8y35],
.sps-table td[b-n8r5sc8y35] {
    padding: 7px 10px;
    border-top: 1px solid #F1EDE6;
    text-align: left;
    vertical-align: top;
}

.sps-table thead th[b-n8r5sc8y35] {
    border-top: none;
    color: #475569;
    font-weight: 600;
    background: #FAF8F5;
}

.sps-sub[b-n8r5sc8y35] {
    color: #64748B;
    font-size: 11.5px;
}

.sps-val[b-n8r5sc8y35] {
    max-width: 320px;
    overflow-wrap: anywhere;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratStatusPill.razor.rz.scp.css */
.sp-pill[b-8x5bzoq2t8] {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
    border: 1px solid transparent;
}

.sp-pill.compact[b-8x5bzoq2t8] {
    padding: 1px 7px;
    font-size: 11.5px;
}

.sp-pill.on[b-8x5bzoq2t8] {
    background: #E6F2FD;
    color: #03549A;
    border-color: #A4CBFA;
}

.sp-pill.risk[b-8x5bzoq2t8] {
    background: #FFF6CC;
    color: #5C4A00;
    border-color: #FFCC00;
}

.sp-pill.off[b-8x5bzoq2t8] {
    background: #FDECEC;
    color: #A11B1B;
    border-color: #DC2626;
}

.sp-pill.other[b-8x5bzoq2t8] {
    background: #F1F0F7;
    color: #3F3D56;
    border-color: #C9C6DA;
}

.sp-pill.none[b-8x5bzoq2t8] {
    background: transparent;
    color: #64748B;
    border-color: #CBD5E1;
    border-style: dashed;
}
/* _content/CaseManagement.Web/Components/Pages/Leadership/StrategicPlan/StratTacticUpdate.razor.rz.scp.css */
.stu[b-qs35mifali] {
    border: 1px solid #CBD5E1;
    border-radius: 10px;
    background: #F8FAFC;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.stu-title[b-qs35mifali] {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #02084B;
}

.stu-sub[b-qs35mifali] {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.35;
}

.stu-sec[b-qs35mifali] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.stu-sec h4[b-qs35mifali] {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #02084B;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.stu-hint[b-qs35mifali] {
    margin: 0;
    font-size: 12px;
    color: #64748B;
}

.stu-measure[b-qs35mifali] {
    border-top: 1px dashed #E2E8F0;
    padding-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.stu-measure:first-of-type[b-qs35mifali] {
    border-top: 0;
    padding-top: 0;
}

.stu-m-label[b-qs35mifali] {
    font-size: 13px;
    color: #1F2733;
    line-height: 1.35;
}

.stu-m-target[b-qs35mifali] {
    display: inline-block;
    margin-left: 6px;
    font-size: 11.5px;
    font-weight: 600;
    color: #02084B;
    background: #EEF2FF;
    border-radius: 999px;
    padding: 1px 8px;
}

.stu-m-inputs[b-qs35mifali],
.stu-slider[b-qs35mifali],
.stu-mdef[b-qs35mifali] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 13px;
}

.stu-num[b-qs35mifali] {
    width: 90px;
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 4px 6px;
    font-size: 13px;
}

.stu-in[b-qs35mifali] {
    flex: 1 1 260px;
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 4px 6px;
    font-size: 13px;
}

.stu-in.sm[b-qs35mifali] {
    flex: 0 0 auto;
}

.stu-slider input[type=range][b-qs35mifali] {
    width: 220px;
}

.stu-m-out[b-qs35mifali] {
    font-weight: 600;
    color: #02084B;
}

.stu-m-att[b-qs35mifali] {
    font-size: 12px;
    color: #92400E;
    background: #FFF8DB;
    border-radius: 999px;
    padding: 1px 8px;
}

.stu-m-att.met[b-qs35mifali] {
    color: #065F46;
    background: #ECFDF3;
}

.stu-l[b-qs35mifali] {
    font-size: 12.5px;
    font-weight: 600;
    color: #334155;
    margin-top: 4px;
}

.stu-ta[b-qs35mifali] {
    width: 100%;
    border: 1px solid #CBD5E1;
    border-radius: 6px;
    padding: 6px 8px;
    font-size: 13px;
    font-family: inherit;
    resize: vertical;
}

.stu-files[b-qs35mifali] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 4px;
}

.stu-file[b-qs35mifali] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.stu-upload[b-qs35mifali] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12.5px;
    color: #475569;
}

.stu-mdefs[b-qs35mifali] {
    border: 1px dashed #CBD5E1;
    border-radius: 8px;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.stu-link[b-qs35mifali] {
    background: none;
    border: 0;
    padding: 0;
    color: #057EE6;
    font-size: 12.5px;
    text-align: left;
    cursor: pointer;
    align-self: flex-start;
}

.stu-link:hover[b-qs35mifali] {
    text-decoration: underline;
}

.stu-btn[b-qs35mifali] {
    border: 1px solid #02084B;
    background: #02084B;
    color: #fff;
    border-radius: 6px;
    padding: 5px 14px;
    font-size: 13px;
    cursor: pointer;
}

.stu-btn.ghost[b-qs35mifali] {
    background: #fff;
    color: #02084B;
}

.stu-btn:disabled[b-qs35mifali] {
    opacity: 0.55;
    cursor: default;
}

.stu-err[b-qs35mifali] {
    font-size: 12.5px;
    color: #991B1B;
}

.stu-actions[b-qs35mifali] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.stu-cms[b-qs35mifali] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 4px;
    padding: 4px 8px;
    border-radius: 6px;
    background: #EEF6FF;
    color: #0B2F63;
    font-size: 12px;
}

.stu-cms-diff[b-qs35mifali] {
    color: #92400E;
    font-weight: 600;
}

.stu-prev[b-qs35mifali] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 12.5px;
    color: #065F46;
    background: #ECFDF3;
    border: 1px solid #A7F3D0;
    border-radius: 8px;
    padding: 8px 12px;
}

.stu-prev .stu-link[b-qs35mifali] {
    align-self: flex-start;
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Admin/AdminTimesheetTroubleshoot.razor.rz.scp.css */
.tt-page[b-n67o2lewuk] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.25rem 1.5rem 2rem;
    color: #1f2937;
    font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
}

.tt-header[b-n67o2lewuk] {
    background: linear-gradient(135deg, #1e3a5f 0%, #152840 100%);
    color: #fff;
    padding: 1.1rem 1.4rem;
    border-radius: 10px;
    margin-bottom: 1.25rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
}

.tt-header h1[b-n67o2lewuk] {
    margin: 0 0 0.3rem 0;
    font-size: 1.4rem;
    color: #fff;
}

.tt-subtitle[b-n67o2lewuk] {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.92rem;
    line-height: 1.5;
}

/* Search bar */
.tt-search-bar[b-n67o2lewuk] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    align-items: center;
}

.tt-search-input[b-n67o2lewuk] {
    flex: 1;
    padding: 0.6rem 0.85rem;
    border: 1.5px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.95rem;
    background: #fff;
}

.tt-search-input:focus[b-n67o2lewuk] {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.12);
}

.tt-btn-search[b-n67o2lewuk] {
    padding: 0.6rem 1.2rem;
    background: #1e3a5f;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}

.tt-btn-search:hover:not(:disabled)[b-n67o2lewuk] {
    background: #152840;
}

.tt-btn-search:disabled[b-n67o2lewuk] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Errors */
.tt-error[b-n67o2lewuk] {
    padding: 0.75rem 1rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    border-radius: 6px;
    margin-bottom: 1rem;
}

/* Results table */
.tt-results[b-n67o2lewuk] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    margin-bottom: 1rem;
}

.tt-results h3[b-n67o2lewuk] {
    margin: 0 0 0.6rem 0;
    color: #1e3a5f;
    font-size: 1rem;
}

.tt-results-table[b-n67o2lewuk] {
    width: 100%;
    border-collapse: collapse;
}

.tt-results-table th[b-n67o2lewuk],
.tt-results-table td[b-n67o2lewuk] {
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid #f3f4f6;
    text-align: left;
    font-size: 0.9rem;
}

.tt-results-table th[b-n67o2lewuk] {
    background: #f9fafb;
    color: #4b5563;
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tt-results-table tr.inactive[b-n67o2lewuk] {
    opacity: 0.6;
}

.tt-btn-pick[b-n67o2lewuk] {
    padding: 0.35rem 0.85rem;
    background: #1e3a5f;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-weight: 500;
    cursor: pointer;
    font-size: 0.83rem;
}

/* Selected employee block */
.tt-selected[b-n67o2lewuk] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 5px solid #1e3a5f;
    border-radius: 10px;
    padding: 1.25rem;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

.tt-selected-header[b-n67o2lewuk] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}

.tt-selected-header h2[b-n67o2lewuk] {
    margin: 0 0 0.25rem 0;
    color: #1e3a5f;
    font-size: 1.25rem;
}

.tt-meta[b-n67o2lewuk] {
    margin: 0;
    font-size: 0.85rem;
    color: #6b7280;
    line-height: 1.5;
}

.tt-meta code[b-n67o2lewuk] {
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 0.05rem 0.35rem;
    font-size: 0.85em;
    color: #1e3a5f;
}

.tt-btn-back[b-n67o2lewuk] {
    padding: 0.4rem 0.85rem;
    background: #fff;
    color: #6b7280;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.85rem;
}

.tt-btn-back:hover[b-n67o2lewuk] {
    background: #f3f4f6;
    color: #1f2937;
}

/* Date range row */
.tt-range[b-n67o2lewuk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 1rem;
}

.tt-range label[b-n67o2lewuk] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    color: #4b5563;
}

.tt-range input[type="date"][b-n67o2lewuk] {
    padding: 0.4rem 0.6rem;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    font-size: 0.9rem;
}

.tt-pp-label[b-n67o2lewuk] {
    flex: 1 1 auto;
    min-width: 18rem;
}

.tt-pp-label select[b-n67o2lewuk] {
    flex: 1;
    padding: 0.45rem 0.7rem;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    font-size: 0.9rem;
    background: #fff;
    color: #111827;
    margin-left: 0.4rem;
    min-width: 14rem;
}

.tt-pp-label select:disabled[b-n67o2lewuk] {
    background: #f3f4f6;
    color: #6b7280;
}

.tt-btn-load[b-n67o2lewuk] {
    padding: 0.45rem 1rem;
    background: #1e3a5f;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
}

.tt-btn-impersonate[b-n67o2lewuk] {
    padding: 0.45rem 1rem;
    background: #f5b81c;
    color: #1e3a5f;
    border: 1px solid #d97706;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
}

.tt-btn-impersonate:hover:not(:disabled)[b-n67o2lewuk] {
    background: #fbbf24;
}

.tt-btn-impersonate:disabled[b-n67o2lewuk] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Diagnostic blocks */
.tt-block[b-n67o2lewuk] {
    margin-bottom: 1.1rem;
    padding: 0.85rem 1rem;
    background: #fcfcfd;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.tt-block h3[b-n67o2lewuk] {
    margin: 0 0 0.65rem 0;
    color: #1e3a5f;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0.4rem;
}

.tt-loading[b-n67o2lewuk] {
    padding: 0.85rem;
    background: #f3f4f6;
    color: #4b5563;
    text-align: center;
    border-radius: 6px;
}

.tt-empty[b-n67o2lewuk] {
    margin: 0.5rem 0;
    color: #6b7280;
    font-style: italic;
    font-size: 0.9rem;
}

/* Key-value table for summary block */
.tt-kv[b-n67o2lewuk] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.tt-kv th[b-n67o2lewuk] {
    text-align: left;
    background: #f9fafb;
    color: #4b5563;
    padding: 0.4rem 0.65rem;
    font-weight: 600;
    width: 200px;
    border-bottom: 1px solid #f3f4f6;
}

.tt-kv td[b-n67o2lewuk] {
    padding: 0.4rem 0.65rem;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
}

/* List tables (timecards, punches, audit) */
.tt-list[b-n67o2lewuk] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.tt-list th[b-n67o2lewuk],
.tt-list td[b-n67o2lewuk] {
    padding: 0.4rem 0.55rem;
    border-bottom: 1px solid #f3f4f6;
    text-align: left;
    vertical-align: top;
}

.tt-list th[b-n67o2lewuk] {
    background: #f3f4f6;
    color: #4b5563;
    font-weight: 600;
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tt-list tr.voided[b-n67o2lewuk] {
    opacity: 0.55;
    text-decoration: line-through;
}

.tt-list code[b-n67o2lewuk] {
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 3px;
    padding: 0.05rem 0.3rem;
    font-size: 0.85em;
}

.tt-notes[b-n67o2lewuk] {
    color: #4b5563;
    font-size: 0.83rem;
    max-width: 30ch;
    white-space: normal;
    word-break: break-word;
}

.tt-btn-recalc[b-n67o2lewuk] {
    padding: 0.25rem 0.6rem;
    background: #fff;
    color: #1d4ed8;
    border: 1px solid #1d4ed8;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.78rem;
}

.tt-btn-recalc:hover[b-n67o2lewuk] {
    background: #1d4ed8;
    color: #fff;
}

/* HR Payroll Visibility check — explicit pass/fail rows for the three
   filters in TimesheetService.GetPayrollSummariesAsync (2026-04-28). */

.tt-visibility .tt-pass[b-n67o2lewuk] {
    color: #047857;
    font-weight: 600;
}

.tt-visibility .tt-fail[b-n67o2lewuk] {
    color: #b91c1c;
    font-weight: 600;
}

.tt-visibility .tt-info[b-n67o2lewuk] {
    color: #1d4ed8;
    font-weight: 500;
}

.tt-visibility .tt-hint[b-n67o2lewuk] {
    margin-top: 0.5rem;
    color: #475569;
    font-size: 0.85rem;
    line-height: 1.5;
    background: #fef9c3;
    border-left: 3px solid #f59e0b;
    padding: 0.55rem 0.7rem;
    border-radius: 4px;
}

.tt-visibility .tt-hint ul[b-n67o2lewuk] {
    margin: 0.4rem 0 0;
    padding-left: 1.25rem;
}

.tt-visibility .tt-hint li[b-n67o2lewuk] {
    margin-bottom: 0.2rem;
}

.tt-recalc-all[b-n67o2lewuk] {
    margin-top: 0.65rem;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.tt-btn-recalc-all[b-n67o2lewuk] {
    padding: 0.45rem 1rem;
    background: linear-gradient(180deg, #1d4ed8 0%, #1e3a8a 100%);
    color: #fff;
    border: 1px solid #1e3a8a;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
}

.tt-btn-recalc-all:hover:not(:disabled)[b-n67o2lewuk] {
    filter: brightness(0.95);
}

.tt-btn-recalc-all:disabled[b-n67o2lewuk] {
    opacity: 0.55;
    cursor: not-allowed;
}

.tt-recalc-hint[b-n67o2lewuk] {
    color: #6b7280;
    font-size: 0.83rem;
}

.tt-recalc-result[b-n67o2lewuk] {
    margin-top: 0.5rem;
    padding: 0.45rem 0.75rem;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
    border-radius: 5px;
    font-size: 0.85rem;
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Admin/BellSchedules.razor.rz.scp.css */
.bell-admin .filter-row[b-dx6pca6l04] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 1rem;
}

.bell-admin .filter-label[b-dx6pca6l04] {
    font-weight: 600;
    color: #374151;
    font-size: 0.9rem;
}

.bell-admin .campus-select[b-dx6pca6l04] {
    min-width: 14rem;
}

.bell-admin .year-select[b-dx6pca6l04] {
    min-width: 9rem;
}

.bell-admin .session-toggle[b-dx6pca6l04] {
    display: inline-flex;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    overflow: hidden;
}

.bell-admin .session-toggle .toggle-btn[b-dx6pca6l04] {
    background: #fff;
    color: #334155;
    border: none;
    padding: 0.4rem 1rem;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    border-right: 1px solid #cbd5e1;
}

.bell-admin .session-toggle .toggle-btn:last-child[b-dx6pca6l04] {
    border-right: none;
}

.bell-admin .session-toggle .toggle-btn.active[b-dx6pca6l04] {
    background: #1e3a5f;
    color: #fff;
}

.bell-admin .schedule-tabs[b-dx6pca6l04] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.bell-admin .sched-tab[b-dx6pca6l04] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
}

.bell-admin .sched-tab:hover[b-dx6pca6l04] {
    background: #e5e7eb;
}

.bell-admin .sched-tab.active[b-dx6pca6l04] {
    background: #1e3a5f;
    color: #fff;
    border-color: #152840;
    box-shadow: 0 1px 3px rgba(21, 40, 64, 0.25);
}

.bell-admin .sched-tab.is-default:not(.active)[b-dx6pca6l04] {
    border-color: #f5b81c;
}

.bell-admin .default-badge[b-dx6pca6l04] {
    background: #f5b81c;
    color: #152840;
    padding: 0.1rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bell-admin .inactive-badge[b-dx6pca6l04] {
    background: #9ca3af;
    color: #fff;
    padding: 0.1rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
}

.bell-admin .schedule-meta[b-dx6pca6l04] {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1.25rem;
}

.bell-admin .meta-grid[b-dx6pca6l04] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.85rem;
    margin-bottom: 0.85rem;
}

.bell-admin .meta-field label[b-dx6pca6l04] {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #4b5563;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.bell-admin .meta-field.checkbox-field label[b-dx6pca6l04] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    font-size: 0.9rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    color: #111827;
    margin-top: 1.4rem;
}

.bell-admin .meta-actions[b-dx6pca6l04] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    align-items: center;
    padding-top: 0.75rem;
    border-top: 1px solid #e5e7eb;
}

.bell-admin .dirty-hint[b-dx6pca6l04] {
    color: #b45309;
    font-weight: 600;
    font-size: 0.85rem;
    margin-right: auto;
}

.bell-admin .period-section[b-dx6pca6l04] {
    margin-top: 0.5rem;
}

.bell-admin .period-header[b-dx6pca6l04] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.bell-admin .period-header h3[b-dx6pca6l04] {
    margin: 0;
    font-size: 1.1rem;
    color: #1f2937;
}

.bell-admin .period-table th[b-dx6pca6l04] {
    background: #f3f4f6;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #374151;
}

.bell-admin .period-table td[b-dx6pca6l04] {
    padding: 0.45rem 0.5rem;
    vertical-align: middle;
}

.bell-admin .period-num-input[b-dx6pca6l04] {
    width: 3.5rem;
    text-align: center;
}

.bell-admin .threshold-input[b-dx6pca6l04] {
    width: 4rem;
    text-align: center;
}

.bell-admin .period-table tr.dirty-row[b-dx6pca6l04] {
    background: #fffbeb;
}

.bell-admin .period-actions[b-dx6pca6l04] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    align-items: center;
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid #e5e7eb;
}

.bell-admin .modal-hint[b-dx6pca6l04] {
    color: #4b5563;
    font-size: 0.9rem;
    margin-bottom: 0.85rem;
}

.bell-admin .readonly-value[b-dx6pca6l04] {
    padding: 0.4rem 0.55rem;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    color: #374151;
    font-weight: 500;
}

.bell-admin .checkbox-label[b-dx6pca6l04] {
    display: inline-flex;
    gap: 0.4rem;
    align-items: center;
    font-weight: 500;
    color: #111827;
}

.bell-admin .warn-text[b-dx6pca6l04] {
    background: #fef3c7;
    border-left: 3px solid #f5b81c;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    color: #7c2d12;
    font-size: 0.9rem;
    margin-top: 0.5rem;
}

.bell-admin .admin-header-actions[b-dx6pca6l04] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Admin/HourlyCsvImport.razor.rz.scp.css */
.csv-import h1[b-ut0eiaoi4t] {
    margin: 0;
    font-size: 1.4rem;
    color: #1e3a5f;
}

.csv-import h2[b-ut0eiaoi4t] {
    margin-top: 0;
    margin-bottom: 0.4rem;
    color: #1e3a5f;
    font-size: 1.05rem;
}

/* ── Compact topbar replacing verbose admin-header ───────────────────── */
.csv-import .csv-topbar[b-ut0eiaoi4t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.6rem 0.85rem;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.csv-import .csv-title[b-ut0eiaoi4t] {
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.csv-import .csv-hint[b-ut0eiaoi4t] {
    color: #475569;
    font-size: 0.85rem;
}

.csv-import .csv-upload-inline[b-ut0eiaoi4t] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.csv-import .file-input[b-ut0eiaoi4t] {
    font-size: 0.85rem;
}

/* ── Meta bar: chips + inline bind selects on one row ────────────────── */
.csv-import .csv-meta-bar[b-ut0eiaoi4t] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    padding: 0.55rem 0.7rem;
    margin-bottom: 0.75rem;
    background: rgba(30, 58, 95, 0.04);
    border-left: 3px solid #1e3a5f;
    border-radius: 4px;
}

.csv-import .meta-chip[b-ut0eiaoi4t] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.82rem;
}

.csv-import .chip-label[b-ut0eiaoi4t] {
    color: #64748b;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
}

.csv-import .chip-value[b-ut0eiaoi4t] {
    color: #111827;
    font-weight: 500;
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csv-import .meta-bind[b-ut0eiaoi4t] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.csv-import .bind-label[b-ut0eiaoi4t] {
    color: #64748b;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
}

.csv-import .bind-select[b-ut0eiaoi4t] {
    padding: 0.25rem 0.45rem;
    font-size: 0.85rem;
    border: 1px solid #cbd5e1;
    border-radius: 5px;
    background: #fff;
    min-width: 12rem;
}

/* ── Dense preview table ─────────────────────────────────────────────── */
.csv-import .tight-card[b-ut0eiaoi4t] {
    padding: 0.75rem 0.85rem;
}

.csv-import .punch-plan[b-ut0eiaoi4t] {
    font-size: 0.82rem;
    width: 100%;
}

.csv-import .punch-plan th[b-ut0eiaoi4t] {
    background: #f3f4f6;
    font-weight: 600;
    color: #374151;
    padding: 0.35rem 0.4rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    position: sticky;
    top: 0;
    z-index: 1;
}

.csv-import .punch-plan td[b-ut0eiaoi4t] {
    padding: 0.22rem 0.35rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.csv-import .col-skip[b-ut0eiaoi4t]    { width: 2.5rem; }
.csv-import .col-date[b-ut0eiaoi4t]    { width: 6rem; }
.csv-import .col-hrs[b-ut0eiaoi4t]     { width: 3rem; text-align: right; }
.csv-import .col-reason[b-ut0eiaoi4t]  { width: 9rem; }
.csv-import .col-raw[b-ut0eiaoi4t]     { max-width: 18rem; }

.csv-import .time-input[b-ut0eiaoi4t] {
    width: 6rem;
    padding: 0.15rem 0.3rem;
    font-size: 0.82rem;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
}

.csv-import .reason-input[b-ut0eiaoi4t] {
    width: 100%;
    padding: 0.15rem 0.3rem;
    font-size: 0.8rem;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
}

.csv-import .row-skipped[b-ut0eiaoi4t] {
    background: #f9fafb;
    color: #9ca3af;
}

.csv-import .row-skipped .time-input[b-ut0eiaoi4t],
.csv-import .row-skipped .reason-input[b-ut0eiaoi4t] {
    color: #9ca3af;
}

.csv-import .hrs-src[b-ut0eiaoi4t] {
    font-weight: 700;
    color: #1e3a5f;
    text-align: right;
}

.csv-import .raw-cell[b-ut0eiaoi4t] {
    color: #6b7280;
    font-size: 0.75rem;
    font-style: italic;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 18rem;
}

.csv-import .apply-row[b-ut0eiaoi4t] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.7rem;
    padding-top: 0.6rem;
    margin-top: 0.6rem;
    border-top: 1px solid #e5e7eb;
}

.csv-import .apply-summary[b-ut0eiaoi4t] {
    color: #475569;
    font-size: 0.88rem;
    margin-right: auto;
}

/* 2026-04-27: "Mark as Employee Approved on import" toggle in the apply row.
   Gold-tinted pill matching the admin warning aesthetic from the rest of
   the portal (HRPayroll's "Approve & Export PDF" button, the Need Help link). */
.csv-import .employee-approve-toggle[b-ut0eiaoi4t] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fbbf24;
    border-radius: 6px;
    padding: 0.4rem 0.85rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #78350f;
    cursor: pointer;
    user-select: none;
}

.csv-import .employee-approve-toggle:hover[b-ut0eiaoi4t] {
    background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
}

.csv-import .employee-approve-toggle input[b-ut0eiaoi4t] {
    margin: 0;
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #b45309;
}

.csv-import .error-list[b-ut0eiaoi4t] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    padding: 0.65rem 0.8rem;
    border-radius: 4px;
    color: #991b1b;
    font-size: 0.9rem;
}

.csv-import .error-list ul[b-ut0eiaoi4t] {
    margin: 0.25rem 0 0 1.1rem;
    padding: 0;
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Admin/SubPaperEntry.razor.rz.scp.css */
.sub-paper h1[b-s13kmlx4q5] { margin: 0; font-size: 1.35rem; color: #1e3a5f; }

.sub-paper .sub-paper-topbar[b-s13kmlx4q5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.6rem 0.85rem;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.sub-paper .sp-title[b-s13kmlx4q5] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.sub-paper .sp-hint[b-s13kmlx4q5] {
    color: #475569;
    font-size: 0.82rem;
    max-width: 52rem;
}

.sub-paper .sp-actions[b-s13kmlx4q5] {
    display: flex;
    gap: 0.5rem;
}

.sub-paper .tight-card[b-s13kmlx4q5] { padding: 0.5rem 0.7rem; }

.sub-paper .sp-entry-table[b-s13kmlx4q5] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.sub-paper .sp-entry-table thead th[b-s13kmlx4q5] {
    background: #f3f4f6;
    color: #374151;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    padding: 0.35rem 0.3rem;
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 2px solid #e5e7eb;
    text-align: left;
}

.sub-paper .sp-entry-table td[b-s13kmlx4q5] {
    padding: 0.2rem 0.3rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.sub-paper .col-date[b-s13kmlx4q5]    { width: 8rem; }
.sub-paper .col-campus[b-s13kmlx4q5]  { width: 8rem; }
.sub-paper .col-teacher[b-s13kmlx4q5] { width: 13rem; }
.sub-paper .col-sub[b-s13kmlx4q5]     { width: 13rem; }
.sub-paper .col-period[b-s13kmlx4q5]  { width: 2.4rem; text-align: center; }
.sub-paper .period-check[b-s13kmlx4q5] { text-align: center; }
.sub-paper .col-content[b-s13kmlx4q5] { width: 8rem; }
.sub-paper .col-room[b-s13kmlx4q5]    { width: 4.5rem; }
.sub-paper .col-status[b-s13kmlx4q5]  { width: 5rem; }
.sub-paper .col-actions[b-s13kmlx4q5] { width: 2rem; }

.sub-paper .sp-input[b-s13kmlx4q5] {
    width: 100%;
    padding: 0.18rem 0.3rem;
    font-size: 0.82rem;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
}

.sub-paper .sp-input-sm[b-s13kmlx4q5] { width: 4rem; }

.sub-paper .btn-remove[b-s13kmlx4q5] {
    background: transparent;
    color: #991b1b;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
}

.sub-paper .btn-remove:hover:not(:disabled)[b-s13kmlx4q5] {
    background: #fee2e2;
}

.sub-paper .row-done[b-s13kmlx4q5] {
    background: #f0fdf4;
    color: #065f46;
}

.sub-paper .row-error[b-s13kmlx4q5] {
    background: #fef2f2;
}

.sub-paper .empty-row[b-s13kmlx4q5] {
    text-align: center;
    padding: 1.25rem;
    color: #64748b;
    font-style: italic;
}

.sub-paper .status-chip[b-s13kmlx4q5] {
    display: inline-block;
    padding: 0.12rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.sub-paper .status-chip.ok[b-s13kmlx4q5]      { background: #d1fae5; color: #065f46; }
.sub-paper .status-chip.err[b-s13kmlx4q5]     { background: #fee2e2; color: #991b1b; }
.sub-paper .status-chip.ready[b-s13kmlx4q5]   { background: #dbeafe; color: #1e40af; }
.sub-paper .status-chip.pending[b-s13kmlx4q5] { background: #f3f4f6; color: #6b7280; }

.sub-paper .results-list[b-s13kmlx4q5] { margin: 0.4rem 0 0 1.1rem; font-size: 0.9rem; }
.sub-paper .res-ok[b-s13kmlx4q5]       { color: #065f46; }
.sub-paper .res-err[b-s13kmlx4q5]      { color: #991b1b; }
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Admin/TimecardRecalc.razor.rz.scp.css */
.recalc-admin .section-help[b-g7z7c8dwvd] {
    color: #475569;
    font-size: 0.92rem;
    margin-bottom: 0.85rem;
}

.recalc-admin h2[b-g7z7c8dwvd] {
    margin-top: 0;
    margin-bottom: 0.4rem;
    font-size: 1.15rem;
    color: #1e3a5f;
}

.recalc-admin .row-actions[b-g7z7c8dwvd] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 0.85rem;
    flex-wrap: wrap;
}

.recalc-admin .row-count[b-g7z7c8dwvd] {
    margin-left: auto;
    color: #475569;
    font-size: 0.88rem;
    font-style: italic;
}

.recalc-admin tr.recalc-done[b-g7z7c8dwvd] {
    background: #f0fdf4;
}

.recalc-admin .muted-id[b-g7z7c8dwvd] {
    color: #9ca3af;
    font-size: 0.8rem;
    margin-left: 0.25rem;
}

.recalc-admin .status-chip[b-g7z7c8dwvd] {
    display: inline-block;
    padding: 0.15rem 0.6rem;
    border-radius: 9999px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.recalc-admin .status-chip.success[b-g7z7c8dwvd] {
    background: #d1fae5;
    color: #065f46;
}

.recalc-admin .status-chip.error[b-g7z7c8dwvd] {
    background: #fee2e2;
    color: #991b1b;
}

.recalc-admin .status-chip.pending[b-g7z7c8dwvd] {
    background: #fef3c7;
    color: #92400e;
}

.recalc-admin .manual-form[b-g7z7c8dwvd] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr auto;
    gap: 0.75rem;
    align-items: end;
    margin-bottom: 0.85rem;
}

.recalc-admin .form-field[b-g7z7c8dwvd] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.recalc-admin .form-field label[b-g7z7c8dwvd] {
    font-weight: 600;
    color: #374151;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.recalc-admin .form-field-action[b-g7z7c8dwvd] {
    justify-content: flex-end;
}

@media (max-width: 760px) {
    .recalc-admin .manual-form[b-g7z7c8dwvd] {
        grid-template-columns: 1fr;
    }
    .recalc-admin .form-field-action[b-g7z7c8dwvd] {
        justify-content: flex-start;
    }
}

.recalc-admin code[b-g7z7c8dwvd] {
    background: #f3f4f6;
    padding: 0.05rem 0.35rem;
    border-radius: 4px;
    font-size: 0.88rem;
    color: #1f2937;
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Employee/AbsenceRequest.razor.rz.scp.css */
/* ============================================================
   Substitute Request form — aligned with the site's navy / gold
   design tokens (see wwwroot/css/app.css :root variables).
   Brand:
       navy       #1e3a5f   primary text + button + borders
       navy-dark  #152840   gradients, hovers
       navy-light #2d4a70
       gold       #f5b81c   accent bar, focus
       gold-dark  #d9a319
   ============================================================ */

.absence-request-page[b-iobn9yjrla] {
    padding: 2rem 1.75rem 2.5rem;
    max-width: 880px;
    margin: 0 auto;
    font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
    color: #1f2937;
}

/* ── Header ─────────────────────────────────────────────────── */

.absence-request-header[b-iobn9yjrla] {
    position: relative;
    background: linear-gradient(135deg, #1e3a5f 0%, #152840 100%);
    color: #fff;
    padding: 1.5rem 1.75rem 1.65rem;
    border-radius: 12px;
    margin-bottom: 1.75rem;
    box-shadow: 0 8px 20px -8px rgba(21, 40, 64, 0.4);
    overflow: hidden;
}

.absence-request-header[b-iobn9yjrla]::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 5px;
    background: #f5b81c;
}

.absence-request-header h1[b-iobn9yjrla] {
    margin: 0;
    font-size: 1.7rem;
    color: #fff;
    letter-spacing: 0.01em;
    line-height: 1.2;
}

.header-subtitle[b-iobn9yjrla] {
    margin: 0.35rem 0 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.92rem;
    line-height: 1.45;
}

.header-subtitle a[b-iobn9yjrla] {
    color: #f7c94d;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dotted rgba(247, 201, 77, 0.5);
}

.header-subtitle a:hover[b-iobn9yjrla] {
    border-bottom-color: #f7c94d;
}

.header-note[b-iobn9yjrla] {
    margin: 0.7rem 0 0;
    padding: 0.5rem 0.75rem;
    background: rgba(245, 184, 28, 0.12);
    border-left: 3px solid #f5b81c;
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.85rem;
    line-height: 1.5;
}

.header-note strong[b-iobn9yjrla] {
    color: #f7c94d;
}

.header-note em[b-iobn9yjrla] {
    font-style: italic;
    text-decoration: underline;
    text-decoration-color: rgba(247, 201, 77, 0.5);
    text-underline-offset: 2px;
}

/* ── Info bar ─────────────────────────────────────────────────── */

.employee-info-bar[b-iobn9yjrla] {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    background: #f8fafc;
    padding: 1rem 1.25rem;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    margin-bottom: 1.5rem;
}

.info-item[b-iobn9yjrla] {
    display: flex;
    align-items: baseline;
    gap: 0.55rem;
}

.info-label[b-iobn9yjrla] {
    font-weight: 600;
    color: #475569;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.info-value[b-iobn9yjrla] {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 500;
}

/* ── Form card ─────────────────────────────────────────────────── */

.absence-form[b-iobn9yjrla] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 2rem 2rem 1.75rem;
    box-shadow: 0 4px 12px -4px rgba(21, 40, 64, 0.1);
}

.form-row[b-iobn9yjrla] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-bottom: 1.65rem;
}

.form-row > label[b-iobn9yjrla] {
    font-weight: 600;
    color: #1e3a5f;
    font-size: 0.95rem;
    letter-spacing: 0.005em;
}

.form-row.two-col[b-iobn9yjrla] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.form-row.two-col > div[b-iobn9yjrla] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.form-row.two-col label[b-iobn9yjrla] {
    font-weight: 600;
    color: #1e3a5f;
    font-size: 0.95rem;
}

.form-row select[b-iobn9yjrla],
.form-row input[type="text"][b-iobn9yjrla],
.form-row input[type="date"][b-iobn9yjrla],
.form-row textarea[b-iobn9yjrla] {
    width: 100%;
    padding: 0.7rem 0.85rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 1rem;
    color: #0f172a;
    background: #fff;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    line-height: 1.4;
}

.form-row select:hover[b-iobn9yjrla],
.form-row input[type="text"]:hover[b-iobn9yjrla],
.form-row input[type="date"]:hover[b-iobn9yjrla],
.form-row textarea:hover[b-iobn9yjrla] {
    border-color: #94a3b8;
}

.form-row select:focus[b-iobn9yjrla],
.form-row input[type="text"]:focus[b-iobn9yjrla],
.form-row input[type="date"]:focus[b-iobn9yjrla],
.form-row textarea:focus[b-iobn9yjrla] {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.15);
}

.form-row textarea[b-iobn9yjrla] {
    resize: vertical;
    min-height: 80px;
}

.form-hint[b-iobn9yjrla] {
    margin: 0.35rem 0 0;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.45;
}

/* ── On-behalf-of callout ─────────────────────────────────────── */

.form-row.onbehalf-row[b-iobn9yjrla] {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-left: 4px solid #1e3a5f;
    padding: 0.85rem 1rem;
    border-radius: 6px;
}

/* Admin-only mode: the submitter has no TC_Employees row of their own, so
   the teacher picker is mandatory. Visual treatment makes the "required"
   state obvious without screaming. */
.form-row.onbehalf-row.onbehalf-required[b-iobn9yjrla] {
    background: #fef2f2;
    border-color: #fecaca;
    border-left-color: #dc2626;
}

/* Date picker section: swaps two native date inputs for a single
   SchoolCalendar in range mode. Readable chips above show the current
   selection so users don't have to decode highlighted cells. */
.form-row.date-picker-row[b-iobn9yjrla] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1.1rem 1.25rem 1.25rem;
}

.date-range-summary[b-iobn9yjrla] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin: 0.25rem 0 0.5rem;
    flex-wrap: wrap;
}

.date-chip[b-iobn9yjrla] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.55rem 0.9rem;
    background: white;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    min-width: 190px;
}

.date-chip-label[b-iobn9yjrla] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.date-chip-value[b-iobn9yjrla] {
    font-size: 1rem;
    font-weight: 600;
    color: #1e3a5f;
}

.date-range-sep[b-iobn9yjrla] {
    font-size: 1.4rem;
    color: #94a3b8;
    font-weight: 700;
}

.calendar-wrap[b-iobn9yjrla] {
    margin-top: 0.6rem;
}

/* ── Emergency Fill callout ───────────────────────────────────── */

.emergency-row[b-iobn9yjrla] {
    background: #fafafa;
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    padding: 0.85rem 1rem;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.emergency-row-active[b-iobn9yjrla] {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-left: 4px solid #dc2626;
}

.emergency-check[b-iobn9yjrla] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    cursor: pointer;
    font-size: 0.95rem;
    color: #0f172a;
}

.emergency-check input[type="checkbox"][b-iobn9yjrla] {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: #dc2626;
    cursor: pointer;
}

.emergency-label strong[b-iobn9yjrla] {
    color: #991b1b;
    font-size: 0.98rem;
}

.emergency-callout[b-iobn9yjrla] {
    margin-top: 0.75rem;
    padding: 0.7rem 0.9rem;
    background: #fff;
    border: 1px solid #fecaca;
    border-radius: 4px;
    color: #7f1d1d;
    font-size: 0.86rem;
    line-height: 1.5;
}

.emergency-callout strong[b-iobn9yjrla] {
    color: #991b1b;
}

.emergency-callout ul[b-iobn9yjrla] {
    margin: 0.4rem 0 0;
    padding-left: 1.15rem;
}

.emergency-callout li[b-iobn9yjrla] {
    margin: 0.15rem 0;
}

/* ── Feedback panels ─────────────────────────────────────────── */

.loading[b-iobn9yjrla],
.error-panel[b-iobn9yjrla],
.success-panel[b-iobn9yjrla] {
    padding: 1rem 1.25rem;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.loading[b-iobn9yjrla] {
    background: #f1f5f9;
    color: #475569;
    text-align: center;
    font-weight: 500;
}

.error-panel[b-iobn9yjrla] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-left: 4px solid #dc2626;
    color: #991b1b;
}

.success-panel[b-iobn9yjrla] {
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-left: 5px solid #16a34a;
    color: #065f46;
    padding: 1.5rem 1.75rem;
    border-radius: 12px;
    box-shadow: 0 2px 8px -2px rgba(22, 163, 74, 0.15);
}

.success-panel h2[b-iobn9yjrla] {
    margin: 0 0 0.75rem 0;
    color: #047857;
    font-size: 1.5rem;
    line-height: 1.2;
}

.success-panel p[b-iobn9yjrla] {
    line-height: 1.55;
    margin: 0.5rem 0;
}

.success-actions[b-iobn9yjrla] {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #bbf7d0;
    flex-wrap: wrap;
}

/* ── Radio + checkbox pickers ─────────────────────────────────── */

.radio-group[b-iobn9yjrla] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.radio-option[b-iobn9yjrla] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    color: #1e3a5f;
    font-size: 1rem;
    padding: 0.55rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    transition: all 0.15s ease;
    min-width: 90px;
    justify-content: center;
}

.radio-option:hover[b-iobn9yjrla] {
    border-color: #1e3a5f;
    background: #eff6ff;
}

.radio-option:has(input:checked)[b-iobn9yjrla] {
    border-color: #1e3a5f;
    background: #dbeafe;
    color: #1e3a5f;
    font-weight: 600;
}

.period-checks[b-iobn9yjrla] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
}

.period-check[b-iobn9yjrla] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 22px;
    background: #f8fafc;
    cursor: pointer;
    font-size: 0.95rem;
    color: #1e3a5f;
    transition: all 0.15s ease;
    user-select: none;
    font-weight: 500;
    min-width: 66px;
    justify-content: center;
}

.period-check:hover[b-iobn9yjrla] {
    background: #eff6ff;
    border-color: #1e3a5f;
}

.period-check:has(input:checked)[b-iobn9yjrla] {
    background: #1e3a5f;
    color: #fff;
    border-color: #1e3a5f;
}

.period-check input[type="checkbox"][b-iobn9yjrla] {
    accent-color: #f5b81c;
    cursor: pointer;
}

/* ── Inline button (quick-select helpers) ─────────────────────── */

.btn-inline[b-iobn9yjrla] {
    background: transparent;
    color: #1e3a5f;
    border: 1px solid #bfdbfe;
    padding: 0.35rem 0.8rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
    transition: background 0.15s ease;
}

.btn-inline:hover[b-iobn9yjrla] {
    background: #eff6ff;
    border-color: #1e3a5f;
}

/* ── Actions ─────────────────────────────────────────────────── */

.form-actions[b-iobn9yjrla] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e2e8f0;
}

.btn-primary[b-iobn9yjrla] {
    background: #f5b81c;
    color: #1e3a5f;
    border: 1px solid #d9a319;
    padding: 0.7rem 1.5rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: background 0.15s ease, transform 0.05s ease, box-shadow 0.15s ease;
    box-shadow: 0 2px 4px rgba(217, 163, 25, 0.25);
    letter-spacing: 0.01em;
}

.btn-primary:hover:not(:disabled)[b-iobn9yjrla] {
    background: #f7c94d;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(217, 163, 25, 0.35);
}

.btn-primary:active:not(:disabled)[b-iobn9yjrla] {
    transform: translateY(0);
}

.btn-primary:disabled[b-iobn9yjrla] {
    background: #cbd5e1;
    border-color: #cbd5e1;
    color: #64748b;
    cursor: not-allowed;
    opacity: 0.8;
    box-shadow: none;
}

.btn-secondary[b-iobn9yjrla] {
    background: #fff;
    color: #1e3a5f;
    border: 1px solid #cbd5e1;
    padding: 0.7rem 1.25rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
    transition: all 0.15s ease;
}

.btn-secondary:hover[b-iobn9yjrla] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

/* ── Same-day warning banner ──────────────────────────────────── */

.same-day-banner[b-iobn9yjrla] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 4px solid #f5b81c;
    color: #78350f;
    padding: 0.7rem 1rem;
    border-radius: 6px;
    margin: 0 0 1rem;
    font-size: 0.88rem;
    /* Stick to the top of the viewport while the teacher scrolls through
       the rest of the form. Without this the banner often appears above
       the fold and gets missed once the user moves to date/period inputs.
       Top offset matches the page's chrome (no fixed nav bar above the
       form content area, so 0 is correct). */
    position: sticky;
    top: 0.5rem;
    z-index: 5;
    /* Slight elevation when stuck so it feels overlaid rather than inline. */
    box-shadow: 0 2px 8px -2px rgba(245, 184, 28, 0.35);
}

.same-day-heading[b-iobn9yjrla] {
    margin: 0 0 0.25rem;
    color: #92400e;
    font-weight: 600;
}

.same-day-list[b-iobn9yjrla] {
    margin: 0;
    padding-left: 1.1rem;
    list-style: disc;
    color: #78350f;
}

.same-day-list li[b-iobn9yjrla] {
    margin: 0.12rem 0;
}

.campus-tag[b-iobn9yjrla] {
    display: inline-block;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
    border-radius: 3px;
    padding: 0.04rem 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    margin-right: 0.4rem;
    letter-spacing: 0.02em;
}

/* ── Responsive ──────────────────────────────────────────────── */

@media (max-width: 600px) {
    .absence-request-page[b-iobn9yjrla] { padding: 1rem; }
    .absence-request-header[b-iobn9yjrla] { padding: 1rem 1rem 1.15rem; }
    .absence-request-header h1[b-iobn9yjrla] { font-size: 1.35rem; }
    .absence-form[b-iobn9yjrla] { padding: 1.1rem; }
    .form-row.two-col[b-iobn9yjrla] { grid-template-columns: 1fr; }
    .form-actions[b-iobn9yjrla] { flex-direction: column-reverse; }
    .form-actions .btn-primary[b-iobn9yjrla],
    .form-actions .btn-secondary[b-iobn9yjrla] { width: 100%; text-align: center; }
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Employee/MySubTimesheet.razor.rz.scp.css */
.sub-timesheet-page[b-b4lakpgpxr] {
    padding: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
    font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ── Header: navy gradient + gold accent bar ─────────────────────────── */
.sub-timesheet-header[b-b4lakpgpxr] {
    position: relative;
    background: linear-gradient(135deg, #1e3a5f 0%, #152840 100%);
    border-radius: 10px;
    margin-bottom: 1.25rem;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(21, 40, 64, 0.18);
}

.header-accent[b-b4lakpgpxr] {
    height: 4px;
    background: linear-gradient(90deg, #f5b81c 0%, #f5b81c 55%, #ffdf7a 100%);
}

.header-inner[b-b4lakpgpxr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.5rem;
    flex-wrap: wrap;
}

.header-brand[b-b4lakpgpxr] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.header-logo[b-b4lakpgpxr] {
    height: 56px;
    width: auto;
    border-radius: 6px;
    background: #fff;
    padding: 4px;
}

.header-title-block[b-b4lakpgpxr] {
    color: #fff;
}

.sub-timesheet-header h1[b-b4lakpgpxr] {
    margin: 0;
    font-size: 1.55rem;
    color: #fff;
    letter-spacing: 0.01em;
}

.header-subtitle[b-b4lakpgpxr] {
    margin: 0.25rem 0 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    max-width: 44rem;
}

.btn-home[b-b4lakpgpxr] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.95rem;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(245, 184, 28, 0.45);
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: background 120ms ease, border-color 120ms ease;
}

.btn-home:hover[b-b4lakpgpxr] {
    background: rgba(245, 184, 28, 0.18);
    border-color: #f5b81c;
    color: #fff;
}

.employee-info-bar[b-b4lakpgpxr] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    background: #f9fafb;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    margin-bottom: 1rem;
    border: 1px solid #e5e7eb;
}

.info-item[b-b4lakpgpxr] {
    display: flex;
    gap: 0.4rem;
    align-items: baseline;
}

.info-label[b-b4lakpgpxr] {
    font-weight: 600;
    color: #4b5563;
    font-size: 0.85rem;
}

.info-value[b-b4lakpgpxr] {
    color: #111827;
    font-size: 0.95rem;
}

.info-item.deadline[b-b4lakpgpxr] {
    color: #6b7280;
}

.info-item.deadline.urgent[b-b4lakpgpxr] {
    color: #b91c1c;
    font-weight: 600;
}

.history-shortcut[b-b4lakpgpxr] {
    margin-left: auto;
}

.btn-history-inline[b-b4lakpgpxr] {
    background: #eef2ff;
    color: #3730a3;
    border: 1px solid #c7d2fe;
    padding: 0.35rem 0.8rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-history-inline:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #e0e7ff;
}

.btn-history-inline:disabled[b-b4lakpgpxr] {
    opacity: 0.5;
    cursor: not-allowed;
}

.period-navigation[b-b4lakpgpxr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.btn-nav[b-b4lakpgpxr] {
    background: #eef2ff;
    color: #3730a3;
    border: 1px solid #c7d2fe;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
}

.btn-nav:disabled[b-b4lakpgpxr] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-nav:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #e0e7ff;
}

.current-period[b-b4lakpgpxr] {
    font-size: 1.05rem;
    color: #1f2937;
}

.current-badge[b-b4lakpgpxr] {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0.1rem 0.5rem;
    background: #10b981;
    color: #fff;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

.loading[b-b4lakpgpxr],
.empty-state[b-b4lakpgpxr],
.today-prompt[b-b4lakpgpxr],
.error-panel[b-b4lakpgpxr] {
    padding: 1rem 1.25rem;
    border-radius: 6px;
    margin-bottom: 1rem;
}

.loading[b-b4lakpgpxr] {
    background: #f3f4f6;
    color: #4b5563;
    text-align: center;
}

.empty-state[b-b4lakpgpxr] {
    background: #fafafa;
    border: 1px dashed #d1d5db;
    text-align: center;
    color: #6b7280;
}

.empty-state h3[b-b4lakpgpxr] {
    margin: 0 0 0.5rem 0;
    color: #374151;
}

.error-panel[b-b4lakpgpxr] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.today-prompt[b-b4lakpgpxr] {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    color: #075985;
}

.today-prompt h3[b-b4lakpgpxr] {
    margin: 0 0 0.5rem 0;
    color: #0c4a6e;
    font-size: 1.15rem;
}

.today-prompt-warn[b-b4lakpgpxr] {
    color: #92400e;
}

.campus-picker-row[b-b4lakpgpxr] {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    margin-top: 0.5rem;
    flex-wrap: wrap;
}

.campus-picker-row label[b-b4lakpgpxr] {
    font-weight: 600;
    color: #374151;
    font-size: 0.9rem;
}

.campus-picker-row select[b-b4lakpgpxr] {
    padding: 0.4rem 0.5rem;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 0.9rem;
    background: #fff;
    color: #111827;
    min-width: 10rem;
}

.day-card[b-b4lakpgpxr] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
}

.day-card.approved[b-b4lakpgpxr] {
    border-color: #10b981;
}

.day-card.locked[b-b4lakpgpxr] {
    border-color: #6b7280;
    background: #f9fafb;
}

.day-card-header[b-b4lakpgpxr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    gap: 1rem;
    flex-wrap: wrap;
}

.day-date[b-b4lakpgpxr] {
    font-weight: 600;
    color: #111827;
    font-size: 1.05rem;
}

.day-campus[b-b4lakpgpxr] {
    color: #4b5563;
    font-size: 0.9rem;
    font-style: italic;
}

.day-status[b-b4lakpgpxr] {
    padding: 0.2rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.status-pending[b-b4lakpgpxr] {
    background: #fef3c7;
    color: #92400e;
}

.status-approved[b-b4lakpgpxr] {
    background: #d1fae5;
    color: #065f46;
}

.status-rejected[b-b4lakpgpxr] {
    background: #fee2e2;
    color: #991b1b;
}

.status-locked[b-b4lakpgpxr] {
    background: #e5e7eb;
    color: #374151;
}

.day-card-body[b-b4lakpgpxr] {
    padding: 0.75rem 1rem;
}

.period-table[b-b4lakpgpxr] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0.5rem;
}

.period-table th[b-b4lakpgpxr],
.period-table td[b-b4lakpgpxr] {
    text-align: left;
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.period-table thead th[b-b4lakpgpxr] {
    background: #f9fafb;
    font-weight: 600;
    color: #4b5563;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.period-table tbody tr:hover[b-b4lakpgpxr] {
    background: #f9fafb;
}

.notes-cell[b-b4lakpgpxr] {
    color: #6b7280;
    font-style: italic;
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notes-cell.editing[b-b4lakpgpxr] {
    white-space: normal;
    overflow: visible;
    max-width: none;
}

.inline-notes[b-b4lakpgpxr] {
    width: 100%;
    padding: 0.35rem 0.45rem;
    border: 1px solid #93c5fd;
    border-radius: 4px;
    font-size: 0.85rem;
    font-family: inherit;
    color: #111827;
    background: #fff;
    resize: vertical;
    min-height: 2.5rem;
}

.inline-notes:disabled[b-b4lakpgpxr] {
    background: #f3f4f6;
    color: #6b7280;
}

.col-actions[b-b4lakpgpxr] {
    width: 10rem;
}

.actions-cell[b-b4lakpgpxr] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    align-items: center;
    white-space: nowrap;
}

.actions-cell .muted[b-b4lakpgpxr] {
    color: #9ca3af;
}

.actions-cell button[b-b4lakpgpxr] {
    padding: 0.25rem 0.6rem;
    border-radius: 4px;
    border: 1px solid transparent;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
}

.btn-inline-edit[b-b4lakpgpxr] {
    background: #eef2ff;
    color: #3730a3;
    border-color: #c7d2fe;
}

.btn-inline-edit:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #e0e7ff;
}

.btn-inline-remove[b-b4lakpgpxr] {
    background: #fef2f2;
    color: #991b1b;
    border-color: #fecaca;
}

.btn-inline-remove:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #fee2e2;
}

.btn-inline-save[b-b4lakpgpxr] {
    background: #2563eb;
    color: #fff;
    border-color: #2563eb;
}

.btn-inline-save:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #1d4ed8;
}

.btn-inline-cancel[b-b4lakpgpxr] {
    background: #fff;
    color: #374151;
    border-color: #d1d5db;
}

.btn-inline-cancel:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #f3f4f6;
}

.btn-confirm-remove[b-b4lakpgpxr] {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}

.btn-confirm-remove:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #b91c1c;
}

.btn-confirm-remove:disabled[b-b4lakpgpxr],
.btn-inline-save:disabled[b-b4lakpgpxr],
.btn-inline-cancel:disabled[b-b4lakpgpxr],
.btn-inline-edit:disabled[b-b4lakpgpxr],
.btn-inline-remove:disabled[b-b4lakpgpxr] {
    opacity: 0.55;
    cursor: not-allowed;
}

.session-badge[b-b4lakpgpxr] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

.session-day[b-b4lakpgpxr] {
    background: #fef3c7;
    color: #92400e;
}

.session-night[b-b4lakpgpxr] {
    background: #ddd6fe;
    color: #4c1d95;
}

.no-periods[b-b4lakpgpxr] {
    color: #9ca3af;
    font-style: italic;
    margin: 0.5rem 0;
}

.day-card-footer[b-b4lakpgpxr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.5rem;
    border-top: 1px solid #f3f4f6;
    margin-top: 0.5rem;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.period-count[b-b4lakpgpxr] {
    color: #4b5563;
    font-weight: 600;
    font-size: 0.9rem;
}

.read-only-note[b-b4lakpgpxr] {
    color: #6b7280;
    font-style: italic;
    font-size: 0.85rem;
}

.btn-add-period[b-b4lakpgpxr] {
    background: #2563eb;
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
}

.btn-add-period:disabled[b-b4lakpgpxr] {
    background: #9ca3af;
    cursor: not-allowed;
    opacity: 0.7;
}

.btn-add-period:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #1d4ed8;
}

.pay-period-summary[b-b4lakpgpxr] {
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    background: #f3f4f6;
    border-radius: 6px;
    color: #374151;
    font-size: 0.95rem;
}

.cross-campus-note[b-b4lakpgpxr] {
    color: #6b7280;
    font-style: italic;
    margin-left: 0.25rem;
}

/* ── Hero CTA: big, obvious primary action when user has nothing logged yet ── */
.hero-cta[b-b4lakpgpxr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem 1.75rem;
    margin-bottom: 1.25rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #fff8e1 0%, #fef3c7 100%);
    border: 2px solid #f5b81c;
    box-shadow: 0 3px 12px rgba(245, 184, 28, 0.18);
    flex-wrap: wrap;
}

.hero-cta.ready[b-b4lakpgpxr] {
    background: linear-gradient(135deg, #e8f5ee 0%, #d1fae5 100%);
    border-color: #10b981;
    box-shadow: 0 3px 12px rgba(16, 185, 129, 0.18);
}

.hero-cta.needs-campus[b-b4lakpgpxr] {
    background: linear-gradient(135deg, #fff8e1 0%, #fef3c7 100%);
    border-color: #f5b81c;
}

.hero-left[b-b4lakpgpxr] {
    flex: 1 1 24rem;
    min-width: 0;
}

.hero-eyebrow[b-b4lakpgpxr] {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1e3a5f;
    margin-bottom: 0.3rem;
}

.hero-title[b-b4lakpgpxr] {
    margin: 0 0 0.4rem 0;
    font-size: 1.35rem;
    color: #152840;
    line-height: 1.25;
}

.hero-campus[b-b4lakpgpxr] {
    color: #1e3a5f;
    background: rgba(245, 184, 28, 0.28);
    padding: 0.05rem 0.5rem;
    border-radius: 4px;
}

.hero-sub[b-b4lakpgpxr] {
    margin: 0;
    color: #374151;
    font-size: 0.95rem;
    max-width: 40rem;
}

.hero-right[b-b4lakpgpxr] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.btn-hero-primary[b-b4lakpgpxr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1e3a5f;
    color: #fff;
    border: 2px solid #152840;
    padding: 0.85rem 1.6rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 3px 8px rgba(21, 40, 64, 0.25);
    transition: background 120ms ease, transform 80ms ease, box-shadow 120ms ease;
}

.btn-hero-primary:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #f5b81c;
    color: #152840;
    border-color: #f5b81c;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(245, 184, 28, 0.35);
}

.btn-hero-primary:disabled[b-b4lakpgpxr] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.btn-hero-compact[b-b4lakpgpxr] {
    padding: 0.55rem 1.1rem;
    font-size: 0.95rem;
}

.hero-campus-picker[b-b4lakpgpxr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.hero-campus-picker label[b-b4lakpgpxr] {
    font-weight: 600;
    color: #1e3a5f;
    font-size: 0.88rem;
    margin-right: 0.25rem;
}

.hero-campus-picker select[b-b4lakpgpxr] {
    padding: 0.55rem 0.65rem;
    border: 2px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.95rem;
    background: #fff;
    color: #111827;
    min-width: 11rem;
    font-weight: 500;
}

.hero-campus-picker select:focus[b-b4lakpgpxr] {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.15);
}

/* ── Today quick-add bar (shown when today's card already exists) ────────── */
.today-quick-add[b-b4lakpgpxr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1.1rem;
    margin: 0.75rem 0 1rem 0;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-left: 4px solid #0284c7;
    border-radius: 6px;
    flex-wrap: wrap;
}

.today-quick-label[b-b4lakpgpxr] {
    color: #075985;
    font-size: 0.95rem;
}

.today-quick-label strong[b-b4lakpgpxr] {
    color: #0c4a6e;
}

/* ── Phase 1 redesign: date-grouped cards, teacher-row matrix ─────────── */
.day-card-header-top[b-b4lakpgpxr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}

.day-card-heading[b-b4lakpgpxr] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.day-card-header-bottom[b-b4lakpgpxr] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    background: rgba(30, 58, 95, 0.04);
    border-top: 1px solid #e5e7eb;
    margin: 0.5rem -1rem -0.75rem;
    padding: 0.55rem 1rem;
    border-radius: 0 0 8px 8px;
}

.checkin-pill[b-b4lakpgpxr] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 0.3rem 0.65rem;
    font-size: 0.88rem;
}

.ci-label[b-b4lakpgpxr] {
    font-weight: 600;
    color: #475569;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.ci-value[b-b4lakpgpxr] {
    color: #111827;
    font-weight: 500;
}

.btn-fix-times[b-b4lakpgpxr] {
    margin-left: auto;
    padding: 0.35rem 0.85rem;
    background: #fff;
    color: #1e3a5f;
    border: 1px solid #1e3a5f;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease;
}

.btn-fix-times:hover:not(:disabled)[b-b4lakpgpxr] {
    background: #1e3a5f;
    color: #fff;
}

.btn-fix-times:disabled[b-b4lakpgpxr] {
    opacity: 0.45;
    cursor: not-allowed;
}

.cm-status[b-b4lakpgpxr] {
    display: inline-block;
    padding: 0.22rem 0.8rem;
    border-radius: 9999px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

/* coverage-matrix — replaces the old period-table */
.coverage-matrix[b-b4lakpgpxr] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0.5rem;
}

.coverage-matrix thead th[b-b4lakpgpxr] {
    background: #f3f4f6;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.74rem;
    font-weight: 700;
    padding: 0.55rem 0.5rem;
    border-bottom: 2px solid #e5e7eb;
    text-align: center;
}

.coverage-matrix thead th.col-teacher[b-b4lakpgpxr],
.coverage-matrix thead th.col-content[b-b4lakpgpxr],
.coverage-matrix thead th.col-room[b-b4lakpgpxr] {
    text-align: left;
}

.coverage-matrix thead th.col-period[b-b4lakpgpxr] {
    width: 3.5rem;
}

.coverage-matrix thead th.col-expand[b-b4lakpgpxr],
.coverage-matrix thead th.col-notecount[b-b4lakpgpxr] {
    width: 2.5rem;
}

.teacher-summary-row[b-b4lakpgpxr] {
    cursor: pointer;
    transition: background 100ms ease;
}

.teacher-summary-row:hover[b-b4lakpgpxr] {
    background: #f8fafc;
}

.teacher-summary-row.expanded[b-b4lakpgpxr] {
    background: #eff6ff;
    border-bottom: none;
}

.teacher-summary-row td[b-b4lakpgpxr] {
    padding: 0.55rem 0.5rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.92rem;
    text-align: center;
}

.teacher-summary-row td.teacher-cell[b-b4lakpgpxr],
.teacher-summary-row td.content-cell[b-b4lakpgpxr],
.teacher-summary-row td.room-cell[b-b4lakpgpxr] {
    text-align: left;
}

.teacher-cell strong[b-b4lakpgpxr] {
    color: #111827;
}

.teacher-id-chip[b-b4lakpgpxr] {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.05rem 0.45rem;
    background: rgba(245, 184, 28, 0.2);
    color: #7c3e00;
    border: 1px solid rgba(245, 184, 28, 0.45);
    border-radius: 4px;
    font-size: 0.68rem;
    font-weight: 600;
}

.period-cell[b-b4lakpgpxr] {
    font-weight: 700;
    font-size: 1.05rem;
}

.period-cell.checked[b-b4lakpgpxr] {
    color: #065f46;
    background: rgba(16, 185, 129, 0.1);
}

.period-cell.empty[b-b4lakpgpxr] {
    color: #cbd5e1;
}

.note-badge[b-b4lakpgpxr] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 9999px;
    background: #fef3c7;
    color: #7c2d12;
    font-size: 0.72rem;
    font-weight: 700;
}

.expand-cell[b-b4lakpgpxr] {
    color: #6b7280;
    font-size: 0.85rem;
}

.expand-arrow[b-b4lakpgpxr] {
    font-size: 0.85rem;
    color: #475569;
}

.teacher-detail-row td[b-b4lakpgpxr] {
    padding: 0;
    background: #eff6ff;
    border-bottom: 2px solid #bfdbfe;
}

.teacher-detail-grid[b-b4lakpgpxr] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: 0.75rem;
    padding: 0.85rem 1rem;
}

.period-detail-card[b-b4lakpgpxr] {
    background: #fff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    padding: 0.6rem 0.75rem;
    font-size: 0.88rem;
}

.period-detail-head[b-b4lakpgpxr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid #e5e7eb;
}

.pd-period[b-b4lakpgpxr] {
    font-weight: 700;
    color: #1e3a5f;
}

.pd-time[b-b4lakpgpxr] {
    color: #475569;
    font-size: 0.82rem;
}

.pd-row[b-b4lakpgpxr] {
    margin: 0.2rem 0;
    color: #374151;
}

.pd-lbl[b-b4lakpgpxr] {
    font-weight: 600;
    color: #4b5563;
    margin-right: 0.3rem;
}

.pd-notes[b-b4lakpgpxr] {
    margin: 0.35rem 0;
    color: #374151;
    line-height: 1.35;
}

.pd-notes-text[b-b4lakpgpxr] {
    color: #1f2937;
    font-style: italic;
}

.pd-notes.editing .inline-notes[b-b4lakpgpxr] {
    display: block;
    margin-top: 0.25rem;
}

.pd-actions[b-b4lakpgpxr] {
    display: flex;
    gap: 0.3rem;
    margin-top: 0.4rem;
    padding-top: 0.35rem;
    border-top: 1px solid #f3f4f6;
}

/* ============================================================================
   Phase 2a mobile (2026-04-27)
   ----------------------------------------------------------------------------
   /my/sub-timesheet already uses a per-day .day-card layout — no table-to-card
   transform needed at the page level. The inner .coverage-matrix table is the
   tight spot: 11 columns (teacher + 6 periods + content + room + notes + arrow)
   does not collapse cleanly under 768 px. We give it a horizontal-scroll
   container with the teacher column sticky-left so users can scan period
   coverage without losing the row label.

   Phase 2c (separate session) will replace .coverage-matrix with a stacked
   per-teacher card layout on mobile if scroll proves painful in the field.
   ============================================================================ */

@media (max-width: 768px) {

    .sub-timesheet-page[b-b4lakpgpxr] {
        padding: 0.75rem;
    }

    .sub-timesheet-header[b-b4lakpgpxr] {
        margin-bottom: 0.85rem;
    }

    .header-inner[b-b4lakpgpxr] {
        padding: 0.85rem 1rem;
        gap: 0.6rem;
    }

    .header-brand[b-b4lakpgpxr] {
        gap: 0.55rem;
    }

    .header-logo[b-b4lakpgpxr] {
        height: 40px;
    }

    .sub-timesheet-header h1[b-b4lakpgpxr] {
        font-size: 1.2rem;
    }

    .header-subtitle[b-b4lakpgpxr] {
        font-size: 0.82rem;
    }

    .btn-home[b-b4lakpgpxr] {
        padding: 0.45rem 0.7rem;
        font-size: 0.85rem;
        min-height: 44px;
    }

    .employee-info-bar[b-b4lakpgpxr] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
        padding: 0.85rem 1rem;
    }

    .info-item.deadline[b-b4lakpgpxr],
    .info-item.history-shortcut[b-b4lakpgpxr] {
        margin-left: 0;
    }

    .btn-history-inline[b-b4lakpgpxr] {
        width: 100%;
        min-height: 44px;
    }

    .period-navigation[b-b4lakpgpxr] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
    }

    .period-navigation .pp-select[b-b4lakpgpxr] {
        width: 100%;
        min-height: 44px;
    }

    /* Hero CTA stacks vertically on mobile so the campus picker + button
       don't fight for the same row. */
    .hero-cta[b-b4lakpgpxr] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
        padding: 1rem;
    }

    .hero-right[b-b4lakpgpxr],
    .hero-campus-picker[b-b4lakpgpxr] {
        width: 100%;
    }

    .btn-hero-primary[b-b4lakpgpxr] {
        width: 100%;
        min-height: 48px;
        font-size: 1rem;
    }

    /* Day card header — stack the heading row + check-in/out pills. */
    .day-card[b-b4lakpgpxr] {
        padding: 0.85rem;
    }

    .day-card-header-top[b-b4lakpgpxr],
    .day-card-header-bottom[b-b4lakpgpxr] {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .day-card-heading[b-b4lakpgpxr] {
        flex: 1 1 100%;
    }

    .day-date[b-b4lakpgpxr] {
        font-size: 1rem;
    }

    .checkin-pill[b-b4lakpgpxr] {
        flex: 1 1 calc(50% - 0.25rem);
        font-size: 0.85rem;
    }

    .btn-fix-times[b-b4lakpgpxr] {
        flex: 1 1 100%;
        min-height: 44px;
    }

    /* Coverage matrix: horizontal scroll inside the day card with the
       teacher column sticky-left so the row label stays visible. */
    .day-card-body[b-b4lakpgpxr] {
        padding: 0.5rem;
    }

    .coverage-matrix[b-b4lakpgpxr] {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .coverage-matrix thead[b-b4lakpgpxr],
    .coverage-matrix tbody[b-b4lakpgpxr] {
        display: table;
        width: max-content;
        min-width: 100%;
    }

    .coverage-matrix thead th[b-b4lakpgpxr],
    .coverage-matrix tbody td[b-b4lakpgpxr] {
        font-size: 0.82rem;
        padding: 0.4rem 0.5rem;
    }

    .coverage-matrix thead th.col-teacher[b-b4lakpgpxr],
    .coverage-matrix tbody td.teacher-cell[b-b4lakpgpxr] {
        position: sticky;
        left: 0;
        background: #fff;
        z-index: 2;
        min-width: 7.5rem;
        box-shadow: 2px 0 4px rgba(0, 0, 0, 0.04);
    }

    .coverage-matrix thead th.col-teacher[b-b4lakpgpxr] {
        background: #f3f4f6;
    }

    .teacher-summary-row.expanded td.teacher-cell[b-b4lakpgpxr] {
        background: #eff6ff;
    }

    .expand-arrow[b-b4lakpgpxr] {
        font-size: 1rem;
        min-width: 28px;
        display: inline-block;
    }

    /* Teacher detail (expanded row): grid collapses to single column. */
    .teacher-detail-grid[b-b4lakpgpxr] {
        grid-template-columns: 1fr !important;
    }

    .period-detail-card[b-b4lakpgpxr] {
        padding: 0.6rem;
    }

    .period-detail-head[b-b4lakpgpxr] {
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .pd-actions[b-b4lakpgpxr] {
        flex-wrap: wrap;
    }

    .btn-inline-save[b-b4lakpgpxr],
    .btn-inline-cancel[b-b4lakpgpxr],
    .btn-inline-edit[b-b4lakpgpxr],
    .btn-inline-remove[b-b4lakpgpxr],
    .btn-confirm-remove[b-b4lakpgpxr] {
        min-height: 40px;
        padding: 0.45rem 0.75rem;
    }

    .inline-notes[b-b4lakpgpxr] {
        width: 100%;
        font-size: 0.95rem;
    }
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Help/Help.razor.rz.scp.css */
/* =========================================================================
   Help page styles — matches the portal's navy + gold theme. Sections are
   color-coded by role tier (everyone / hourly / supervisor / HR / reception
   / admin) using the .help-section-{tier} + .help-policy-{tier} classes
   emitted by Help.razor.
   ========================================================================= */

.help-page[b-w01h4ifoiv] {
    max-width: 1000px;
    margin: 0 auto;
    padding: 1.25rem 1.5rem 2rem;
    color: #1f2937;
    font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ── Hero header — navy gradient + gold accent strip ─────────────────── */

.help-hero[b-w01h4ifoiv] {
    position: relative;
    background: linear-gradient(135deg, #1e3a5f 0%, #152840 100%);
    border-radius: 12px;
    margin-bottom: 1.25rem;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(21, 40, 64, 0.18);
}

.help-hero-accent[b-w01h4ifoiv] {
    height: 4px;
    background: linear-gradient(90deg, #f5b81c 0%, #f5b81c 55%, #ffdf7a 100%);
}

.help-hero-inner[b-w01h4ifoiv] {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    padding: 1.25rem 1.6rem 1.4rem;
}

.help-hero-icon[b-w01h4ifoiv] {
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(245, 184, 28, 0.45);
    border-radius: 12px;
    font-size: 1.85rem;
}

.help-hero-text[b-w01h4ifoiv] {
    flex: 1 1 auto;
    color: #fff;
}

.help-hero-text h1[b-w01h4ifoiv] {
    margin: 0 0 0.2rem 0;
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: 0.01em;
}

.help-subtitle[b-w01h4ifoiv] {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    line-height: 1.5;
    max-width: 56rem;
}

/* ── Controls row: search + admin toggle ─────────────────────────────── */

.help-controls[b-w01h4ifoiv] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.help-search[b-w01h4ifoiv] {
    position: relative;
    flex: 1 1 280px;
    min-width: 220px;
}

.help-search-icon[b-w01h4ifoiv] {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    pointer-events: none;
    opacity: 0.7;
}

.help-search-input[b-w01h4ifoiv] {
    width: 100%;
    padding: 0.7rem 0.9rem 0.7rem 2.5rem;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.98rem;
    background: #fff;
    color: #111827;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.help-search-input[b-w01h4ifoiv]::placeholder {
    color: #9ca3af;
}

.help-search-input:focus[b-w01h4ifoiv] {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.12);
}

.help-admin-toggle[b-w01h4ifoiv] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fbbf24;
    border-radius: 8px;
    padding: 0.55rem 0.9rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #78350f;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s ease;
}

.help-admin-toggle:hover[b-w01h4ifoiv] {
    background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
}

.help-admin-toggle input[b-w01h4ifoiv] {
    margin: 0;
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #b45309;
}

/* ── Loading / empty / error states ──────────────────────────────────── */

.help-loading[b-w01h4ifoiv],
.help-empty[b-w01h4ifoiv],
.help-error[b-w01h4ifoiv] {
    padding: 1.5rem;
    border-radius: 10px;
    text-align: center;
    margin: 1.25rem 0;
    font-size: 0.95rem;
}

.help-loading[b-w01h4ifoiv] {
    background: #f3f4f6;
    color: #4b5563;
}

.help-empty[b-w01h4ifoiv] {
    background: #fff;
    border: 1.5px dashed #cbd5e1;
    color: #6b7280;
}

.help-error[b-w01h4ifoiv] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.help-empty p[b-w01h4ifoiv] {
    margin: 0 0 0.75rem;
}

/* ── Section cards — color-coded by role tier ────────────────────────── */

.help-section[b-w01h4ifoiv] {
    margin-bottom: 1.1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 5px solid #94a3b8;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.help-section:hover[b-w01h4ifoiv] {
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
}

/* Per-tier accents. Brighter color = more elevated role tier. */
.help-section-everyone[b-w01h4ifoiv]   { border-left-color: #2563eb; }
.help-section-hourly[b-w01h4ifoiv]     { border-left-color: #0891b2; }
.help-section-supervisor[b-w01h4ifoiv] { border-left-color: #d97706; }
.help-section-hr[b-w01h4ifoiv]         { border-left-color: #4338ca; }
.help-section-reception[b-w01h4ifoiv]  { border-left-color: #059669; }
.help-section-admin[b-w01h4ifoiv]      { border-left-color: #b91c1c; }

/* ── Section header ──────────────────────────────────────────────────── */

.help-section-header[b-w01h4ifoiv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    background: linear-gradient(180deg, #f9fafb 0%, #f3f4f6 100%);
    border-bottom: 1px solid #e5e7eb;
}

.help-section-icon[b-w01h4ifoiv] {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.help-section-header h2[b-w01h4ifoiv] {
    margin: 0;
    flex: 1 1 auto;
    font-size: 1.05rem;
    color: #1e3a5f;
    font-weight: 700;
    letter-spacing: 0.01em;
}

/* Policy chips — also color-coded by tier. */
.help-section-policy[b-w01h4ifoiv] {
    flex: 0 0 auto;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.65rem;
    border-radius: 9999px;
    white-space: nowrap;
    border: 1px solid transparent;
}

.help-policy-everyone[b-w01h4ifoiv]   { background: #dbeafe; color: #1e40af; border-color: #93c5fd; }
.help-policy-hourly[b-w01h4ifoiv]     { background: #cffafe; color: #155e75; border-color: #67e8f9; }
.help-policy-supervisor[b-w01h4ifoiv] { background: #fef3c7; color: #92400e; border-color: #fcd34d; }
.help-policy-hr[b-w01h4ifoiv]         { background: #e0e7ff; color: #3730a3; border-color: #a5b4fc; }
.help-policy-reception[b-w01h4ifoiv]  { background: #d1fae5; color: #065f46; border-color: #6ee7b7; }
.help-policy-admin[b-w01h4ifoiv]      { background: #fee2e2; color: #991b1b; border-color: #fca5a5; }

/* ── Article accordion ───────────────────────────────────────────────── */

.help-article[b-w01h4ifoiv] {
    border-top: 1px solid #f3f4f6;
}

.help-article:first-of-type[b-w01h4ifoiv] {
    border-top: none;
}

.help-article-summary[b-w01h4ifoiv] {
    cursor: pointer;
    padding: 0.8rem 1.1rem;
    list-style: none;
    display: block;
    transition: background 0.12s ease;
}

.help-article-summary[b-w01h4ifoiv]::-webkit-details-marker { display: none; }

.help-article-summary[b-w01h4ifoiv]::before {
    content: "›";
    display: inline-block;
    margin-right: 0.6rem;
    color: #1e3a5f;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1;
    transition: transform 0.18s ease;
}

.help-article[open] > .help-article-summary[b-w01h4ifoiv]::before {
    transform: rotate(90deg);
}

.help-article[open] > .help-article-summary[b-w01h4ifoiv] {
    background: #f9fafb;
    border-bottom: 1px solid #f3f4f6;
}

.help-article-summary:hover[b-w01h4ifoiv] {
    background: #eff6ff;
}

.help-article-title[b-w01h4ifoiv] {
    font-weight: 600;
    color: #111827;
    font-size: 0.98rem;
}

.help-article-blurb[b-w01h4ifoiv] {
    display: block;
    margin-top: 0.25rem;
    margin-left: 1.55rem;
    color: #6b7280;
    font-size: 0.85rem;
    line-height: 1.45;
}

.help-article-body[b-w01h4ifoiv] {
    padding: 0.85rem 1.1rem 1.2rem 2.05rem;
    color: #1f2937;
    font-size: 0.95rem;
    line-height: 1.6;
    background: #fcfcfd;
}

.help-article-body h3[b-w01h4ifoiv] {
    color: #1e3a5f;
    font-size: 1rem;
    margin: 1rem 0 0.4rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #e5e7eb;
}

.help-article-body h3:first-child[b-w01h4ifoiv] {
    margin-top: 0.2rem;
}

.help-article-body p[b-w01h4ifoiv] {
    margin: 0.5rem 0;
}

.help-article-body ol[b-w01h4ifoiv],
.help-article-body ul[b-w01h4ifoiv] {
    margin: 0.5rem 0 0.5rem 1.35rem;
    padding: 0;
}

.help-article-body li[b-w01h4ifoiv] {
    margin-bottom: 0.3rem;
}

.help-article-body code[b-w01h4ifoiv] {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 0.08rem 0.4rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85em;
    color: #1e3a5f;
}

.help-article-body a[b-w01h4ifoiv] {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.help-article-body a:hover[b-w01h4ifoiv] {
    color: #1e3a5f;
    text-decoration-thickness: 2px;
}

.help-article-body strong[b-w01h4ifoiv] {
    color: #111827;
    font-weight: 700;
}

/* ── Admin edit bar + form ───────────────────────────────────────────── */

.help-admin-bar[b-w01h4ifoiv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 0.7rem;
    border-top: 1px dashed #e5e7eb;
    font-size: 0.78rem;
    color: #6b7280;
    flex-wrap: wrap;
}

.help-meta[b-w01h4ifoiv] {
    flex: 1;
    text-align: right;
    font-style: italic;
}

.help-btn-edit[b-w01h4ifoiv] {
    background: #fff;
    color: #1e3a5f;
    border: 1.5px solid #1e3a5f;
    padding: 0.4rem 0.95rem;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.help-btn-edit:hover[b-w01h4ifoiv] {
    background: #1e3a5f;
    color: #fff;
}

.help-edit-form[b-w01h4ifoiv] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.help-edit-form label[b-w01h4ifoiv] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.85rem;
    color: #4b5563;
}

.help-edit-form label span[b-w01h4ifoiv] {
    font-weight: 600;
    color: #1e3a5f;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.75rem;
}

.help-edit-form input[type="text"][b-w01h4ifoiv],
.help-edit-form textarea[b-w01h4ifoiv] {
    padding: 0.55rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-family: inherit;
    font-size: 0.93rem;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.help-edit-form textarea[b-w01h4ifoiv] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    resize: vertical;
    min-height: 10rem;
    line-height: 1.5;
}

.help-edit-form input:focus[b-w01h4ifoiv],
.help-edit-form textarea:focus[b-w01h4ifoiv] {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.12);
}

.help-edit-error[b-w01h4ifoiv] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    border-radius: 6px;
    padding: 0.6rem 0.75rem;
    font-size: 0.85rem;
}

.help-edit-actions[b-w01h4ifoiv] {
    display: flex;
    gap: 0.55rem;
    margin-top: 0.25rem;
}

.help-btn-primary[b-w01h4ifoiv] {
    background: #1e3a5f;
    color: #fff;
    border: none;
    padding: 0.55rem 1.2rem;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.12s ease, transform 0.05s ease;
}

.help-btn-primary:hover:not(:disabled)[b-w01h4ifoiv] {
    background: #152840;
}

.help-btn-primary:active:not(:disabled)[b-w01h4ifoiv] {
    transform: translateY(1px);
}

.help-btn-primary:disabled[b-w01h4ifoiv] {
    opacity: 0.55;
    cursor: not-allowed;
}

.help-btn-secondary[b-w01h4ifoiv] {
    background: #fff;
    color: #374151;
    border: 1px solid #d1d5db;
    padding: 0.55rem 1.2rem;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.12s ease;
}

.help-btn-secondary:hover:not(:disabled)[b-w01h4ifoiv] {
    background: #f3f4f6;
    border-color: #9ca3af;
}

/* ── Mobile (<= 768 px) ─────────────────────────────────────────────── */

@media (max-width: 768px) {

    .help-page[b-w01h4ifoiv] {
        padding: 0.85rem 0.85rem 1.5rem;
    }

    .help-hero-inner[b-w01h4ifoiv] {
        padding: 1rem 1.1rem 1.15rem;
        gap: 0.85rem;
    }

    .help-hero-icon[b-w01h4ifoiv] {
        width: 44px;
        height: 44px;
        font-size: 1.4rem;
    }

    .help-hero-text h1[b-w01h4ifoiv] {
        font-size: 1.25rem;
    }

    .help-subtitle[b-w01h4ifoiv] {
        font-size: 0.88rem;
    }

    .help-controls[b-w01h4ifoiv] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.55rem;
    }

    .help-search-input[b-w01h4ifoiv] {
        font-size: 16px;
        min-height: 44px;
    }

    .help-admin-toggle[b-w01h4ifoiv] {
        align-self: flex-start;
        min-height: 44px;
    }

    .help-section-header[b-w01h4ifoiv] {
        padding: 0.75rem 0.85rem;
        flex-wrap: wrap;
    }

    .help-section-header h2[b-w01h4ifoiv] {
        font-size: 1rem;
    }

    .help-section-icon[b-w01h4ifoiv] {
        width: 28px;
        height: 28px;
        font-size: 0.95rem;
    }

    .help-article-summary[b-w01h4ifoiv] {
        padding: 0.95rem 0.85rem;
        min-height: 44px;
    }

    .help-article-body[b-w01h4ifoiv] {
        padding: 0.7rem 0.85rem 1rem 1.55rem;
    }

    .help-edit-form[b-w01h4ifoiv] {
        padding: 0.85rem;
    }

    .help-edit-form textarea[b-w01h4ifoiv] {
        font-size: 13px;
    }

    .help-btn-primary[b-w01h4ifoiv],
    .help-btn-secondary[b-w01h4ifoiv] {
        flex: 1;
        min-height: 44px;
    }
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/HR/HRPayroll.razor.rz.scp.css */
.payroll-tabs[b-7ob1wwoh4c] {
    display: flex;
    gap: 0.25rem;
    border-bottom: 2px solid #e5e7eb;
    margin: 1rem 0 0.75rem;
    padding: 0 0.25rem;
}

.payroll-tab[b-7ob1wwoh4c] {
    background: transparent;
    color: #4b5563;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 0.6rem 1.1rem;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 500;
    transition: color 0.15s, border-color 0.15s;
    margin-bottom: -2px;
}

.payroll-tab:hover:not(.active)[b-7ob1wwoh4c] {
    color: #111827;
    border-bottom-color: #d1d5db;
}

.payroll-tab.active[b-7ob1wwoh4c] {
    color: #1d4ed8;
    border-bottom-color: #1d4ed8;
    font-weight: 600;
}

/* 2026-04-27: per-row checkbox for "Approve & Add to Export" + the gold
   action button that paper-approves all checked rows and exports the PDF. */

.payroll-actions-bar[b-7ob1wwoh4c] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}

.selection-counter[b-7ob1wwoh4c] {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #4b5563;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-approve-export[b-7ob1wwoh4c] {
    background: linear-gradient(180deg, #f5b81c 0%, #d97706 100%);
    color: #1e3a5f;
    border: 1px solid #b45309;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.9rem;
    transition: filter 0.12s ease;
}

.btn-approve-export:hover:not(:disabled)[b-7ob1wwoh4c] {
    filter: brightness(0.95);
}

.btn-approve-export:disabled[b-7ob1wwoh4c] {
    opacity: 0.5;
    cursor: not-allowed;
    filter: grayscale(0.4);
}

.approve-export-msg[b-7ob1wwoh4c] {
    padding: 0.55rem 0.85rem;
    border-radius: 6px;
    font-size: 0.88rem;
    margin-bottom: 0.85rem;
}

.approve-export-msg.ok[b-7ob1wwoh4c] {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
}

.approve-export-msg.error[b-7ob1wwoh4c] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.payroll-table .check-col[b-7ob1wwoh4c] {
    width: 36px;
    text-align: center;
}

.payroll-table th.check-col input[b-7ob1wwoh4c],
.payroll-table td.check-col input[b-7ob1wwoh4c] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #1e3a5f;
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Public/SmsConsent.razor.rz.scp.css */
/* Styles moved inline into SmsConsent.razor to defeat global resets from /css/kiosk.css.
   Intentionally empty so the scoped CSS bundle has no conflicting rules. */
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Public/SubRespond.razor.rz.scp.css */
.sub-respond-page[b-56592ub0jy] {
    min-height: 100vh;
    background: linear-gradient(180deg, #f0f9ff 0%, #f9fafb 200px);
    padding: 1rem;
    font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.respond-card[b-56592ub0jy] {
    max-width: 620px;
    width: 100%;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    overflow: hidden;
    margin-top: 1.5rem;
}

.respond-header[b-56592ub0jy] {
    padding: 1rem 1.25rem;
    background: #1d4ed8;
    color: #fff;
}

.respond-header h1[b-56592ub0jy] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
}

.assignment-details[b-56592ub0jy],
.error-panel[b-56592ub0jy],
.info-panel[b-56592ub0jy],
.success-panel[b-56592ub0jy],
.loading[b-56592ub0jy] {
    padding: 1.25rem;
}

.loading[b-56592ub0jy] {
    text-align: center;
    color: #6b7280;
}

.greeting[b-56592ub0jy] {
    color: #111827;
    font-size: 1rem;
    margin: 0 0 0.5rem 0;
}

.detail-grid[b-56592ub0jy] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0.75rem 0 1rem;
    padding: 0.75rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.detail-label[b-56592ub0jy] {
    display: inline-block;
    min-width: 5.5rem;
    color: #6b7280;
    font-weight: 600;
    font-size: 0.85rem;
}

.instructions-box[b-56592ub0jy] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    padding: 0.75rem;
    margin-bottom: 1rem;
}

.instructions-label[b-56592ub0jy] {
    font-weight: 600;
    color: #92400e;
    font-size: 0.85rem;
    display: block;
    margin-bottom: 0.25rem;
}

.instructions-box p[b-56592ub0jy] {
    margin: 0;
    color: #111827;
}

.error-inline[b-56592ub0jy] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    padding: 0.55rem 0.7rem;
    border-radius: 4px;
    margin: 0.5rem 0 1rem;
    font-size: 0.9rem;
}

.respond-actions[b-56592ub0jy] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin: 0.75rem 0 0.5rem;
}

.btn-accept[b-56592ub0jy],
.btn-decline[b-56592ub0jy] {
    flex: 1 1 auto;
    min-width: 12rem;
    padding: 0.85rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    border: none;
}

.btn-accept[b-56592ub0jy] {
    background: #059669;
    color: #fff;
}

.btn-accept:hover:not(:disabled)[b-56592ub0jy] {
    background: #047857;
}

.btn-decline[b-56592ub0jy] {
    background: #fff;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

.btn-decline:hover:not(:disabled)[b-56592ub0jy] {
    background: #fef2f2;
}

.btn-accept:disabled[b-56592ub0jy],
.btn-decline:disabled[b-56592ub0jy] {
    opacity: 0.6;
    cursor: not-allowed;
}

.expiry-note[b-56592ub0jy] {
    margin: 0.75rem 0 0;
    color: #6b7280;
    font-size: 0.8rem;
    text-align: center;
}

.subtle[b-56592ub0jy] {
    color: #6b7280;
    font-size: 0.88rem;
}

.error-panel[b-56592ub0jy] {
    background: #fef2f2;
    border-top: 4px solid #ef4444;
    color: #991b1b;
}

.error-panel.expired[b-56592ub0jy] {
    border-top-color: #f59e0b;
    background: #fffbeb;
    color: #92400e;
}

.error-panel h2[b-56592ub0jy],
.info-panel h2[b-56592ub0jy],
.success-panel h2[b-56592ub0jy] {
    margin: 0 0 0.5rem 0;
    font-size: 1.3rem;
}

.info-panel[b-56592ub0jy] {
    background: #f3f4f6;
    color: #374151;
    border-top: 4px solid #6b7280;
}

.success-panel[b-56592ub0jy] {
    background: #f0fdf4;
    color: #065f46;
    border-top: 4px solid #10b981;
}

.success-panel h2[b-56592ub0jy] {
    color: #047857;
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Public/TermsAndConditions.razor.rz.scp.css */
/* Styles moved inline into TermsAndConditions.razor to defeat global resets from /css/kiosk.css.
   Intentionally empty so the scoped CSS bundle has no conflicting rules. */
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Supervisor/SupervisorSubRequests.razor.rz.scp.css */
.sub-requests-page[b-r5eeci3kr7] {
    padding: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
    font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
}

.sub-requests-header[b-r5eeci3kr7] {
    border-bottom: 2px solid #e5e7eb;
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}

.sub-requests-header h1[b-r5eeci3kr7] {
    margin: 0;
    font-size: 1.6rem;
    color: #1f2937;
}

.header-subtitle[b-r5eeci3kr7] {
    margin: 0.25rem 0 0;
    color: #6b7280;
    font-size: 0.9rem;
}

.filter-bar[b-r5eeci3kr7] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    background: #f9fafb;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    margin-bottom: 1rem;
}

.info-item[b-r5eeci3kr7] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.info-label[b-r5eeci3kr7] {
    font-weight: 600;
    color: #4b5563;
    font-size: 0.85rem;
}

.info-value[b-r5eeci3kr7] {
    color: #111827;
    font-size: 0.95rem;
}

.filter-bar select[b-r5eeci3kr7] {
    padding: 0.35rem 0.55rem;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background: #fff;
    color: #111827;
    font-size: 0.9rem;
    min-width: 10rem;
}

.loading[b-r5eeci3kr7],
.empty-state[b-r5eeci3kr7],
.error-panel[b-r5eeci3kr7] {
    padding: 1rem 1.25rem;
    border-radius: 6px;
    margin-bottom: 1rem;
}

.loading[b-r5eeci3kr7] {
    background: #f3f4f6;
    color: #4b5563;
    text-align: center;
}

.empty-state[b-r5eeci3kr7] {
    background: #fafafa;
    border: 1px dashed #d1d5db;
    text-align: center;
    color: #6b7280;
}

.empty-state h3[b-r5eeci3kr7] {
    margin: 0 0 0.5rem 0;
    color: #374151;
}

.error-panel[b-r5eeci3kr7] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.summary-stats[b-r5eeci3kr7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.stat-card[b-r5eeci3kr7] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 0.85rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.stat-card .stat-value[b-r5eeci3kr7] {
    font-size: 1.45rem;
    font-weight: 700;
    color: #111827;
}

.stat-card .stat-label[b-r5eeci3kr7] {
    font-size: 0.72rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-align: center;
}

.stat-card.pending[b-r5eeci3kr7] {
    background: #fef3c7;
    border-color: #fde68a;
}

.stat-card.pending .stat-value[b-r5eeci3kr7] {
    color: #92400e;
}

.stat-card.info[b-r5eeci3kr7] {
    background: #dbeafe;
    border-color: #bfdbfe;
}

.stat-card.info .stat-value[b-r5eeci3kr7] {
    color: #1e40af;
}

.stat-card.success[b-r5eeci3kr7] {
    background: #d1fae5;
    border-color: #a7f3d0;
}

.stat-card.success .stat-value[b-r5eeci3kr7] {
    color: #065f46;
}

.request-card[b-r5eeci3kr7] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 0.85rem;
    overflow: hidden;
    padding: 0.85rem 1rem;
}

.request-card.status-submitted[b-r5eeci3kr7] {
    border-left: 4px solid #f59e0b;
}

.request-card.status-absenceapproved[b-r5eeci3kr7] {
    border-left: 4px solid #3b82f6;
}

.request-card.status-subassigned[b-r5eeci3kr7] {
    border-left: 4px solid #8b5cf6;
}

.request-card.status-subconfirmed[b-r5eeci3kr7] {
    border-left: 4px solid #10b981;
}

.request-card.status-denied[b-r5eeci3kr7] {
    border-left: 4px solid #ef4444;
    background: #fef2f2;
}

.request-card.status-cancelled[b-r5eeci3kr7] {
    border-left: 4px solid #6b7280;
    background: #f9fafb;
}

.request-header[b-r5eeci3kr7] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.request-who[b-r5eeci3kr7] {
    display: flex;
    gap: 0.75rem;
    align-items: baseline;
    flex-wrap: wrap;
    color: #111827;
    font-size: 1rem;
}

.request-dates[b-r5eeci3kr7] {
    color: #4b5563;
    font-size: 0.9rem;
}

.request-badges[b-r5eeci3kr7] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.chip[b-r5eeci3kr7] {
    display: inline-block;
    padding: 0.15rem 0.6rem;
    border-radius: 9999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.chip.campus[b-r5eeci3kr7] {
    background: #f3f4f6;
    color: #374151;
}

.chip.status-submitted[b-r5eeci3kr7] {
    background: #fef3c7;
    color: #92400e;
}

.chip.status-absenceapproved[b-r5eeci3kr7] {
    background: #dbeafe;
    color: #1e40af;
}

.chip.status-subassigned[b-r5eeci3kr7] {
    background: #ede9fe;
    color: #5b21b6;
}

.chip.status-subconfirmed[b-r5eeci3kr7] {
    background: #d1fae5;
    color: #065f46;
}

.chip.status-denied[b-r5eeci3kr7] {
    background: #fee2e2;
    color: #991b1b;
}

.chip.status-cancelled[b-r5eeci3kr7] {
    background: #e5e7eb;
    color: #374151;
}

.request-meta[b-r5eeci3kr7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.5rem;
    margin: 0.5rem 0;
    color: #374151;
    font-size: 0.9rem;
}

.meta-label[b-r5eeci3kr7] {
    color: #6b7280;
    font-weight: 600;
    margin-right: 0.2rem;
}

.request-note[b-r5eeci3kr7] {
    margin: 0.35rem 0;
    color: #374151;
    font-size: 0.9rem;
    background: #f9fafb;
    padding: 0.5rem 0.65rem;
    border-radius: 4px;
}

.action-row[b-r5eeci3kr7] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.6rem;
    padding-top: 0.5rem;
    border-top: 1px solid #f3f4f6;
}

.btn-approve[b-r5eeci3kr7] {
    background: #10b981;
    color: #fff;
    border: 1px solid #10b981;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
}

.btn-approve:hover:not(:disabled)[b-r5eeci3kr7] {
    background: #059669;
}

.btn-approve:disabled[b-r5eeci3kr7] {
    background: #9ca3af;
    border-color: #9ca3af;
    cursor: not-allowed;
    opacity: 0.65;
}

.btn-deny[b-r5eeci3kr7] {
    background: #fff;
    color: #991b1b;
    border: 1px solid #fca5a5;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
}

.btn-deny:hover:not(:disabled)[b-r5eeci3kr7] {
    background: #fef2f2;
}

.btn-deny:disabled[b-r5eeci3kr7] {
    opacity: 0.55;
    cursor: not-allowed;
}

.deny-panel[b-r5eeci3kr7] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    padding: 0.75rem;
    margin-top: 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.deny-panel label[b-r5eeci3kr7] {
    font-weight: 600;
    color: #991b1b;
    font-size: 0.85rem;
}

.deny-panel textarea[b-r5eeci3kr7] {
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 1px solid #fca5a5;
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.9rem;
    color: #111827;
    background: #fff;
    resize: vertical;
    min-height: 3rem;
}

.deny-buttons[b-r5eeci3kr7] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.btn-confirm-deny[b-r5eeci3kr7] {
    background: #dc2626;
    color: #fff;
    border: 1px solid #dc2626;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-confirm-deny:hover:not(:disabled)[b-r5eeci3kr7] {
    background: #b91c1c;
}

.btn-cancel-deny[b-r5eeci3kr7] {
    background: #fff;
    color: #374151;
    border: 1px solid #d1d5db;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-cancel-deny:hover[b-r5eeci3kr7] {
    background: #f3f4f6;
}

.btn-confirm-deny:disabled[b-r5eeci3kr7],
.btn-cancel-deny:disabled[b-r5eeci3kr7] {
    opacity: 0.55;
    cursor: not-allowed;
}

.placeholder-panel[b-r5eeci3kr7],
.confirmed-panel[b-r5eeci3kr7],
.denied-panel[b-r5eeci3kr7],
.cancelled-panel[b-r5eeci3kr7] {
    margin-top: 0.5rem;
    padding: 0.55rem 0.7rem;
    border-radius: 4px;
    font-size: 0.9rem;
}

.placeholder-panel[b-r5eeci3kr7] {
    background: #f3f4f6;
    color: #4b5563;
}

.placeholder-panel .muted[b-r5eeci3kr7] {
    font-style: italic;
}

.confirmed-panel[b-r5eeci3kr7] {
    background: #d1fae5;
    color: #065f46;
}

.confirmed-when[b-r5eeci3kr7],
.confirmed-email[b-r5eeci3kr7] {
    color: #047857;
    font-size: 0.85rem;
}

.denied-panel[b-r5eeci3kr7] {
    background: #fee2e2;
    color: #991b1b;
}

.cancelled-panel[b-r5eeci3kr7] {
    background: #e5e7eb;
    color: #374151;
    font-style: italic;
}

/* =========================================================================
   2026-04-27 (revised): convert each request to a <details>/<summary> with
   the original styled-header look intact — per-status background tints,
   left/right column split (chevron + name + dates on the left, status +
   campus chips on the right), reason + subs list on row 2 when present.
   Each .summary-sub-pill picks up the parent card's status colors so the
   coverage list visually echoes the row state.
   ========================================================================= */

/* Card was a <div> with flat padding; now it's a <details>. Padding moves
   down to .request-summary and .request-body so the colored left-border
   stripe stays crisp on toggle. Border-left thickness bumped to 5px and a
   subtle layered shadow added so cards read as "real cards" instead of
   flat strips. */
details.request-card[b-r5eeci3kr7] {
    padding: 0;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-left-width: 5px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: box-shadow 0.18s ease, transform 0.06s ease;
}

details.request-card:hover[b-r5eeci3kr7] {
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.09), 0 2px 4px rgba(15, 23, 42, 0.05);
}

details.request-card[open][b-r5eeci3kr7] {
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.1), 0 2px 6px rgba(15, 23, 42, 0.06);
}

.request-summary[b-r5eeci3kr7] {
    /* Per-status header tints come from the .request-card.status-X overrides
       below via these CSS custom properties. Default = neutral gray. */
    --header-tint: linear-gradient(180deg, #f9fafb 0%, #f3f4f6 100%);
    --header-tint-hover: linear-gradient(180deg, #f3f4f6 0%, #e5e7eb 100%);

    list-style: none;
    cursor: pointer;
    padding: 0.85rem 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    background: var(--header-tint);
    transition: background 0.12s ease;
}

/* Hide every browser's native disclosure marker — Chrome/Safari use
   ::-webkit-details-marker, modern Firefox/Edge use ::marker, and some
   older browsers honor list-style:none on summary directly. Belt + braces. */
.request-summary[b-r5eeci3kr7]::-webkit-details-marker { display: none; }
.request-summary[b-r5eeci3kr7]::marker { content: ''; display: none; }

.request-summary:hover[b-r5eeci3kr7] {
    background: var(--header-tint-hover);
}

/* When closed, the summary is rounded on all corners; when open the bottom
   corners square so it joins the body block cleanly. */
details.request-card:not([open]) > .request-summary[b-r5eeci3kr7] {
    border-radius: 6px;
}

details.request-card[open] > .request-summary[b-r5eeci3kr7] {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

/* Per-status header tints — match each status chip but lighter. */
details.request-card.status-submitted > .request-summary[b-r5eeci3kr7] {
    --header-tint: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    --header-tint-hover: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
}
details.request-card.status-absenceapproved > .request-summary[b-r5eeci3kr7] {
    --header-tint: linear-gradient(180deg, #f0f6ff 0%, #dbeafe 100%);
    --header-tint-hover: linear-gradient(180deg, #dbeafe 0%, #bfdbfe 100%);
}
details.request-card.status-subassigned > .request-summary[b-r5eeci3kr7] {
    --header-tint: linear-gradient(180deg, #f6f4ff 0%, #ede9fe 100%);
    --header-tint-hover: linear-gradient(180deg, #ede9fe 0%, #ddd6fe 100%);
}
details.request-card.status-subconfirmed > .request-summary[b-r5eeci3kr7] {
    --header-tint: linear-gradient(180deg, #f0fdf4 0%, #d1fae5 100%);
    --header-tint-hover: linear-gradient(180deg, #d1fae5 0%, #a7f3d0 100%);
}
details.request-card.status-partiallyassigned > .request-summary[b-r5eeci3kr7] {
    --header-tint: linear-gradient(180deg, #fff7ed 0%, #fed7aa 100%);
    --header-tint-hover: linear-gradient(180deg, #fed7aa 0%, #fdba74 100%);
}
details.request-card.status-awaitingsub > .request-summary[b-r5eeci3kr7] {
    --header-tint: linear-gradient(180deg, #fffbeb 0%, #fde68a 100%);
    --header-tint-hover: linear-gradient(180deg, #fde68a 0%, #fcd34d 100%);
}
details.request-card.status-denied > .request-summary[b-r5eeci3kr7] {
    --header-tint: linear-gradient(180deg, #fef2f2 0%, #fee2e2 100%);
    --header-tint-hover: linear-gradient(180deg, #fee2e2 0%, #fecaca 100%);
}
details.request-card.status-cancelled > .request-summary[b-r5eeci3kr7] {
    --header-tint: linear-gradient(180deg, #f9fafb 0%, #f3f4f6 100%);
    --header-tint-hover: linear-gradient(180deg, #f3f4f6 0%, #e5e7eb 100%);
}

/* Row 1: chevron + name + dates on the left, status chip + campus chip
   pinned to the right edge. flex-wrap intentionally OFF on desktop —
   margin-left:auto on .summary-right pushes the chips to the trailing
   edge regardless of how short the name is. Mobile (<= 768 px) overrides
   to wrap the chips to their own row beneath the name for tap clarity. */
.summary-row[b-r5eeci3kr7] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: nowrap;
    width: 100%;
}

.summary-left[b-r5eeci3kr7] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.55rem;
    min-width: 0;
    flex: 1 1 auto;
}

.summary-right[b-r5eeci3kr7] {
    display: inline-flex;
    gap: 0.4rem;
    flex-wrap: nowrap;
    flex: 0 0 auto;
    align-items: center;
    margin-left: auto;
}

.summary-chevron[b-r5eeci3kr7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    color: #1e3a5f;
    font-size: 0.75rem;
    transition: transform 0.15s ease;
    transform-origin: center;
    flex: 0 0 auto;
    border-radius: 4px;
    background: rgba(30, 58, 95, 0.08);
}

details.request-card[open] > .request-summary .summary-chevron[b-r5eeci3kr7] {
    transform: rotate(90deg);
    background: rgba(30, 58, 95, 0.15);
}

.summary-who[b-r5eeci3kr7] {
    color: #0f172a;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
}

.summary-dates[b-r5eeci3kr7] {
    color: #475569;
    font-size: 0.9rem;
    font-weight: 500;
}

/* Visual divider between name and dates — dot, only on wider rows. */
.summary-left > .summary-dates[b-r5eeci3kr7]::before {
    content: "·";
    color: #cbd5e1;
    margin-right: 0.5rem;
    font-weight: 700;
}

/* "Created by [admin]" badge — was an inline style; now scoped class. */
.on-behalf-badge[b-r5eeci3kr7] {
    display: inline-block;
    padding: 2px 10px;
    background: #eff6ff;
    color: #0369a1;
    border: 1px solid #93c5fd;
    border-radius: 12px;
    font-size: 0.78rem;
    font-weight: 500;
    white-space: nowrap;
}

/* Row 2 — reason snippet + accepted-subs list. */
.summary-secondary[b-r5eeci3kr7] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
    padding-left: 1.45rem;
    font-size: 0.86rem;
    color: #374151;
    line-height: 1.45;
}

.summary-reason strong[b-r5eeci3kr7],
.summary-subs strong[b-r5eeci3kr7] {
    color: #4b5563;
    font-weight: 600;
    margin-right: 0.2rem;
}

.summary-reason[b-r5eeci3kr7] {
    color: #1f2937;
}

.summary-subs[b-r5eeci3kr7] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    align-items: center;
}

/* Sub pills inherit the parent card's status colors so the coverage list
   visually matches the row. Defaults match status-subconfirmed (green)
   since accepted subs is the most-common case for the submitted state. */
.summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #ecfdf5;
    --pill-border: #6ee7b7;
    --pill-fg: #065f46;
    --pill-fg-strong: #047857;

    background: var(--pill-bg);
    border: 1px solid var(--pill-border);
    border-radius: 9999px;
    padding: 0.1rem 0.6rem;
    font-size: 0.82rem;
    white-space: nowrap;
    color: var(--pill-fg);
    font-weight: 500;
}

.summary-periods[b-r5eeci3kr7] {
    color: var(--pill-fg-strong);
    font-weight: 600;
    margin-left: 0.25rem;
    font-size: 0.78rem;
}

/* Per-status sub-pill colors — match the parent card's chip palette. */
details.request-card.status-submitted .summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #fef3c7; --pill-border: #fcd34d; --pill-fg: #92400e; --pill-fg-strong: #78350f;
}
details.request-card.status-absenceapproved .summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #dbeafe; --pill-border: #93c5fd; --pill-fg: #1e40af; --pill-fg-strong: #1e3a8a;
}
details.request-card.status-subassigned .summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #ede9fe; --pill-border: #c4b5fd; --pill-fg: #5b21b6; --pill-fg-strong: #4c1d95;
}
details.request-card.status-subconfirmed .summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #d1fae5; --pill-border: #6ee7b7; --pill-fg: #065f46; --pill-fg-strong: #047857;
}
details.request-card.status-partiallyassigned .summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #fed7aa; --pill-border: #fdba74; --pill-fg: #9a3412; --pill-fg-strong: #7c2d12;
}
details.request-card.status-awaitingsub .summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #fef3c7; --pill-border: #fbbf24; --pill-fg: #78350f; --pill-fg-strong: #713f12;
}
details.request-card.status-denied .summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #fee2e2; --pill-border: #fca5a5; --pill-fg: #991b1b; --pill-fg-strong: #7f1d1d;
}
details.request-card.status-cancelled .summary-sub-pill[b-r5eeci3kr7] {
    --pill-bg: #e5e7eb; --pill-border: #d1d5db; --pill-fg: #374151; --pill-fg-strong: #1f2937;
}

.summary-sep[b-r5eeci3kr7] {
    color: transparent;
    width: 0;
}

/* Expanded body — meta + action area. */
.request-body[b-r5eeci3kr7] {
    padding: 0.85rem 1rem 1rem;
    background: #fff;
    border-radius: 0 0 8px 8px;
}

/* Expand all / Collapse all controls — appended to .summary-stats so they
   sit next to the count cards on desktop and wrap below on narrow screens. */
.expand-controls[b-r5eeci3kr7] {
    margin-left: auto;
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.btn-expand-all[b-r5eeci3kr7],
.btn-collapse-all[b-r5eeci3kr7] {
    padding: 0.4rem 0.85rem;
    background: #fff;
    color: #1e3a5f;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.btn-expand-all:hover[b-r5eeci3kr7],
.btn-collapse-all:hover[b-r5eeci3kr7] {
    background: #f3f4f6;
    border-color: #1e3a5f;
    color: #152840;
}

/* Mobile (<= 768 px) — looser tap targets, controls stack. */
@media (max-width: 768px) {

    .filter-bar[b-r5eeci3kr7] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.55rem;
    }

    .filter-bar select[b-r5eeci3kr7] {
        width: 100%;
        min-height: 44px;
        font-size: 16px;
    }

    .summary-stats[b-r5eeci3kr7] {
        flex-wrap: wrap;
    }

    .expand-controls[b-r5eeci3kr7] {
        margin-left: 0;
        width: 100%;
        justify-content: stretch;
    }

    .btn-expand-all[b-r5eeci3kr7],
    .btn-collapse-all[b-r5eeci3kr7] {
        flex: 1;
        min-height: 44px;
    }

    .request-summary[b-r5eeci3kr7] {
        padding: 0.85rem 0.85rem;
        min-height: 44px;
    }

    .summary-row[b-r5eeci3kr7] {
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    .summary-right[b-r5eeci3kr7] {
        flex: 1 1 100%;
        justify-content: flex-end;
        margin-left: 0;
    }

    .summary-secondary[b-r5eeci3kr7] {
        padding-left: 1.25rem;
    }

    .request-body[b-r5eeci3kr7] {
        padding: 0.7rem 0.85rem 0.95rem;
    }
}
/* _content/CaseManagement.Web/Components/Pages/RollCall/tc/Supervisor/SupervisorSubTimesheets.razor.rz.scp.css */
.sup-sub-page[b-v7aztnh5fk] {
    padding: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
    font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
}

.sup-sub-header[b-v7aztnh5fk] {
    border-bottom: 2px solid #e5e7eb;
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}

.sup-sub-header h1[b-v7aztnh5fk] {
    margin: 0;
    font-size: 1.6rem;
    color: #1f2937;
}

.header-subtitle[b-v7aztnh5fk] {
    margin: 0.25rem 0 0;
    color: #6b7280;
    font-size: 0.9rem;
}

.filter-bar[b-v7aztnh5fk] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    background: #f9fafb;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    margin-bottom: 0.75rem;
}

.info-item[b-v7aztnh5fk] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
}

.info-label[b-v7aztnh5fk] {
    font-weight: 600;
    color: #4b5563;
    font-size: 0.85rem;
}

.info-value[b-v7aztnh5fk] {
    color: #111827;
    font-size: 0.95rem;
}

.filter-bar select[b-v7aztnh5fk] {
    padding: 0.35rem 0.55rem;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background: #fff;
    color: #111827;
    font-size: 0.9rem;
    min-width: 10rem;
}

.period-nav[b-v7aztnh5fk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 1rem;
}

.current-period-wrap[b-v7aztnh5fk] {
    font-size: 1.05rem;
    color: #1f2937;
}

.btn-nav[b-v7aztnh5fk] {
    background: #eef2ff;
    color: #3730a3;
    border: 1px solid #c7d2fe;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
}

.btn-nav:disabled[b-v7aztnh5fk] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-nav:hover:not(:disabled)[b-v7aztnh5fk] {
    background: #e0e7ff;
}

.current-badge[b-v7aztnh5fk] {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0.1rem 0.5rem;
    background: #10b981;
    color: #fff;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

.summary-stats[b-v7aztnh5fk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.2rem;
}

.stat-card[b-v7aztnh5fk] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 0.85rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.stat-card .stat-value[b-v7aztnh5fk] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
}

.stat-card .stat-label[b-v7aztnh5fk] {
    font-size: 0.75rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.stat-card.pending[b-v7aztnh5fk] {
    background: #fef3c7;
    border-color: #fde68a;
}

.stat-card.pending .stat-value[b-v7aztnh5fk] {
    color: #92400e;
}

.stat-card.success[b-v7aztnh5fk] {
    background: #d1fae5;
    border-color: #a7f3d0;
}

.stat-card.success .stat-value[b-v7aztnh5fk] {
    color: #065f46;
}

.stat-card.error[b-v7aztnh5fk] {
    background: #fee2e2;
    border-color: #fecaca;
}

.stat-card.error .stat-value[b-v7aztnh5fk] {
    color: #991b1b;
}

.loading[b-v7aztnh5fk],
.empty-state[b-v7aztnh5fk],
.error-panel[b-v7aztnh5fk] {
    padding: 1rem 1.25rem;
    border-radius: 6px;
    margin-bottom: 1rem;
}

.loading[b-v7aztnh5fk] {
    background: #f3f4f6;
    color: #4b5563;
    text-align: center;
}

.empty-state[b-v7aztnh5fk] {
    background: #fafafa;
    border: 1px dashed #d1d5db;
    text-align: center;
    color: #6b7280;
}

.empty-state h3[b-v7aztnh5fk] {
    margin: 0 0 0.5rem 0;
    color: #374151;
}

.error-panel[b-v7aztnh5fk] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.sub-group[b-v7aztnh5fk] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 0.85rem;
    overflow: hidden;
}

.sub-group-header[b-v7aztnh5fk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    background: #f9fafb;
    border-bottom: 1px solid transparent;
    transition: background 0.15s;
}

.sub-group.expanded .sub-group-header[b-v7aztnh5fk] {
    border-bottom-color: #e5e7eb;
}

.sub-group-header:hover[b-v7aztnh5fk] {
    background: #f3f4f6;
}

.sub-name[b-v7aztnh5fk] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 1.05rem;
    color: #111827;
}

.expand-icon[b-v7aztnh5fk] {
    color: #6b7280;
    font-size: 0.85rem;
}

.sub-summary[b-v7aztnh5fk] {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    color: #4b5563;
    font-size: 0.9rem;
    flex-wrap: wrap;
}

.period-count[b-v7aztnh5fk] {
    color: #4b5563;
}

.chip[b-v7aztnh5fk] {
    display: inline-block;
    padding: 0.1rem 0.6rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.chip.pending[b-v7aztnh5fk] {
    background: #fef3c7;
    color: #92400e;
}

.chip.approved[b-v7aztnh5fk] {
    background: #d1fae5;
    color: #065f46;
}

.chip.rejected[b-v7aztnh5fk] {
    background: #fee2e2;
    color: #991b1b;
}

.sub-actions .btn-history[b-v7aztnh5fk] {
    background: #eef2ff;
    color: #3730a3;
    border: 1px solid #c7d2fe;
    padding: 0.35rem 0.75rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
}

.sub-actions .btn-history:disabled[b-v7aztnh5fk] {
    opacity: 0.5;
    cursor: not-allowed;
}

.sub-group-body[b-v7aztnh5fk] {
    padding: 0.4rem 0.75rem 0.85rem;
}

.card-row[b-v7aztnh5fk] {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    margin-bottom: 0.5rem;
    background: #fff;
    overflow: hidden;
}

.card-row.status-approved[b-v7aztnh5fk] {
    border-color: #a7f3d0;
    background: #f0fdf4;
}

.card-row.status-rejected[b-v7aztnh5fk] {
    border-color: #fecaca;
    background: #fef2f2;
}

.card-row.status-locked[b-v7aztnh5fk] {
    border-color: #d1d5db;
    background: #f9fafb;
}

.card-row-header[b-v7aztnh5fk] {
    display: grid;
    grid-template-columns: auto 9rem 8rem 1fr 8rem auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    font-size: 0.9rem;
}

.card-row-header:hover[b-v7aztnh5fk] {
    background: #f9fafb;
}

.card-expand[b-v7aztnh5fk] {
    color: #6b7280;
    font-size: 0.75rem;
}

.card-date[b-v7aztnh5fk] {
    font-weight: 600;
    color: #111827;
}

.card-campus[b-v7aztnh5fk] {
    color: #4b5563;
    font-style: italic;
}

.card-periods[b-v7aztnh5fk] {
    color: #374151;
}

.card-status[b-v7aztnh5fk] {
    padding: 0.15rem 0.55rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
}

.status-pending[b-v7aztnh5fk] {
    background: #fef3c7;
    color: #92400e;
}

.status-approved[b-v7aztnh5fk] {
    background: #d1fae5;
    color: #065f46;
}

.status-rejected[b-v7aztnh5fk] {
    background: #fee2e2;
    color: #991b1b;
}

.status-locked[b-v7aztnh5fk] {
    background: #e5e7eb;
    color: #374151;
}

.card-actions[b-v7aztnh5fk] {
    display: flex;
    gap: 0.35rem;
    align-items: center;
    flex-wrap: wrap;
}

.card-actions .btn-approve[b-v7aztnh5fk] {
    background: #10b981;
    color: #fff;
    border: 1px solid #10b981;
    padding: 0.3rem 0.75rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
}

.card-actions .btn-approve:hover:not(:disabled)[b-v7aztnh5fk] {
    background: #059669;
}

.card-actions .btn-reject[b-v7aztnh5fk] {
    background: #fff;
    color: #991b1b;
    border: 1px solid #fca5a5;
    padding: 0.3rem 0.75rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
}

.card-actions .btn-reject:hover:not(:disabled)[b-v7aztnh5fk] {
    background: #fef2f2;
}

.card-actions .btn-approve:disabled[b-v7aztnh5fk],
.card-actions .btn-reject:disabled[b-v7aztnh5fk] {
    opacity: 0.55;
    cursor: not-allowed;
}

.decided-by[b-v7aztnh5fk] {
    color: #4b5563;
    font-size: 0.8rem;
    font-style: italic;
    white-space: nowrap;
}

.reject-inline-label[b-v7aztnh5fk] {
    color: #991b1b;
    font-size: 0.8rem;
    font-weight: 600;
    font-style: italic;
}

.reject-form-panel[b-v7aztnh5fk] {
    background: #fef2f2;
    border-top: 1px solid #fecaca;
    padding: 0.75rem 0.95rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.reject-form-panel label[b-v7aztnh5fk] {
    font-weight: 600;
    color: #991b1b;
    font-size: 0.85rem;
}

.reject-form-panel textarea[b-v7aztnh5fk] {
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 1px solid #fca5a5;
    border-radius: 4px;
    font-size: 0.9rem;
    font-family: inherit;
    color: #111827;
    background: #fff;
    resize: vertical;
    min-height: 3rem;
}

.reject-form-panel textarea:disabled[b-v7aztnh5fk] {
    background: #fef2f2;
    color: #6b7280;
}

.reject-form-buttons[b-v7aztnh5fk] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.btn-confirm-reject[b-v7aztnh5fk] {
    background: #dc2626;
    color: #fff;
    border: 1px solid #dc2626;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-confirm-reject:hover:not(:disabled)[b-v7aztnh5fk] {
    background: #b91c1c;
}

.btn-cancel-reject[b-v7aztnh5fk] {
    background: #fff;
    color: #374151;
    border: 1px solid #d1d5db;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-cancel-reject:hover:not(:disabled)[b-v7aztnh5fk] {
    background: #f3f4f6;
}

.btn-confirm-reject:disabled[b-v7aztnh5fk],
.btn-cancel-reject:disabled[b-v7aztnh5fk] {
    opacity: 0.55;
    cursor: not-allowed;
}

.card-detail[b-v7aztnh5fk] {
    padding: 0 0.85rem 0.75rem;
    background: #fff;
}

.period-table[b-v7aztnh5fk] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.4rem;
}

.period-table th[b-v7aztnh5fk],
.period-table td[b-v7aztnh5fk] {
    text-align: left;
    padding: 0.4rem 0.55rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.85rem;
}

.period-table thead th[b-v7aztnh5fk] {
    background: #f9fafb;
    font-weight: 600;
    color: #4b5563;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.session-badge[b-v7aztnh5fk] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

.session-day[b-v7aztnh5fk] {
    background: #fef3c7;
    color: #92400e;
}

.session-night[b-v7aztnh5fk] {
    background: #ddd6fe;
    color: #4c1d95;
}

.notes-cell[b-v7aztnh5fk] {
    color: #6b7280;
    font-style: italic;
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.no-periods[b-v7aztnh5fk] {
    color: #9ca3af;
    font-style: italic;
    margin: 0.5rem 0;
}
/* _content/CaseManagement.Web/Components/RollCall/Shared/AuditHistoryPanel.razor.rz.scp.css */
.modal-backdrop[b-yqk6wa0nlk] {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 3rem;
    z-index: 1050;
}

.modal-panel[b-yqk6wa0nlk] {
    background: #fff;
    width: 100%;
    max-width: 1000px;
    border-radius: 8px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 5rem);
}

.modal-header[b-yqk6wa0nlk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.modal-header h3[b-yqk6wa0nlk] {
    margin: 0;
    font-size: 1.1rem;
    color: #111827;
}

.history-window[b-yqk6wa0nlk] {
    margin: 0.15rem 0 0;
    color: #6b7280;
    font-size: 0.8rem;
}

.btn-close[b-yqk6wa0nlk] {
    background: transparent;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
    padding: 0 0.25rem;
}

.btn-close:hover[b-yqk6wa0nlk] {
    color: #111827;
}

.modal-body[b-yqk6wa0nlk] {
    padding: 0.75rem 1.25rem 1rem;
    overflow-y: auto;
}

.history-loading[b-yqk6wa0nlk],
.history-empty[b-yqk6wa0nlk],
.history-error[b-yqk6wa0nlk] {
    padding: 1rem;
    border-radius: 6px;
    margin: 0.5rem 0;
    text-align: center;
    font-size: 0.9rem;
}

.history-loading[b-yqk6wa0nlk] {
    background: #f3f4f6;
    color: #4b5563;
}

.history-empty[b-yqk6wa0nlk] {
    background: #fafafa;
    border: 1px dashed #d1d5db;
    color: #6b7280;
}

.history-error[b-yqk6wa0nlk] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.history-summary[b-yqk6wa0nlk] {
    color: #6b7280;
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
    padding: 0 0.25rem;
}

.history-table[b-yqk6wa0nlk] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.history-table thead th[b-yqk6wa0nlk] {
    text-align: left;
    padding: 0.45rem 0.55rem;
    background: #f9fafb;
    font-weight: 600;
    color: #4b5563;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
}

.history-row[b-yqk6wa0nlk] {
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
}

.history-row:hover[b-yqk6wa0nlk] {
    background: #f9fafb;
}

.history-row.expanded[b-yqk6wa0nlk] {
    background: #eef2ff;
}

.history-row td[b-yqk6wa0nlk] {
    padding: 0.4rem 0.55rem;
}

.expand-cell[b-yqk6wa0nlk] {
    width: 1rem;
    color: #6b7280;
    font-size: 0.75rem;
}

.when-cell[b-yqk6wa0nlk] {
    white-space: nowrap;
    color: #374151;
    font-variant-numeric: tabular-nums;
    min-width: 9rem;
}

.action-cell[b-yqk6wa0nlk] {
    min-width: 9rem;
}

.action-code[b-yqk6wa0nlk] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: capitalize;
}

.action-create[b-yqk6wa0nlk] {
    background: #d1fae5;
    color: #065f46;
}

.action-approve[b-yqk6wa0nlk] {
    background: #dbeafe;
    color: #1e40af;
}

.action-reject[b-yqk6wa0nlk] {
    background: #fee2e2;
    color: #991b1b;
}

.action-delete[b-yqk6wa0nlk] {
    background: #fef3c7;
    color: #92400e;
}

.action-modify[b-yqk6wa0nlk] {
    background: #ede9fe;
    color: #5b21b6;
}

.action-unlock[b-yqk6wa0nlk] {
    background: #e0e7ff;
    color: #3730a3;
}

.action-verify[b-yqk6wa0nlk] {
    background: #ccfbf1;
    color: #115e59;
}

.action-export[b-yqk6wa0nlk] {
    background: #f3f4f6;
    color: #374151;
}

.action-generic[b-yqk6wa0nlk] {
    background: #f3f4f6;
    color: #4b5563;
}

.source-cell[b-yqk6wa0nlk] {
    color: #6b7280;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.by-cell[b-yqk6wa0nlk] {
    color: #374151;
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.summary-cell[b-yqk6wa0nlk] {
    color: #4b5563;
    max-width: 24rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.history-detail-row td[b-yqk6wa0nlk] {
    background: #f8fafc;
    padding: 0.75rem 1.25rem 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.history-detail[b-yqk6wa0nlk] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.detail-row[b-yqk6wa0nlk] {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
}

.detail-row.subtle[b-yqk6wa0nlk] {
    color: #6b7280;
    font-size: 0.8rem;
}

.detail-row.reason[b-yqk6wa0nlk] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    padding: 0.45rem 0.6rem;
    border-radius: 4px;
    color: #991b1b;
}

.detail-label[b-yqk6wa0nlk] {
    font-weight: 600;
    color: #374151;
    font-size: 0.8rem;
    min-width: 4rem;
}

.detail-value[b-yqk6wa0nlk] {
    color: #111827;
    font-size: 0.85rem;
    word-break: break-word;
}

.detail-block[b-yqk6wa0nlk] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.25rem;
}

.json-block[b-yqk6wa0nlk] {
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 0.5rem 0.7rem;
    margin: 0;
    font-size: 0.8rem;
    font-family: "Consolas", "Monaco", monospace;
    color: #1f2937;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 12rem;
    overflow-y: auto;
}

.modal-footer[b-yqk6wa0nlk] {
    display: flex;
    justify-content: flex-end;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
}

.btn-secondary[b-yqk6wa0nlk] {
    background: #fff;
    color: #374151;
    border: 1px solid #d1d5db;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.9rem;
}

.btn-secondary:hover[b-yqk6wa0nlk] {
    background: #f3f4f6;
}
/* _content/CaseManagement.Web/Components/RollCall/Shared/SubOutreachPanel.razor.rz.scp.css */
.outreach-panel[b-ts0dp59hsq] {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 0.75rem;
    margin-top: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.panel-section[b-ts0dp59hsq] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 0.6rem 0.75rem;
}

.section-title[b-ts0dp59hsq] {
    font-weight: 600;
    color: #374151;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.55rem;
}

.panel-loading[b-ts0dp59hsq],
.panel-empty[b-ts0dp59hsq] {
    color: #6b7280;
    font-size: 0.9rem;
    padding: 0.75rem;
    text-align: center;
    background: #fff;
    border: 1px dashed #d1d5db;
    border-radius: 4px;
}

.panel-error[b-ts0dp59hsq] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    padding: 0.55rem 0.7rem;
    border-radius: 4px;
    margin: 0.4rem 0;
    font-size: 0.88rem;
}

.mode-toggle[b-ts0dp59hsq] {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.mode-toggle label[b-ts0dp59hsq] {
    color: #374151;
    font-size: 0.9rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.candidates-table[b-ts0dp59hsq],
.history-table[b-ts0dp59hsq] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.candidates-table thead th[b-ts0dp59hsq],
.history-table thead th[b-ts0dp59hsq] {
    background: #f9fafb;
    padding: 0.4rem 0.5rem;
    text-align: left;
    color: #4b5563;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #e5e7eb;
}

.candidates-table tbody tr[b-ts0dp59hsq] {
    border-bottom: 1px solid #f3f4f6;
}

.candidates-table tbody tr:hover[b-ts0dp59hsq] {
    background: #fafafa;
}

.candidates-table tbody tr.selected[b-ts0dp59hsq] {
    background: #eef2ff;
}

.candidates-table td[b-ts0dp59hsq],
.history-table td[b-ts0dp59hsq] {
    padding: 0.4rem 0.5rem;
    vertical-align: middle;
}

.select-col[b-ts0dp59hsq] {
    width: 1.5rem;
}

.order-col[b-ts0dp59hsq] {
    width: 3rem;
    text-align: center;
}

.order-num[b-ts0dp59hsq] {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
    background: #4338ca;
    color: #fff;
    border-radius: 9999px;
    font-weight: 600;
    font-size: 0.8rem;
}

.name-cell strong[b-ts0dp59hsq] {
    color: #111827;
}

.email-cell[b-ts0dp59hsq],
.phone-cell[b-ts0dp59hsq] {
    color: #374151;
    font-size: 0.85rem;
}

.conflicts-cell[b-ts0dp59hsq] {
    font-size: 0.85rem;
}

.conflict-clean[b-ts0dp59hsq] {
    color: #059669;
}

.conflict-note[b-ts0dp59hsq] {
    color: #b91c1c;
    font-weight: 500;
}

.conflict-badge[b-ts0dp59hsq] {
    display: inline-block;
    margin: 0 0.35rem 0.15rem 0;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: help;
    white-space: nowrap;
}

.conflict-badge.conflict-blocked[b-ts0dp59hsq] {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.conflict-badge.conflict-review[b-ts0dp59hsq] {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

.muted[b-ts0dp59hsq] {
    color: #9ca3af;
    font-style: italic;
    font-size: 0.85rem;
}

.sms-opt-out[b-ts0dp59hsq] {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.05rem 0.4rem;
    background: #fef3c7;
    color: #92400e;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Phase B Gap-2: this badge appears on a candidate row when the sub has a
   period-overlap conflict with another SubConfirmed request but still has
   capacity for some of the periods this request needs. The dispatched
   outreach email/SMS will mention only the listed periods. */
.partial-avail-badge[b-ts0dp59hsq] {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.05rem 0.5rem;
    background: #dbeafe;
    color: #1e3a8a;
    border: 1px solid #93c5fd;
    border-radius: 9999px;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: help;
}

.cascade-actions[b-ts0dp59hsq] {
    white-space: nowrap;
}

.btn-tiny[b-ts0dp59hsq] {
    background: #fff;
    color: #374151;
    border: 1px solid #d1d5db;
    border-radius: 3px;
    padding: 0.15rem 0.45rem;
    cursor: pointer;
    font-size: 0.8rem;
}

.btn-tiny:hover:not(:disabled)[b-ts0dp59hsq] {
    background: #f3f4f6;
}

.btn-tiny:disabled[b-ts0dp59hsq] {
    opacity: 0.35;
    cursor: not-allowed;
}

.send-row[b-ts0dp59hsq] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #f3f4f6;
    flex-wrap: wrap;
}

.send-summary[b-ts0dp59hsq] {
    color: #374151;
    font-size: 0.9rem;
}

.send-summary strong[b-ts0dp59hsq] {
    color: #111827;
}

.btn-send-outreach[b-ts0dp59hsq] {
    background: #2563eb;
    color: #fff;
    border: 1px solid #2563eb;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
}

.btn-send-outreach:hover:not(:disabled)[b-ts0dp59hsq] {
    background: #1d4ed8;
}

.btn-send-outreach:disabled[b-ts0dp59hsq] {
    background: #9ca3af;
    border-color: #9ca3af;
    cursor: not-allowed;
    opacity: 0.7;
}

.history-row td[b-ts0dp59hsq] {
    color: #374151;
}

.history-row.status-accepted[b-ts0dp59hsq] {
    background: #f0fdf4;
}

.history-row.status-declined[b-ts0dp59hsq] {
    background: #fef2f2;
}

.history-row.status-expired[b-ts0dp59hsq] {
    background: #f3f4f6;
    color: #6b7280;
}

.chip[b-ts0dp59hsq] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

.chip.status-awaiting[b-ts0dp59hsq] {
    background: #fef3c7;
    color: #92400e;
}

.chip.status-accepted[b-ts0dp59hsq] {
    background: #d1fae5;
    color: #065f46;
}

.chip.status-declined[b-ts0dp59hsq] {
    background: #fee2e2;
    color: #991b1b;
}

.chip.status-expired[b-ts0dp59hsq] {
    background: #e5e7eb;
    color: #374151;
}

.chip.status-no_response[b-ts0dp59hsq] {
    background: #e5e7eb;
    color: #6b7280;
}

td.num[b-ts0dp59hsq] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.sent-by[b-ts0dp59hsq] {
    color: #4b5563;
    font-size: 0.82rem;
}
/* _content/CaseManagement.Web/Components/RollCall/Shared/SubPeriodPickerModal.razor.rz.scp.css */
.modal-backdrop[b-62byeq0t1w] {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 4rem;
    z-index: 1050;
}

.modal-panel[b-62byeq0t1w] {
    background: #fff;
    width: 100%;
    max-width: 560px;
    border-radius: 8px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 6rem);
}

.modal-header[b-62byeq0t1w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.modal-header h3[b-62byeq0t1w] {
    margin: 0;
    font-size: 1.15rem;
    color: #111827;
}

.btn-close[b-62byeq0t1w] {
    background: transparent;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
    padding: 0 0.25rem;
}

.btn-close:hover[b-62byeq0t1w] {
    color: #111827;
}

.modal-body[b-62byeq0t1w] {
    padding: 1.1rem 1.25rem;
    overflow-y: auto;
}

.form-row[b-62byeq0t1w] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 0.9rem;
}

.form-row label[b-62byeq0t1w] {
    font-weight: 600;
    font-size: 0.85rem;
    color: #374151;
}

.form-row.warn[b-62byeq0t1w] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    padding: 0.6rem 0.8rem;
    border-radius: 4px;
    font-size: 0.9rem;
}

.form-row.error[b-62byeq0t1w] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    padding: 0.6rem 0.8rem;
    border-radius: 4px;
    font-size: 0.9rem;
}

.session-toggle[b-62byeq0t1w] {
    display: inline-flex;
    border: 1px solid #c7d2fe;
    border-radius: 6px;
    overflow: hidden;
    width: fit-content;
}

.toggle-btn[b-62byeq0t1w] {
    background: #fff;
    color: #3730a3;
    border: none;
    padding: 0.5rem 1.1rem;
    font-weight: 500;
    cursor: pointer;
}

.toggle-btn:not(:last-child)[b-62byeq0t1w] {
    border-right: 1px solid #c7d2fe;
}

.toggle-btn.active[b-62byeq0t1w] {
    background: #4338ca;
    color: #fff;
}

.toggle-btn:disabled[b-62byeq0t1w] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-row select[b-62byeq0t1w],
.form-row textarea[b-62byeq0t1w],
.form-row input[type="text"][b-62byeq0t1w] {
    width: 100%;
    padding: 0.5rem 0.6rem;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 0.95rem;
    background: #fff;
    color: #111827;
    font-family: inherit;
}

.form-row select:disabled[b-62byeq0t1w],
.form-row textarea:disabled[b-62byeq0t1w] {
    background: #f3f4f6;
    color: #6b7280;
}

.form-row textarea[b-62byeq0t1w] {
    resize: vertical;
    min-height: 3rem;
}

.auto-filled .snapshot[b-62byeq0t1w] {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 4px;
    padding: 0.6rem 0.8rem;
    display: grid;
    gap: 0.15rem;
    font-size: 0.9rem;
    color: #075985;
}

.modal-footer[b-62byeq0t1w] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.85rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
}

.btn-primary[b-62byeq0t1w] {
    background: #2563eb;
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.9rem;
}

.btn-primary:disabled[b-62byeq0t1w] {
    background: #9ca3af;
    cursor: not-allowed;
    opacity: 0.7;
}

.btn-primary:hover:not(:disabled)[b-62byeq0t1w] {
    background: #1d4ed8;
}

.btn-secondary[b-62byeq0t1w] {
    background: #fff;
    color: #374151;
    border: 1px solid #d1d5db;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.9rem;
}

.btn-secondary:disabled[b-62byeq0t1w] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-secondary:hover:not(:disabled)[b-62byeq0t1w] {
    background: #f3f4f6;
}

/* ============================================================================
   Phase 3 (2026-04-27)
   ----------------------------------------------------------------------------
   Searchable teacher list replaces the legacy <select> teacher picker. On iOS
   the native <select> renders a wheel picker for 40+ options that's worse UX
   than a typed filter; on small Android phones long native dropdowns clip
   off-screen. This pattern works the same on desktop and mobile.

   Mobile sheet treatment lifts the modal to fill the viewport at <= 768 px.
   ============================================================================ */

.teacher-search-input[b-62byeq0t1w] {
    width: 100%;
    padding: 0.55rem 0.7rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.95rem;
    font-family: inherit;
    background: #fff;
    color: #111827;
    margin-bottom: 0.4rem;
}

.teacher-search-input:focus[b-62byeq0t1w] {
    outline: 2px solid #2563eb;
    outline-offset: 1px;
    border-color: #2563eb;
}

.teacher-search-input:disabled[b-62byeq0t1w] {
    background: #f3f4f6;
    color: #6b7280;
}

.teacher-list[b-62byeq0t1w] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 16rem;
    overflow-y: auto;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 0.3rem;
    background: #fafafa;
    -webkit-overflow-scrolling: touch;
}

.teacher-list-item[b-62byeq0t1w] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    width: 100%;
    padding: 0.55rem 0.7rem;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    text-align: left;
    cursor: pointer;
    font-size: 0.9rem;
    color: #1f2937;
    font-family: inherit;
}

.teacher-list-item:hover:not(:disabled)[b-62byeq0t1w] {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.teacher-list-item:active:not(:disabled)[b-62byeq0t1w] {
    background: #dbeafe;
}

.teacher-list-item:disabled[b-62byeq0t1w] {
    opacity: 0.5;
    cursor: not-allowed;
}

.teacher-list-item--special[b-62byeq0t1w] {
    background: #fffbeb;
    border-color: #fde68a;
    color: #92400e;
    font-weight: 600;
}

.teacher-list-item--special:hover:not(:disabled)[b-62byeq0t1w] {
    background: #fef3c7;
    border-color: #f59e0b;
}

.teacher-list-name[b-62byeq0t1w] {
    font-weight: 600;
    font-size: 0.95rem;
}

.teacher-list-meta[b-62byeq0t1w] {
    font-size: 0.78rem;
    color: #6b7280;
}

.teacher-list-empty[b-62byeq0t1w] {
    text-align: center;
    padding: 0.85rem;
    color: #6b7280;
    font-size: 0.9rem;
    font-style: italic;
}

.teacher-selected-pill[b-62byeq0t1w] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    background: #ecfdf5;
    border: 1px solid #6ee7b7;
    border-radius: 6px;
    color: #064e3b;
}

.teacher-selected-pill .pill-meta[b-62byeq0t1w] {
    font-size: 0.78rem;
    color: #047857;
}

.btn-pill-clear[b-62byeq0t1w] {
    margin-left: auto;
    background: transparent;
    border: none;
    font-size: 1.25rem;
    line-height: 1;
    color: #047857;
    cursor: pointer;
    padding: 0 0.35rem;
    min-width: 32px;
    min-height: 32px;
}

.btn-pill-clear:hover:not(:disabled)[b-62byeq0t1w] {
    color: #064e3b;
}

.btn-pill-clear:disabled[b-62byeq0t1w] {
    opacity: 0.5;
    cursor: not-allowed;
}

.help-hint[b-62byeq0t1w] {
    font-size: 0.78rem;
    color: #6b7280;
    margin-top: 0.35rem;
    display: block;
    line-height: 1.4;
}

@media (max-width: 768px) {

    .modal-backdrop[b-62byeq0t1w] {
        padding-top: 0;
        align-items: stretch;
    }

    .modal-panel[b-62byeq0t1w] {
        max-width: 100%;
        height: 100vh;
        max-height: 100vh;
        border-radius: 0;
    }

    .modal-header[b-62byeq0t1w] {
        padding: 0.85rem 1rem;
    }

    .modal-header h3[b-62byeq0t1w] {
        font-size: 1.05rem;
    }

    .btn-close[b-62byeq0t1w] {
        font-size: 1.65rem;
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .modal-body[b-62byeq0t1w] {
        padding: 0.95rem 1rem;
    }

    /* iOS prevents zoom-on-focus only when input font-size >= 16px. */
    .form-row select[b-62byeq0t1w],
    .form-row textarea[b-62byeq0t1w],
    .form-row input[type="text"][b-62byeq0t1w],
    .teacher-search-input[b-62byeq0t1w] {
        font-size: 16px;
        min-height: 44px;
    }

    .session-toggle[b-62byeq0t1w] {
        width: 100%;
    }

    .toggle-btn[b-62byeq0t1w] {
        flex: 1;
        min-height: 44px;
        font-size: 0.95rem;
    }

    .teacher-list[b-62byeq0t1w] {
        max-height: none;
    }

    .teacher-list-item[b-62byeq0t1w] {
        min-height: 48px;
        padding: 0.65rem 0.8rem;
    }

    .modal-footer[b-62byeq0t1w] {
        padding: 0.85rem 1rem;
        gap: 0.5rem;
    }

    .btn-primary[b-62byeq0t1w],
    .btn-secondary[b-62byeq0t1w] {
        flex: 1;
        min-height: 48px;
        font-size: 1rem;
    }
}
/* _content/CaseManagement.Web/Components/RollCall/Shared/SubstitutePayrollSection.razor.rz.scp.css */
.sub-payroll-section[b-ljbdlkf1v3] {
    padding: 0.5rem 0;
}

/* 2026-04-27: per-row checkbox column + paper-approve & export PDF action.
   Mirrors the HRPayroll page styling (gold gradient pill button, navy
   checkbox accent, success/error message banner). */

.section-actions[b-ljbdlkf1v3] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.selection-counter[b-ljbdlkf1v3] {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #4b5563;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-approve-export[b-ljbdlkf1v3] {
    background: linear-gradient(180deg, #f5b81c 0%, #d97706 100%);
    color: #1e3a5f;
    border: 1px solid #b45309;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.9rem;
    transition: filter 0.12s ease;
}

.btn-approve-export:hover:not(:disabled)[b-ljbdlkf1v3] {
    filter: brightness(0.95);
}

.btn-approve-export:disabled[b-ljbdlkf1v3] {
    opacity: 0.5;
    cursor: not-allowed;
    filter: grayscale(0.4);
}

.approve-export-msg[b-ljbdlkf1v3] {
    padding: 0.55rem 0.85rem;
    border-radius: 6px;
    font-size: 0.88rem;
    margin: 0.5rem 0 0.85rem;
}

.approve-export-msg.ok[b-ljbdlkf1v3] {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
}

.approve-export-msg.error[b-ljbdlkf1v3] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.sub-payroll-table th.check-col[b-ljbdlkf1v3],
.sub-payroll-table td.check-col[b-ljbdlkf1v3] {
    width: 36px;
    text-align: center;
}

.sub-payroll-table .check-col input[b-ljbdlkf1v3] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #1e3a5f;
}

.section-header[b-ljbdlkf1v3] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.6rem 0.25rem;
}

.section-stats[b-ljbdlkf1v3] {
    color: #4b5563;
    font-size: 0.9rem;
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    align-items: center;
}

.section-stats strong[b-ljbdlkf1v3] {
    color: #111827;
}

.section-stats .divider[b-ljbdlkf1v3] {
    color: #d1d5db;
}

.warn-inline[b-ljbdlkf1v3] {
    color: #92400e;
    background: #fef3c7;
    padding: 0.1rem 0.55rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

.section-actions[b-ljbdlkf1v3] {
    display: flex;
    gap: 0.5rem;
}

.btn-export[b-ljbdlkf1v3] {
    background: #059669;
    color: #fff;
    border: 1px solid #059669;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
}

.btn-export:hover:not(:disabled)[b-ljbdlkf1v3] {
    background: #047857;
}

.btn-export:disabled[b-ljbdlkf1v3] {
    background: #9ca3af;
    border-color: #9ca3af;
    cursor: not-allowed;
    opacity: 0.7;
}

.error-panel[b-ljbdlkf1v3] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    margin: 0.5rem 0;
    font-size: 0.9rem;
}

.loading[b-ljbdlkf1v3] {
    background: #f3f4f6;
    color: #4b5563;
    text-align: center;
    padding: 1rem;
    border-radius: 6px;
}

.empty-state[b-ljbdlkf1v3] {
    background: #fafafa;
    border: 1px dashed #d1d5db;
    border-radius: 6px;
    padding: 1.5rem;
    text-align: center;
    color: #6b7280;
}

.empty-state h3[b-ljbdlkf1v3] {
    margin: 0 0 0.5rem 0;
    color: #374151;
}

.sub-payroll-table[b-ljbdlkf1v3] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
}

.sub-payroll-table thead th[b-ljbdlkf1v3] {
    background: #f9fafb;
    padding: 0.55rem 0.65rem;
    text-align: left;
    color: #4b5563;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #e5e7eb;
}

.sub-payroll-table thead th.num[b-ljbdlkf1v3] {
    text-align: right;
}

.sub-payroll-table thead th.expand-col[b-ljbdlkf1v3] {
    width: 1.5rem;
}

.sub-row[b-ljbdlkf1v3] {
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.9rem;
}

.sub-row:hover[b-ljbdlkf1v3] {
    background: #f9fafb;
}

.sub-row.expanded[b-ljbdlkf1v3] {
    background: #eef2ff;
}

.sub-row.hr-approved[b-ljbdlkf1v3] {
    background: #f0fdf4;
}

.sub-row td[b-ljbdlkf1v3] {
    padding: 0.45rem 0.65rem;
    vertical-align: middle;
}

.expand-cell[b-ljbdlkf1v3] {
    color: #6b7280;
    font-size: 0.75rem;
}

.name-cell[b-ljbdlkf1v3] {
    color: #111827;
}

.empnbr-cell[b-ljbdlkf1v3] {
    font-family: "Consolas", "Monaco", monospace;
    color: #4b5563;
    font-size: 0.85rem;
}

.missing-empnbr[b-ljbdlkf1v3] {
    color: #92400e;
    font-style: italic;
    font-size: 0.8rem;
}

td.num[b-ljbdlkf1v3] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: #374151;
}

td.num.total[b-ljbdlkf1v3] {
    color: #111827;
    font-size: 0.95rem;
}

.sup-cell[b-ljbdlkf1v3],
.hr-cell[b-ljbdlkf1v3] {
    white-space: nowrap;
}

.chip[b-ljbdlkf1v3] {
    display: inline-block;
    padding: 0.1rem 0.55rem;
    border-radius: 9999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.chip.approved[b-ljbdlkf1v3] {
    background: #d1fae5;
    color: #065f46;
}

.chip.pending[b-ljbdlkf1v3] {
    background: #fef3c7;
    color: #92400e;
}

.chip.rejected[b-ljbdlkf1v3] {
    background: #fee2e2;
    color: #991b1b;
}

.chip.locked[b-ljbdlkf1v3] {
    background: #e5e7eb;
    color: #374151;
}

.action-cell[b-ljbdlkf1v3] {
    white-space: nowrap;
}

.btn-approve-hr[b-ljbdlkf1v3] {
    background: #2563eb;
    color: #fff;
    border: 1px solid #2563eb;
    padding: 0.3rem 0.75rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 500;
}

.btn-approve-hr:hover:not(:disabled)[b-ljbdlkf1v3] {
    background: #1d4ed8;
}

.btn-approve-hr:disabled[b-ljbdlkf1v3] {
    background: #9ca3af;
    border-color: #9ca3af;
    cursor: not-allowed;
    opacity: 0.65;
}

.muted[b-ljbdlkf1v3] {
    color: #6b7280;
    font-style: italic;
    font-size: 0.82rem;
}

.btn-unlock-hr[b-ljbdlkf1v3] {
    background: #fff;
    color: #9a3412;
    border: 1px solid #fdba74;
    padding: 0.3rem 0.75rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 500;
}

.btn-unlock-hr:hover:not(:disabled)[b-ljbdlkf1v3] {
    background: #fff7ed;
}

.btn-unlock-hr:disabled[b-ljbdlkf1v3] {
    opacity: 0.55;
    cursor: not-allowed;
}

.reject-inline-label[b-ljbdlkf1v3] {
    color: #9a3412;
    font-size: 0.8rem;
    font-weight: 600;
    font-style: italic;
}

.unlock-panel[b-ljbdlkf1v3] {
    background: #fff7ed;
    border: 1px solid #fdba74;
    border-radius: 6px;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.unlock-panel label[b-ljbdlkf1v3] {
    font-weight: 600;
    color: #9a3412;
    font-size: 0.85rem;
}

.unlock-panel textarea[b-ljbdlkf1v3] {
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 1px solid #fdba74;
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.9rem;
    color: #111827;
    background: #fff;
    resize: vertical;
    min-height: 3rem;
}

.unlock-buttons[b-ljbdlkf1v3] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.btn-confirm-unlock[b-ljbdlkf1v3] {
    background: #ea580c;
    color: #fff;
    border: 1px solid #ea580c;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-confirm-unlock:hover:not(:disabled)[b-ljbdlkf1v3] {
    background: #c2410c;
}

.btn-cancel-unlock[b-ljbdlkf1v3] {
    background: #fff;
    color: #374151;
    border: 1px solid #d1d5db;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-cancel-unlock:hover[b-ljbdlkf1v3] {
    background: #f3f4f6;
}

.btn-confirm-unlock:disabled[b-ljbdlkf1v3],
.btn-cancel-unlock:disabled[b-ljbdlkf1v3] {
    opacity: 0.55;
    cursor: not-allowed;
}

.detail-row td[b-ljbdlkf1v3] {
    background: #f8fafc;
    padding: 0.6rem 1rem 0.9rem;
}

.detail-panel[b-ljbdlkf1v3] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.detail-meta[b-ljbdlkf1v3] {
    color: #4b5563;
    font-size: 0.85rem;
}

.cards-mini-table[b-ljbdlkf1v3] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
}

.cards-mini-table thead th[b-ljbdlkf1v3] {
    background: #f9fafb;
    padding: 0.35rem 0.55rem;
    text-align: left;
    color: #4b5563;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #e5e7eb;
}

.cards-mini-table thead th.num[b-ljbdlkf1v3] {
    text-align: right;
}

.cards-mini-table tbody tr[b-ljbdlkf1v3] {
    border-bottom: 1px solid #f3f4f6;
}

.cards-mini-table tbody tr:last-child[b-ljbdlkf1v3] {
    border-bottom: none;
}

.cards-mini-table td[b-ljbdlkf1v3] {
    padding: 0.35rem 0.55rem;
    font-size: 0.85rem;
    color: #374151;
}
/* _content/CaseManagement.Web/Components/Shared/AllDashboardsLink.razor.rz.scp.css */
/* Colour and text-decoration carry !important, which inside a CSS-isolation
   stylesheet is bounded by the generated [b-xxxxxxxxxx] scope and cannot leak.
   It is needed: every console shell styles its nav links with a descendant
   selector - .adm-app .adm-nav a, .cc-app .cc-nav a and so on, specificity
   (0,2,1) - which outranks an isolated single class (0,2,0), and the console
   stylesheet loads after the isolation bundle. Measured on staging 2026-09-20:
   the link inherited rgba(255,255,255,.82) in Admissions instead of Confident
   Yellow. Identical on every page was the requirement, so the cascade has to be
   won rather than hoped for. */
.nh-all-dash[b-zbx74uok2m] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 20px;
    color: var(--nh-confident-yellow, #FFCC00) !important;
    font-weight: 600;
    font-size: 12.5px;
    line-height: 1.2;
    text-decoration: none !important;
    border-left: 3px solid transparent;
    transition: background .15s ease, border-left-color .15s ease;
}

.nh-all-dash:hover[b-zbx74uok2m] {
    background: rgba(255, 255, 255, .08);
    color: var(--nh-confident-yellow, #FFCC00) !important;
    border-left-color: var(--nh-confident-yellow, #FFCC00);
}

.nh-all-dash-ico[b-zbx74uok2m] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
