﻿/* Trang công khai: Hỏi đáp, Văn bản, Tin tức, Thông báo (theo mẫu ctmtqg.dieutra.net) */

.pub-page {
    max-width: 1360px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 24px;
    color: var(--ct-ink);
}
.pub-page button { font: inherit; }
.pub-page input:focus,
.pub-page select:focus,
.pub-page button:focus-visible,
.pub-page a:focus-visible { outline: 3px solid var(--ct-gold); outline-offset: 2px; }

/* Thanh truy cập nhanh */
.pub-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #DDE3E9;
    border-radius: 14px;
    padding: 6px 14px;
}
body.ctmt-app .pub-quick__home {
    display: inline-flex; align-items: center; gap: 6px;
    font-weight: 700; color: #2B3743; padding: 8px 4px; min-height: 40px;
}
.pub-quick__sep { color: #9AA5B1; }
body.ctmt-app .pub-quick__pill {
    display: inline-flex; align-items: center; gap: 6px;
    min-height: 40px; padding: 0 14px; border-radius: 999px;
    font-size: 14px; font-weight: 700; background: #FFFFFF;
    color: var(--ct-red); border: 1.5px solid #E7C9C6;
}
body.ctmt-app .pub-quick__pill:hover { background: #FCEDEA; }
body.ctmt-app .pub-quick__pill.is-active { background: var(--ct-red); border-color: var(--ct-red); color: #FFFFFF; }

/* Tiêu đề trang */
.pub-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .6px; color: var(--ct-red); text-transform: uppercase; }
.pub-h1 { margin: 4px 0 0; font-size: 32px; font-weight: 800; line-height: 1.2; }
.pub-lead { margin: 6px 0 0; font-size: 14px; color: var(--ct-muted); }
.pub-h2 { margin: 0; font-size: 22px; font-weight: 800; }
.pub-head-row { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: flex-end; justify-content: space-between; }

.pub-row { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.pub-card { background: #FFFFFF; border: 1px solid var(--ct-line); border-radius: 18px; overflow: hidden; }
.pub-note { margin: 0; font-size: 12px; color: var(--ct-muted); }

/* Ô tìm kiếm có biểu tượng */
.pub-search { position: relative; display: flex; }
.pub-search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #78909C; pointer-events: none; }
.pub-search input {
    flex: 1; min-width: 0; height: 42px; border: 1px solid #C9D2DB; border-radius: 10px;
    padding: 0 12px 0 38px; font-size: 14px; background: #FFFFFF;
}

/* Nút chip lọc */
.pub-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pub-chip {
    display: inline-flex; align-items: center; gap: 6px;
    min-height: 36px; padding: 0 12px; border-radius: 999px;
    font-size: 13px; font-weight: 700; cursor: pointer;
    border: 1.5px solid var(--chip, #14365D); background: #FFFFFF; color: var(--chip, #14365D);
}
.pub-chip[aria-pressed="true"] { background: var(--chip, #14365D); color: #FFFFFF; }
.pub-chip .cnt { opacity: .7; }

.pub-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    min-height: 42px; padding: 0 16px; border-radius: 10px; font-size: 14px; font-weight: 700;
    cursor: pointer; text-decoration: none; box-sizing: border-box; border: 1.5px solid transparent;
}
body.ctmt-app a.pub-btn--red, .pub-btn--red { background: var(--ct-red); color: #FFFFFF; }
body.ctmt-app a.pub-btn--red:hover, .pub-btn--red:hover { background: #7A1416; color: #FFFFFF; }
body.ctmt-app a.pub-btn--navy, .pub-btn--navy { background: var(--ct-navy); color: #FFFFFF; }
body.ctmt-app a.pub-btn--line, .pub-btn--line { background: #FFFFFF; color: var(--ct-navy); border-color: var(--ct-navy); }
.pub-btn[aria-disabled="true"] { opacity: .5; pointer-events: none; }

/* ===== Hỏi đáp ===== */
.pub-chat {
    flex: 1 1 460px; max-width: 100%; display: flex; flex-direction: column; height: 680px;
}
.pub-chat__head {
    display: flex; align-items: center; gap: 12px; padding: 14px 18px; color: #FFFFFF;
    background: linear-gradient(110deg, #14365D, #0E2541);
}
.pub-chat__ico {
    width: 42px; height: 42px; border-radius: 12px; background: var(--ct-gold); color: var(--ct-navy);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 20px;
}
.pub-chat__title { display: block; font-size: 16px; font-weight: 800; }
.pub-chat__sub { display: block; font-size: 12px; color: #A9BBCC; }
.pub-chat__new {
    min-height: 34px; padding: 0 12px; border-radius: 9px; border: 1px solid rgba(255,255,255,.35);
    background: transparent; color: #FFFFFF; font: inherit; font-size: 12px; font-weight: 700; line-height: 1.2; cursor: pointer;
    flex-shrink: 0; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px;
}
.pub-page .pub-chat__new { font-size: 12px; font-weight: 700; } /* thang .pub-page button { font: inherit } */
.pub-chat__head > .flex-grow-1 { min-width: 0; }
.pub-chat__new-ngan { display: none; }
/* Theo do rong cua the chat (khong theo man hinh): the hep thi nut chi con bieu tuong / chu ngan */
.pub-chat { container-type: inline-size; }
@container (max-width: 560px) {
    .pub-chat__new { padding: 0 10px; }
    .pub-chat__new-dai { display: none; }
    .pub-chat__new-ngan { display: inline; }
}
@container (max-width: 380px) {
    .pub-chat__sub { display: none; }
}
.pub-chat__log {
    flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; background: #F6F8FA;
}
.pub-msg { display: flex; justify-content: flex-start; }
.pub-msg > div {
    max-width: 86%; padding: 10px 14px; border-radius: 16px 16px 16px 4px; font-size: 14px; line-height: 1.55;
    background: #FFFFFF; color: var(--ct-ink); border: 1px solid var(--ct-line); white-space: pre-line;
}
.pub-msg--user { justify-content: flex-end; }
/* Tra loi AI dang markdown, can cu, goi y cau hoi tiep */
.pub-msg > div p { margin: 0 0 .5em; }
.pub-msg > div p:last-child { margin-bottom: 0; }
.pub-msg > div ul, .pub-msg > div ol { margin: .25em 0 .5em; padding-left: 1.2em; }
.pub-msg > div table { border-collapse: collapse; font-size: 13px; margin: .4em 0; display: block; overflow-x: auto; }
.pub-msg > div th, .pub-msg > div td { border: 1px solid var(--ct-line); padding: 4px 8px; }
.pub-msg--cho > div { color: var(--ct-muted); font-style: italic; }
.pub-msg > div.pub-msg__md { white-space: normal; }
.pub-msg__md li { margin: 2px 0; }
.pub-msg__cites { margin-top: 8px; padding-top: 6px; border-top: 1px dashed var(--ct-line); font-size: 12px; color: var(--ct-muted); }
body.ctmt-app .pub-msg__cites a { display: inline-block; margin: 2px 6px 0 0; padding: 1px 8px; border-radius: 999px; background: #FCEDEA; color: var(--ct-red); font-weight: 600; }
.pub-chat__goiy { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.pub-chat__goiy button { border: 1px solid #E7C9C6; background: #FFFFFF; color: var(--ct-red); border-radius: 12px; padding: 6px 12px; font-size: 13px; text-align: left; cursor: pointer; }
.pub-chat__goiy button:hover { background: #FCEDEA; }
.pub-msg--user > div { border-radius: 16px 16px 4px 16px; background: var(--ct-navy); color: #FFFFFF; border: none; }
body.ctmt-app .pub-msg__src {
    display: inline-flex; align-items: center; gap: 4px; margin-top: 8px;
    font-size: 12px; font-weight: 700; color: #1F5FAF; white-space: normal;
}
.pub-chat__chips { padding: 10px 14px; border-top: 1px solid var(--ct-line); display: flex; flex-wrap: wrap; gap: 6px; }
.pub-chat__chips button {
    min-height: 34px; padding: 0 12px; border-radius: 999px; border: 1.5px solid #C9D2DB;
    background: #FFFFFF; color: var(--ct-navy); font-size: 12px; font-weight: 700; cursor: pointer;
}
.pub-chat__chips button:hover { border-color: var(--ct-navy); }
.pub-chat .pub-chat__goiy-nut {
    display: inline-flex; align-items: center; justify-content: center; gap: 5px; height: 46px; min-width: 46px; padding: 0 12px; flex-shrink: 0;
    border: 1px solid #C9D2DB; border-radius: 12px; background: #FFFFFF; color: var(--ct-navy); font-size: 13px; font-weight: 700; cursor: pointer;
}
.pub-chat__goiy-nut i { font-size: 17px; color: #C58A00; }
.pub-chat .pub-chat__goiy-nut:hover, .pub-chat .pub-chat__goiy-nut[aria-expanded="true"] { border-color: var(--ct-navy); background: #EEF2F6; }
@container (max-width: 400px) { .pub-chat__goiy-chu { display: none; } .pub-chat .pub-chat__goiy-nut { padding: 0; } }
.pub-chat__input { display: flex; gap: 8px; padding: 0 14px 14px; }
.pub-chat__input input {
    flex: 1; min-width: 0; height: 46px; border: 1px solid #C9D2DB; border-radius: 12px; padding: 0 14px; font-size: 14px;
}
.pub-chat__send {
    width: 46px; height: 46px; border-radius: 12px; border: none; background: var(--ct-red); color: #FFFFFF;
    cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 18px;
}
.pub-chat__send:disabled { opacity: .6; cursor: wait; }
.pub-chat__foot { padding: 0 14px 12px; font-size: 11px; color: #78909C; }
/* Nguoi chua dang nhap: so cau hoi con lai trong ngay (js/ctmt-troly.js) */
.pub-chat__luot { margin: 8px 14px 8px; padding: 6px 12px; border-radius: 10px; background: #EEF2F6; color: #3B4652; font-size: 12.5px; font-weight: 600; }
.pub-chat__luot.is-sap-het { background: #FFF4DB; color: #7A5200; }
.pub-chat__luot.is-het { background: #FCEDEA; color: var(--ct-red); }
body.ctmt-app .pub-chat__luot a { color: var(--ct-red); text-decoration: underline; font-weight: 700; }
.pub-chat .pub-chat__goiy-nut:disabled { opacity: .5; cursor: not-allowed; background: #F3F5F7; }
.pub-chat__input textarea:disabled, .pub-chat__input input:disabled { background: #F3F5F7; cursor: not-allowed; }
body.ctmt-app a.pub-chat__new { display: inline-flex; align-items: center; color: #FFFFFF; text-decoration: none; }
body.ctmt-app a.pub-chat__new:hover { background: rgba(255,255,255,.12); color: #FFFFFF; }

/* ===== Trợ lý toàn trang (vn/CtTroLy.aspx) ===== */
body.page-troly .ct-ticker { display: none; }
body.page-troly .main-content > .container-fluid { padding: 0 !important; }
.ct-troly { display: flex; height: 640px; min-height: 0; background: #F6F8FA; position: relative; }
.ct-troly__side {
    width: 272px; flex-shrink: 0; display: flex; flex-direction: column; gap: 8px; padding: 14px 12px;
    background: #FFFFFF; border-right: 1px solid var(--ct-line); min-height: 0;
}
.ct-troly__moi {
    display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; border-radius: 10px;
    border: none; background: var(--ct-red); color: #FFFFFF; font-weight: 700; font-size: 14px; cursor: pointer;
}
.ct-troly__moi:hover { background: #7A1416; }
.ct-troly__ls-tit { margin-top: 6px; padding: 0 6px; font-size: 11px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: #78909C; }
.ct-troly__ls { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; min-height: 0; }
.ct-troly__trong { padding: 8px 6px; font-size: 13px; color: var(--ct-muted); }
.ct-troly__muc { display: flex; align-items: center; border-radius: 8px; }
.ct-troly__muc:hover, .ct-troly__muc.is-chon { background: #EEF2F6; }
.ct-troly__muc.is-chon .ct-troly__mo { font-weight: 700; color: var(--ct-navy); }
.ct-troly__mo {
    flex: 1; min-width: 0; padding: 9px 8px; border: none; background: transparent; text-align: left; cursor: pointer;
    font-size: 13px; color: var(--ct-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ct-troly__xoa {
    flex-shrink: 0; min-width: 32px; height: 32px; border: none; border-radius: 8px; background: transparent;
    color: #8A96A3; cursor: pointer; font-size: 13px; opacity: 0;
}
.ct-troly__muc:hover .ct-troly__xoa, .ct-troly__xoa:focus-visible, .ct-troly__xoa.is-hoi { opacity: 1; }
.ct-troly__xoa:hover { color: var(--ct-red); background: #FCEDEA; }
.ct-troly__xoa.is-hoi { color: #FFFFFF; background: var(--ct-red); font-weight: 700; padding: 0 8px; }
body.ctmt-app a.ct-troly__ve { padding: 10px 6px 2px; border-top: 1px solid var(--ct-line); font-size: 13px; font-weight: 600; color: #1F5FAF; text-decoration: none; }
.ct-troly .ct-troly__main { flex: 1; min-width: 0; height: auto; max-width: none; border-radius: 0; border: none; box-shadow: none; }
.ct-troly__menu { display: none; }
/* Khung đọc: cột giữa rộng vừa mắt, câu trả lời gần hết chiều rộng */
.ct-troly__log { padding: 20px 16px; }
.ct-troly__log > * { width: 100%; max-width: 880px; margin-left: auto; margin-right: auto; }
.ct-troly__log .pub-msg > div { max-width: 92%; font-size: 15px; line-height: 1.65; }
.ct-troly__log .pub-msg--user > div { max-width: 80%; }
.ct-troly__duoi { background: #FFFFFF; border-top: 1px solid var(--ct-line); }
.ct-troly__duoi > * { max-width: 912px; margin-left: auto; margin-right: auto; }
.ct-troly__duoi .pub-chat__chips { border-top: none; }
.pub-chat__chips[hidden] { display: none; }
.pub-chat__chips[hidden] + .pub-chat__input { padding-top: 14px; }
.ct-troly__duoi textarea {
    flex: 1; min-width: 0; min-height: 46px; max-height: 160px; resize: none; border: 1px solid #C9D2DB; border-radius: 12px;
    padding: 12px 14px; font: inherit; font-size: 15px; line-height: 1.4; overflow-y: hidden;
}
.ct-troly__duoi textarea:focus { outline: 2px solid var(--ct-gold); outline-offset: 0; border-color: var(--ct-gold); }
.ct-troly__nen { display: none; }
@media (max-width: 899px) {
    .ct-troly__menu {
        display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex-shrink: 0;
        border-radius: 9px; border: 1px solid rgba(255,255,255,.35); background: transparent; color: #FFFFFF; font-size: 20px; cursor: pointer;
    }
    .ct-troly__main .pub-chat__ico, .ct-troly__main .pub-chat__sub { display: none; }
    .ct-troly__side {
        position: absolute; top: 0; bottom: 0; left: 0; z-index: 30; width: min(300px, 84vw);
        transform: translateX(-102%); transition: transform .22s ease; box-shadow: 4px 0 18px rgba(15,27,42,.16);
    }
    .ct-troly__side.is-mo { transform: none; }
    .ct-troly__nen { display: block; position: absolute; inset: 0; z-index: 29; background: rgba(15,27,42,.35); }
    .ct-troly__nen[hidden] { display: none; }
    .ct-troly__xoa { opacity: 1; }
    .ct-troly__log { padding: 14px 10px; }
    .ct-troly__log .pub-msg > div { max-width: 96%; font-size: 14px; }
    .ct-troly__duoi .pub-chat__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .ct-troly__duoi .pub-chat__chips button { flex-shrink: 0; }
    .ct-troly__duoi .pub-chat__foot { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ct-troly__side { transition: none; } }

.pub-faq { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pub-faq__top { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.pub-faq__top .pub-search { flex: 0 1 320px; }
.pub-faq__item { border-bottom: 1px solid #EEF1F4; }
.pub-faq__item:last-child { border-bottom: none; }
.pub-faq__q {
    display: flex; align-items: center; gap: 12px; width: 100%; padding: 16px 18px; border: none;
    background: transparent; text-align: left; cursor: pointer; color: var(--ct-ink);
}
.pub-faq__q:hover { background: #F8FAFB; }
/* Cau hoi dai: dien thoai dua nhan chu de len hang rieng de cau hoi rong het dong */
@media (max-width: 600px) {
    .pub-faq__q { flex-wrap: wrap; gap: 8px; }
    .pub-faq__q .pub-faq__text { order: 3; flex: 1 0 100%; }
    .pub-faq__q .pub-faq__sign { margin-left: auto; }
}
.pub-tag {
    font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 6px;
    background: #FCEDEA; color: var(--ct-red); white-space: nowrap;
}
.pub-faq__text { flex: 1; font-size: 15px; font-weight: 700; }
.pub-faq__sign { font-size: 20px; color: #78909C; line-height: 1; width: 14px; text-align: center; }
.pub-faq__a { padding: 0 18px 16px; font-size: 14px; line-height: 1.65; color: #2B3743; }
.pub-faq__ans { white-space: pre-line; }
.pub-faq__acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 10px; }
body.ctmt-app .pub-faq__acts a { font-size: 13px; font-weight: 700; color: #1F5FAF; }
.pub-faq__acts button {
    min-height: 32px; padding: 0 10px; border-radius: 8px; border: 1.5px solid #C9D2DB;
    background: #FFFFFF; color: var(--ct-navy); font-size: 12px; font-weight: 700; cursor: pointer;
}
.pub-faq__cancu { margin-top: 6px; font-size: 12px; color: var(--ct-muted); }
.pub-empty { padding: 32px; text-align: center; color: var(--ct-muted); }

.pub-ask {
    display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
    background: #FFF7EC; border: 1px solid #F1D9B0; border-radius: 14px; padding: 14px 16px;
}
.pub-ask > span { flex: 1 1 260px; font-size: 14px; }
.pub-ask b { margin-right: 4px; }

.pub-form { padding: 20px 22px; scroll-margin-top: 90px; }
.pub-form h2 { font-size: 18px; font-weight: 800; margin: 0 0 4px; }
.modal-content.pub-form { padding: 0; border: 0; border-radius: 16px; overflow: hidden; }
.pub-modal .modal-header { padding: 16px 22px; border-bottom: 1px solid var(--ct-line); }
.pub-modal .modal-body { padding: 16px 22px; }
.pub-modal .modal-footer { padding: 12px 22px; border-top: 1px solid var(--ct-line); gap: 8px; }
.pub-modal .modal-footer > * { margin: 0; }
@media (max-width: 575.98px) {
    .modal-content.pub-form { border-radius: 0; }
    .pub-modal .modal-footer { flex-wrap: nowrap; }
    .pub-modal .modal-footer [data-bs-dismiss] { display: none; } /* da co nut X o dau */
}
.pub-form .form-label-vn { font-size: 13px; font-weight: 600; margin-bottom: 2px; display: block; }

/* ===== Văn bản ===== */
.pub-vb-hero {
    display: flex; flex-wrap: wrap; gap: 20px; align-items: center; border-radius: 18px; padding: 22px 24px; color: #FFFFFF;
    background: linear-gradient(115deg, #9F1C1F 0%, #7A1416 55%, #4E0C0E 100%);
}
.pub-vb-hero img { width: 72px; height: 72px; object-fit: contain; flex-shrink: 0; }
.pub-vb-hero__body { flex: 1 1 420px; min-width: 0; }
.pub-vb-hero__eb { font-size: 12px; font-weight: 700; letter-spacing: .6px; color: var(--ct-gold-soft); }
.pub-vb-hero__so { font-size: 22px; font-weight: 800; margin-top: 4px; }
.pub-vb-hero__tt { font-size: 14px; margin-top: 4px; color: var(--ct-gold-soft); line-height: 1.5; }
.pub-vb-hero__acts { display: flex; flex-wrap: wrap; gap: 8px; }
.pub-vb-hero__acts .pub-btn { min-height: 44px; border-radius: 12px; padding: 0 18px; }
.pub-vb-hero__acts .pub-btn--white { background: #FFFFFF; color: var(--ct-red); border: none; }
body.ctmt-app .pub-vb-hero__acts a.pub-btn--ghost { background: transparent; color: #FFFFFF; border-color: #FFFFFF; }
body.ctmt-app .pub-vb-hero__acts a.pub-btn--ghost[href]:hover { background: rgba(255, 255, 255, .12); color: #FFFFFF; }
.pub-vb-hero__tt-mo { flex: 1 1 100%; margin-top: 4px; padding: 16px 18px; border-radius: 14px; background: rgba(255, 255, 255, .1); font-size: 14px; line-height: 1.6; }
.pub-vb-hero__tt-mo p { margin: 0 0 8px; }
.pub-vb-hero__tt-mo ul { margin: 0 0 8px; padding-left: 20px; }
.pub-vb-hero__tt-mo li + li { margin-top: 4px; }
.pub-vb-hero__nguon { font-size: 12.5px; color: var(--ct-gold-soft); }
body.ctmt-app .pub-vb-hero__nguon a { color: #FFFFFF; text-decoration: underline; }
.pub-vb-detail__diem { margin: 8px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.55; color: var(--ct-ink); }
.pub-vb-detail__diem li + li { margin-top: 4px; }

.pub-vb-filter {
    display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
    background: #FFFFFF; border: 1px solid var(--ct-line); border-radius: 14px; padding: 12px 14px;
}
.pub-vb-filter .pub-search { flex: 1 1 280px; }
.pub-vb-filter label.pub-sel { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; margin: 0; }
.pub-vb-filter select {
    height: 42px; border: 1px solid #C9D2DB; border-radius: 10px; padding: 0 10px; background: #FFFFFF;
    font-weight: 600; max-width: 260px;
}
.pub-vb-filter .pub-chips { width: 100%; }

.pub-vb-list { flex: 999 1 640px; min-width: 0; }
.pub-vb-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 720px; }
.pub-vb-table thead tr {
    text-align: left; color: var(--ct-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .4px; background: #F6F8FA;
}
.pub-vb-table th { padding: 12px 8px; font-weight: 700; }
.pub-vb-table th:first-child, .pub-vb-table td:first-child { padding-left: 14px; }
.pub-vb-table th:last-child, .pub-vb-table td:last-child { padding-right: 14px; }
.pub-vb-table td { padding: 12px 8px; border-top: 1px solid #EEF1F4; vertical-align: top; }
.pub-vb-table tr.vrow { cursor: pointer; }
.pub-vb-table tr.vrow:hover { background: #F8FAFB; }
.pub-vb-table tr.vrow.is-on { background: #FFF7EC; }
.pub-vb-so {
    border: none; background: none; padding: 0; font-weight: 800; color: var(--ct-red); cursor: pointer; text-align: left;
}
.pub-vb-kind { font-size: 11px; font-weight: 700; color: var(--ct-muted); margin-top: 4px; }
.pub-vb-org { font-size: 12px; color: var(--ct-muted); margin-top: 4px; }
.pub-status {
    display: inline-block; font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 999px;
    background: #E3F3EA; color: var(--ct-ok); white-space: nowrap;
}
.pub-status--het { background: #EEF1F4; color: var(--ct-muted); }

.pub-vb-detail {
    flex: 1 1 360px; max-width: 100%; position: sticky; top: calc(var(--hdr-h, 0px) + 16px); background: #FFFFFF;
    border: 1px solid var(--ct-line); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 12px;
}
.pub-vb-detail__kind { font-size: 12px; font-weight: 800; letter-spacing: .5px; color: var(--ct-muted); text-transform: uppercase; }
.pub-vb-detail__so { font-size: 20px; font-weight: 800; color: var(--ct-red); }
.pub-vb-detail__tt { font-size: 15px; line-height: 1.5; font-weight: 600; }
.pub-vb-detail dl { margin: 0; display: grid; grid-template-columns: 112px 1fr; gap: 8px 10px; font-size: 13px; }
.pub-vb-detail dt { color: var(--ct-muted); font-weight: 400; }
.pub-vb-detail dd { margin: 0; font-weight: 600; }
.pub-vb-detail__sum { font-size: 13px; line-height: 1.6; color: #2B3743; background: #F6F8FA; border-radius: 12px; padding: 12px; }
.pub-vb-detail__acts { display: flex; flex-wrap: wrap; gap: 8px; }
.pub-vb-detail__acts .pub-btn { font-size: 13px; }

/* ===== Tin tức ===== */
.nt-2col { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 40px; align-items: start; }
.nt-lead { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.nt-row { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 18px; align-items: start; }
@media (max-width: 960px) { .nt-2col { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .nt-lead { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .nt-row { grid-template-columns: 116px minmax(0, 1fr); gap: 12px; } .nt-row .clamp2 { display: none; } }
.pub-news { background: #FFFFFF; border: 1px solid var(--ct-line); border-radius: 18px; padding: 24px; }
body.ctmt-app .pub-news a { color: inherit; }
.nt-thumb { border-radius: 4px; position: relative; flex-shrink: 0; overflow: hidden; }
.nt-thumb::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, #F1F3F6 0%, #E4E8ED 100%);
}
.nt-thumb img {
    position: absolute; left: 50%; top: 50%; width: 28%; max-width: 96px; transform: translate(-50%, -50%);
    opacity: .22; filter: grayscale(1); transition: transform .3s ease;
}
.nt-item:hover .nt-thumb img { transform: translate(-50%, -50%) scale(1.06); }
.nt-item:hover .nt-title { color: var(--ct-red) !important; }
.clamp2, .clamp3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.clamp2 { -webkit-line-clamp: 2; }
.clamp3 { -webkit-line-clamp: 3; }
.nt-kicker { font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--ct-red); }
.nt-meta { font-size: 13px; color: #66717D; }
.nt-sec-h { border-bottom: 1px solid #E3E7EC; margin-bottom: 16px; }
.nt-sec-h h2 {
    display: inline-block; margin: 0 0 -1px; padding: 0 0 8px; font-size: 17px; font-weight: 800; letter-spacing: .4px;
    text-transform: uppercase; color: var(--ct-navy); border-bottom: 3px solid var(--ct-red);
}
.nt-list { list-style: none; margin: 0; padding: 0; }
.nt-list--side > li { padding: 14px 0; border-bottom: 1px solid #E3E7EC; }
.nt-list--side > li:first-child { padding-top: 0; }
.nt-list--side > li:last-child { border-bottom: none; }
.nt-list--main > li { padding: 18px 0; border-top: 1px solid #E3E7EC; }
.nt-list--main > li:first-child { border-top: none; padding-top: 0; }
.nt-side { display: flex; flex-direction: column; gap: 28px; }
.nt-side__search {
    display: flex; align-items: center; gap: 8px; border: 1px solid #C9D2DB; border-radius: 4px; padding: 0 12px; height: 42px; margin: 0;
}
.nt-side__search input { border: none; outline: none; font-size: 14px; flex: 1; min-width: 0; background: transparent; }
.nt-cat li { border-bottom: 1px dashed #E3E7EC; }
body.ctmt-app .nt-cat a {
    display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 2px;
    font-size: 15px; font-weight: 500; color: #1A2430;
}
body.ctmt-app .nt-cat a[aria-current="page"] { font-weight: 700; color: var(--ct-red); }
.nt-cat__bar { width: 4px; height: 16px; border-radius: 2px; display: inline-block; margin-right: 10px; vertical-align: -2px; }
.nt-cat__n { font-size: 13px; color: #66717D; }
.nt-lvgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body.ctmt-app .nt-lvbox {
    display: block; padding: 10px 12px; border: 1px solid #E3E7EC; border-top: 3px solid var(--lv); border-radius: 4px;
    font-size: 13.5px; font-weight: 600; color: #1A2430; line-height: 1.35;
}
body.ctmt-app .nt-lvbox:hover { background: #F8FAFB; }
.nt-article h1 { margin: 6px 0 10px; font-size: 30px; font-weight: 800; line-height: 1.3; color: var(--ct-navy); }
.nt-article__sum { font-size: 17px; line-height: 1.6; font-weight: 600; color: #2B3743; margin: 16px 0; }
.nt-article p { font-size: 16px; line-height: 1.75; color: #2B3743; margin: 0 0 14px; }
.nt-article .nt-thumb { aspect-ratio: 16 / 9; margin: 16px 0; }
.nt-back { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; }
/* Anh that cua tin (N_ANHMINHHOA) thay cho anh quoc huy mo */
.nt-thumb--img::before { display: none; }
.nt-thumb--img img {
    left: 0; top: 0; width: 100%; height: 100%; max-width: none; object-fit: cover;
    opacity: 1; filter: none; transform: none; background: #E4E8ED;
}
.nt-item:hover .nt-thumb--img img { transform: scale(1.04); }
/* Noi dung HTML soan trong CKEditor */
.nt-article__body { font-size: 16px; line-height: 1.75; color: #2B3743; overflow-wrap: anywhere; }
.nt-article__body img, .nt-article__body iframe, .nt-article__body video { max-width: 100%; height: auto; border-radius: 4px; }
.nt-article__body table { max-width: 100%; display: block; overflow-x: auto; border-collapse: collapse; }
.nt-article__body td, .nt-article__body th { border: 1px solid var(--ct-line); padding: 6px 8px; }
.nt-article__body h2, .nt-article__body h3 { color: var(--ct-navy); font-weight: 800; margin: 22px 0 10px; }
/* Thanh nut quan tri tren trang tin (chi tai khoan quan tri) */
.nt-admin {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 20px;
    padding: 10px 12px; border: 1px dashed #E7C9C6; border-radius: 12px; background: #FFF7EC;
}
.nt-admin__lbl { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; color: var(--ct-red); margin-right: 4px; }
.nt-admin .pub-btn { min-height: 36px; font-size: 13px; padding: 0 12px; }

/* ===== Thông báo ===== */
.pub-tabs { display: inline-flex; flex-wrap: wrap; background: #E4E8EC; border-radius: 12px; padding: 4px; gap: 2px; }
.pub-tabs button {
    display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border: none; border-radius: 9px;
    font-size: 14px; font-weight: 700; cursor: pointer; background: transparent; color: var(--ct-muted);
}
.pub-tabs button[aria-selected="true"] { background: #FFFFFF; color: var(--ct-ink); box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.pub-badge {
    min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; font-size: 12px;
    display: inline-flex; align-items: center; justify-content: center; background: var(--ct-bad); color: #FFFFFF;
}
.pub-badge[hidden] { display: none; }
.pub-tb-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pub-tb-bar .pub-unread-only {
    margin: 0 0 0 auto; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; cursor: pointer;
}
.pub-tb-bar .pub-unread-only input { width: 18px; height: 18px; }
.pub-tb-list { flex: 1 1 440px; min-width: 0; }
.pub-nrow {
    display: flex; gap: 12px; width: 100%; padding: 14px 16px; border: none; border-bottom: 1px solid #EEF1F4;
    border-left: 4px solid transparent; text-align: left; cursor: pointer; color: var(--ct-ink); background: #FFFFFF;
}
.pub-nrow:hover { background: #F8FAFB; }
.pub-nrow[aria-pressed="true"] { border-left-color: var(--ct-red); background: #FFF7EC; }
.pub-nrow__ico {
    width: 40px; height: 40px; border-radius: 11px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    background: #FCEDEA; color: var(--ct-red); font-size: 18px;
}
.pub-nrow__ico--qt { background: #E2ECF8; color: #1F5FAF; }
.pub-nrow__body { flex: 1; min-width: 0; }
.pub-nrow__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--ct-muted); }
.pub-nrow__title { display: block; font-size: 14.5px; margin-top: 4px; line-height: 1.4; font-weight: 600; }
.pub-nrow.is-unread .pub-nrow__title { font-weight: 800; }
.pub-nrow__dot { width: 10px; height: 10px; border-radius: 50%; background: #1F5FAF; flex-shrink: 0; margin-top: 6px; visibility: hidden; }
.pub-nrow.is-unread .pub-nrow__dot { visibility: visible; }
.pub-lv { font-size: 11px; font-weight: 800; padding: 2px 7px; border-radius: 6px; }
.pub-lv--khan { background: #FBE3E0; color: #C0392B; }
.pub-lv--qt { background: #FBF0D9; color: #C98A12; }
.pub-lv--tt { background: #EEF1F4; color: #5B6672; }
.pub-src { font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 6px; background: #FCEDEA; color: var(--ct-red); }
.pub-src--qt { background: #E2ECF8; color: #1F5FAF; }
.pub-tb-detail { flex: 999 1 520px; min-width: 0; position: sticky; top: calc(var(--hdr-h, 0px) + 16px); }
.pub-tb-detail__head { padding: 20px 24px; border-bottom: 1px solid var(--ct-line); border-top: 6px solid #5B6672; }
.pub-tb-detail__head.lv-khan { border-top-color: #C0392B; }
.pub-tb-detail__head.lv-qt { border-top-color: #C98A12; }
.pub-tb-detail__head .pub-lv { font-size: 12px; padding: 3px 9px; }
.pub-tb-detail h2 { margin: 10px 0 0; font-size: 22px; font-weight: 800; line-height: 1.35; }
.pub-tb-detail__meta { font-size: 13px; color: var(--ct-muted); margin-top: 6px; }
.pub-tb-detail__body { padding: 20px 24px; display: flex; flex-direction: column; gap: 14px; }
.pub-tb-detail__body p { margin: 0; font-size: 15px; line-height: 1.7; color: #2B3743; }
.pub-tb-detail__body .pub-btn { align-self: flex-start; min-height: 44px; border-radius: 12px; padding: 0 18px; }
.pub-file {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--ct-line);
    border-radius: 10px; font-size: 14px; font-weight: 600; background: #F6F8FA;
}
.pub-file i { color: var(--ct-red); font-size: 18px; }

@media (max-width: 899px) {
    .pub-h1 { font-size: 26px; }
    .pub-chat { height: 600px; }
    .pub-vb-detail, .pub-tb-detail { position: static; }
    .pub-tb-bar .pub-unread-only { margin-left: 0; }
    .pub-news { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .nt-thumb img { transition: none; }
}
@media print {
    .pub-quick, .nt-side, .no-print { display: none !important; }
}

/* ===== Giới thiệu (vn/GioiThieu.aspx) ===== */
.gt { gap: 28px; }
.gt-sec { display: flex; flex-direction: column; gap: 14px; scroll-margin-top: calc(var(--gt-hdr, 72px) + 64px); }
.gt-hero {
    border-radius: 22px; padding: 28px clamp(18px, 4vw, 40px); color: #FFFFFF;
    background: linear-gradient(135deg, var(--ct-red-dark) 0%, var(--ct-red) 45%, var(--ct-navy) 100%);
}
.gt-hero__eb { font-size: 13px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--ct-gold-soft); }
.gt-hero__h1 { margin: 6px 0 0; font-size: clamp(22px, 3vw, 32px); font-weight: 800; line-height: 1.25; max-width: 980px; }
.gt-hero__lead { margin: 10px 0 0; font-size: 15px; line-height: 1.6; max-width: 980px; color: #F3E4E4; }
.gt-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-top: 22px; }
.gt-fact { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); border-radius: 14px; padding: 12px 14px; }
.gt-fact .num { display: block; font-family: "Barlow Semi Condensed", sans-serif; font-size: 30px; font-weight: 700; line-height: 1.1; color: var(--ct-gold); }
.gt-fact .lbl { display: block; font-size: 13px; margin-top: 4px; color: #FFFFFF; }

.gt-toc {
    /* Dính ngay dưới header (chiều cao header đo bằng JS -> --gt-hdr) */
    position: sticky; top: var(--gt-hdr, 72px); z-index: 900;
    display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 0; margin: -10px 0;
    background: var(--ct-page); transition: box-shadow .2s;
}
.gt-toc.is-stuck { box-shadow: 0 10px 16px -14px rgba(15, 27, 42, .45); }
body.ctmt-app .gt-toc a[aria-current="true"] { background: var(--ct-red); border-color: var(--ct-red); color: #FFFFFF; }
body.ctmt-app .gt-toc a {
    border: 1px solid var(--ct-line); background: #FFFFFF; border-radius: 999px; padding: 6px 14px;
    font-size: 13px; font-weight: 600; color: var(--ct-navy);
}
body.ctmt-app .gt-toc a:hover { border-color: var(--ct-red); color: var(--ct-red); }

.gt-time { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.gt-time li { display: flex; gap: 16px; position: relative; padding-bottom: 16px; }
.gt-time li::before { content: ""; position: absolute; left: 47px; top: 26px; bottom: 0; width: 2px; background: var(--ct-line); }
.gt-time li:last-child::before { display: none; }
.gt-time__ngay {
    flex: 0 0 96px; height: 28px; display: inline-flex; align-items: center; justify-content: center; position: relative; z-index: 1;
    border-radius: 999px; background: var(--ct-navy); color: #FFFFFF; font-size: 13px; font-weight: 700;
}
.gt-time li.is-draft .gt-time__ngay { background: #FFFFFF; color: var(--ct-warn); border: 1px dashed var(--ct-warn); }
.gt-time__body { flex: 1; min-width: 0; background: #FFFFFF; border: 1px solid var(--ct-line); border-radius: 14px; padding: 12px 16px; }
.gt-time__body strong { font-size: 15px; }
.gt-time__body p { margin: 4px 0 0; font-size: 14px; line-height: 1.6; color: #2B3743; }

.gt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.gt-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); }
.gt-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.gt-mt { background: #FFFFFF; border: 1px solid var(--ct-line); border-top: 4px solid var(--c); border-radius: 16px; padding: 16px 18px; }
.gt-mt__ico {
    width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
    background: #F4F6F8; color: var(--c); font-size: 20px;
}
.gt-mt h3 { margin: 10px 0 6px; font-size: 16px; font-weight: 800; }
.gt-mt p { margin: 0; font-size: 14px; line-height: 1.6; color: #2B3743; }
.gt-pham-vi { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 14px; font-size: 14px; line-height: 1.6; }
.gt-pham-vi > div { background: #F8FAFB; border: 1px solid var(--ct-line); border-radius: 14px; padding: 12px 16px; }
.gt-pham-vi strong { display: block; color: var(--ct-red); }

.gt-tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.gt-tbl th { background: #F8FAFB; text-align: left; padding: 10px 14px; font-size: 13px; color: var(--ct-muted); border-bottom: 1px solid var(--ct-line); }
.gt-tbl td { padding: 10px 14px; border-bottom: 1px solid #EEF1F4; vertical-align: top; }
.gt-tbl td:first-child { font-weight: 600; min-width: 220px; }
.gt-tbl td:not(:first-child) { min-width: 180px; }
.gt-tbl tbody tr:last-child td { border-bottom: none; }

.gt-nl { padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.gt-nl__tong { font-size: 15px; font-weight: 600; }
.gt-nl__tong .num { font-family: "Barlow Semi Condensed", sans-serif; font-size: 36px; font-weight: 700; color: var(--ct-red); }
.gt-nl__bar { display: flex; height: 14px; border-radius: 999px; overflow: hidden; background: #EEF1F4; }
.gt-nl__bar span { display: block; height: 100%; }
.gt-nl__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 8px 20px; font-size: 14px; }
.gt-nl__list li { padding-left: 18px; position: relative; }
.gt-nl__list li::before { content: ""; position: absolute; left: 0; top: 6px; width: 10px; height: 10px; border-radius: 3px; background: var(--c); }
.gt-nl__list small { display: block; color: var(--ct-muted); }

.gt-nhom { padding: 16px 18px; }
.gt-nhom__h { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.gt-nhom__h b { font-family: "Barlow Semi Condensed", sans-serif; font-size: 28px; color: var(--ct-navy); }
.gt-nhom__ma {
    width: 36px; height: 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
    background: var(--ct-red); color: #FFFFFF; font-weight: 800; font-size: 18px;
}
.gt-nhom p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: #2B3743; }
.gt-nhom__ds { list-style: none; margin: 10px 0 0; padding: 0; font-size: 14px; }
.gt-nhom__ds li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px dashed var(--ct-line); }

.gt-cham { margin: 0; padding: 14px 18px; border-left: 4px solid var(--ct-gold); background: #FFF8E8; border-radius: 0 14px 14px 0; font-size: 16px; font-weight: 700; color: var(--ct-red-dark); }
.gt-cham i { margin-right: 6px; color: var(--ct-warn); }
.gt-cap, .gt-csdl { padding: 16px 18px; }
.gt-cap h3, .gt-csdl h3 { font-size: 16px; font-weight: 800; margin: 0 0 8px; }
.gt-cap h3 i, .gt-csdl h3 i { margin-right: 8px; color: var(--ct-red); }
.gt-csdl h3 small { font-weight: 500; color: var(--ct-muted); font-size: 12px; }
.gt-cap ul { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.6; }
.gt-cap li + li { margin-top: 6px; }
.gt-csdl p { margin: 0; font-size: 14px; line-height: 1.65; }

.gt-kk { margin: 0; padding: 0; list-style: none; counter-reset: kk; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 12px; }
.gt-kk li { counter-increment: kk; background: #FFFFFF; border: 1px solid var(--ct-line); border-radius: 14px; padding: 14px 16px 14px 56px; position: relative; font-size: 14px; line-height: 1.6; }
.gt-kk li::before {
    content: counter(kk); position: absolute; left: 14px; top: 14px; width: 30px; height: 30px; border-radius: 50%;
    background: var(--ct-gold-soft); color: var(--ct-red-dark); font-weight: 800; display: flex; align-items: center; justify-content: center;
}

body.ctmt-app a.gt-tn {
    display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 16px; color: var(--ct-ink);
    background: #FFFFFF; border: 1px solid var(--ct-line); transition: border-color .15s, transform .15s;
}
body.ctmt-app a.gt-tn:hover { border-color: var(--ct-red); transform: translateY(-2px); color: var(--ct-ink); }
.gt-tn i { font-size: 24px; color: var(--ct-red); }
.gt-tn b { font-size: 16px; }
.gt-tn span { font-size: 14px; line-height: 1.55; color: var(--ct-muted); }

.gt-hd { padding: 16px 18px; }
.gt-hd__top { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center; justify-content: space-between; }
.gt-hd__top h3 { margin: 0; font-size: 16px; font-weight: 800; }
.gt-hd__buoc { margin: 14px 0 0; padding-left: 22px; font-size: 14px; line-height: 1.7; }

body.ctmt-app a.gt-cta {
    display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; padding: 18px 22px; border-radius: 18px; color: #FFFFFF;
    background: linear-gradient(135deg, var(--ct-navy) 0%, #1F4E85 100%);
}
body.ctmt-app a.gt-cta:hover { color: #FFFFFF; filter: brightness(1.08); }
.gt-cta > i { font-size: 30px; color: var(--ct-gold); }
.gt-cta > span:not(.gt-cta__go) { flex: 1 1 260px; }
.gt-cta b { display: block; font-size: 16px; }
.gt-cta > span > span { font-size: 14px; color: #C9D6E3; }
.gt-cta__go { font-weight: 700; color: var(--ct-gold); white-space: nowrap; }

@media (max-width: 575.98px) {
    .gt-time li::before { left: 39px; }
    .gt-time__ngay { flex-basis: 80px; font-size: 12px; }
    .gt-fact .num { font-size: 26px; }
    .gt-toc { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .gt-toc::-webkit-scrollbar { display: none; }
    body.ctmt-app .gt-toc a { white-space: nowrap; flex-shrink: 0; }
    .gt-tbl td:first-child { min-width: 180px; }
    .gt-tbl td:not(:first-child) { min-width: 150px; }
}

/* ===== 34 tinh, thanh pho (vn/CtTinhThanh.aspx) ===== */
.tt-so { display: flex; flex-wrap: wrap; gap: 10px; }
.tt-so__o { background: #FFFFFF; border: 1px solid var(--ct-line); border-radius: 14px; padding: 8px 16px; display: flex; flex-direction: column; min-width: 120px; }
.tt-so__o .num { font-family: "Barlow Semi Condensed", sans-serif; font-size: 28px; font-weight: 700; line-height: 1.1; color: var(--ct-navy); }
.tt-so__o span:last-child { font-size: 12px; color: var(--ct-muted); }
.tt-so__o--ok .num { color: var(--ct-ok); }
.tt-so__o--bad .num { color: var(--ct-bad); }
.tt-loc { padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; overflow: visible; }
.tt-loc__dong { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; }
.tt-loc__dong .pub-search { flex: 1 1 280px; }
.tt-sapxep { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 700; }
.tt-sapxep select { width: auto; min-width: 200px; height: 42px; }
.tt-khung { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 16px; align-items: start; }
.tt-luoi { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 12px; }
.tt-the {
    display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; background: #FFFFFF; border: 1.5px solid var(--ct-line);
    border-radius: 16px; color: var(--ct-ink); text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
.tt-the:hover { border-color: #D9A7A3; }
.tt-the[aria-pressed="true"] { border-color: var(--ct-red); box-shadow: 0 0 0 1px var(--ct-red); }
.tt-the__dau { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.tt-the__dau strong { display: block; font-size: 16px; }
.tt-the__dau > span > span { display: block; font-size: 12px; color: var(--ct-muted); line-height: 1.35; }
.tt-tt { flex-shrink: 0; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: #EEF1F4; color: var(--ct-muted); }
.tt-tt--ok { background: #E3F4EA; color: var(--ct-ok); }
.tt-tt--bad { background: #FBE6E4; color: var(--ct-bad); }
.tt-the__so { display: flex; flex-direction: column; gap: 8px; }
.tt-dong { display: grid; grid-template-columns: 92px minmax(0, 1fr) 52px; gap: 8px; align-items: center; font-size: 12px; color: var(--ct-muted); }
.tt-dong b { text-align: right; font-size: 14px; color: var(--ct-ink); }
.tt-dong b.tt-xau { color: var(--ct-bad); }
.tt-dong__bar { height: 6px; border-radius: 999px; background: #EEF1F4; overflow: hidden; }
.tt-dong__bar span { display: block; height: 100%; border-radius: 999px; background: #1E7F4F; }
.tt-dong--1 .tt-dong__bar span { background: #C9780C; }
.tt-dong--2 .tt-dong__bar span { background: #6D4C2F; }
.tt-ct { position: sticky; top: calc(var(--tt-hdr, 0px) + 12px); background: #FFFFFF; border: 1px solid var(--ct-line); border-radius: 18px; overflow: hidden; }
.tt-ct__dau { padding: 16px 18px; color: #FFFFFF; background: linear-gradient(135deg, #9F1C1F 0%, #6E1013 100%); }
.tt-ct__vung { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: #F6D6D3; }
.tt-ct__ten { margin: 2px 0 6px; font-size: 24px; font-weight: 800; color: #FFFFFF; }
.tt-ct__so { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; color: #F6D6D3; }
.tt-ct__so b { font-size: 16px; color: #FFFFFF; }
.tt-ct__than { padding: 14px 18px 16px; display: flex; flex-direction: column; gap: 10px; }
.tt-ct__nop { padding: 8px 12px; border-radius: 10px; background: #FBE6E4; color: var(--ct-bad); font-size: 13px; font-weight: 700; }
.tt-ct__h { font-size: 12px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--ct-muted); }
.tt-ct__ds { list-style: none; margin: 0; padding: 0; }
.tt-ct__ds li { display: flex; gap: 8px; align-items: flex-start; padding: 9px 0; border-bottom: 1px dashed var(--ct-line); }
.tt-ct__cham { flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; margin-top: 6px; }
.tt-ct__nd { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tt-ct__tenct { font-size: 13px; font-weight: 600; line-height: 1.35; }
.tt-ct__phu { font-size: 12px; color: var(--ct-muted); }
.tt-ct__gt { flex-shrink: 0; font-family: "Barlow Semi Condensed", sans-serif; font-size: 20px; line-height: 1.1; }
.tt-ss--tot { color: var(--ct-ok); }
.tt-ss--kem { color: var(--ct-bad); }
.tt-ct__nut { display: flex; flex-wrap: wrap; gap: 8px; }
/* Desktop: khung chi tiet sticky cao toi da bang man hinh, phan than cuon rieng (khong phai cuon het trang moi doc duoc) */
@media (min-width: 1100px) {
    .tt-khung .tt-ct { display: flex; flex-direction: column; max-height: calc(100vh - var(--tt-hdr, 0px) - 24px); }
    .tt-khung .tt-ct__dau { flex-shrink: 0; }
    .tt-khung .tt-ct__than { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
}
@media (max-width: 1099.98px) {
    .tt-khung { grid-template-columns: minmax(0, 1fr); }
    .tt-ct { position: static; order: -1; }
}
/* Dien thoai: khung chi tiet trong bottom sheet #shTinh */
.ct-sheet__khung--tinh .ct-sheet__dau { position: absolute; left: 0; right: 0; top: 0; z-index: 1; padding: 10px 10px 0 18px; background: transparent; }
.ct-sheet__khung--tinh .ct-sheet__dau h2 { visibility: hidden; }
.ct-sheet__khung--tinh .ct-sheet__keo { background: rgba(255, 255, 255, .6); }
.ct-sheet__khung--tinh .ct-sheet__dong { background: rgba(255, 255, 255, .2); color: #FFFFFF; }
.ct-sheet__khung--tinh .ct-sheet__than { padding: 0; }
.ct-sheet__khung--tinh .tt-ct { border: 0; border-radius: 20px 20px 0 0; }
.ct-sheet__khung--tinh .tt-ct__dau { padding-top: 26px; padding-right: 60px; }
.tt-loc .pub-chip { min-height: 32px; padding: 0 12px; font-size: 13px; }
.tt-ct__dm { margin: 0; font-size: 13px; line-height: 1.55; color: var(--ct-ink); overflow-wrap: anywhere; }

/* ===== Tai lieu, bao cao (vn/CtTaiLieu.aspx) ===== */
.tl-tren { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; }
.tl-nop {
    display: grid; grid-template-columns: minmax(0, 290px) minmax(0, 1fr); gap: 16px 28px; align-items: center;
    padding: 22px 24px; border-radius: 18px; color: #FFFFFF; background: linear-gradient(135deg, #14365D 0%, #0E2440 100%);
}
.tl-nop__eb { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: #C9D6E3; }
.tl-nop__so { display: flex; align-items: baseline; gap: 4px; margin-top: 6px; }
.tl-nop__so .num { font-family: "Barlow Semi Condensed", sans-serif; font-size: 52px; font-weight: 700; line-height: 1; color: #FFFFFF; }
.tl-nop__so b { font-family: "Barlow Semi Condensed", sans-serif; font-size: 24px; color: #C9D6E3; }
.tl-nop__so span { font-size: 14px; color: #C9D6E3; margin-left: 4px; }
.tl-nop__bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .18); overflow: hidden; margin-top: 12px; }
.tl-nop__bar span { display: block; height: 100%; background: #4CC38A; }
.tl-nop__h { font-size: 13px; font-weight: 800; color: var(--ct-gold); text-transform: uppercase; letter-spacing: .4px; margin-bottom: 8px; }
.tl-nop__ds { display: flex; flex-wrap: wrap; gap: 6px; }
body.ctmt-app .tl-nop__ds a { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, .12); color: #FFFFFF; }
body.ctmt-app .tl-nop__ds a:hover { background: rgba(255, 255, 255, .24); color: #FFFFFF; }
.tl-nop__note { margin: 10px 0 0; font-size: 12px; color: #A9BBCC; }
.tl-lich { padding: 18px 20px; }
.tl-lich__h { margin: 0 0 6px; font-size: 15px; font-weight: 800; }
.tl-lich__o { display: flex; align-items: center; gap: 12px; padding: 8px 0; font-size: 14px; }
.tl-lich__ngay { width: 46px; flex-shrink: 0; text-align: center; border-radius: 10px; background: #FCEDEA; color: var(--ct-red); padding: 4px 0; }
.tl-lich__ngay b { display: block; font-family: "Barlow Semi Condensed", sans-serif; font-size: 20px; line-height: 1.1; }
.tl-lich__ngay span { font-size: 10px; font-weight: 700; }
.tl-kho { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 16px; align-items: start; }
.tl-kho__loc { padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; overflow: visible; }
.tl-loc__h { display: block; margin: 8px 0 0; font-size: 12px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--ct-muted); }
.tl-loc__h:first-child { margin-top: 0; }
.tl-loai { display: flex; flex-direction: column; gap: 2px; }
.tl-loai button {
    display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; min-height: 40px; padding: 0 12px;
    border: none; border-radius: 10px; background: transparent; color: var(--ct-ink); font-size: 14px; font-weight: 600; text-align: left; cursor: pointer;
}
.tl-loai button:hover { background: #F2F5F8; }
.tl-loai button b { font-size: 13px; color: var(--ct-muted); }
.tl-loai button[aria-pressed="true"] { background: var(--ct-navy); color: #FFFFFF; }
.tl-loai button[aria-pressed="true"] b { color: #FFFFFF; }
.tl-lv .pub-chip { min-height: 32px; padding: 0 10px; font-size: 13px; }
.tl-kho__ds { min-width: 0; }
.tl-kho__tim { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--ct-line); }
.tl-kho__tim .pub-search { flex: 1; }
.tl-kho__dem { flex-shrink: 0; font-size: 13px; color: var(--ct-muted); }
.tl-dong { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border-bottom: 1px solid #EEF1F4; }
.tl-dong:last-child { border-bottom: none; }
.tl-duoi {
    flex-shrink: 0; width: 46px; height: 52px; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 7px;
    font-size: 11px; font-weight: 800; border-radius: 6px 14px 6px 6px; background: #5F6B77; color: #FFFFFF;
}
.tl-duoi--pdf { background: #C8372D; }
.tl-duoi--docx, .tl-duoi--doc { background: #2457B3; }
.tl-duoi--xlsx, .tl-duoi--xls, .tl-duoi--csv { background: #1E7F4F; }
.tl-dong__than { flex: 1; min-width: 0; }
body.ctmt-app .tl-dong__ten { display: block; font-weight: 700; font-size: 15px; color: var(--ct-ink); }
body.ctmt-app a.tl-dong__ten:hover { color: var(--ct-red); }
.tl-dong__mt { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 3px; font-size: 13px; color: var(--ct-muted); }
.tl-dong__mota { margin-top: 3px; font-size: 13px; color: var(--ct-muted); }
.tl-cb { flex-shrink: 0; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: #E3F4EA; color: var(--ct-ok); }
.tl-tai { flex-shrink: 0; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ct-line); border-radius: 10px; color: var(--ct-muted); }
body.ctmt-app a.tl-tai:hover { border-color: var(--ct-red); color: var(--ct-red); }
span.tl-tai { border-color: transparent; }
@media (max-width: 899.98px) {
    .tl-tren, .tl-kho, .tl-nop { grid-template-columns: minmax(0, 1fr); }
    .tl-dong { flex-wrap: wrap; }
    .tl-cb { margin-left: 60px; }
}

/* ===== Ket qua danh gia (vn/CtDanhGiaKq.aspx) ===== */
.dg-tam { color: var(--ct-warn); }
.dg-h { margin: 0; font-size: 17px; font-weight: 800; }
.dg-tab { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: #E9EDF1; }
.dg-tab button {
    min-height: 38px; padding: 0 16px; border: none; border-radius: 9px; background: transparent;
    font-size: 14px; font-weight: 700; color: var(--ct-muted); cursor: pointer;
}
.dg-tab button[aria-selected="true"] { background: #FFFFFF; color: var(--ct-ink); box-shadow: 0 1px 3px rgba(20, 54, 93, .15); }
.dg-tren { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.dg-th-hop { padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; overflow: visible; }
.dg-chong { display: flex; gap: 3px; height: 16px; border-radius: 999px; overflow: hidden; background: #EEF1F4; }
.dg-chong span { display: block; height: 100%; }
.dg-chong--ok { background: #1E7F4F; }
.dg-chong--mid { background: #2457B3; }
.dg-chong--warn { background: #C9870C; }
.dg-chong--bad { background: #C8372D; }
.dg-muc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.dg-muc__o {
    display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 2px solid transparent; border-radius: 12px;
    text-align: left; cursor: pointer; font-size: 13px; font-weight: 700;
}
.dg-muc__o b { font-family: "Barlow Semi Condensed", sans-serif; font-size: 30px; line-height: 1.1; }
.dg-muc__o small { font-size: 11px; font-weight: 500; opacity: .8; }
.dg-muc__o--ok { background: #E3F4EA; color: #1E7F4F; }
.dg-muc__o--mid { background: #E3EDFB; color: #2457B3; }
.dg-muc__o--warn { background: #FFF4D6; color: #8A5A00; }
.dg-muc__o--bad { background: #FBE6E4; color: #B3261E; }
.dg-muc__o[aria-pressed="true"] { border-color: currentColor; }
.dg-luu { display: flex; gap: 10px; margin: 0; padding: 10px 14px; border-radius: 12px; background: #FFF8E8; border-left: 4px solid var(--ct-gold); font-size: 13px; line-height: 1.55; }
.dg-luu i { color: var(--ct-warn); font-size: 18px; }
.dg-tc { padding: 18px 20px; border-radius: 18px; color: #FFFFFF; background: linear-gradient(135deg, #14365D 0%, #0E2440 100%); display: flex; flex-direction: column; gap: 12px; }
.dg-tc .dg-h { color: #FFFFFF; }
.dg-tc__ds { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dg-tc__ds li { display: flex; gap: 12px; align-items: flex-start; }
.dg-tc__so {
    flex-shrink: 0; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px;
    font-family: "Barlow Semi Condensed", sans-serif; font-size: 22px; color: #FFFFFF;
}
.dg-tc__so--a { background: #2E8B57; }
.dg-tc__so--b { background: #C9870C; }
.dg-tc__so--c { background: #8E44AD; }
.dg-tc__ds strong { display: block; font-size: 14px; }
.dg-tc__ds small { display: block; font-size: 12px; color: #A9BBCC; line-height: 1.45; }
.dg-buoc { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; counter-reset: b; }
.dg-buoc li {
    counter-increment: b; display: inline-flex; align-items: baseline; gap: 6px; padding: 5px 10px; border-radius: 999px;
    background: rgba(255, 255, 255, .12); font-size: 12px; font-weight: 700; cursor: help;
}
.dg-buoc li::before { content: counter(b) "."; color: var(--ct-gold); }
.dg-buoc li small { font-weight: 500; color: #A9BBCC; }
.dg-bang-k { padding: 6px 0 0; }
.dg-bang-k__dau { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; padding: 12px 20px 8px; }
.dg-bang-k__dau .pub-sel { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 700; }
.dg-bang-k__dau select { width: auto; }
.dg-bang-k__chu { padding: 10px 20px 16px; }
.dg-bang { width: 100%; border-collapse: collapse; font-size: 13px; }
.dg-bang th, .dg-bang td { padding: 9px 10px; border-bottom: 1px solid #EEF1F4; text-align: left; white-space: nowrap; }
.dg-bang th:first-child, .dg-bang td:first-child { padding-left: 20px; }
.dg-bang thead th { font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--ct-muted); border-bottom: 1.5px solid var(--ct-line); }
.dg-bang tbody th { font-weight: 700; }
.dg-bang--xl td, .dg-bang--xl th { white-space: normal; }
.dg-stt { width: 48px; color: var(--ct-muted); font-weight: 700; }
.dg-mo { border: none; background: none; padding: 0; font: inherit; font-weight: 700; color: var(--ct-ink); cursor: pointer; }
.dg-mo i { font-size: 9px; color: var(--ct-muted); transition: transform .15s; display: inline-block; }
.dg-mo[aria-expanded="true"] i { transform: rotate(180deg); }
.dg-mo:hover { color: var(--ct-red); }
.dg-th { min-width: 150px; }
.dg-th > * { vertical-align: middle; }
.dg-th__bar { display: inline-block; width: calc(100% - 56px); max-width: 120px; height: 6px; border-radius: 999px; background: #EEF1F4; overflow: hidden; }
.dg-th__bar span { display: block; height: 100%; border-radius: 999px; background: #2E8B57; }
.dg-th--dtc .dg-th__bar span { background: #C9870C; }
.dg-th--tx .dg-th__bar span { background: #2457B3; }
.dg-th--c .dg-th__bar span { background: #8E44AD; }
.dg-th b { display: inline-block; width: 50px; text-align: right; font-weight: 700; }
.dg-nhan { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: #EEF1F4; color: var(--ct-muted); }
.dg-nhan--ok { background: #E3F4EA; color: #1E7F4F; }
.dg-nhan--tot, .dg-nhan--mid { background: #E3EDFB; color: #2457B3; }
.dg-nhan--warn { background: #FFF4D6; color: #8A5A00; }
.dg-nhan--bad { background: #FBE6E4; color: #B3261E; }
.dg-bang--xl .dg-nhan--mid { background: #FFF4D6; color: #8A5A00; }
.dg-ctiet td { background: #F8FAFB; white-space: normal; }
.dg-ctiet__ds { display: flex; flex-wrap: wrap; gap: 6px; }
.dg-ctiet__o { display: inline-flex; align-items: baseline; gap: 6px; padding: 5px 10px; border-radius: 10px; background: #FFFFFF; border: 1px solid var(--ct-line); font-size: 12px; }
.dg-ctiet__o em { font-style: normal; font-weight: 800; }
.dg-ctiet__o--ok em { color: #1E7F4F; }
.dg-ctiet__o--mid em { color: #2457B3; }
.dg-ctiet__o--warn em { color: #8A5A00; }
.dg-ctiet__o--bad em { color: #B3261E; }
body.ctmt-app a.dg-ctiet__lk { display: inline-block; margin-top: 8px; font-size: 12px; font-weight: 700; color: var(--ct-red); }
@media (max-width: 991.98px) {
    .dg-tren { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    .dg-muc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Dien thoai: bang tien do 34 tinh thanh the */
@media (max-width: 767.98px) {
    [data-dg-tab="tinh"] .table-responsive { overflow: visible; }
    [data-dg-tab="tinh"] .dg-bang, [data-dg-tab="tinh"] .dg-bang tbody { display: block; }
    [data-dg-tab="tinh"] .dg-bang thead { display: none; }
    [data-dg-tab="tinh"] .dg-bang tr.dg-dong:not([hidden]) {
        display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 6px 8px; align-items: center; padding: 12px 16px; border-top: 1px solid #EEF1F4;
    }
    [data-dg-tab="tinh"] .dg-bang tr.dg-dong > * { padding: 0; border: 0; }
    [data-dg-tab="tinh"] .dg-bang tr.dg-dong .dg-stt { width: auto; padding-left: 0; }
    [data-dg-tab="tinh"] .dg-bang tr.dg-dong > td:last-child { grid-column: 3; grid-row: 1; }
    [data-dg-tab="tinh"] .dg-bang tr.dg-dong .dg-th { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; min-width: 0; }
    [data-dg-tab="tinh"] .dg-th::before { flex: 0 0 104px; font-size: 12px; color: var(--ct-muted); }
    [data-dg-tab="tinh"] .dg-th--a::before { content: "Nhóm A"; }
    [data-dg-tab="tinh"] .dg-th--dtc::before { content: "Giải ngân ĐTC"; }
    [data-dg-tab="tinh"] .dg-th--tx::before { content: "Giải ngân TX"; }
    [data-dg-tab="tinh"] .dg-th--c::before { content: "Hài lòng (C)"; }
    [data-dg-tab="tinh"] .dg-th__bar { flex: 1; width: auto; max-width: none; }
    [data-dg-tab="tinh"] .dg-bang tr.dg-ctiet:not([hidden]) { display: block; }
    [data-dg-tab="tinh"] .dg-bang tr.dg-ctiet > td:first-child { display: none; }
    [data-dg-tab="tinh"] .dg-bang tr.dg-ctiet > td { display: block; padding: 4px 16px 12px; }
}

/* ===== Tim kiem (vn/TimKiem.aspx, goi y khi go) ===== */
.tk-dau { display: flex; flex-direction: column; gap: 10px; }
.tk-o { display: flex; gap: 10px; max-width: 860px; }
.tk-o__nhap { flex: 1; min-width: 0; }
.tk-o .pub-search input { height: 50px; font-size: 16px; border-radius: 12px; }
.tk-goiy { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-size: 13px; color: var(--ct-muted); }
body.ctmt-app .tk-goiy a { color: var(--ct-navy); font-weight: 600; text-decoration: underline; text-decoration-color: #C9D2DB; text-underline-offset: 3px; }
.tk-tong { margin: 0; font-size: 14px; color: var(--ct-muted); }
.tk-tong b { color: var(--ct-ink); }
.tk-chip .pub-chip, .tk-lv .pub-chip { text-decoration: none; min-height: 34px; font-size: 13px; }
body.ctmt-app .tk-chip a.pub-chip[aria-pressed="true"], body.ctmt-app .tk-lv a.pub-chip[aria-pressed="true"] { color: #FFFFFF; }
.tk-lv { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: var(--ct-muted); }
.tk-khop { padding: 18px 22px; border-radius: 18px; color: #FFFFFF; background: linear-gradient(135deg, #9F1C1F 0%, #6E1013 100%); display: flex; flex-direction: column; gap: 8px; }
.tk-khop__eb { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: #F6D6D3; }
.tk-khop__eb i { color: var(--ct-gold); }
.tk-khop h2 { margin: 0; font-size: 24px; font-weight: 800; color: #FFFFFF; }
.tk-khop h2 code { font-size: 18px; color: var(--ct-gold); background: none; }
.tk-khop p { margin: 0; color: #F6D6D3; font-size: 14px; }
.tk-khop__so { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.tk-khop__so div { display: flex; flex-direction: column; }
.tk-khop__so b { font-family: "Barlow Semi Condensed", sans-serif; font-size: 28px; line-height: 1.1; }
.tk-khop__so span { font-size: 12px; color: #F6D6D3; }
.tk-khop__nut { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
body.ctmt-app .tk-khop a.pub-btn--line { background: transparent; color: #FFFFFF; border-color: rgba(255, 255, 255, .6); }
body.ctmt-app .tk-khop a.pub-btn--red { background: #FFFFFF; color: var(--ct-red); }
.tk-khop .xa-ds { background: rgba(255, 255, 255, .96); border-radius: 12px; padding: 2px 12px; color: var(--ct-ink); }
.tk-nhom { padding: 4px 0 6px; }
.tk-nhom__dau { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 18px 6px; }
.tk-nhom__dau h2 { margin: 0; font-size: 16px; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.tk-nhom__dau a, .tk-nhom__dau span { font-size: 13px; font-weight: 700; }
.tk-nhom__dau span { color: var(--ct-muted); }
.tk-ds { list-style: none; margin: 0; padding: 0; }
.tk-ds li + li { border-top: 1px solid #EEF1F4; }
body.ctmt-app a.tk-dong { display: flex; gap: 12px; align-items: center; padding: 10px 18px; color: var(--ct-ink); text-decoration: none; }
body.ctmt-app a.tk-dong:hover { background: #F7F9FB; }
.tk-dong__ico { flex-shrink: 0; width: 36px; height: 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #EEF1F4; color: var(--ct-navy); font-size: 16px; }
.tk-dong__ico--tinh, .tk-dong__ico--xa { background: #FCEDEA; color: var(--ct-red); }
.tk-dong__ico--chitieu { background: #E3F4EA; color: #1E7F4F; }
.tk-dong__ico--vanban, .tk-dong__ico--tailieu { background: #E3EDFB; color: #2457B3; }
.tk-dong__ico--quantri { background: #14365D; color: #FFFFFF; }
.tk-dong__than { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tk-dong__ten { font-weight: 700; font-size: 15px; }
.tk-dong__ten code { font-size: 12px; color: var(--ct-red); background: #FCEDEA; padding: 1px 5px; border-radius: 4px; }
.tk-dong__mt { font-size: 13px; color: var(--ct-muted); overflow-wrap: anywhere; }
.tk-dong__di { color: #9AA5B1; }
.tk-ds mark, .tk-pop mark { background: #FFF1B8; color: inherit; padding: 0; border-radius: 2px; }
.tk-trang { display: flex; gap: 14px; justify-content: center; align-items: center; padding: 10px; font-size: 14px; }
.tk-rong { padding: 22px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.tk-rong p { margin: 0; }
.tk-gt { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 12px; }
body.ctmt-app a.tk-gt__o { display: flex; gap: 12px; align-items: center; padding: 14px 16px; color: var(--ct-ink); text-decoration: none; overflow: visible; }
body.ctmt-app a.tk-gt__o:hover { border-color: var(--ct-red); }
.tk-gt__o b { display: block; }
.tk-gt__o b + span { font-size: 13px; color: var(--ct-muted); }
/* Hop goi y */
.tk-pop {
    position: absolute; z-index: 1300; top: calc(100% + 4px); left: 0; right: 0; min-width: min(420px, 92vw); max-height: min(70vh, 560px); overflow-y: auto;
    background: #FFFFFF; border: 1px solid #DDE3E9; border-radius: 14px; box-shadow: 0 12px 32px rgba(20, 54, 93, .18); text-align: left;
}
.tk-pop__nhom + .tk-pop__nhom { border-top: 1px solid #EEF1F4; }
.tk-pop__h { display: flex; align-items: center; gap: 6px; padding: 8px 14px 2px; font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: #6B7A86; }
.tk-pop__h span { margin-left: auto; font-weight: 700; }
body.ctmt-app a.tk-pop__o { display: flex; flex-direction: column; padding: 7px 14px; color: #1F2A36; text-decoration: none; }
body.ctmt-app a.tk-pop__o:hover, body.ctmt-app a.tk-pop__o.is-on { background: #F2F5F8; }
.tk-pop__t { font-size: 14px; font-weight: 600; }
.tk-pop__t code { font-size: 12px; color: #9F1C1F; background: none; padding: 0; }
.tk-pop__m { font-size: 12px; color: #6B7A86; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.ctmt-app a.tk-pop__tat { border-top: 1px solid #EEF1F4; font-size: 13px; font-weight: 700; color: #9F1C1F; }
.tk-pop__rong { padding: 12px 14px; font-size: 13px; color: #6B7A86; }
@media (max-width: 575.98px) {
    .tk-o { flex-direction: column; }
    .tk-khop h2 { font-size: 20px; }
}

/* ===== Xa, phuong (vn/CtXa.aspx) ===== */
.xa-nut { display: flex; flex-wrap: wrap; gap: 8px; }
.xa-luoi { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(420px, 100%), 1fr)); gap: 14px; align-items: start; }
.xa-lv { border-top: 4px solid var(--lv); }
.xa-lv__dau { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 12px 16px 4px; }
.xa-lv__dau h2 { margin: 0; font-size: 16px; font-weight: 800; color: var(--lv); }
.xa-lv__dau a { font-size: 13px; font-weight: 700; }
.xa-ds { list-style: none; margin: 0; padding: 0 16px 6px; }
.xa-ct { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 9px 0; border-top: 1px dashed var(--ct-line); }
.xa-ds li:first-child { border-top: none; }
.xa-ct__ten { display: flex; flex-direction: column; font-size: 14px; font-weight: 600; line-height: 1.35; }
body.ctmt-app .xa-ct__ten a { color: var(--ct-ink); }
body.ctmt-app .xa-ct__ten a:hover { color: var(--ct-red); }
.xa-ct__ten small { font-size: 11px; font-weight: 500; color: var(--ct-muted); }
.xa-ct__gt { font-family: "Barlow Semi Condensed", sans-serif; font-size: 20px; color: var(--lv); text-align: right; white-space: nowrap; }
.xa-ct__ss { grid-column: 1 / -1; font-size: 12px; color: var(--ct-muted); }
.xa-ds--gon .xa-ct { padding: 6px 0; }

/* ===== Linh vuc (vn/CtLinhVuc.aspx) ===== */
.lv-dau { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: flex-end; justify-content: space-between; padding-left: 16px; border-left: 5px solid var(--lv); }
.lv-dau__eb { font-size: 13px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--lv); }
.lv-dau__nut { display: flex; flex-wrap: wrap; gap: 8px; }
.lv-noibat { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 14px; }
/* Trang chu, mau "Giao dien ban do": so lieu (trai) + ban do nhung (phai) (Default.aspx.vb VeSoLieuBanDo) */
.lv-bd-dau { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 10px; }
.lv-bd-dau .ct-pham-vi-hang { margin-top: 0; }
.lv-bd-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.lv-bd-tab { min-height: 38px; padding: 0 14px; border: 1.5px solid color-mix(in srgb, var(--lv) 45%, transparent); border-radius: 999px; background: #FFFFFF; color: var(--lv); font-size: 14px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.lv-bd-tab:hover { background: color-mix(in srgb, var(--lv) 10%, #FFFFFF); }
.lv-bd-tab[aria-selected="true"] { background: var(--lv); border-color: var(--lv); color: #FFFFFF; }
/* Cot trai cao bang ban do: cac dong gian deu khi it chi tieu */
.lv-kq__panel { display: flex; flex-direction: column; min-height: 100%; }
.lv-kq__panel > .lv-kq__o { flex: 1 1 auto; }
.lv-kq__panel[hidden] { display: none; }
body.ctmt-app a.lv-kq__xem { display: block; padding-top: 6px; border-top: 1px solid #EEF1F4; color: var(--lv); font-size: 12.5px; font-weight: 700; text-decoration: none; }
body.ctmt-app a.lv-kq__xem:hover { text-decoration: underline; }
.lv-bd { display: grid; grid-template-columns: minmax(340px, 440px) minmax(0, 1fr); gap: 12px; height: 600px; }
@media (min-width: 992px) and (max-width: 1199.98px) { .lv-bd { grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); } }
.lv-kq { min-height: 0; padding: 10px 14px; overflow-y: auto; }
.lv-kq__dau { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 6px; }
.lv-kq__dau .pub-h2 { margin: 0; font-size: 16px; }
.lv-kq__pv { flex: none; padding: 1px 8px; border-radius: 999px; background: color-mix(in srgb, var(--lv) 12%, #FFFFFF); color: var(--lv); font-size: 11.5px; font-weight: 700; }
.lv-kq__rong { margin: 0 0 4px; font-size: 12.5px; color: var(--ct-muted); }
body.ctmt-app a.lv-kq__o { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 10px; padding: 6px 0; border-top: 1px solid #EEF1F4; color: var(--ct-ink); text-decoration: none; }
body.ctmt-app a.lv-kq__o:hover .lv-kq__ten { color: var(--lv); text-decoration: underline; }
.lv-kq__trai { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.lv-kq__ten { font-size: 13px; font-weight: 600; line-height: 1.25; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.lv-kq__phu { font-size: 11px; line-height: 1.25; color: var(--ct-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lv-kq__so { font-family: "Barlow Semi Condensed", sans-serif; font-size: 21px; font-weight: 700; line-height: 1.1; color: var(--lv); text-align: right; white-space: nowrap; }
.lv-kq__so small { font-size: 12px; font-weight: 600; }
.lv-kq__so--rong { color: #9AA5B1; }
.lv-kq__tien { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; margin-top: 3px; }
.lv-kq__tien .lv-bar { flex: 1; min-width: 0; height: 4px; }
.lv-kq__tien em { flex: none; font-size: 11px; font-style: normal; font-weight: 700; color: var(--lv); }
.lv-bd__map { min-width: 0; min-height: 0; border: 1px solid #DCE2E8; border-radius: 14px; overflow: hidden; background: #EEF3F6; }
.lv-bd__map iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 991.98px) {
    .lv-bd { grid-template-columns: minmax(0, 1fr); height: auto; }
    .lv-kq { overflow: visible; }
    .lv-bd__map { height: 520px; }
    .lv-bd-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
    .lv-bd-tab { flex: none; }
}
body.ctmt-app a.lv-nb { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-top: 4px solid var(--lv); color: var(--ct-ink); text-decoration: none; overflow: visible; }
body.ctmt-app a.lv-nb:hover { border-color: var(--lv); box-shadow: 0 6px 18px rgba(20, 54, 93, .08); }
.lv-nb__ten { font-size: 14px; font-weight: 700; line-height: 1.35; }
.lv-nb__ten code, .lv-dong__ten code { font-size: 12px; color: var(--lv, var(--ct-red)); background: none; padding: 0; }
.lv-nb__so { font-family: "Barlow Semi Condensed", sans-serif; font-size: 36px; line-height: 1.05; color: var(--lv); }
.lv-nb__ky, .lv-nb__mt { font-size: 12px; color: var(--ct-muted); }
.lv-bar { position: relative; display: block; height: 7px; border-radius: 999px; background: #EEF1F4; overflow: visible; }
.lv-bar > span { display: block; height: 100%; border-radius: 999px; background: var(--lv, #14365D); }
.lv-bar--moc > i { position: absolute; top: -3px; width: 2px; height: 13px; background: #1F2A36; border-radius: 1px; }
.lv-ss { font-size: 12px; font-weight: 700; color: var(--ct-muted); }
.lv-ss--tot { color: var(--ct-ok); }
.lv-ss--kem { color: var(--ct-bad); }
.lv-gn { padding: 4px 0 8px; }
.lv-gn--gon { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; padding: 16px 18px; border-left: 5px solid var(--lv, #14365D); }
.lv-gn__tong { display: flex; flex-wrap: wrap; gap: 10px 32px; padding: 6px 18px 10px; }
.lv-gn--gon .lv-gn__tong { padding: 6px 0 0; }
.lv-gn__tong div { display: flex; flex-direction: column; }
.lv-gn__tong b { font-family: "Barlow Semi Condensed", sans-serif; font-size: 30px; line-height: 1.1; color: var(--ct-navy); }
.lv-gn__tong span { font-size: 12px; color: var(--ct-muted); }
.lv-gn__ds { list-style: none; margin: 0; padding: 0 18px; }
.lv-gn__ds li { display: grid; grid-template-columns: minmax(0, 190px) 90px minmax(0, 1fr) 64px; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid #EEF1F4; font-size: 14px; }
body.ctmt-app .lv-gn__ds a { font-weight: 700; color: var(--ct-ink); }
.lv-gn__kh { font-size: 13px; color: var(--ct-muted); text-align: right; }
.lv-gn__ds b { text-align: right; }
.lv-gn .pub-note { padding: 6px 18px 4px; }
.lv-ds { padding: 4px 0 6px; }
.lv-ds__dau { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; padding: 14px 18px 8px; }
.lv-ds__dau .pub-chip { min-height: 32px; font-size: 13px; }
.lv-tim { flex: 1 1 240px; max-width: 360px; }
.lv-dong-ds { list-style: none; margin: 0; padding: 0; }
.lv-dong + .lv-dong { border-top: 1px solid #EEF1F4; }
body.ctmt-app .lv-dong > a { display: flex; gap: 14px; align-items: center; padding: 11px 18px; color: var(--ct-ink); text-decoration: none; }
body.ctmt-app .lv-dong > a:hover { background: #F7F9FB; }
.lv-dong__than { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.lv-dong__ten { font-weight: 700; font-size: 14.5px; line-height: 1.35; }
.lv-dong__mt { font-size: 12.5px; color: var(--ct-muted); }
.lv-dong__the { display: flex; flex-wrap: wrap; gap: 4px; }
.lv-dong__the:empty { display: none; }
.lv-tag--bd { background: #E3EDFB; color: #2457B3; }
/* ===== Trang chi tieu (vn/CtChiTieu.aspx) ===== */
.ctt-dau { display: flex; flex-direction: column; gap: 6px; max-width: 860px; }
body.ctmt-app a.lv-dau__eb { text-decoration: none; }
body.ctmt-app a.lv-dau__eb:hover { text-decoration: underline; }
.ctt-ma { font-size: .62em; color: var(--lv); background: none; padding: 0; vertical-align: .12em; }
.ctt-tag--ky { background: #EEF1F4; color: #3B4652; }
.lv-noibat > .lv-nb { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-top: 4px solid var(--lv); }
.ctt-mt { font-family: "Barlow Semi Condensed", sans-serif; font-size: 28px; line-height: 1.15; color: var(--ct-navy); }
.ctt-pb { list-style: none; margin: 2px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ctt-pb li { display: flex; flex-direction: column; min-width: 0; }
.ctt-pb span { font-size: 11.5px; font-weight: 700; color: var(--ct-muted); text-transform: uppercase; letter-spacing: .3px; }
.ctt-pb b { font-family: "Barlow Semi Condensed", sans-serif; font-size: 22px; line-height: 1.2; color: var(--lv); }
.ctt-pb small { font-size: 12px; color: var(--ct-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ctt-tt { padding: 16px 18px; }
.ctt-tt h2 { margin-bottom: 10px; }
.ctt-tt dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 12px 28px; }
.ctt-tt dl > div { display: flex; flex-direction: column; gap: 2px; padding-top: 8px; border-top: 1px solid #EEF1F4; }
.ctt-tt dt { font-size: 12px; font-weight: 700; color: var(--ct-muted); text-transform: uppercase; letter-spacing: .3px; }
.ctt-tt dd { margin: 0; font-size: 14.5px; color: var(--ct-ink); }
.ctt-ds { list-style: none; margin: 0; padding: 0 0 4px; }
.ctt-dong { display: grid; grid-template-columns: 34px minmax(0, 240px) minmax(0, 1fr) 110px; gap: 14px; align-items: center; padding: 9px 18px; }
.ctt-dong + .ctt-dong { border-top: 1px solid #EEF1F4; }
.ctt-dong[hidden] { display: none; }
.ctt-dong__hang { font-family: "Barlow Semi Condensed", sans-serif; font-size: 17px; font-weight: 700; color: var(--ct-muted); text-align: center; }
.ctt-dong:nth-child(-n+3):not(.is-trong) .ctt-dong__hang { color: var(--lv); }
body.ctmt-app a.ctt-dong__ten { font-weight: 700; font-size: 14.5px; color: var(--ct-ink); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.ctmt-app a.ctt-dong__ten:hover { color: var(--ct-red); text-decoration: underline; }
.ctt-dong__so { font-family: "Barlow Semi Condensed", sans-serif; font-size: 18px; font-weight: 700; color: var(--ct-navy); text-align: right; }
small.ctt-dong__so { font-family: inherit; font-size: 12.5px; font-weight: 500; color: var(--ct-muted); }
.ctt-dong.is-tot .ctt-dong__so { color: var(--ct-ok); }
.ctt-dong.is-kem .ctt-dong__so { color: var(--ct-bad); }
/* Tinh dang loc (?tinh=): the so dau hang va dong trong bang */
.ctt-nb--tinh { background: #FCEDEA; border-color: var(--ct-red); }
.ctt-nb--tinh .lv-nb__ten { color: var(--ct-red); }
.ctt-dong.is-chon { background: #FCEDEA; box-shadow: inset 4px 0 0 var(--ct-red); }
body.ctmt-app .ctt-dong.is-chon a.ctt-dong__ten { color: var(--ct-red); }
@media (max-width: 767.98px) {
    .ctt-pb b { font-size: 19px; }
    .ctt-dong { grid-template-columns: 26px minmax(0, 1fr) auto; gap: 4px 10px; padding: 9px 14px; }
    .ctt-dong .lv-bar { grid-column: 2 / -1; grid-row: 2; }
}
.lv-dong__so { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; text-align: right; max-width: 170px; }
.lv-dong__so b { font-family: "Barlow Semi Condensed", sans-serif; font-size: 20px; color: var(--ct-navy); }
.lv-dong__so small { font-size: 11.5px; color: var(--ct-muted); }
@media (max-width: 767.98px) {
    .lv-gn__ds li { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; }
    .lv-gn__ds .lv-bar { grid-column: 1 / -1; grid-row: 2; }
    .lv-gn__kh { display: none; }
    .lv-tim { max-width: none; }
    body.ctmt-app .lv-dong > a { padding: 10px 14px; gap: 10px; }
    .lv-dong__so { max-width: 110px; }
}

/* Chi tiet hoi dap (vn/CtHoiDapChiTiet.aspx, cung kieu chi tiet tin tuc) */
.hd-tl { white-space: pre-line; }
.nt-article h1.hd-h1-dai { font-size: 19px; line-height: 1.5; font-weight: 700; }
.nt-article__body.hd-tl { margin-top: 18px; }
.hd-cancu { display: flex; gap: 10px; align-items: flex-start; margin: 18px 0; padding: 12px 14px; border-left: 3px solid #14365D; border-radius: 6px; background: #F4F7FA; font-size: 15px; color: #33414C; }
.hd-cancu i { color: #14365D; font-size: 18px; line-height: 1.3; }
.hd-traloi { margin-top: 24px; padding: 16px 18px; border: 1px solid #DCE6DF; border-radius: 10px; background: #F5FBF7; }
.hd-traloi h2 { margin: 0 0 8px; font-size: 18px; font-weight: 700; color: #146C3A; }
.hd-cho { margin-top: 20px; padding: 12px 14px; border-radius: 8px; background: #FFF6E0; color: #6B4600; font-size: 15px; }
.hd-goiy { display: flex; flex-direction: column; gap: 4px; margin-top: 20px; font-size: 15px; }
.hd-tiep { margin-top: 28px; padding: 16px 18px; border-radius: 10px; background: #F6F8FA; border: 1px solid #E3E8EC; }
.hd-tiep p { margin: 0 0 12px; color: #46525C; font-size: 15px; }
.hd-tiep__nut { display: flex; flex-wrap: wrap; gap: 8px; }
.hd-ds li a { display: block; padding: 8px 0; border-bottom: 1px solid #EEF1F4; color: #1F2A33; font-size: 14.5px; line-height: 1.45; text-decoration: none; }
.hd-ds li a:hover { color: #9F1C1F; }
.hd-ds li a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }

/* Trang linh vuc Nong thon moi: khoi Diem den du lich nong thon (vn/CtLinhVuc.aspx.vb VeDuLich) */
.lv-dl__xem { font-size: .88rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.lv-dl__ds { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .6rem; }
.lv-dl__o { display: flex; flex-direction: column; gap: .2rem; padding: .65rem .8rem; border-radius: 12px; border: 1px solid #E2E7EC; border-left: 4px solid #1B6B2A; text-decoration: none !important; color: #1F2A36 !important; }
.lv-dl__o:hover { background: #F4F8F4; }
.lv-dl__o span { font-size: .78rem; color: #5B6672; }
