/* ============================================================
   CSS RIÊNG CỦA TỪNG TRANG / CONTROL (gom từ các khối <style> trong .aspx/.ascx — skill khaithac-inline-styles)
   Quy ước: KHÔNG viết <style> hay style="..." trong trang; quy tắc riêng của trang đặt ở đây, bắt đầu bằng
   :where(.pg-<tên-trang>) — lớp do master gắn lên <body> (đường dẫn trang, bỏ đuôi .aspx, "/" -> "-", chữ thường;
   trang độc lập ghi sẵn trên <body>). :where() có độ ưu tiên 0 nên quy tắc giữ nguyên độ ưu tiên như khi còn ở trang.
   Control không trang nào dùng: bọc trong <div class="uc-<tên>">.
   Vị trí nạp = vị trí phHeader cũ: phHeader trong <head> -> ngay trước phHeader; phHeader trong <body> -> cuối <head>.
   Đường dẫn url() tương đối theo assets/css/ (../../ = gốc website).
   ============================================================ */

/* ── AnPhamDinhKy2XemMucLuc.aspx ── */
:where(.pg-anphamdinhky2xemmucluc) .apdinhky-card { background:#fff; border:1px solid var(--dntu-border); border-radius:var(--dntu-radius); box-shadow:var(--dntu-shadow-sm); padding:20px 24px; }
        :where(.pg-anphamdinhky2xemmucluc) .apdinhky-filter { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:12px; }
        :where(.pg-anphamdinhky2xemmucluc) .apdinhky-filter .form-control { width:auto; min-width:70px; }
        :where(.pg-anphamdinhky2xemmucluc) .apdinhky-filter label { font-weight:600; font-size:14px; margin-bottom:0; white-space:nowrap; }

/* ── DangKiDatPhong.aspx ── */
/* Sơ đồ phòng: cột giờ dính bên trái khi cuộn ngang trên điện thoại; ô trống là <button> bấm được bằng bàn phím. */
    :where(.pg-dangkidatphong) .room-diagram th[scope="row"] { position: sticky; left: 0; background: #fff; z-index: 1; white-space: nowrap; }
    :where(.pg-dangkidatphong) .room-diagram td { vertical-align: middle; }
    :where(.pg-dangkidatphong) .room-diagram .slot-free { display: block; text-decoration: none; border-radius: 0; line-height: 1.2; }
    :where(.pg-dangkidatphong) .room-diagram .slot-free:hover, :where(.pg-dangkidatphong) .room-diagram .slot-free:focus-visible { background: rgba(var(--dntu-primary-rgb), .12); }
    @media (max-width: 575.98px) { :where(.pg-dangkidatphong) #listTable .col-ngaygui { display: none; } }
    body:where(.pg-dangkidatphong) > .datepicker { z-index: 1065; }

/* ── DangKy2NoiQuy.aspx ── */
:where(.pg-dangky2noiquy) .reg-card { background:#fff; border:1px solid var(--dntu-border); border-radius:var(--dntu-radius); box-shadow:var(--dntu-shadow-sm); padding:28px 32px; }
        :where(.pg-dangky2noiquy) .reg-section-title { font-weight:700; color:var(--dntu-primary); font-size:15px; margin:16px 0 10px; border-bottom:1px solid var(--dntu-border); padding-bottom:6px; }

/* ── Dulieumonhoc.aspx, Giangvien2Capnhat.aspx ── */
:where(.pg-dulieumonhoc, .pg-giangvien2capnhat) .select2-container {
            z-index: 1060 !important;
        }

        :where(.pg-dulieumonhoc, .pg-giangvien2capnhat) .select2-container--open {
            z-index: 1061 !important;
        }

        :where(.pg-dulieumonhoc, .pg-giangvien2capnhat) .select2-dropdown {
            z-index: 1061 !important;
        }

        :where(.pg-dulieumonhoc, .pg-giangvien2capnhat) .select2-search {
            z-index: 1062 !important;
        }

        :where(.pg-dulieumonhoc, .pg-giangvien2capnhat) .select2-results {
            z-index: 1062 !important;
        }

        /* Ensure select2 appears above modals */
        :where(.pg-dulieumonhoc, .pg-giangvien2capnhat) .modal-open .select2-container {
            z-index: 1056 !important;
        }

        :where(.pg-dulieumonhoc, .pg-giangvien2capnhat) .modal-open .select2-container--open {
            z-index: 1057 !important;
        }

/* ── DuyetDeMuc.aspx ── */
:where(.pg-duyetdemuc) .browse-link-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; margin-bottom:20px; }
        :where(.pg-duyetdemuc) .browse-link-item a { display:block; padding:10px 16px; background:#fff; border:1px solid var(--dntu-border); border-radius:var(--dntu-radius); font-size:14px; color:var(--dntu-primary); text-decoration:none; text-align:center; transition:all .2s; }
        :where(.pg-duyetdemuc) .browse-link-item a:hover { background:var(--dntu-primary); color:#fff; border-color:var(--dntu-primary); }

/* ── GopY.aspx ── */
:where(.pg-gopy) .gopY-card { background:#fff; border:1px solid var(--dntu-border); border-radius:var(--dntu-radius);
                     box-shadow:var(--dntu-shadow-sm); padding:28px 32px; max-width:680px; margin:0 auto; }
        :where(.pg-gopy) .gopY-label { font-weight:600; color:var(--dntu-ink); font-size:14px; }
        :where(.pg-gopy) .gopY-required { color:#dc3545; margin-left:2px; }
        :where(.pg-gopy) .gopY-status { padding:10px 14px; border-radius:var(--dntu-radius-sm); margin-top:12px; font-size:14px; }
        :where(.pg-gopy) .gopY-status.success { background:#d1e7dd; color:#0f5132; border:1px solid #badbcc; }
        :where(.pg-gopy) .gopY-status.error   { background:#f8d7da; color:#842029; border:1px solid #f5c2c7; }
        :where(.pg-gopy) .lbError { color:#dc3545; font-size:12px; }

/* ── QuenMatKhau.aspx ── */
:where(.pg-quenmatkhau) .reg-card { background:#fff; border:1px solid var(--dntu-border); border-radius:var(--dntu-radius); box-shadow:var(--dntu-shadow-sm); padding:28px 32px; max-width:520px; margin:0 auto; }
        :where(.pg-quenmatkhau) .reg-section-title { font-weight:700; color:var(--dntu-primary); font-size:15px; margin:0 0 18px; border-bottom:1px solid var(--dntu-border); padding-bottom:6px; }
        :where(.pg-quenmatkhau) .lbError { color:#dc3545; font-size:12px; display:block; margin-top:3px; }

/* ── ThietLapMatKhau.aspx ── */
:where(.pg-thietlapmatkhau) .reg-card { background:#fff; border:1px solid var(--dntu-border); border-radius:var(--dntu-radius); box-shadow:var(--dntu-shadow-sm); padding:28px 32px; max-width:560px; margin:0 auto; }
        :where(.pg-thietlapmatkhau) .reg-section-title { font-weight:700; color:var(--dntu-primary); font-size:15px; margin:0 0 18px; border-bottom:1px solid var(--dntu-border); padding-bottom:6px; }
        :where(.pg-thietlapmatkhau) .lbError { color:#dc3545; font-size:12px; display:block; margin-top:3px; }

/* ── TraCuuTaiLieuSo2DonGian.aspx ── */
:where(.pg-tracuutailieuso2dongian) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-tracuutailieuso2dongian) .lib-search-table td.lbl { width:150px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:top; padding-top:10px; white-space:nowrap; padding-right:12px; }
        :where(.pg-tracuutailieuso2dongian) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-tracuutailieuso2dongian) .lib-search-table .form-control { border-radius:6px; font-size:14px; border:1px solid var(--dntu-border); padding:7px 10px; }
        :where(.pg-tracuutailieuso2dongian) .lib-search-table .form-control:focus { border-color:var(--dntu-primary); outline:none; }
        :where(.pg-tracuutailieuso2dongian) .lib-mode-nav { display:flex; gap:4px; margin-bottom:20px; flex-wrap:wrap; }
        :where(.pg-tracuutailieuso2dongian) .lib-mode-nav a, :where(.pg-tracuutailieuso2dongian) .lib-mode-nav span {
            display:inline-block; padding:6px 16px; border-radius:20px; font-size:13px;
            text-decoration:none; border:1px solid var(--dntu-border); color:var(--dntu-ink); background:#fff;
        }
        :where(.pg-tracuutailieuso2dongian) .lib-mode-nav a:hover { background:var(--dntu-bg-soft); color:var(--dntu-primary); border-color:var(--dntu-primary); }
        :where(.pg-tracuutailieuso2dongian) .lib-mode-nav span.active { background:var(--dntu-primary); color:#fff; border-color:var(--dntu-primary); font-weight:600; }
        :where(.pg-tracuutailieuso2dongian) .lbCheckBoxList { border:1px solid var(--dntu-border); border-radius:6px; padding:8px 10px; max-height:180px; overflow-y:auto; background:#fff; }
        :where(.pg-tracuutailieuso2dongian) .sort-row { display:flex; gap:8px; flex-wrap:wrap; }
        :where(.pg-tracuutailieuso2dongian) .sort-row .form-control { flex:1; min-width:140px; }

/* ── TraCuuTaiLieuSo2NangCao.aspx ── */
:where(.pg-tracuutailieuso2nangcao) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-tracuutailieuso2nangcao) .lib-search-table td.lbl { width:160px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:top; padding-top:10px; white-space:nowrap; padding-right:12px; }
        :where(.pg-tracuutailieuso2nangcao) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-tracuutailieuso2nangcao) .lib-search-table .form-control { border-radius:6px; font-size:14px; border:1px solid var(--dntu-border); padding:7px 10px; }
        :where(.pg-tracuutailieuso2nangcao) .lib-search-table .form-control:focus { border-color:var(--dntu-primary); outline:none; }
        :where(.pg-tracuutailieuso2nangcao) .lib-search-table .lnkLinkButton { color:var(--dntu-primary); font-size:13px; text-decoration:none; }
        :where(.pg-tracuutailieuso2nangcao) .lib-search-table .lnkLinkButton:hover { text-decoration:underline; }
        :where(.pg-tracuutailieuso2nangcao) .lib-mode-nav { display:flex; gap:4px; margin-bottom:20px; flex-wrap:wrap; }
        :where(.pg-tracuutailieuso2nangcao) .lib-mode-nav a, :where(.pg-tracuutailieuso2nangcao) .lib-mode-nav span {
            display:inline-block; padding:6px 16px; border-radius:20px; font-size:13px;
            text-decoration:none; border:1px solid var(--dntu-border); color:var(--dntu-ink); background:#fff;
        }
        :where(.pg-tracuutailieuso2nangcao) .lib-mode-nav a:hover { background:var(--dntu-bg-soft); color:var(--dntu-primary); border-color:var(--dntu-primary); }
        :where(.pg-tracuutailieuso2nangcao) .lib-mode-nav span.active { background:var(--dntu-primary); color:#fff; border-color:var(--dntu-primary); font-weight:600; }
        :where(.pg-tracuutailieuso2nangcao) .rpt-search-grid { width:100%; border-collapse:collapse; }
        :where(.pg-tracuutailieuso2nangcao) .rpt-search-grid td { padding:4px 6px; vertical-align:middle; }
        :where(.pg-tracuutailieuso2nangcao) .rpt-search-grid td:first-child { width:90px; }
        :where(.pg-tracuutailieuso2nangcao) .rpt-search-grid td:nth-child(2) { width:30%; }
        :where(.pg-tracuutailieuso2nangcao) .rpt-search-grid td:nth-child(3) { width:120px; }
        :where(.pg-tracuutailieuso2nangcao) .lbCheckBoxList { border:1px solid var(--dntu-border); border-radius:6px; padding:8px 10px; max-height:180px; overflow-y:auto; background:#fff; }
        :where(.pg-tracuutailieuso2nangcao) .filesize-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
        :where(.pg-tracuutailieuso2nangcao) .filesize-row .form-control { width:90px; }
        :where(.pg-tracuutailieuso2nangcao) .filesize-label { font-size:13px; color:var(--dntu-ink); }

/* ── TraCuuTaiLieuSo2ToanVan.aspx ── */
:where(.pg-tracuutailieuso2toanvan) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-tracuutailieuso2toanvan) .lib-search-table td.lbl { width:160px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:top; padding-top:10px; white-space:nowrap; padding-right:12px; }
        :where(.pg-tracuutailieuso2toanvan) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-tracuutailieuso2toanvan) .lib-search-table .form-control { border-radius:6px; font-size:14px; border:1px solid var(--dntu-border); padding:7px 10px; }
        :where(.pg-tracuutailieuso2toanvan) .lib-search-table .form-control:focus { border-color:var(--dntu-primary); outline:none; }
        :where(.pg-tracuutailieuso2toanvan) .lib-mode-nav { display:flex; gap:4px; margin-bottom:20px; flex-wrap:wrap; }
        :where(.pg-tracuutailieuso2toanvan) .lib-mode-nav a, :where(.pg-tracuutailieuso2toanvan) .lib-mode-nav span {
            display:inline-block; padding:6px 16px; border-radius:20px; font-size:13px;
            text-decoration:none; border:1px solid var(--dntu-border); color:var(--dntu-ink); background:#fff;
        }
        :where(.pg-tracuutailieuso2toanvan) .lib-mode-nav a:hover { background:var(--dntu-bg-soft); color:var(--dntu-primary); border-color:var(--dntu-primary); }
        :where(.pg-tracuutailieuso2toanvan) .lib-mode-nav span.active { background:var(--dntu-primary); color:#fff; border-color:var(--dntu-primary); font-weight:600; }
        :where(.pg-tracuutailieuso2toanvan) .lbCheckBoxList { border:1px solid var(--dntu-border); border-radius:6px; padding:8px 10px; max-height:180px; overflow-y:auto; background:#fff; }
        /* GridViewPager results table */
        :where(.pg-tracuutailieuso2toanvan) .lbGridHeader th { background:var(--dntu-primary); color:#fff; padding:8px 10px; font-size:13px; }
        :where(.pg-tracuutailieuso2toanvan) .lbGridCell td, :where(.pg-tracuutailieuso2toanvan) .lbGridAlterCell td { padding:6px 10px; font-size:13px; border-bottom:1px solid #f0f0f0; }
        :where(.pg-tracuutailieuso2toanvan) .lbGridAlterCell td { background:#f9f9f9; }
        :where(.pg-tracuutailieuso2toanvan) .lbGridPager td { padding:6px 10px; }

/* ── TraCuuTaiLieuTruyenThong2ChiTiet.aspx ── */
:where(.pg-tracuutailieutruyenthong2chitiet) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-search-table td.lbl { width:150px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:middle; white-space:nowrap; padding-right:12px; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-search-table td.aux { width:80px; vertical-align:middle; padding-left:8px; font-size:13px; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-search-table .form-control { border-radius:6px; font-size:14px; border:1px solid var(--dntu-border); padding:7px 10px; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-search-table .form-control:focus { border-color:var(--dntu-primary); outline:none; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-search-table .lnkLinkButton { color:var(--dntu-primary); font-size:13px; text-decoration:none; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-search-table .lnkLinkButton:hover { text-decoration:underline; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-mode-nav { display:flex; gap:4px; margin-bottom:20px; flex-wrap:wrap; }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-mode-nav a, :where(.pg-tracuutailieutruyenthong2chitiet) .lib-mode-nav span {
            display:inline-block; padding:6px 16px; border-radius:20px; font-size:13px;
            text-decoration:none; border:1px solid var(--dntu-border); color:var(--dntu-ink); background:#fff;
        }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-mode-nav a:hover { background:var(--dntu-bg-soft); color:var(--dntu-primary); border-color:var(--dntu-primary); }
        :where(.pg-tracuutailieutruyenthong2chitiet) .lib-mode-nav span.active { background:var(--dntu-primary); color:#fff; border-color:var(--dntu-primary); font-weight:600; }

/* ── TraCuuTaiLieuTruyenThong2DonGian.aspx ── */
:where(.pg-tracuutailieutruyenthong2dongian) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 10px; }
    :where(.pg-tracuutailieutruyenthong2dongian) .lib-search-table td.lbl {
        width:160px; font-weight:600; font-size:14px;
        color:var(--dntu-ink); vertical-align:middle;
        white-space:nowrap; padding-right:14px;
    }
    :where(.pg-tracuutailieutruyenthong2dongian) .lib-search-table td.fld { vertical-align:middle; }
    :where(.pg-tracuutailieutruyenthong2dongian) .lib-search-table td.aux { width:90px; vertical-align:middle; padding-left:10px; font-size:13px; }
    :where(.pg-tracuutailieutruyenthong2dongian) .lib-search-table .form-control {
        border-radius:6px; font-size:14px;
        border:1px solid var(--dntu-border);
        padding:7px 10px;
    }
    :where(.pg-tracuutailieutruyenthong2dongian) .lib-search-table .form-control:focus {
        border-color:var(--dntu-primary);
        box-shadow:0 0 0 3px rgba(171,31,36,0.1);
        outline:none;
    }
    :where(.pg-tracuutailieutruyenthong2dongian) .lib-search-table .lnkLinkButton {
        color:var(--dntu-primary); font-size:13px; text-decoration:none;
    }
    :where(.pg-tracuutailieutruyenthong2dongian) .lib-search-table .lnkLinkButton:hover { text-decoration:underline; }

/* ── TraCuuTaiLieuTruyenThong2NangCao.aspx ── */
:where(.pg-tracuutailieutruyenthong2nangcao) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-search-table td.lbl { width:80px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:middle; white-space:nowrap; padding-right:8px; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-search-table td.aux { width:80px; vertical-align:middle; padding-left:8px; font-size:13px; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-search-table .form-control { border-radius:6px; font-size:14px; border:1px solid var(--dntu-border); padding:7px 10px; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-search-table .form-control:focus { border-color:var(--dntu-primary); outline:none; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-search-table .lnkLinkButton { color:var(--dntu-primary); font-size:13px; text-decoration:none; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-search-table .lnkLinkButton:hover { text-decoration:underline; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-mode-nav { display:flex; gap:4px; margin-bottom:20px; flex-wrap:wrap; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-mode-nav a, :where(.pg-tracuutailieutruyenthong2nangcao) .lib-mode-nav span {
            display:inline-block; padding:6px 16px; border-radius:20px; font-size:13px;
            text-decoration:none; border:1px solid var(--dntu-border); color:var(--dntu-ink); background:#fff;
        }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-mode-nav a:hover { background:var(--dntu-bg-soft); color:var(--dntu-primary); border-color:var(--dntu-primary); }
        :where(.pg-tracuutailieutruyenthong2nangcao) .lib-mode-nav span.active { background:var(--dntu-primary); color:#fff; border-color:var(--dntu-primary); font-weight:600; }
        /* Advanced search row: operator | field | prefix | value | dic */
        :where(.pg-tracuutailieutruyenthong2nangcao) .adv-search-row { display:flex; align-items:center; gap:6px; margin-bottom:8px; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .adv-search-row .form-control { }
        :where(.pg-tracuutailieutruyenthong2nangcao) .adv-op { width:80px; flex-shrink:0; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .adv-field { flex:0 0 22%; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .adv-prefix { flex:0 0 20%; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .adv-val { flex:1; }
        :where(.pg-tracuutailieutruyenthong2nangcao) .adv-dic { flex-shrink:0; }

/* ── TraCuuTaiLieuTruyenThong4BaiTrich.aspx, TraCuuTaiLieuTruyenThong4DeTai.aspx, TraCuuTaiLieuTruyenThong4DiaChi.aspx, TraCuuTaiLieuTruyenThong4DoAn.aspx, TraCuuTaiLieuTruyenThong4Luanvan.aspx ── */
:where(.pg-tracuutailieutruyenthong4baitrich, .pg-tracuutailieutruyenthong4detai, .pg-tracuutailieutruyenthong4diachi, .pg-tracuutailieutruyenthong4doan, .pg-tracuutailieutruyenthong4luanvan) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-tracuutailieutruyenthong4baitrich, .pg-tracuutailieutruyenthong4detai, .pg-tracuutailieutruyenthong4diachi, .pg-tracuutailieutruyenthong4doan, .pg-tracuutailieutruyenthong4luanvan) .lib-search-table td.lbl { width:160px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:middle; white-space:nowrap; padding-right:12px; }
        :where(.pg-tracuutailieutruyenthong4baitrich, .pg-tracuutailieutruyenthong4detai, .pg-tracuutailieutruyenthong4diachi, .pg-tracuutailieutruyenthong4doan, .pg-tracuutailieutruyenthong4luanvan) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-tracuutailieutruyenthong4baitrich, .pg-tracuutailieutruyenthong4detai, .pg-tracuutailieutruyenthong4diachi, .pg-tracuutailieutruyenthong4doan, .pg-tracuutailieutruyenthong4luanvan) .lib-search-table td.aux { width:80px; vertical-align:middle; padding-left:8px; font-size:13px; }
        :where(.pg-tracuutailieutruyenthong4baitrich, .pg-tracuutailieutruyenthong4detai, .pg-tracuutailieutruyenthong4diachi, .pg-tracuutailieutruyenthong4doan, .pg-tracuutailieutruyenthong4luanvan) .lib-search-table .form-control { border-radius:6px; font-size:14px; border:1px solid var(--dntu-border); padding:7px 10px; }
        :where(.pg-tracuutailieutruyenthong4baitrich, .pg-tracuutailieutruyenthong4detai, .pg-tracuutailieutruyenthong4diachi, .pg-tracuutailieutruyenthong4doan, .pg-tracuutailieutruyenthong4luanvan) .lib-search-table .form-control:focus { border-color:var(--dntu-primary); outline:none; }
        :where(.pg-tracuutailieutruyenthong4baitrich, .pg-tracuutailieutruyenthong4detai, .pg-tracuutailieutruyenthong4diachi, .pg-tracuutailieutruyenthong4doan, .pg-tracuutailieutruyenthong4luanvan) .lib-search-table .lnkLinkButton { color:var(--dntu-primary); font-size:13px; text-decoration:none; }
        :where(.pg-tracuutailieutruyenthong4baitrich, .pg-tracuutailieutruyenthong4detai, .pg-tracuutailieutruyenthong4diachi, .pg-tracuutailieutruyenthong4doan, .pg-tracuutailieutruyenthong4luanvan) .lib-search-table .lnkLinkButton:hover { text-decoration:underline; }

/* ── TraCuuTaiLieuTruyenThong4BaoTapChi.aspx ── */
:where(.pg-tracuutailieutruyenthong4baotapchi) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .lib-search-table td.lbl { width:160px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:middle; white-space:nowrap; padding-right:12px; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .lib-search-table td.aux { width:80px; vertical-align:middle; padding-left:8px; font-size:13px; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .lib-search-table .form-control { border-radius:6px; font-size:14px; border:1px solid var(--dntu-border); padding:7px 10px; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .lib-search-table .form-control:focus { border-color:var(--dntu-primary); outline:none; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .lib-search-table .lnkLinkButton { color:var(--dntu-primary); font-size:13px; text-decoration:none; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .lib-search-table .lnkLinkButton:hover { text-decoration:underline; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .btc-date-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .btc-date-row .form-control { width:130px; }
        :where(.pg-tracuutailieutruyenthong4baotapchi) .btc-date-label { font-size:13px; color:var(--dntu-ink); white-space:nowrap; }

/* ── TraCuuTaiLieuTruyenThong4LuanAn.aspx ── */
:where(.pg-tracuutailieutruyenthong4luanan) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
    :where(.pg-tracuutailieutruyenthong4luanan) .lib-search-table td { border:none; }
    :where(.pg-tracuutailieutruyenthong4luanan) .lib-search-table td.lbl { width:160px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:middle; white-space:nowrap; padding-right:12px; }
    :where(.pg-tracuutailieutruyenthong4luanan) .lib-search-table td.fld { vertical-align:middle; }
    :where(.pg-tracuutailieutruyenthong4luanan) .lib-search-table td.aux { width:80px; vertical-align:middle; padding-left:8px; }
    :where(.pg-tracuutailieutruyenthong4luanan) .lib-search-table .form-control { border-radius:6px; font-size:14px; }

/* ── TraCuuTaiLieuTruyenThong4Sach.aspx ── */
:where(.pg-tracuutailieutruyenthong4sach) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-tracuutailieutruyenthong4sach) .lib-search-table td.lbl { width:160px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:middle; white-space:nowrap; padding-right:12px; }
        :where(.pg-tracuutailieutruyenthong4sach) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-tracuutailieutruyenthong4sach) .lib-search-table td.aux { width:80px; vertical-align:middle; padding-left:8px; font-size:13px; }
        :where(.pg-tracuutailieutruyenthong4sach) .lib-search-table .form-control { border-radius:6px; font-size:14px; border:1px solid var(--dntu-border); padding:7px 10px; }
        :where(.pg-tracuutailieutruyenthong4sach) .lib-search-table .form-control:focus { border-color:var(--dntu-primary); outline:none; box-shadow:0 0 0 3px rgba(171,31,36,.1); }
        :where(.pg-tracuutailieutruyenthong4sach) .lib-search-table .lnkLinkButton { color:var(--dntu-primary); font-size:13px; text-decoration:none; }
        :where(.pg-tracuutailieutruyenthong4sach) .lib-search-table .lnkLinkButton:hover { text-decoration:underline; }

/* ── TrangCaNhan.aspx ── */
/* ── Patron page ── (.patron-section / .patron-section-title: assets/css/dntu-theme.css, dùng chung với DangKiDatPhong, NopLuuChieu) */
    :where(.pg-trangcanhan) .patron-info-row { display:flex; gap:6px; padding:4px 0; border-bottom:1px solid var(--dntu-card-border); font-size:13.5px; }
    :where(.pg-trangcanhan) .patron-info-row:last-child { border-bottom:none; }
    :where(.pg-trangcanhan) .patron-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); column-gap:24px; }
    :where(.pg-trangcanhan) .patron-info-lbl { width:120px; flex-shrink:0; color:var(--dntu-text-muted); }
    :where(.pg-trangcanhan) .patron-info-val { font-weight:600; color:var(--dntu-ink); flex:1; }
    :where(.pg-trangcanhan) .patron-stat-box { background:#fff; border:1px solid var(--dntu-card-border); border-radius:8px; text-align:center; padding:14px 10px; }
    :where(.pg-trangcanhan) .patron-stat-num { font-size:24px; font-weight:700; color:var(--dntu-primary); line-height:1; }
    :where(.pg-trangcanhan) .patron-stat-lbl { font-size:12px; color:var(--dntu-text-muted); margin-top:4px; }
    :where(.pg-trangcanhan) .patron-edata-card {
        display:flex; gap:10px; align-items:center;
        background:#fff; border:1px solid var(--dntu-card-border); border-radius:8px;
        padding:10px; font-size:13px; margin-bottom:10px;
        text-decoration:none !important; color:var(--dntu-text) !important;
        transition:border-color .2s, box-shadow .2s;
    }
    :where(.pg-trangcanhan) .patron-edata-card:hover { border-color:var(--dntu-primary); box-shadow:var(--dntu-shadow-hover); }
    :where(.pg-trangcanhan) .patron-edata-card img { width:48px; height:64px; object-fit:cover; border-radius:4px; flex-shrink:0; }
    :where(.pg-trangcanhan) .patron-edata-title { font-weight:600; color:var(--dntu-ink); line-height:1.35; margin:0 0 4px; }
    :where(.pg-trangcanhan) .patron-edata-author { font-size:12px; color:var(--dntu-text-muted); margin:0; }
    :where(.pg-trangcanhan) .patron-visit-row { display:flex; gap:10px; align-items:center; padding:6px 0; border-bottom:1px solid var(--dntu-card-border); font-size:13px; }
    :where(.pg-trangcanhan) .patron-visit-row:last-child { border-bottom:none; }
    /* Override lbGrid/GridViewPager for DNTU theme */
    :where(.pg-trangcanhan) .lbGrid { width:100%; border-collapse:collapse; font-size:13px; background:#fff; }
    :where(.pg-trangcanhan) .lbGrid th, :where(.pg-trangcanhan) .lbGrid td { padding:8px 10px; text-align:left; border-bottom:1px solid var(--dntu-card-border); }
    :where(.pg-trangcanhan) .lbGrid th { background:#fff; color:var(--dntu-ink); font-weight:700; font-size:13px; border-bottom-width:2px; }
    :where(.pg-trangcanhan) .lbGrid tr:hover td { background:#fafafa; }
    /* Bảng tài khoản CSDL: min-width để trên điện thoại cuộn ngang (wrapper tw-overflow-x-auto), không bóp cột */
    :where(.pg-trangcanhan) .patron-cred-table { min-width:720px; }
    :where(.pg-trangcanhan) .patron-cred-table th, :where(.pg-trangcanhan) .patron-cred-table td { vertical-align:top; font-size:13px; line-height:1.45; }
    :where(.pg-trangcanhan) .patron-cred-table th:first-child, :where(.pg-trangcanhan) .patron-cred-table td:first-child { width:48px; text-align:center; }
    :where(.pg-trangcanhan) .patron-cred-table td a { word-break:break-all; }
    :where(.pg-trangcanhan) .lbGridPager { text-align:center; padding:10px 0; font-size:13px; }
    :where(.pg-trangcanhan) .lbGridHeader { display:none; }
    :where(.pg-trangcanhan) .btn-giahan--small { font-size:12px; padding:4px 10px; border-radius:4px;
        background:var(--dntu-primary); color:#fff !important; border:none; cursor:pointer; text-decoration:none !important; }
    :where(.pg-trangcanhan) .btn-giahan--small:hover { background:var(--dntu-primary-dk); }

    /* ── Tab + tiêu đề phụ (Trang cá nhân): nhãn tab có số lượng (x), mỗi mục là một khối, chỉ hiện khối đang chọn (thuộc tính hidden) ── */
    :where(.pg-trangcanhan) .patron-tab-count { color:var(--dntu-text-muted); font-weight:400; }
    :where(.pg-trangcanhan) .patron-sub-title { font-size:14px; font-weight:700; color:var(--dntu-ink); margin:0 0 10px; padding-top:14px; border-top:1px solid var(--dntu-card-border); }

    /* ── Favorites section ── */
    :where(.pg-trangcanhan) #patron-fav-items .patron-edata-card { cursor:default; }
    :where(.pg-trangcanhan) .fav-book-cover {
        width:48px; height:64px; background:var(--dntu-primary);
        border-radius:4px; flex-shrink:0;
        display:flex; align-items:center; justify-content:center;
    }
    :where(.pg-trangcanhan) .fav-actions { display:flex; gap:6px; margin-top:6px; flex-wrap:wrap; }
    :where(.pg-trangcanhan) .fav-actions a.btn-giahan--small { display:inline-block; }
    :where(.pg-trangcanhan) .btn-fav-remove {
        font-size:12px; padding:4px 10px; border-radius:4px;
        background:#6c757d; color:#fff !important; border:none;
        cursor:pointer; text-decoration:none !important;
    }
    :where(.pg-trangcanhan) .btn-fav-remove:hover { background:#5a6268; }

    /* ── Feedback form ── */
    :where(.pg-trangcanhan) .patron-feedback-group { margin-bottom:14px; }
    :where(.pg-trangcanhan) .patron-feedback-group label { display:block; font-size:13px; font-weight:600; color:var(--dntu-ink); margin-bottom:5px; }
    :where(.pg-trangcanhan) .patron-feedback-group input,
    :where(.pg-trangcanhan) .patron-feedback-group textarea,
    :where(.pg-trangcanhan) .patron-feedback-group select {
        width:100%; padding:8px 12px;
        border:1px solid #dee2e6; border-radius:6px;
        font-size:13.5px; background:#fff;
        transition:border-color .2s; box-sizing:border-box;
    }
    :where(.pg-trangcanhan) .patron-feedback-group input:focus,
    :where(.pg-trangcanhan) .patron-feedback-group textarea:focus,
    :where(.pg-trangcanhan) .patron-feedback-group select:focus {
        outline:none; border-color:var(--dntu-primary);
        box-shadow:0 0 0 3px rgba(171,31,36,.08);
    }
    :where(.pg-trangcanhan) .patron-feedback-group textarea { resize:vertical; min-height:90px; }
    :where(.pg-trangcanhan) .patron-feedback-group select { appearance:auto; }
    :where(.pg-trangcanhan) #patron-feedback-success {
        text-align:center; padding:28px 0;
        color:var(--dntu-primary); display:none;
    }

/* ── TrangTaiNguyenChiTiet.aspx ── */
/* ══════════════════════════════════════════════════
           Sidebar overrides — TrangTaiNguyenChiTiet
           ══════════════════════════════════════════════════ */
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .blockSidebar {
            background: #fff;
            border: 1px solid var(--dntu-border);
            border-radius: var(--dntu-radius);
            box-shadow: var(--dntu-shadow-sm);
            margin-bottom: 8px;
            overflow: hidden;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .titleBlock {
            background: var(--dntu-primary);
            color: #fff !important;
            font-size: .8rem;
            font-weight: 600;
            margin: 0;
            padding: 7px 12px;
            letter-spacing: .2px;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .titleBlock a { color: #fff !important; text-decoration: none; }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .bodyBlock { padding: 8px 10px; }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .bodyBlock table { width: 100%; border-collapse: collapse; }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .bodyBlock table td { padding: 2px 0; }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .bodyBlock .form-control {
            font-size: .8rem; border: 1px solid #ced4da; border-radius: 4px;
            padding: 4px 8px; height: 30px; width: 100%; box-sizing: border-box; display: block;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .bodyBlock .form-control:focus {
            border-color: var(--dntu-primary); outline: none;
            box-shadow: 0 0 0 2px rgba(var(--dntu-primary-rgb),.15);
        }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .bodyBlock .btn-primary {
            background: var(--dntu-primary); border: none; border-radius: 4px;
            color: #fff; cursor: pointer; font-size: .8rem; padding: 5px 0; width: 100%;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .bodyBlock .btn-primary:hover { filter: brightness(.9); }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar ul.nav-left { list-style: none; margin: 2px 0 0; padding: 0; }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar ul.nav-left li {
            border-bottom: 1px solid #f0f0f0; color: #555;
            font-size: .8rem; line-height: 1.4; padding: 4px 0;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar ul.nav-left li:last-child { border-bottom: none; }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .orange-text { color: var(--dntu-accent); font-size: .82rem; font-weight: 700; }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .bodyBlock .btn-outline-primary { font-size: .78rem; margin-top: 6px; }
        :where(.pg-trangtainguyenchitiet) .tnc-sidebar .lnkLinkButton { font-size: .78rem; }

        /* Resource category nav */
        :where(.pg-trangtainguyenchitiet) .tnc-resource-nav { list-style: none; padding: 0; margin: 0; }
        :where(.pg-trangtainguyenchitiet) .tnc-resource-nav li { border-bottom: 1px solid var(--dntu-border); }
        :where(.pg-trangtainguyenchitiet) .tnc-resource-nav li:last-child { border-bottom: none; }
        :where(.pg-trangtainguyenchitiet) .tnc-resource-nav a {
            display: flex; align-items: center; gap: 8px;
            padding: 9px 12px; color: var(--dntu-ink); text-decoration: none;
            font-size: 13px; transition: background .15s;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-resource-nav a:hover,
        :where(.pg-trangtainguyenchitiet) .tnc-resource-nav li.pc-active a {
            background: var(--dntu-bg-soft); color: var(--dntu-primary);
        }
        :where(.pg-trangtainguyenchitiet) .tnc-resource-nav a i { color: var(--dntu-primary); font-size: 12px; width: 16px; text-align: center; }

        /* Ô tìm kiếm: một thanh duy nhất (chọn trường | ô nhập | nút), không khung thẻ bao ngoài.
           Mobile (≤767px): ẩn ô chọn trường (giữ mặc định "Mọi trường"), ô nhập và nút xếp thành 2 hàng full width. */
        :where(.pg-trangtainguyenchitiet) .tnc-search-box { margin-bottom: 20px; }
        :where(.pg-trangtainguyenchitiet) .tnc-search-row {
            display: flex; align-items: stretch; background: #fff; overflow: hidden;
            border: 1px solid var(--dntu-border); border-radius: var(--dntu-radius);
        }
        :where(.pg-trangtainguyenchitiet) .tnc-search-row:focus-within { border-color: var(--dntu-primary); }
        :where(.pg-trangtainguyenchitiet) .tnc-search-row .select-document {
            flex: 0 0 auto; border: 0; border-right: 1px solid var(--dntu-border); border-radius: 0;
            padding: 0 12px; font-size: 16px; background: #fff; color: var(--dntu-ink); outline: none;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-search-row .search-document {
            flex: 1 1 auto; min-width: 0; border: 0; border-radius: 0; background: transparent;
            padding: 10px 14px; font-size: 16px; color: var(--dntu-ink); outline: none;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-search-row .btn-search-document {
            flex: 0 0 auto; background: var(--dntu-primary); color: #fff; border: 0; border-radius: 0;
            padding: 10px 22px; font-size: 16px; cursor: pointer; white-space: nowrap;
        }
        :where(.pg-trangtainguyenchitiet) .tnc-search-row .btn-search-document:hover { filter: brightness(.9); }
        @media (max-width: 767.98px) {
            :where(.pg-trangtainguyenchitiet) .tnc-search-row { flex-wrap: wrap; gap: 8px; background: transparent; border: 0; border-radius: 0; overflow: visible; }
            :where(.pg-trangtainguyenchitiet) .tnc-search-row:focus-within { border-color: transparent; }
            :where(.pg-trangtainguyenchitiet) .tnc-search-row .select-document { display: none; }
            :where(.pg-trangtainguyenchitiet) .tnc-search-row .search-document {
                flex: 0 0 100%; background: #fff; border: 1px solid var(--dntu-border); border-radius: var(--dntu-radius);
            }
            :where(.pg-trangtainguyenchitiet) .tnc-search-row .search-document:focus { border-color: var(--dntu-primary); }
            :where(.pg-trangtainguyenchitiet) .tnc-search-row .btn-search-document { flex: 0 0 100%; border-radius: var(--dntu-radius); padding: 12px; }
        }
        :where(.pg-trangtainguyenchitiet) .tnc-content-body { font-size: 14px; line-height: 1.8; color: var(--dntu-ink); }

/* ── TrangTinSoDoTrang.aspx ── */
:where(.pg-trangtinsodotrang) #browser { font-size: 14px; line-height: 1.7; }
        :where(.pg-trangtinsodotrang) #browser li { padding: 2px 0; }
        :where(.pg-trangtinsodotrang) #browser a { color: var(--dntu-ink); text-decoration: none; }
        :where(.pg-trangtinsodotrang) #browser a:hover { color: var(--dntu-primary); text-decoration: underline; }

/* ── Z3950Client.aspx ── */
:where(.pg-z3950client) .lib-search-table { width:100%; border-collapse:separate; border-spacing:0 8px; }
        :where(.pg-z3950client) .lib-search-table td.lbl { width:200px; font-weight:600; font-size:14px; color:var(--dntu-ink); vertical-align:middle; white-space:nowrap; padding-right:12px; }
        :where(.pg-z3950client) .lib-search-table td.fld { vertical-align:middle; }
        :where(.pg-z3950client) .z-search-row { display:flex; gap:6px; align-items:center; margin-bottom:8px; }
        :where(.pg-z3950client) .z-search-row .adv-op { width:80px; flex-shrink:0; }
        :where(.pg-z3950client) .z-search-row .adv-field { width:180px; flex-shrink:0; }
        :where(.pg-z3950client) .z-search-row .adv-val { flex:1; }
        :where(.pg-z3950client) .lib-mode-nav { display:flex; gap:4px; margin-bottom:20px; flex-wrap:wrap; }
        :where(.pg-z3950client) .lib-mode-nav a, :where(.pg-z3950client) .lib-mode-nav span { display:inline-block; padding:6px 16px; border-radius:20px; font-size:13px; text-decoration:none; border:1px solid var(--dntu-border); color:var(--dntu-ink); background:#fff; }
        :where(.pg-z3950client) .lib-mode-nav a:hover { background:var(--dntu-bg-soft); color:var(--dntu-primary); border-color:var(--dntu-primary); }
        :where(.pg-z3950client) .lib-mode-nav span.active { background:var(--dntu-primary); color:#fff; border-color:var(--dntu-primary); font-weight:600; }

/* ── Z3950MClient.aspx ── */
:where(.pg-z3950mclient) .lib-mode-nav { display:flex; gap:4px; margin-bottom:20px; flex-wrap:wrap; }
        :where(.pg-z3950mclient) .lib-mode-nav a, :where(.pg-z3950mclient) .lib-mode-nav span { display:inline-block; padding:6px 16px; border-radius:20px; font-size:13px; text-decoration:none; border:1px solid var(--dntu-border); color:var(--dntu-ink); background:#fff; }
        :where(.pg-z3950mclient) .lib-mode-nav a:hover { background:var(--dntu-bg-soft); color:var(--dntu-primary); border-color:var(--dntu-primary); }
        :where(.pg-z3950mclient) .lib-mode-nav span.active { background:var(--dntu-primary); color:#fff; border-color:var(--dntu-primary); font-weight:600; }
        :where(.pg-z3950mclient) .z-search-row { display:flex; gap:6px; align-items:center; margin-bottom:8px; }

/* ── pdfviewer/ViewFilePdf.aspx ── */
html:where(:has(> body:is(.pg-pdfviewer-viewfilepdf))), body:where(.pg-pdfviewer-viewfilepdf) {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

:where(.pg-pdfviewer-viewfilepdf) #container {
    width: 100%;
    height: 100%;
    position: relative; /* Để iframe chiếm toàn bộ khung chứa */
}
:where(.pg-pdfviewer-viewfilepdf) #pdfViewer {
    width: 100%;
    height: 100%;
    overflow: hidden; /* Bỏ scroll */
    border: none; /* Bỏ border nếu cần */
    display: block; /* Loại bỏ khoảng cách thừa */
    position: absolute; /* Đặt iframe chiếm toàn bộ trang */
    top: 0;
    left: 0;
}

/* ── pdfviewer/bookviewer.aspx ── */
html:where(:has(> body:is(.pg-pdfviewer-bookviewer))) {
            --dntu-primary: #1F4E78;
            --dntu-primary-dk: #173B5C;
            --dntu-gradient: linear-gradient(rgb(41, 94, 143), rgb(31, 78, 120));
            --dntu-bg-soft: #F2F6FA;
            --dntu-border: #D6E0EA;
            --dntu-text: #12263A;
            --dntu-text-muted: #51647A;
        }

        /* Khung thông báo toàn màn hình (cần đăng nhập / lỗi / không có tài liệu): phủ lên màn hình loading. */
        :where(.pg-pdfviewer-bookviewer) .bv-notice {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 100000;
            align-items: center;
            justify-content: center;
            padding: 16px;
            background: var(--dntu-bg-soft);
            font-family: "Roboto", "Open Sans", Arial, sans-serif;
            color: var(--dntu-text);
        }
        :where(.pg-pdfviewer-bookviewer) .bv-notice.is-open { display: flex; }
        :where(.pg-pdfviewer-bookviewer) .bv-card {
            width: 100%;
            max-width: 420px;
            text-align: center;
            background: #fff;
            border: 1px solid var(--dntu-border);
            border-top: 4px solid var(--dntu-primary);
            border-radius: 8px;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,.10), 0 2px 4px -2px rgba(0,0,0,.10);
            padding: 28px 24px 24px;
        }
        :where(.pg-pdfviewer-bookviewer) .bv-card h1 { margin: 0 0 8px; font-size: 20px; font-weight: 700; color: var(--dntu-primary-dk); }
        :where(.pg-pdfviewer-bookviewer) .bv-card p { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: var(--dntu-text-muted); }
        :where(.pg-pdfviewer-bookviewer) .bv-icon { font-size: 40px; line-height: 1; margin-bottom: 12px; }
        :where(.pg-pdfviewer-bookviewer) .bv-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
        :where(.pg-pdfviewer-bookviewer) .bv-btn {
            display: inline-block;
            padding: 9px 20px;
            border-radius: .375rem;
            border: 1px solid var(--dntu-primary);
            font: 500 15px/1.4 "Roboto", Arial, sans-serif;
            text-decoration: none;
            cursor: pointer;
            background: var(--dntu-gradient);
            color: #fff;
        }
        :where(.pg-pdfviewer-bookviewer) .bv-btn:hover { background: var(--dntu-primary-dk); }
        :where(.pg-pdfviewer-bookviewer) .bv-btn.is-outline { background: #fff; color: var(--dntu-primary); }
        :where(.pg-pdfviewer-bookviewer) .bv-btn.is-outline:hover { background: var(--dntu-bg-soft); }
        :where(.pg-pdfviewer-bookviewer) .bv-btn:focus-visible { outline: 3px solid rgba(31, 78, 120, .35); outline-offset: 2px; }

/* ── tainguyenmonhoc.aspx ── */
:where(.pg-tainguyenmonhoc) #documentViewer {
            width: 100%;
            height: calc(100vh - 132px);
        }

/* ── ucCollectionStatistic.ascx ── */
:where(.pg-tracuutailieuso2nangcao) .astreeview-tree li, :where(.pg-tracuutailieuso2nangcao) .drag-container li
    {
        padding-left: 0px !important;
    }

/* ── ucPortalCenterAdverPopup.ascx ── */
:where(.pg-index) .hrefAdverPopup {
        font-size: 17px;
        font-weight: bold;
    }

/* ── ucPortalCenterRightBanner.ascx ── */
:where(.uc-portalcenterrightbanner) .link-web {
    }

        :where(.uc-portalcenterrightbanner) .link-web ul {
            list-style-type: none;
            padding-left: 0px;
        }

        :where(.uc-portalcenterrightbanner) .link-web li img {
            width: 100%;
            margin-bottom: 10px;
        }
        
        :where(.uc-portalcenterrightbanner) .link-web li:first-child img {
            margin-top: 0px
        }

/* ── ucPortalRightNewsActivity.ascx ── */
:where(.uc-portalrightnewsactivity) .new1 ul {
        margin-bottom: 0px;
        padding-top: 5px;
        padding-left: 15px
    }

        :where(.uc-portalrightnewsactivity) .new1 ul li {
            background: url(../../assets/img/icon-listnew.png) no-repeat left center;
            list-style: none;
            padding-left: 15px;
            padding-top: 5px;
        }

/* ── ucPortalRightNewsMajor.ascx ── */
:where(.uc-portalrightnewsmajor) .divSlider2Content {
        border: 1px dotted #AE2C3C;
    }

    :where(.uc-portalrightnewsmajor) .divSlider2ViewMore {
        width: 100%;
        text-align: right;
        padding-bottom: 10px;
        padding-right: 10px;
    }

/* ── ucTaiLieuSo2BinhLuan.ascx ── */
:where(.uc-tailieuso2binhluan) .lbGrid {
        padding: 4px;
        vertical-align: top;
    }

        :where(.uc-tailieuso2binhluan) .lbGrid lbTime {
            margin-bottom: 4px;
            color: gray;
        }

/* ── wpInfo_Store.aspx ── */
:where(.pg-wpinfo_store) .PageTitle {
                font: 14px Arial, Helvetica, sans-serif !important;
                font-weight: bold !important;
                color: #ffffff;
            }

            :where(.pg-wpinfo_store) .imgHome
            {
                padding-right: 15px;
            }

            :where(.pg-wpinfo_store) .ShelfTitle {
                height: 30px;
                /* background-color: #924910; */
                font-weight: bold;
                color: #fff;
                background: url(../../App_Themes/Images/shelf1.png) no-repeat;
            }

                :where(.pg-wpinfo_store) .ShelfTitle td {
                    padding-left: 15px;
                    font: 14px Arial, Helvetica, sans-serif !important;
                    font-weight: bold !important;
                }

/* ── wpInfo_Store_Tooltip.aspx ── */
:where(.pg-wpinfo_store_tooltip) a {
            text-decoration: none;
        }

        :where(.pg-wpinfo_store_tooltip) td, :where(.pg-wpinfo_store_tooltip) th {
            vertical-align: middle !important;
        }

/* ── wpInfo_Store_Tooltip.aspx ── */
body:where(.pg-wpinfo_store_tooltip), :where(.pg-wpinfo_store_tooltip) button, :where(.pg-wpinfo_store_tooltip) input, :where(.pg-wpinfo_store_tooltip) textarea {
            font: 12px Arial,Helvetica,sans-serif;
        }

        :where(.pg-wpinfo_store_tooltip) .lbLabel {
            font: 12px Arial,Helvetica,sans-serif;
            color: Navy;
        }

/* ── wpInfo_Store_Tooltip_NotPermission.aspx, wpInfo_Store_Tooltip_ViewDetail.aspx ── */
body:where(.pg-wpinfo_store_tooltip_notpermission, .pg-wpinfo_store_tooltip_viewdetail) {
            background-image: none !important;
        }

        :where(.pg-wpinfo_store_tooltip_notpermission, .pg-wpinfo_store_tooltip_viewdetail) .title1 {
            float: left;
            display: block;
            width: 100%;
            background: url(../../App_Themes/Images/line-grey.gif) 0 100% repeat-x;
            font: bold 14px Arial, Helvetica, sans-serif;
        }

            :where(.pg-wpinfo_store_tooltip_notpermission, .pg-wpinfo_store_tooltip_viewdetail) .title1 a {
                color: #444444;
            }

            :where(.pg-wpinfo_store_tooltip_notpermission, .pg-wpinfo_store_tooltip_viewdetail) .title1 span {
                float: left;
                display: block;
                background: url(../../App_Themes/Images/line-orange.gif) 0 100% repeat-x;
                padding: 7px;
            }

/* ── ucPortalCenterIntro.ascx (thẻ danh mục; trước là style="--color: H, S%, L%" trên từng thẻ) ── */
.category-card.category-card--teal { --color: 170, 75%, 41%; }
.category-card.category-card--rose { --color: 351, 83%, 61%; }
.category-card.category-card--indigo { --color: 229, 75%, 58%; }
.category-card.category-card--amber { --color: 42, 94%, 55%; }
