/* Khu nghiep vu CTMTQG */
body.ct-nv {
    background: #F2F4F6;
}
.ct-nv-shell {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 264px minmax(0, 1fr);
    gap: 0;
    padding: 0 0 5rem;
    align-items: start;
}
.ct-nv-side {
    width: 264px;
    background: #fff;
    border-right: 1px solid #E1E6EB;
    border-radius: 0;
    padding: 1rem 0.75rem;
    position: sticky;
    top: 0;
    align-self: start;
    max-height: calc(100dvh - 4.5rem);
    overflow-y: auto;
    flex-shrink: 0;
}
.ct-nv-side__grp { margin-bottom: 1rem; }
.ct-nv-side .grp {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5B6672;
    padding: 0 0.75rem 0.35rem;
}
.ct-nv-side a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 2.75rem;
    padding: 0 0.75rem;
    border-radius: 0.75rem;
    color: #2B3743 !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.90625rem;
}
.ct-nv-side a i {
    font-size: 1.15rem;
    width: 1.25rem;
    text-align: center;
    flex-shrink: 0;
}
.ct-nv-side a:hover {
    background: #F4F6F8;
    color: #2B3743 !important;
}
.ct-nv-side a.is-on {
    background: #9F1C1F !important;
    color: #fff !important;
}
.ct-nv-side a.is-on:hover {
    background: #8a181b !important;
    color: #fff !important;
}
.ct-nv-main {
    min-width: 0;
    padding: 1.25rem 1.25rem 2rem;
}
.ct-nv-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
}
.ct-nv-tile {
    background: #fff;
    border: 1px solid #E1E6EB;
    border-radius: 14px;
    padding: 1rem;
    text-decoration: none !important;
    color: inherit !important;
}
.ct-nv-tile .num {
    font-size: 1.75rem;
    font-weight: 800;
    color: #1E7F4F;
    line-height: 1;
}
.ct-nv-tile .lbl { font-size: 0.82rem; color: #5B6672; margin-top: 0.35rem; }
.ct-nv-card {
    background: #fff;
    border: 1px solid #E1E6EB;
    border-radius: 14px;
    padding: 1rem 1.05rem;
    margin-top: 0.85rem;
}
.ct-nv-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: end;
    margin-bottom: 0.85rem;
}
.ct-nv-filters label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    color: #5B6672;
    margin-bottom: 0.2rem;
}
.ct-nv-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}
.ct-nv-table th, .ct-nv-table td {
    padding: 0.55rem 0.4rem;
    border-bottom: 1px solid #EEF2F6;
    vertical-align: middle;
}
.ct-nv-table th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #5B6672;
    white-space: nowrap;
}
.ct-nv-table input[type="text"],
.ct-nv-table input[type="number"] {
    width: 100%;
    min-width: 4.5rem;
    border: 1px solid #CED6DE;
    border-radius: 8px;
    padding: 0.35rem 0.45rem;
}
.ct-nv-table tr.is-locked { background: #F7F9FB; }
.ct-nv-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
}
.ct-nv-tabs button {
    border: 1px solid #E1E6EB;
    background: #fff;
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 600;
}
.ct-nv-tabs button.is-on {
    background: #9F1C1F;
    border-color: #9F1C1F;
    color: #fff;
}
.ct-nv-tabbar {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 1040;
    display: none;
    height: 58px;
    background: #fff;
    border-top: 1px solid #E1E6EB;
    padding-bottom: env(safe-area-inset-bottom);
}
.ct-nv-tabbar a {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    font-size: 0.65rem;
    font-weight: 700;
    color: #5B6672;
    text-decoration: none;
}
.ct-nv-tabbar a.is-active { color: #9F1C1F; }
.ct-nv-tabbar a i { font-size: 1.15rem; }

/* Chat FAQ trong khu nghiệp vụ */
.ct-chat {
    background: #fff;
    border: 1px solid #E1E6EB;
    border-radius: 16px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 420px;
}
.ct-chat__suggest {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.ct-chat__chip {
    border: 1px solid #E1E6EB;
    background: #F7F9FB;
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #2B3743;
    cursor: pointer;
    text-align: left;
}
.ct-chat__chip:hover { border-color: #9F1C1F; color: #9F1C1F; }
.ct-chat__log {
    flex: 1;
    min-height: 260px;
    max-height: 480px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 0.5rem 0;
}
.ct-chat__me, .ct-chat__bot {
    max-width: 92%;
    padding: 0.75rem 0.9rem;
    border-radius: 14px;
    font-size: 0.9rem;
    line-height: 1.45;
}
.ct-chat__me {
    align-self: flex-end;
    background: #9F1C1F;
    color: #fff;
}
.ct-chat__bot {
    align-self: flex-start;
    background: #F4F6F8;
    color: #16202A;
}
.ct-chat__form {
    display: flex;
    gap: 0.5rem;
}
.ct-chat__form .form-control { flex: 1; }

@media (max-width: 991px) {
    .ct-nv-shell { grid-template-columns: 1fr; padding-bottom: 5.5rem; }
    .ct-nv-side { display: none; }
    /* Thanh tab chung cua Site.master doi theo trang nghiep vu (css/ctmt-mobile.css); khong dung .ct-nv-tabbar rieng */
}

/* Khu nghiep vu khong sidebar: menu o mega menu ADMIN */
.ct-nv-shell.ct-nv-shell--rong { grid-template-columns: minmax(0, 1fr); }

/* ===== Von, giai ngan (Admin/CtGiaiNgan.aspx, js/ctmt-giaingan.js) theo mau ctmtqg.dieutra.net/quan-tri/giai-ngan ===== */
.gn-eb { font-size: 12px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: var(--ct-red, #9F1C1F); }
.gn { padding: 0; overflow: hidden; }
.gn-dau { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid #E6EAEE; }
.gn-chon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.gn-chon .form-select { width: auto; min-width: 11rem; }
.gn-xem { background: #14365D; color: #fff; font-weight: 700; padding: .35rem 1rem; }
.gn-xem:hover { background: #0E2541; color: #fff; }
.gn-bang { width: 100%; border-collapse: collapse; font-size: 14px; }
.gn-bang th { padding: 10px 12px; font-size: 11.5px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; color: #5B6672; border-bottom: 1px solid #E6EAEE; white-space: nowrap; }
.gn-bang td { padding: 6px 12px; border-bottom: 1px solid #F0F2F5; vertical-align: middle; }
.gn-bang .gn-ten { min-width: 15rem; }
.gn-bang .gn-o { width: 6.5rem; margin-left: auto; text-align: right; font-weight: 600; }
.gn-bang .gn-kh { width: 7.5rem; }
.gn-nhom td { padding-top: 14px; border-bottom: 0; font-weight: 700; }
.gn-ten-lv { font-weight: 700; white-space: nowrap; }
.gn-cham { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 8px; vertical-align: 1px; }
.gn-da { font-weight: 700; white-space: nowrap; }
.gn-pl--tot { color: #1C7C44 !important; }
.gn-pl--cham { color: #B26A00 !important; }
.gn-pl--kem { color: #B3261E !important; }
.gn-them-dong td { border-bottom: 1px solid #E6EAEE; padding-top: 2px; }
.gn-them { border: 0; background: none; padding: 2px 0; font-size: 12.5px; font-weight: 700; color: #1F5FAF; cursor: pointer; }
.gn-them:hover { text-decoration: underline; }
.gn-dong--moi td { background: #F6FAFF; }
.gn-tong td { padding: 12px; font-weight: 800; font-size: 15px; background: #F7F9FB; border-bottom: 0; }
.gn-chan { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; padding: 14px 18px; }
.gn-chan .gn-lydo { width: auto; min-width: 14rem; }
.gn-rong { margin: 0; padding: 28px 18px; text-align: center; color: #6B7A86; font-size: 14px; }

/* Danh gia, cham diem (Admin/CtDanhGia.aspx, js/ctmt-danhgia-kq.js) */
.dgq-xl { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 12.5px; font-weight: 600; white-space: nowrap; background: #EEF1F4; color: #46525C; }
.dgq-xl--xuat_sac { background: #E3F4EA; color: #146C3A; }
.dgq-xl--tot { background: #E6F0FB; color: #1B5A9C; }
.dgq-xl--hoan_thanh { background: #FFF4DA; color: #8A5A00; }
.dgq-xl--khong_hoan_thanh { background: #FDE7E7; color: #A3262A; }
.dgq-xn { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 14px; }
.dgq-nhom { border: 1px solid #E3E8EC; border-radius: 8px; padding: 10px 12px; background: #FAFBFC; }
.dgq-nhom__dau { font-weight: 600; font-size: 14px; margin-bottom: 6px; display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.dgq-nhom__so { font-weight: 400; font-size: 13px; color: #6B7A86; }
.dgq-a .form-label { margin-bottom: 2px; line-height: 1.3; }
.dgq-a--ngoai { opacity: .55; }
.dgq-kq { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 12px; border-radius: 8px; background: #F3F6F8; font-size: 14px; color: #46525C; }
.dgq-kq b { font-size: 16px; color: #1F2A33; }
.dgq-kq--loi { background: #FDE7E7; color: #A3262A; }

/* Ky bao cao, tinh hinh nop (Admin/CtKyBaoCao.aspx, js/ctmt-kybaocao.js) */
.kbc-nop { border: 1px solid #E3E8EC; border-radius: 10px; padding: 16px; background: #fff; }
.kbc-dem { display: flex; align-items: baseline; gap: 4px; margin-bottom: 12px; font-size: 18px; color: #46525C; }
.kbc-dem b { font-size: 32px; line-height: 1; color: #146C3A; }
.kbc-dem small { margin-left: 6px; font-size: 14px; color: #6B7A86; }
.kbc-luoi { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.kbc-o { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 8px 10px; border: 1px solid #E3E8EC; border-radius: 8px; background: #FAFBFC; text-align: left; font: inherit; color: #1F2A33; }
.kbc-o span { font-weight: 600; font-size: 14px; }
.kbc-o small { font-size: 12.5px; color: #6B7A86; }
button.kbc-o { cursor: pointer; }
button.kbc-o:hover { border-color: #B0BCC6; }
.kbc-o--nop { background: #EAF6EF; border-color: #BFE3CC; }
.kbc-o--nop small { color: #146C3A; font-weight: 600; }
.kbc-o--tre:not(.kbc-o--nop) small { color: #A3262A; }

/* Luong nghiep vu: nut (i) canh tieu de, khung giai thich (App_Code/CtmtLuongNghiepVu.vb) */
.ct-luong-nut { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-left: 6px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #6B7A86; font-size: 18px; vertical-align: middle; cursor: pointer; }
.ct-luong-nut:hover, .ct-luong-nut[aria-expanded="true"] { background: #EEF2F6; color: #B71C1C; }
.ct-luong-nut:focus-visible { outline: 2px solid #B71C1C; outline-offset: 1px; }
.ct-luong { margin: 0 0 16px; padding: 14px 16px; border: 1px solid #E3E8EC; border-left: 4px solid #B71C1C; border-radius: 8px; background: #FBFCFD; font-size: 14px; color: #33414C; }
.ct-luong__dau { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; margin-bottom: 10px; }
.ct-luong__dau b { font-size: 14.5px; color: #1F2A33; }
.ct-luong__dau span { flex: 1 1 18rem; color: #46525C; }
.ct-luong__dau .btn-close { margin-left: auto; align-self: center; }
.ct-luong__buoc { margin: 0 0 10px; padding: 0; list-style: none; counter-reset: b; }
.ct-luong__buoc li { position: relative; display: flex; gap: 10px; align-items: flex-start; padding: 6px 0 6px 28px; counter-increment: b; }
.ct-luong__buoc li::before { content: counter(b); position: absolute; left: 0; top: 7px; width: 20px; height: 20px; border-radius: 50%; background: #E3E8EC; color: #46525C; font-size: 12px; font-weight: 700; text-align: center; line-height: 20px; }
.ct-luong__buoc li + li::after { content: ""; position: absolute; left: 9px; top: -6px; height: 12px; border-left: 2px solid #E3E8EC; }
.ct-luong__buoc small { display: block; margin-top: 2px; color: #6B7A86; font-size: 12.5px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.ct-luong__ai { flex: none; min-width: 68px; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; text-align: center; background: #EEF1F4; color: #46525C; }
.ct-luong__ai--tinh { background: #E6F0FB; color: #1B5A9C; }
.ct-luong__ai--bo { background: #F1E8F7; color: #6A1B9A; }
.ct-luong__ai--vptw { background: #FDE7E7; color: #A3262A; }
.ct-luong__ai--ht { background: #EEF1F4; color: #46525C; }
.ct-luong__ai--qt { background: #E8EAF6; color: #283593; }
.ct-luong__ai--mttq { background: #FFF4DA; color: #8A5A00; }
.ct-luong__ai--dan { background: #E3F4EA; color: #146C3A; }
.ct-luong__cuoi { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 0; padding-top: 10px; border-top: 1px dashed #DDE3E8; font-size: 13px; }
.ct-luong__cuoi dt { font-weight: 600; color: #46525C; }
.ct-luong__cuoi dd { margin: 0; }
.ct-luong__cuoi code { color: #46525C; white-space: normal; word-break: break-word; font-size: 12.5px; }
@media (max-width: 575.98px) {
    .ct-luong__buoc li { flex-direction: column; gap: 4px; }
    .ct-luong__cuoi { grid-template-columns: 1fr; }
}

/* Logic nghiep vu he thong (Admin/CtLogicNghiepVu.aspx) */
.lg-muc { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.lg-muc a { padding: 4px 12px; border: 1px solid #DDE3E8; border-radius: 999px; background: #fff; color: #33414C; font-size: 13.5px; text-decoration: none; }
.lg-muc a:hover { border-color: #B71C1C; color: #B71C1C; }
.lg-phan { scroll-margin-top: 90px; margin-bottom: 16px; }
.lg-phan p { font-size: 14.5px; }
.lg-h { font-size: 17px; font-weight: 700; margin-bottom: 10px; }
.lg-chuoi { display: grid; grid-template-columns: repeat(6, 1fr); gap: 22px; margin: 14px 0; }
.lg-chuoi__o { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 8px; border-top: 4px solid #B0BCC6; background: #F6F8FA; font-size: 13px; color: #46525C; }
.lg-chuoi__o b { font-size: 14.5px; color: #1F2A33; }
.lg-chuoi__o + .lg-chuoi__o::before { content: "\2192"; position: absolute; left: -18px; top: 50%; transform: translateY(-50%); color: #8896A2; font-size: 16px; }
.lg-chuoi__o--xa { border-top-color: #00838F; }
.lg-chuoi__o--tinh { border-top-color: #1B5A9C; }
.lg-chuoi__o--bo { border-top-color: #6A1B9A; }
.lg-chuoi__o--vptw { border-top-color: #B71C1C; }
.lg-chuoi__o--cong { border-top-color: #146C3A; }
.lg-chuoi__o--dan { border-top-color: #E65100; }
@media (max-width: 991.98px) {
    .lg-chuoi { grid-template-columns: 1fr; gap: 18px; }
    .lg-chuoi__o + .lg-chuoi__o::before { content: "\2193"; left: 50%; top: -16px; transform: translateX(-50%); }
}
.lg-the { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.lg-tn { display: flex; flex-direction: column; gap: 8px; padding: 14px; border: 1px solid #E3E8EC; border-top: 4px solid #B0BCC6; border-radius: 10px; background: #fff; font-size: 14px; }
.lg-tn header { display: flex; gap: 10px; align-items: flex-start; }
.lg-tn header > i { font-size: 22px; color: #46525C; }
.lg-tn header > div { flex: 1; }
.lg-tn h3 { margin: 0; font-size: 15.5px; font-weight: 700; }
.lg-tn header small { display: block; color: #6B7A86; font-size: 12.5px; line-height: 1.4; margin-top: 2px; }
.lg-tn__so { flex: none; padding: 1px 8px; border-radius: 999px; background: #EEF1F4; font-size: 12px; font-weight: 700; color: #46525C; }
.lg-tn__pv { margin: 0; font-size: 13.5px !important; color: #33414C; }
.lg-tn ul { margin: 0; padding-left: 18px; }
.lg-tn li { margin: 2px 0; }
.lg-tn__lk { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.lg-tn__lk a { padding: 2px 9px; border-radius: 6px; background: #F3F6F8; font-size: 12.5px; color: #1B5A9C; text-decoration: none; }
.lg-tn__lk a:hover { background: #E6F0FB; }
.lg-tn__q summary { cursor: pointer; font-size: 12.5px; color: #6B7A86; }
.lg-tn__q p { margin: 4px 0 0; font-size: 12.5px !important; color: #46525C; }
.lg-tn--vptw { border-top-color: #B71C1C; }
.lg-tn--vptw header > i { color: #B71C1C; }
.lg-tn--bo { border-top-color: #6A1B9A; }
.lg-tn--bo header > i { color: #6A1B9A; }
.lg-tn--tinh { border-top-color: #1B5A9C; }
.lg-tn--tinh header > i { color: #1B5A9C; }
.lg-tn--xa { border-top-color: #00838F; }
.lg-tn--xa header > i { color: #00838F; }
.lg-tn--qt { border-top-color: #283593; }
.lg-ngoai { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; font-size: 13.5px; color: #33414C; }
.lg-ngoai > span { display: flex; gap: 8px; align-items: baseline; }
.lg-kt { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.lg-kt__o { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 10px; background: #F6F8FA; border-left: 4px solid #E65100; }
.lg-kt__o h3 { margin: 0; font-size: 15px; font-weight: 700; }
.lg-kt__o p { margin: 0; font-size: 13.5px !important; color: #46525C; }
.lg-tt { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; padding: 0; list-style: none; counter-reset: t; }
.lg-tt__b { position: relative; flex: 1 1 140px; display: flex; flex-direction: column; gap: 3px; padding: 10px 12px 10px 36px; border-radius: 8px; background: #F6F8FA; font-size: 13px; color: #46525C; counter-increment: t; }
.lg-tt__b::before { content: counter(t); position: absolute; left: 10px; top: 10px; width: 20px; height: 20px; border-radius: 50%; background: #B0BCC6; color: #fff; font-size: 12px; font-weight: 700; text-align: center; line-height: 20px; }
.lg-tt__b b { font-size: 14px; color: #1F2A33; }
.lg-tt__b--tinh::before { background: #1B5A9C; }
.lg-tt__b--bo::before { background: #6A1B9A; }
.lg-tt__b--vptw::before { background: #B71C1C; }
.lg-tra { margin: 0; padding: 8px 12px; border-radius: 8px; background: #FFF4DA; color: #6B4600; font-size: 13.5px !important; }
.lg-luong { border: 1px solid #E3E8EC; border-radius: 8px; margin-bottom: 8px; background: #fff; }
.lg-luong > summary { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding: 10px 14px; cursor: pointer; list-style: none; }
.lg-luong > summary::-webkit-details-marker { display: none; }
.lg-luong > summary::before { content: "\25B8"; color: #8896A2; }
.lg-luong[open] > summary::before { content: "\25BE"; }
.lg-luong > summary b { font-size: 14.5px; }
.lg-luong > summary span { flex: 1 1 20rem; font-size: 13px; color: #6B7A86; }
.lg-luong .ct-luong { margin: 0 12px 12px; }
.lg-mt td { text-align: center; }
.lg-mt th[scope=row] { font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 14px; color: #1F2A33; text-align: left; }
.lg-co { color: #146C3A; font-size: 18px; }
.lg-khong { color: #B0BCC6; }
.lg-lich, .lg-nt { margin: 0; padding: 0; list-style: none; }
.lg-lich li { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 7px 0; border-bottom: 1px dashed #E3E8EC; font-size: 14px; }
.lg-lich li b { color: #B71C1C; }
.lg-nt li { position: relative; padding: 5px 0 5px 22px; font-size: 14px; }
.lg-nt li::before { content: "\2713"; position: absolute; left: 0; color: #146C3A; font-weight: 700; }
.lg-tn-ds { display: grid; grid-template-columns: 140px 1fr; gap: 6px 14px; margin: 0; font-size: 14px; }
.lg-tn-ds dt { font-weight: 700; }
.lg-tn-ds dd { margin: 0; color: #33414C; }
@media (max-width: 575.98px) {
    .lg-lich li, .lg-tn-ds { grid-template-columns: 1fr; }
    .lg-lich li { gap: 2px; }
}

/* Admin/CtNhapExcel.aspx: so thu tu buoc */
.ct-nx-so { display: inline-flex; align-items: center; justify-content: center; width: 1.4rem; height: 1.4rem; margin-right: .45rem; border-radius: 50%; background: var(--ct-red, #9F1C1F); color: #fff; font-size: .75rem; }
