/* Hành chính — insurance: CSS riêng của mục này, nạp ngay sau hanh-chinh.css và hanh-chinh-assets.css.
   Tách từ hanh-chinh.css ngày 2026-10-10 (tools/crm-visual/extract-module.cjs); thứ tự cascade đã kiểm. */

body:not(.hc-mobile-mode).hc-bhxh-full-bleed #moduleInsurance {
    box-sizing: border-box;
    padding-inline: 0;
}
/* ===== Bao hiem xa hoi ===== */
.bhxh-module {
    width: 100%;
    min-width: 0;
}

.bhxh-overview-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.bhxh-overview-actions .btn {
    min-width: 142px;
    min-height: 36px;
    justify-content: center;
    padding: 7px 12px;
    white-space: nowrap;
}

.bhxh-workspace {
    padding: 0;
    overflow: hidden;
    border-radius: 8px;
}

.bhxh-tabbar {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    align-items: stretch;
    padding: 4px;
    border-bottom: 1px solid #555;
    background: #f5f7f5;
}

.bhxh-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    gap: 7px;
    padding: 6px 9px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #000;
    font: 700 12px/1.2 'Plus Jakarta Sans', sans-serif;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.bhxh-tab .material-icons { font-size: 18px; }
.bhxh-tab:hover { color: #245f49; background: rgba(255, 255, 255, .72); }
.bhxh-tab.active {
    color: #1f6047;
    background: #fff;
    box-shadow: 0 2px 10px rgba(35, 65, 52, .09);
}

.bhxh-panel {
    display: none;
    min-width: 0;
    padding: 12px;
}

.bhxh-panel.active { display: block; }

.bhxh-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .85fr);
    gap: 10px;
    margin-bottom: 12px;
}

.bhxh-rate-card,
.bhxh-alert-card {
    min-width: 0;
    padding: 12px;
    border: 1px solid #555;
    border-radius: 8px;
    background: #fff;
}

.bhxh-panel-heading h3,
.bhxh-section-head h3 {
    margin: 3px 0 0;
    color: #1c2923;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
}

.bhxh-eyebrow {
    display: block;
    color: #000;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}
.bhxh-status-pill + .bhxh-status-pill { margin-left: 4px; }

.bhxh-contribution-status-stack .bhxh-status-pill + .bhxh-status-pill {
    margin-left: 0;
}

.bhxh-rate-content {
    margin-top: 8px;
}

.bhxh-rate-total {
    padding: 9px 11px;
    border-radius: 7px;
    background: #f2f7f3;
}

.bhxh-rate-total strong {
    color: #1d6247;
    font-size: 21px;
    font-weight: 800;
}

.bhxh-rate-party {
    padding: 9px 10px;
    border: 1px solid #555;
    border-radius: 7px;
    background: #fafbfa;
}

.bhxh-rate-party span,
.bhxh-rate-party small { display: block; color: #000; font-size: 10px; line-height: 1.5; }
.bhxh-rate-party strong { display: block; margin: 2px 0; color: #1e2c25; font-size: 17px; }
.bhxh-legal-note { margin: 6px 0 0; color: #000; font-size: 9px; line-height: 1.45; }

.bhxh-alert-list {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.bhxh-alert-item {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 7px 9px;
    border: 1px solid #555;
    border-radius: 7px;
    background: #fafbfa;
}

.bhxh-alert-item .material-icons { color: #ad7120; font-size: 20px; }
.bhxh-alert-item strong { display: block; color: #2c3933; font-size: 11px; }
.bhxh-alert-item span { color: #000; font-size: 10px; line-height: 1.45; }

.bhxh-section-head {
    margin: 0 0 7px;
}

.bhxh-section-head.compact { margin-top: 15px; }
.bhxh-section-head p { margin: 3px 0 0; color: #000; font-size: 10px; line-height: 1.45; }

.bhxh-year-control,
.bhxh-filter-row label,
.bhxh-form label,
.bhxh-document-upload label {
    display: grid;
    gap: 5px;
    min-width: 0;
    color: #000;
    font-size: 10px;
    font-weight: 700;
}

.bhxh-year-control { grid-template-columns: auto 96px; align-items: center; }

.bhxh-year-control select,
.bhxh-filter-row select,
.bhxh-filter-row input,
.bhxh-form input,
.bhxh-form select,
.bhxh-form textarea,
.bhxh-document-upload select,
.bhxh-document-upload input {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid #555;
    border-radius: 6px;
    outline: none;
    background: #fff;
    color: #26342d;
    font: 600 11px/1.35 'Plus Jakarta Sans', sans-serif;
}

.bhxh-form textarea { resize: vertical; }

.bhxh-fixed-personnel {
    display: grid;
    gap: 8px;
    padding: 14px 16px;
    border: 1px solid #555;
    border-radius: 12px;
    background: #f6faf7;
}

.bhxh-fixed-personnel > span {
    color: #000;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.bhxh-fixed-personnel > strong {
    color: #1c2922;
    font-size: 16px;
}

.bhxh-conditional-date {
    padding: 12px;
    border: 1px solid #cfe2d5;
    border-radius: 12px;
    background: #f3faf5;
}

.bhxh-closure-check {
    min-height: 50px;
    display: flex;
    flex-direction: row !important;
    align-items: center;
    gap: 10px !important;
    padding: 12px 14px;
    border: 1px solid #555;
    border-radius: 12px;
    background: #f6faf7;
    cursor: pointer;
}

.bhxh-closure-check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #2f7d51;
}

.bhxh-closure-check > span {
    color: #254a36;
    font-weight: 700;
}
.bhxh-year-control select:focus,
.bhxh-filter-row select:focus,
.bhxh-filter-row input:focus,
.bhxh-form input:focus,
.bhxh-form select:focus,
.bhxh-form textarea:focus { border-color: #6a9d82; box-shadow: 0 0 0 3px rgba(73, 129, 98, .1); }

.bhxh-table-wrap {
    max-width: 100%;
    overflow: auto;
    border: 1px solid #555;
    border-radius: 8px;
    scrollbar-width: thin;
}

.bhxh-table-tall { max-height: 62vh; }

.bhxh-table {
    width: 100%;
    min-width: 920px;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    font-size: 10px;
}

.bhxh-table th {
    position: sticky;
    z-index: 2;
    top: 0;
    padding: 8px 8px;
    border-bottom: 1px solid #555;
    background: #f2f5f3;
    color: #000;
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
}

.bhxh-table td {
    padding: 7px 8px;
    border-bottom: 1px solid #555;
    color: #000;
    line-height: 1.45;
    text-align: center;
    vertical-align: middle;
}

.bhxh-table tr:last-child td { border-bottom: 0; }
.bhxh-table tbody tr:hover td { background: #fbfcfb; }
.bhxh-table td.align-left { text-align: left; }
.bhxh-table td.money { font-variant-numeric: tabular-nums; white-space: nowrap; }
.bhxh-table td.variance-positive { color: #24704e; font-weight: 800; }
.bhxh-table td.variance-negative { color: #a03948; font-weight: 800; }
.bhxh-contribution-table { min-width: 1120px; table-layout: fixed; }
.bhxh-contribution-table th,
.bhxh-contribution-table td { padding-left: 6px; padding-right: 6px; }
.bhxh-contribution-table th:nth-child(1) { width: 40px; }
.bhxh-contribution-table th:nth-child(2) { width: 190px; }
.bhxh-contribution-table th:nth-child(3) { width: 138px; }
.bhxh-contribution-table th:nth-child(4) { width: 100px; }
.bhxh-contribution-table th:nth-child(5) { width: 140px; }
.bhxh-contribution-table th:nth-child(6) { width: 112px; }
.bhxh-contribution-table th:nth-child(7) { width: 104px; }
.bhxh-contribution-table th:nth-child(8) { width: 128px; }
.bhxh-contribution-table th:nth-child(9) { width: 112px; }
.bhxh-contribution-table th:nth-child(10) { width: 66px; }
.bhxh-contribution-table th:nth-child(11) { width: 78px; }
.bhxh-contribution-table td:nth-child(3) { white-space: normal; }
.bhxh-contribution-table td:nth-child(4),
.bhxh-contribution-table td:nth-child(5) { overflow-wrap: anywhere; }
.bhxh-table .bhxh-group-row td {
    padding: 9px 14px;
    background: linear-gradient(90deg, #f2eee6 0%, #faf8f3 100%) !important;
    border-top: 1px solid #ded4c2;
    border-bottom: 1px solid #ded4c2;
    color: #2c3f35;
    text-align: left;
}
.bhxh-table .bhxh-group-label::before {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #2f7d5d;
    content: '';
}
.bhxh-empty-cell,
.bhxh-empty { padding: 26px !important; color: #000 !important; text-align: center !important; }
.bhxh-contribution-edit-btn { min-width: 58px; }

.bhxh-person-cell { justify-content: flex-start; text-align: left; }
.bhxh-person-avatar {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: #e9f2ed;
    color: #2d6e51;
    font-size: 10px;
    font-weight: 800;
}
.bhxh-person-cell strong,
.bhxh-person-cell small { display: block; }

/* Tong hop BHXH: hai khoi Quy luong / So tien phai nop, moi khoi la mot bang rong 16 cot. */
.bhxh-summary-block { margin-bottom: 18px; }

.bhxh-summary-block-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 8px;
}

.bhxh-summary-block-head h4 { margin: 0; color: #33413a; font-size: 12px; font-weight: 800; }
.bhxh-summary-block-head span { color: #000; font-size: 10px; font-weight: 700; }

/* 16 cot thi khong the de bang tu co gian — cot thang phai du hep de doc duoc ca nam. */
.bhxh-summary-table { min-width: 1180px; }
.bhxh-summary-table th, .bhxh-summary-table td { white-space: nowrap; }

/* Can le theo TUNG COT, va gan cho ca `th` lan `td` — truoc day chi gan cho o du lieu nen tieu
   de mot dang, so mot neo, nhin doc xuong thay lech het. */
.bhxh-summary-table th.col-stt,   .bhxh-summary-table td.col-stt   { text-align: center; width: 52px; }
.bhxh-summary-table th.col-rate,  .bhxh-summary-table td.col-rate  { text-align: center; width: 84px; }
.bhxh-summary-table th.col-person, .bhxh-summary-table td.col-person { text-align: left; }
.bhxh-summary-table th.col-total, .bhxh-summary-table td.col-total { text-align: right; }
/* Cot thang can GIUA — 12 cot cung do rong, doc xuong thang hang nhu bang Excel cua Hanh chinh. */
.bhxh-summary-table th.col-month, .bhxh-summary-table td.col-month { text-align: center; width: 104px; }
.bhxh-summary-table td.col-total,
.bhxh-summary-table td.col-month { font-variant-numeric: tabular-nums; }
.bhxh-summary-table td.money { font-variant-numeric: tabular-nums; }
/* Thang khong dong thi lam mo di, de mat luot qua thay ngay ai nghi giua nam. */
.bhxh-summary-table td.bhxh-zero { color: #b8c2bc; }

/* O chon nam nam ngay canh chu "Quỹ lương", khong con o dau khu vuc. */
.bhxh-summary-block-head .bhxh-year-control { margin-left: 10px; margin-right: auto; }
/* Nguoi chua co ma so BHXH: noi ro thay vi de trong. Lam mo hon ma that de nhin luot van phan
   biet duoc dong nao co ma, dong nao chua. */
.bhxh-summary-table td.col-person .bhxh-no-code { color: #b08a3e; font-style: italic; }

.bhxh-summary-total td { background: #f2faf6; font-weight: 800; }
.bhxh-summary-total.bhxh-summary-union td { background: #fbf7ee; font-weight: 700; }

.bhxh-form {
    display: grid;
    gap: 12px;
    padding: 16px;
}
.bhxh-form .full-row { grid-column: 1 / -1; }
.bhxh-form-actions { justify-content: flex-end; padding-top: 4px; }

.bhxh-contribution-edit-person {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(100px, .55fr) minmax(150px, .8fr);
    gap: 10px;
    padding: 12px;
    border: 1px solid #555;
    border-radius: 8px;
    background: #f6faf7;
}

.bhxh-contribution-edit-person > div { min-width: 0; }
.bhxh-contribution-edit-person span,
.bhxh-contribution-edit-person strong { display: block; }
.bhxh-contribution-edit-person > div > span {
    margin-bottom: 5px;
    color: #000;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}
.bhxh-contribution-edit-person strong { color: #223129; font-size: 11px; line-height: 1.45; }
.bhxh-contribution-edit-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid #cfe0d6;
    border-radius: 7px;
    background: #f3f8f5;
    color: #000;
    font-size: 10px;
    line-height: 1.55;
}
.bhxh-contribution-edit-note .material-icons { flex: 0 0 auto; color: #2f795b; font-size: 18px; }

/* Them nguoi dong BHXH: o go ten co danh sach goi y tha xuong, va khung xem truoc so tien. */
.bhxh-form label.bhxh-person-picker { position: relative; }
.bhxh-person-suggest {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 30;
    max-height: 240px;
    margin-top: 2px;
    overflow-y: auto;
    border: 1px solid #cfdcd4;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(29, 51, 40, .14);
}
.bhxh-person-suggest button {
    display: block;
    width: 100%;
    padding: 8px 11px;
    border: 0;
    border-bottom: 1px solid #eef2ef;
    background: transparent;
    color: #223129;
    font: inherit;
    font-size: 11px;
    text-align: left;
    cursor: pointer;
}
.bhxh-person-suggest button:last-child { border-bottom: 0; }
.bhxh-person-suggest button:hover,
.bhxh-person-suggest button.active { background: #eef6f1; }
.bhxh-person-suggest button small { display: block; margin-top: 2px; color: #4b5a52; font-size: 10px; }
.bhxh-person-suggest .bhxh-person-suggest-empty { padding: 10px 11px; color: #4b5a52; font-size: 10px; }
.bhxh-supplement-hint { color: #4b5a52; font-size: 10px; font-weight: 500; }
.bhxh-supplement-preview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
    border: 1px solid #cfe0d6;
    border-radius: 8px;
    background: #f6faf7;
}
.bhxh-supplement-preview span {
    display: block;
    margin-bottom: 4px;
    color: #000;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}
.bhxh-supplement-preview strong { color: #223129; font-size: 12px; font-variant-numeric: tabular-nums; }
.bhxh-supplement-blocker {
    padding: 9px 12px;
    border: 1px solid #e8c9a6;
    border-radius: 7px;
    background: #fdf6ec;
    color: #7a4a12;
    font-size: 10px;
    line-height: 1.5;
}
.bhxh-contribution-delete-btn { margin-left: 4px; color: #a23a2f; }

/* "Dung dong" (Khong dong thang nay): van hien dong de con dau vet, nhung lam mo va khong co tien. */
.bhxh-status-pill.stopped { border-color: #cfd4d1; background: #f1f3f2; color: #4b5550; }
.bhxh-stopped-text { color: #6b746f; font-size: 11px; font-weight: 800; white-space: nowrap; }
.bhxh-table tr.bhxh-row-stopped td { background: #fafaf9; }
.bhxh-table tr.bhxh-row-stopped .bhxh-person-cell strong,
.bhxh-table tr.bhxh-row-stopped td:nth-child(4),
.bhxh-table tr.bhxh-row-stopped td:nth-child(5) { color: #6b746f; }

/* Thanh toan BHXH + C12 (29/10/2026): nut tren tieu de bang dong, modal lap ĐNTT, ban xem truoc
   ve theo file mau (font Times nhu Excel cua Hanh chinh), chip Tien do bam duoc de xem file. */
.bhxh-contribution-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.bhxh-payment-dialog { width: min(1240px, calc(100vw - 32px)); }
/* Xem truoc in A4 dung cong cu HcDocumentPrint (giong ĐNTT chi phi hanh chinh): bo khung cuon rieng. */
.bhxh-payment-preview.is-print { max-height: none; overflow: visible; padding: 0; border-radius: 8px; background: transparent; }
.bhxh-preview-dialog.is-print { width: min(1240px, calc(100vw - 32px)); }
.bhxh-preview-body.is-print { min-height: 0; overflow: auto; background: transparent; }
.bhxh-preview-actions { display: flex; justify-content: flex-end; gap: 8px; }
/* Modal Thanh toan: trai (thong tin ĐNTT + o them C12) | phai rong hon (bang dong cua thang). */
.bhxh-payment-dialog .asset-form-head { margin-bottom: 2px; }
.bhxh-payment-layout { display: grid; gap: 10px; padding: 4px 16px 16px; }
/* Cot phai KHONG quyet dinh chieu cao: the bang dong keo dan bang dung cot trai (thong tin ĐNTT +
   o C12), bang cuon ben trong. Nho vay hai ben luon thang hang, bang dai bao nhieu cung khong
   lam modal cao them. */
.bhxh-payment-edit { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 14px; align-items: stretch; }
.bhxh-payment-edit[hidden],
.bhxh-payment-preview-mode[hidden],
#bhxhPaymentActions[hidden] { display: none; }
.bhxh-payment-left { display: grid; gap: 14px; min-width: 0; }
.bhxh-payment-card { min-width: 0; padding: 12px; border: 1px solid #e3d9c8; border-radius: 10px; background: #fffdf9; }
.bhxh-payment-card h4 { margin: 0 0 8px; color: #2c3f35; font-size: 12px; font-weight: 800; }
.bhxh-form.bhxh-payment-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; }
.bhxh-c12-drop {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 96px;
    padding: 14px !important;
    border: 2px dashed #c9b28d !important;
    border-radius: 10px;
    background: #fbf6ee !important;
    color: #6b4a1e;
    text-align: center !important;
    cursor: pointer;
}
.bhxh-c12-drop:hover { border-color: #ae7c41 !important; background: #f6ecdc !important; }
.bhxh-c12-drop .material-icons { font-size: 28px; }
.bhxh-c12-drop span { font-size: 12px; font-weight: 800; }
.bhxh-c12-drop small { color: #4b5a52; font-size: 10px; }
.bhxh-c12-drop.is-busy { opacity: .6; pointer-events: none; }
.bhxh-payment-c12-list { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; color: #000; font-size: 10px; }
.bhxh-payment-right { position: relative; min-height: 360px; }
.bhxh-payment-table-wrap { position: absolute; inset: 40px 12px 12px; overflow: auto; padding: 8px; border-radius: 8px; background: #ece9e2; }
.bhxh-payment-table-wrap .bhxh-paper { width: 100%; padding: 14px; font-size: 12px; }
.bhxh-payment-table-wrap .bhxh-paper h2 { margin-top: 4px; font-size: 16px; }
.bhxh-payment-table-wrap .bhxh-paper-table th,
.bhxh-payment-table-wrap .bhxh-paper-table td { padding: 3px 4px; }
.bhxh-payment-table-wrap .bhxh-paper-table td:nth-child(2),
.bhxh-payment-table-wrap .bhxh-paper-table td.num { white-space: nowrap; }
.bhxh-payment-table-wrap .bhxh-paper-table input { min-width: 64px; }
.bhxh-payment-table-wrap .bhxh-paper-footer { display: none; }
.bhxh-payment-preview-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.bhxh-payment-preview-bar strong { color: #2c3f35; font-size: 13px; }
.bhxh-payment-preview-bar .bhxh-form-actions { padding-top: 0; }
.bhxh-payment-status-note a { margin-left: 4px; color: #2f795b; font-weight: 700; }
.bhxh-payment-status-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid #cfe0d6;
    border-radius: 7px;
    background: #f3f8f5;
    color: #000;
    font-size: 10px;
    line-height: 1.5;
}
.bhxh-payment-status-note .material-icons { flex: 0 0 auto; color: #2f795b; font-size: 17px; }
.bhxh-payment-preview {
    max-height: 60vh;
    overflow: auto;
    padding: 14px;
    border: 1px solid #ded4c2;
    border-radius: 8px;
    background: #ece9e2;
}
.bhxh-paper {
    width: min(760px, 100%);
    margin: 0 auto;
    padding: 22px 26px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(30, 24, 16, .12);
    color: #000;
    font-family: 'Times New Roman', Times, serif;
    font-size: 13px;
    line-height: 1.45;
}
.bhxh-paper.bhxh-paper-wide { width: min(900px, 100%); }
.bhxh-paper p { margin: 3px 0; }
.bhxh-paper .center { text-align: center; }
.bhxh-paper .right { text-align: right; }
.bhxh-paper .left { text-align: left; }
.bhxh-paper h2 { margin: 14px 0 8px; font-size: 21px; font-weight: 700; text-align: center; }
.bhxh-paper-table { width: 100%; margin: 6px 0; border-collapse: collapse; }
.bhxh-paper-table th,
.bhxh-paper-table td { padding: 4px 6px; border: 1px solid #000; vertical-align: middle; }
.bhxh-paper-table th { font-weight: 700; text-align: center; }
.bhxh-paper-table td.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bhxh-paper-table tr.highlight td { background: #ffff00; }
.bhxh-paper-table tr.subtotal td { font-size: 14px; font-weight: 700; }
.bhxh-paper-table tr.grand-total td { color: #e00000; font-size: 15px; font-weight: 700; }
.bhxh-paper-table input {
    width: 100%;
    min-width: 90px;
    padding: 2px 4px;
    border: 1px dashed #b8a98f;
    border-radius: 3px;
    background: rgba(255, 255, 255, .7);
    font: inherit;
    text-align: center;
}
.bhxh-paper-footer { display: flex; justify-content: space-around; padding: 18px 0 40px; font-size: 15px; }
button.bhxh-status-pill.bhxh-chip-link { gap: 3px; cursor: pointer; font: inherit; font-size: 10px; font-weight: 700; }
button.bhxh-status-pill.bhxh-chip-link .material-icons { font-size: 13px; }
button.bhxh-status-pill.bhxh-chip-link:hover { filter: brightness(.96); text-decoration: underline; }


@media (max-width: 900px) {
    .bhxh-payment-edit { grid-template-columns: 1fr; }
    .bhxh-payment-right { min-height: 0; }
    .bhxh-payment-table-wrap { position: static; max-height: 62vh; }
}

@media (max-width: 680px) {


    .bhxh-contribution-edit-person { grid-template-columns: 1fr; }
    .bhxh-form.bhxh-payment-fields { grid-template-columns: 1fr; }
    .bhxh-supplement-preview { grid-template-columns: 1fr; }
    .bhxh-contribution-actions { justify-content: stretch; }
    .bhxh-contribution-actions .btn { flex: 1 1 100%; }
    .bhxh-paper { padding: 14px; font-size: 12px; }
}

.bhxh-document-manager {
    display: grid;
    gap: 9px;
    padding: 12px;
    border: 1px dashed #555;
    border-radius: 7px;
    background: #f8faf8;
}

.bhxh-document-manager-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #31443a;
    font-size: 11px;
    font-weight: 850;
}

.bhxh-document-file {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    align-items: center;
    gap: 10px;
}

.bhxh-document-manager-list {
    display: grid;
    gap: 8px;
}

.bhxh-document-row label {
    display: grid;
    gap: 5px;
}

.bhxh-document-row label span,
.bhxh-document-file span {
    color: #000;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.bhxh-document-file-name {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    color: #2d3a33;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
    word-break: break-word;
}

.bhxh-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 11px 12px 12px;
    border: 1px solid #555;
    border-radius: 7px;
}

.bhxh-checklist legend { padding: 0 5px; color: #000; font-size: 10px; font-weight: 800; }
.bhxh-checklist label { display: flex; grid-template-columns: none; align-items: center; gap: 7px; font-size: 10px; }
.bhxh-checklist input { width: 15px; min-height: 15px; height: 15px; }

/* Moi loai chung tu la mot khoi: o tich + o tai file rieng cua no. O tai file chi hien khi da
   tich, va khong bat buoc phai chon. */
.bhxh-checklist-item { display: flex; flex-direction: column; gap: 6px; }
.bhxh-checklist-tick { cursor: pointer; }
.bhxh-checklist-file { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding-left: 22px; }
.bhxh-checklist-file span { color: #000; font-size: 9px; font-weight: 700; }
.bhxh-checklist-file input { width: auto; height: auto; min-height: 0; font-size: 10px; }

/* Bang dau tich trong cot Chung tu: bon o co dinh, dung thu tu voi bang Excel cua Hanh chinh. */
.bhxh-tick-col { min-width: 210px; }

.bhxh-tick-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: 4px 2px;
    border: 1px solid #555;
    border-radius: 5px;
    background: #fbfcfb;
    line-height: 1.1;
}
.bhxh-tick-cell i { font-size: 14px; color: #c3ccc7; }
.bhxh-tick-cell.on small { color: #111; }
/* Tich ma chua co file: van la thieu giay to, khong duoc trong giong nhu da du. */
.bhxh-tick-cell.on i { color: #e0a33c; }
.bhxh-tick-cell.on.has-file i { color: #2d8a5f; }

.bhxh-doc-detail {
    padding: 0;
    border: 0;
    background: none;
    color: #111;
    font: inherit;
    font-size: 10px;
    font-weight: 900;
    text-decoration: underline;
    cursor: pointer;
}

.bhxh-benefit-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 70px;
}

.bhxh-enrollment-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.bhxh-enrollment-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    cursor: pointer;
}

.bhxh-enrollment-toggle input[type="checkbox"] {
    width: 16px !important;
    min-width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

.bhxh-enrollment-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.bhxh-enrollment-actions[hidden] { display: none !important; }

.bhxh-enrollment-row .bhxh-enrollment-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
}

@media (max-width: 900px) {
    .bhxh-enrollment-actions { flex-wrap: wrap; }
}
/* Ket qua hien ngay tai cho — mot thao tac ghi tien khong duoc im lang. */
.bhxh-enrollment-result { margin-top: 6px; color: #000; font-size: 10px; line-height: 1.4; }
.bhxh-enrollment-note { color: #2d6d50; font-size: 11px; font-weight: 700; }

.bhxh-document-detail { display: flex; flex-direction: column; gap: 12px; padding: 4px 2px 2px; }
.bhxh-document-detail-group h4 { margin: 0 0 6px; color: #33413a; font-size: 11px; font-weight: 800; }
.bhxh-mini-pill.muted { opacity: 0.6; }

@media (max-width: 900px) {


    .bhxh-tabbar { display: flex; overflow-x: auto; }
    .bhxh-tab { flex: 0 0 auto; min-width: 145px; }
    .bhxh-overview-grid { grid-template-columns: 1fr; }
    .bhxh-section-head { align-items: flex-start; flex-wrap: wrap; }
    .bhxh-overview-actions { width: 100%; justify-content: flex-start; }
    .bhxh-search-field { grid-column: 1 / -1; }
}

@media (max-width: 620px) {


    .bhxh-panel { padding: 12px; }
    .bhxh-form .full-row,
    .bhxh-search-field { grid-column: auto; }
    .bhxh-section-head,
    .bhxh-section-actions { align-items: flex-start; flex-direction: column; }
    .bhxh-section-actions .btn { width: 100%; }
    .bhxh-overview-actions { display: grid; width: 100%; grid-template-columns: 1fr; }
    .bhxh-overview-actions .btn,
    .bhxh-overview-actions .bhxh-year-control { width: 100%; }
    .bhxh-year-control { width: 100%; grid-template-columns: auto 1fr; }
    .bhxh-checklist { grid-template-columns: 1fr; }
}
