/* Giao dien moi LichDien.com — tra cuu nhanh, gon, uu tien dien thoai. */

/* Font Be Vietnam Pro tu luu tren may chu (SIL OFL 1.1, xem assets/fonts/be-vietnam-pro/OFL.txt). */
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-400-vietnamese.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-400-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-400-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-500-vietnamese.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-500-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-500-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-600-vietnamese.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-600-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-600-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-700-vietnamese.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-700-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/be-vietnam-pro/be-vietnam-pro-700-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--nen: #F5F6FA;
	--mat: #FFFFFF;
	--vien: #E3E6EE;
	--vien-dam: #CDD2DD;
	--chu: #141A2E;
	--chu-phu: #4E566A;
	--chu-nhat: #667085;
	--nhan: #1B5BD0;
	--nhan-dam: #164BAD;
	--nhan-nhat: #EAF1FE;
	--dang: #C86A12;
	--dang-chu: #8A4300;
	--dang-nen: #FFF8EE;
	--dang-vien: #F2C98B;
	--dang-ray: #F0E3CF;
	--xong: #B7BDC9;
	--bo: 14px;
	--bo-nho: 10px;
	--font: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;
	--o-bam: 44px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 400 15px/1.55 var(--font); color: var(--chu); background: var(--nen); -webkit-font-smoothing: antialiased; }
a { color: var(--nhan); text-decoration: none; }
a:hover { color: var(--nhan-dam); text-decoration: underline; }
/* Lien ket nam trong doan van phai co gach chan, khong chi khac mau (WCAG 1.4.1). */
p a, li p a, .gd-noi-dung a, .gd-hop--ghi a, .gd-trang .alert-warning a { text-decoration: underline; text-underline-offset: 2px; }
:focus-visible { outline: 2px solid var(--nhan); outline-offset: 2px; border-radius: 4px; }
svg { flex: none; }
img { max-width: 100%; height: auto; }
.gd-an { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gd-khung { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) { .gd-khung { padding: 0 24px; } }
.gd-bo-qua { position: absolute; left: 8px; top: -60px; z-index: 50; background: var(--chu); color: #fff; padding: 10px 14px; border-radius: 8px; }
.gd-bo-qua:focus { top: 8px; }

/* Dau trang */
.gd-dau { background: var(--mat); border-bottom: 1px solid var(--vien); position: sticky; top: 0; z-index: 20; }
.gd-dau__trong { display: flex; align-items: center; gap: 12px; min-height: 60px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.gd-logo { display: flex; align-items: center; gap: 8px; color: var(--chu); font-weight: 700; font-size: 19px; letter-spacing: -0.01em; min-height: var(--o-bam); }
.gd-logo:hover { color: var(--chu); text-decoration: none; }
.gd-logo svg { width: 26px; height: 26px; fill: var(--nhan); }
.gd-logo small { font-size: 14px; font-weight: 500; color: var(--chu-nhat); }
.gd-logo img { display: block; height: 34px; width: auto; }
@media (min-width: 900px) { .gd-logo img { height: 40px; } }
/* Man hinh hep: logo anh rong, nut Tinh thanh chi con bieu tuong (nhan van cho trinh doc man hinh). */
@media (max-width: 420px) {
	.gd-nut { padding: 0 10px; }
	.gd-nut span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
.gd-tim { position: relative; order: 3; flex: 1 1 100%; }
.gd-tim > svg { position: absolute; left: 13px; top: 12px; width: 20px; height: 20px; fill: none; stroke: var(--chu-nhat); stroke-width: 2; stroke-linecap: round; pointer-events: none; }
.gd-tim input { width: 100%; height: var(--o-bam); padding: 0 12px 0 42px; border: 1px solid var(--vien-dam); border-radius: var(--bo-nho); background: var(--nen); font: 400 16px var(--font); color: var(--chu); }
.gd-tim input:focus { outline: none; background: var(--mat); border-color: var(--nhan); box-shadow: 0 0 0 3px var(--nhan-nhat); }
.gd-goi-y { position: absolute; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none; background: var(--mat); border: 1px solid var(--vien); border-radius: var(--bo-nho); box-shadow: 0 8px 24px rgba(20, 26, 46, .14); max-height: 360px; overflow: auto; z-index: 30; }
.gd-goi-y a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 8px; color: var(--chu); }
.gd-goi-y a:hover, .gd-goi-y a[aria-selected="true"] { background: var(--nhan-nhat); text-decoration: none; }
.gd-goi-y small { color: var(--chu-nhat); }
.gd-goi-y .gd-goi-y__trong { padding: 10px 12px; color: var(--chu-phu); }
.gd-dau__nav { display: none; gap: 4px; }
.gd-dau__nav a { padding: 10px 12px; border-radius: 8px; color: var(--chu-phu); font-weight: 500; font-size: 15px; white-space: nowrap; }
.gd-dau__nav a:hover { background: var(--nen); color: var(--chu); text-decoration: none; }
.gd-nut { margin-left: auto; height: var(--o-bam); padding: 0 14px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--vien-dam); background: var(--mat); border-radius: var(--bo-nho); font: 600 15px var(--font); color: var(--chu); cursor: pointer; }
.gd-nut:hover { border-color: var(--chu-nhat); }
.gd-nut svg, .gd-nut-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
@media (min-width: 900px) {
	.gd-dau__trong { flex-wrap: nowrap; gap: 20px; min-height: 72px; }
	.gd-logo { flex: none; }
	.gd-tim { order: 0; flex: 1 1 260px; max-width: 420px; }
	.gd-nut { flex: none; white-space: nowrap; }
}
/* Logo anh rong: 4 muc menu chi hien khi du cho, man nho hon dung nut Tinh thanh. */
@media (min-width: 1200px) {
	.gd-dau__nav { display: flex; flex: none; margin-left: auto; }
	.gd-nut { margin-left: 0; }
}

/* Menu tinh thanh */
.gd-menu { position: fixed; inset: 0; z-index: 40; background: rgba(20, 26, 46, .38); display: flex; justify-content: flex-end; }
.gd-menu[hidden] { display: none; }
.gd-menu__khung { width: min(440px, 100%); height: 100%; background: var(--mat); display: flex; flex-direction: column; box-shadow: 0 8px 24px rgba(20, 26, 46, .16); }
.gd-menu__dau { display: flex; align-items: center; justify-content: space-between; padding: 8px 8px 8px 16px; border-bottom: 1px solid var(--vien); }
.gd-menu__dau h2 { margin: 0; font-size: 18px; }
.gd-nut-icon { width: var(--o-bam); height: var(--o-bam); display: grid; place-items: center; border: 0; background: transparent; border-radius: 8px; color: var(--chu-phu); cursor: pointer; }
.gd-nut-icon:hover { background: var(--nen); color: var(--chu); }
.gd-menu__than { overflow: auto; padding: 12px 12px 24px; display: flex; flex-direction: column; gap: 10px; }
.gd-menu__lon { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.gd-menu__lon a { min-height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--vien-dam); border-radius: 12px; color: var(--chu); font-weight: 600; }
.gd-menu__mien { border: 1px solid var(--vien); border-radius: 12px; }
.gd-menu__mien summary { list-style: none; cursor: pointer; min-height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; font-weight: 600; }
.gd-menu__mien summary::-webkit-details-marker { display: none; }
.gd-menu__mien summary span { font-weight: 400; font-size: 14px; color: var(--chu-nhat); }
.gd-menu__mien ul { list-style: none; margin: 0; padding: 4px 8px 10px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--vien); }
.gd-menu__mien li a { min-height: var(--o-bam); display: flex; align-items: center; padding: 0 8px; border-radius: 8px; color: var(--chu); }
.gd-menu__mien li a:hover { background: var(--nen); text-decoration: none; }

/* Khung trang */
.gd-trang { padding: 16px 0 48px; }
.gd-duong-dan { display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--chu-nhat); }
.gd-duong-dan { align-items: center; }
.gd-duong-dan a { color: var(--chu-phu); min-height: var(--o-bam); display: inline-flex; align-items: center; }
.gd-duong-dan [aria-current] { color: var(--chu); }
.gd-tieu-de { display: flex; flex-direction: column; gap: 14px; margin: 10px 0 18px; }
.gd-tieu-de h1 { margin: 0; font-size: 26px; line-height: 1.2; letter-spacing: -0.015em; }
.gd-mo-ta { margin: 6px 0 0; color: var(--chu-phu); font-size: 15px; }
.gd-so-lieu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.gd-so-lieu > div { padding: 10px 12px; background: var(--mat); border: 1px solid var(--vien); border-radius: 12px; min-width: 0; }
.gd-so-lieu b { display: block; font-size: 22px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.gd-so-lieu span { font-size: 13px; color: var(--chu-phu); }
.gd-so-lieu .gd-so-lieu--dang { background: #FFF3E0; border-color: var(--dang-vien); }
.gd-so-lieu--dang b, .gd-so-lieu--dang span { color: #6B3500; }
@media (min-width: 900px) {
	.gd-trang { padding-top: 24px; }
	.gd-tieu-de { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 24px; }
	.gd-so-lieu { display: flex; }
	.gd-so-lieu > div { min-width: 104px; padding: 10px 14px; }
	.gd-tieu-de h1 { font-size: 36px; }
}

/* Chon ngay */
.gd-ngay { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 14px; margin-bottom: 18px; border-bottom: 1px solid var(--vien); scrollbar-width: thin; }
.gd-ngay__muc { flex: none; width: 92px; min-height: 68px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--vien-dam); border-radius: 12px; background: var(--mat); color: var(--chu); line-height: 1.25; }
.gd-ngay__muc:hover { border-color: var(--nhan); text-decoration: none; color: var(--chu); }
.gd-ngay__muc span { font-size: 12px; color: var(--chu-phu); }
.gd-ngay__muc b { font-size: 16px; }
.gd-ngay__muc small { font-size: 12px; font-variant-numeric: tabular-nums; }
.gd-ngay__muc.is-chon { background: var(--nhan); border-color: var(--nhan); color: #fff; }
.gd-ngay__muc.is-chon span { color: #fff; opacity: .9; }
.gd-ngay__muc.is-trong { color: var(--chu-nhat); border-color: var(--vien); }
.gd-ngay__muc.is-chon.is-trong { color: #fff; border-color: var(--nhan); }
.gd-ngay__thang { flex: none; align-self: center; padding: 0 8px; min-height: var(--o-bam); display: flex; align-items: center; font-weight: 600; white-space: nowrap; }

/* Bo cuc 2 cot */
.gd-bo-cuc { display: grid; gap: 24px; }
.gd-cot-chinh { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.gd-cot-phu { display: flex; flex-direction: column; gap: 16px; }
@media (min-width: 1000px) { .gd-bo-cuc { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 32px; } .gd-cot-phu { position: sticky; top: 96px; } }

.gd-nhom-ngay { display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 90px; }
.gd-nhom-ngay > h2 { margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 18px; }
.gd-nhom-ngay > h2 a { color: var(--chu); min-height: var(--o-bam); display: inline-flex; align-items: center; }
.gd-nhom-ngay > h2 small { font-size: 14px; font-weight: 400; color: var(--chu-nhat); }
.gd-het { margin: 0; padding: 14px 16px; background: var(--mat); border: 1px solid var(--vien); border-radius: var(--bo); color: var(--chu-phu); }
.gd-nhom-ngay--gon { gap: 0; }
.gd-nhom-ngay--gon > summary { list-style: none; cursor: pointer; min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 0 16px; background: var(--mat); border: 1px solid var(--vien); border-radius: var(--bo); }
.gd-nhom-ngay--gon > summary::-webkit-details-marker { display: none; }
.gd-nhom-ngay--gon > summary b { font-size: 16px; }
.gd-nhom-ngay--gon > summary small { color: var(--chu-nhat); font-size: 14px; }
.gd-nhom-ngay--gon > summary svg { margin-left: auto; width: 18px; height: 18px; fill: none; stroke: var(--chu-phu); stroke-width: 2; stroke-linecap: round; transition: transform .18s; }
.gd-nhom-ngay--gon[open] > summary svg { transform: rotate(180deg); }
.gd-nhom-ngay__ds { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.gd-lien-ket-ngay { min-height: var(--o-bam); display: flex; align-items: center; font-weight: 600; }

/* The dot cup dien */
.gd-the { background: var(--mat); border: 1px solid var(--vien); border-radius: var(--bo); padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.gd-the--dang { background: var(--dang-nen); border-color: var(--dang-vien); }
.gd-the__dau { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.gd-the__gio { font-size: 24px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.gd-the__gio span { color: var(--chu-nhat); font-weight: 500; }
.gd-the--xong .gd-the__gio, .gd-the--hoan .gd-the__gio { color: var(--chu-phu); }
.gd-the--hoan .gd-the__gio { text-decoration: line-through; }
.gd-the__phu { font-size: 14px; color: var(--chu-phu); margin-top: 2px; }
.gd-nhan { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; border: 1px solid currentColor; font-size: 13px; font-weight: 600; white-space: nowrap; }
.gd-nhan::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.gd-nhan--dang { color: var(--dang-chu); border-color: var(--dang); }
.gd-nhan--dang::before { background: var(--dang); }
.gd-nhan--sap { color: var(--nhan); }
.gd-nhan--xong { color: var(--chu-phu); border-color: var(--vien-dam); }
.gd-nhan--hoan { color: var(--chu-phu); border-color: var(--vien-dam); border-style: dashed; }
.gd-thanh__ray { position: relative; height: 8px; background: var(--nen); border-radius: 999px; }
.gd-the--dang .gd-thanh__ray { background: var(--dang-ray); }
.gd-thanh__ray i { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: var(--nhan); }
.gd-the--dang .gd-thanh__ray i { background: var(--dang); }
.gd-the--xong .gd-thanh__ray i, .gd-the--hoan .gd-thanh__ray i { background: var(--xong); }
.gd-thanh__ray b { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--chu); }
.gd-thanh__moc { display: flex; justify-content: space-between; font-size: 11px; color: var(--chu-nhat); margin-top: 4px; }
.gd-nhan-muc { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--chu-nhat); margin-bottom: 8px; }
.gd-the__kv ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.gd-the__kv li { padding: 4px 10px; background: var(--nen); border-radius: 6px; font-size: 14px; }
.gd-the--dang .gd-the__kv li { background: var(--mat); border: 1px solid #EBDDC6; }
.gd-them { margin-top: 6px; min-height: var(--o-bam); padding: 0; border: 0; background: none; color: var(--nhan); font: 600 14px var(--font); cursor: pointer; }
.gd-them:hover { text-decoration: underline; }
.gd-the__lydo { font-size: 14px; color: var(--chu-phu); border-top: 1px solid var(--vien); padding-top: 10px; overflow-wrap: anywhere; }
.gd-the--dang .gd-the__lydo { border-color: var(--dang-ray); }
.gd-the__lydo b { color: var(--chu); font-weight: 600; }
@media (min-width: 768px) { .gd-the { padding: 20px 22px; } .gd-the__gio { font-size: 26px; } }

.gd-da-xong { display: flex; flex-direction: column; }
.gd-da-xong > summary { list-style: none; cursor: pointer; min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 0 16px; background: var(--mat); border: 1px solid var(--vien); border-radius: var(--bo); color: var(--chu-phu); }
.gd-da-xong > summary::-webkit-details-marker { display: none; }
.gd-da-xong > summary b { color: var(--chu); font-weight: 600; }
.gd-da-xong > summary svg { margin-left: auto; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; transition: transform .18s; }
.gd-da-xong[open] > summary svg { transform: rotate(180deg); }
.gd-cham { width: 10px; height: 10px; border-radius: 50%; background: var(--xong); }
.gd-da-xong__ds { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }

.gd-trong { text-align: center; padding: 48px 20px; background: var(--mat); border: 1px dashed var(--vien-dam); border-radius: var(--bo); }
.gd-trong svg { width: 40px; height: 40px; fill: none; stroke: var(--nhan); stroke-width: 1.8; }
.gd-trong h2 { margin: 12px 0 6px; font-size: 18px; }
.gd-trong p { margin: 0 auto; max-width: 46ch; color: var(--chu-phu); }

/* Cot phu */
.gd-hop { background: var(--mat); border: 1px solid var(--vien); border-radius: var(--bo); padding: 16px 18px; }
.gd-hop h2 { margin: 0 0 4px; font-size: 16px; }
.gd-hop__ghi { margin: 0 0 8px; font-size: 13px; color: var(--chu-nhat); }
.gd-hop--ghi p { margin: 8px 0 0; font-size: 14px; color: var(--chu-phu); }
.gd-ds-huyen { list-style: none; margin: 0; padding: 0; }
.gd-ds-huyen a { min-height: var(--o-bam); display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 10px; border-radius: 8px; color: var(--chu); }
.gd-ds-huyen a:hover { background: var(--nen); text-decoration: none; }
.gd-ds-huyen a b { font-variant-numeric: tabular-nums; }
.gd-ds-huyen a.is-trong { color: var(--chu-nhat); }
.gd-ds-huyen a.is-trong b { font-weight: 400; }
.gd-ds-huyen a.is-chon { background: var(--nhan-nhat); color: var(--nhan); font-weight: 600; }
.gd-dang-nho { font-style: normal; font-size: 12px; color: var(--dang-chu); margin-left: 4px; }
.gd-lien-ket-hop { display: flex; align-items: center; min-height: 56px; font-weight: 600; }
.gd-lien-ket-hop:hover { border-color: var(--nhan); text-decoration: none; }

/* Trang mot ngay */
.gd-chuyen-ngay { display: flex; align-items: center; gap: 8px; }
.gd-chuyen-ngay__giua { min-width: 64px; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }
.gd-nut-vuong { width: var(--o-bam); height: var(--o-bam); display: grid; place-items: center; border: 1px solid var(--vien-dam); border-radius: var(--bo-nho); background: var(--mat); color: var(--chu); }
.gd-nut-vuong:hover { border-color: var(--nhan); color: var(--nhan); }
.gd-nut-vuong svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.gd-so-lieu--ngay { margin-bottom: 20px; }
.gd-bieu-do { display: flex; flex-direction: column; gap: 10px; }
.gd-bieu-do__dau { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 4px; }
.gd-bieu-do__dau h2 { margin: 0; font-size: 16px; }
.gd-chu-giai { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--chu-phu); }
.gd-chu-giai span { display: inline-flex; align-items: center; gap: 6px; }
.gd-mau { display: inline-block; width: 14px; height: 8px; border-radius: 3px; }
.gd-mau--dang { background: var(--dang); }
.gd-mau--sap { background: var(--nhan); }
.gd-mau--xong, .gd-mau--hoan { background: var(--xong); }
.gd-bieu-do__hang { display: grid; grid-template-columns: 96px minmax(0, 1fr) 24px; gap: 10px; align-items: center; font-size: 13px; }
.gd-bieu-do__hang > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--chu-phu); }
.gd-bieu-do__hang > small { text-align: right; color: var(--chu-nhat); font-variant-numeric: tabular-nums; }
.gd-bieu-do__ray { position: relative; height: 20px; background: var(--nen); border-radius: 6px; }
.gd-bieu-do__ray i { position: absolute; top: 4px; bottom: 4px; border-radius: 3px; opacity: .9; }
.gd-bieu-do__ray b { position: absolute; top: -3px; bottom: -3px; width: 2px; background: var(--chu); }
.gd-bieu-do__truc > div { display: flex; justify-content: space-between; font-size: 11px; color: var(--chu-nhat); }
@media (min-width: 768px) { .gd-bieu-do__hang { grid-template-columns: 160px minmax(0, 1fr) 32px; font-size: 14px; } }

/* Trang toan quoc theo ngay */
.gd-luoi-mien { display: grid; gap: 16px; }
@media (min-width: 900px) { .gd-luoi-mien { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; } }
.gd-mien h2 { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
.gd-mien h2 small { font-size: 14px; font-weight: 400; color: var(--chu-nhat); }

/* Noi dung tu CSDL va thong bao nguon cu */
.gd-noi-dung { background: var(--mat); border: 1px solid var(--vien); border-radius: var(--bo); padding: 18px 20px; color: var(--chu-phu); font-size: 15px; overflow-wrap: anywhere; }
.gd-noi-dung * { font-family: inherit !important; font-size: inherit !important; color: inherit !important; }
.gd-noi-dung p { margin: 0 0 10px !important; }
.gd-trang .alert-warning { margin: 0 0 18px; padding: 14px 16px; background: #FFF3E0; border: 1px solid var(--dang-vien); border-radius: 12px; color: #6B3500; font-size: 14px; }
.gd-trang .alert-warning a { color: var(--dang-chu); text-decoration: underline; }

/* Chan trang */
.gd-chan { background: var(--mat); border-top: 1px solid var(--vien); padding: 28px 0; font-size: 14px; color: var(--chu-phu); }
.gd-chan__trong { display: grid; gap: 20px; }
.gd-chan__ten { font-weight: 700; color: var(--chu); font-size: 16px; margin-bottom: 6px; }
.gd-chan p { margin: 0 0 8px; max-width: 60ch; }
.gd-chan nav { display: flex; flex-direction: column; }
.gd-chan nav a { min-height: 40px; display: flex; align-items: center; color: var(--chu-phu); }
.gd-chan__muc { font-weight: 600; color: var(--chu); margin-bottom: 4px; }
.gd-chan__them { font-size: 13px; }
.gd-chan__them * { font-family: inherit !important; }
@media (min-width: 768px) { .gd-chan__trong { grid-template-columns: 2fr 1fr 1fr; gap: 40px; } }

/* Nut */
.gd-nut-chinh { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: 12px; background: var(--nhan); color: #fff; font-weight: 600; }
.gd-nut-chinh:hover { background: var(--nhan-dam); color: #fff; text-decoration: none; }
.gd-nut-chinh svg, .gd-nut-chu svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.gd-nut-phu { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 12px; border: 1px solid var(--vien-dam); background: var(--mat); color: var(--chu); font-weight: 600; }
.gd-nut-phu:hover { border-color: var(--chu-nhat); color: var(--chu); text-decoration: none; }
.gd-nut-chu { display: inline-flex; align-items: center; gap: 6px; min-height: var(--o-bam); padding: 0 14px; border: 1px solid var(--vien-dam); border-radius: var(--bo-nho); background: var(--mat); color: var(--chu); font-weight: 600; }
.gd-nut-chu:hover { border-color: var(--nhan); color: var(--nhan); text-decoration: none; }
.gd-cham--xanh { background: #1E9E5A; width: 8px; height: 8px; }
.gd-cham--dang { background: var(--dang); }

/* O tim lon (trang chu, 404) */
.gd-tim--lon { order: 0; flex: none; width: 100%; max-width: 680px; }
.gd-tim--lon > svg { top: 16px; left: 16px; width: 22px; height: 22px; }
.gd-tim--lon input { height: 56px; padding-left: 50px; font-size: 17px; background: var(--mat); border-radius: 12px; }

/* Trang chu */
.gd-mo-dau { display: grid; gap: 24px; padding: 12px 0 32px; align-items: center; }
.gd-mo-dau__chinh { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.gd-mo-dau h1 { margin: 0; font-size: 30px; line-height: 1.15; letter-spacing: -0.02em; max-width: 18ch; }
.gd-cap-nhat { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--chu-phu); }
.gd-tra-nhanh { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gd-tra-nhanh span { font-size: 14px; color: var(--chu-nhat); }
.gd-tra-nhanh a { min-height: 40px; display: inline-flex; align-items: center; padding: 0 14px; border: 1px solid var(--vien-dam); border-radius: 999px; background: var(--mat); color: var(--chu); font-size: 14px; font-weight: 500; }
.gd-tra-nhanh a:hover { border-color: var(--nhan); text-decoration: none; }
.gd-hom-nay { display: flex; flex-direction: column; gap: 16px; padding: 22px; }
.gd-hom-nay h2 { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--chu-nhat); }
.gd-hom-nay__so b { display: block; font-size: 48px; line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.gd-hom-nay__so span { font-size: 15px; color: var(--chu-phu); }
.gd-hom-nay__dang { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: #FFF3E0; border: 1px solid var(--dang-vien); color: #6B3500; font-size: 15px; }
.gd-chon-tinh { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
.gd-chon-tinh__dau { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.gd-chon-tinh__dau h2 { white-space: nowrap; }
.gd-chon-tinh__dau h2 { margin: 0; font-size: 22px; }
.gd-chon-tinh__dau span { font-size: 14px; color: var(--chu-nhat); }
.gd-mien--chu { padding: 0; }
.gd-mien--chu > summary { list-style: none; cursor: pointer; min-height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; }
.gd-mien--chu > summary::-webkit-details-marker { display: none; }
.gd-mien--chu > summary h3 { margin: 0; font-size: 17px; }
.gd-mien--chu > summary span { font-size: 14px; color: var(--chu-nhat); }
.gd-ds-tinh { list-style: none; margin: 0; padding: 6px 8px 12px; border-top: 1px solid var(--vien); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 4px; }
.gd-ds-tinh a { min-height: var(--o-bam); display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 10px; border-radius: 8px; color: var(--chu); font-size: 15px; }
.gd-ds-tinh a:hover { background: var(--nen); text-decoration: none; }
.gd-ds-tinh a b { font-size: 13px; font-variant-numeric: tabular-nums; color: var(--chu-phu); font-weight: 600; }
.gd-ds-tinh a.is-trong b { color: var(--chu-nhat); font-weight: 400; }
.gd-meo { display: grid; gap: 12px; margin-bottom: 32px; }
.gd-meo__o { display: flex; gap: 14px; }
.gd-meo__o svg { width: 24px; height: 24px; fill: none; stroke: var(--nhan); stroke-width: 2; stroke-linecap: round; }
.gd-meo__o b { display: block; margin-bottom: 4px; }
.gd-meo__o p { margin: 0; font-size: 14px; color: var(--chu-phu); }
.gd-trang-chu .gd-noi-dung { margin-bottom: 16px; }
@media (min-width: 900px) {
	.gd-mo-dau { grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; padding: 40px 0 48px; }
	.gd-mo-dau h1 { font-size: 46px; }
	.gd-meo { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}

/* Trang thang */
.gd-lich { padding: 16px; }
.gd-lich__luoi { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.gd-lich__thu { margin-bottom: 6px; font-size: 12px; font-weight: 600; color: var(--chu-nhat); text-align: center; }
.gd-lich__dai { display: none; }
.gd-lich__o { min-height: 64px; padding: 6px; border-radius: 10px; display: flex; flex-direction: column; color: var(--chu); text-decoration: none; line-height: 1.2; }
.gd-lich__o:hover { text-decoration: none; outline: 2px solid var(--nhan); outline-offset: 1px; color: inherit; }
.gd-lich__o b { margin-top: auto; font-size: 17px; font-variant-numeric: tabular-nums; }
.gd-lich__o small { font-size: 11px; }
.gd-lich__ngay { font-size: 12px; font-weight: 600; }
.gd-lich__ngay em { display: none; }
/* Dien thoai: lich tran sat mep man hinh de o ngay du rong cho ngon tay (>= 44px). */
@media (max-width: 767px) {
	.gd-lich { margin: 0 -16px; padding: 12px 8px; border-left: 0; border-right: 0; border-radius: 0; }
	.gd-lich__luoi { gap: 4px; }
	.gd-lich__chu-giai { padding: 0 8px; }
}
.gd-lich__o--trong { visibility: hidden; }
.gd-lich__o--0 { background: var(--mat); border: 1px dashed var(--vien-dam); color: var(--chu-nhat); }
.gd-lich__o--1 { background: #E6EEFC; color: #0E2A5C; }
.gd-lich__o--2 { background: #A9C3F2; color: #0E2A5C; }
.gd-lich__o--3 { background: var(--nhan); color: #fff; }
.gd-lich__o.is-hom-nay { box-shadow: 0 0 0 2px var(--chu); }
.gd-lich__chu-giai { margin-top: 14px; }
.gd-o-mau { display: inline-block; width: 16px; height: 16px; border-radius: 4px; min-height: 0; padding: 0; }
.gd-tom-tat { display: flex; flex-direction: column; gap: 12px; }
.gd-tom-tat__so b { display: block; font-size: 34px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.gd-tom-tat__so span { font-size: 14px; color: var(--chu-phu); }
.gd-tom-tat dl { margin: 0; display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--vien); padding-top: 12px; font-size: 14px; }
.gd-tom-tat dl div { display: flex; justify-content: space-between; gap: 12px; }
.gd-tom-tat dt { color: var(--chu-phu); }
.gd-tom-tat dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
@media (min-width: 768px) {
	.gd-lich { padding: 22px; }
	.gd-lich__luoi { gap: 8px; }
	.gd-lich__thu { font-size: 13px; }
	.gd-lich__dai { display: inline; }
	.gd-lich__ngan { display: none; }
	.gd-lich__o { min-height: 96px; padding: 10px 12px; }
	.gd-lich__o b { font-size: 22px; }
	.gd-lich__o small { font-size: 12px; }
	.gd-lich__ngay { font-size: 14px; }
}

/* TP HCM: tra cuu theo ma khach hang */
.gd-hcm { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.gd-hcm h2 { margin: 0; font-size: 17px; }
.gd-hcm p { margin: 0; color: var(--chu-phu); font-size: 15px; }

/* Lien he */
.gd-lien-he { display: grid; gap: 20px; margin-bottom: 32px; align-items: start; }
.gd-lien-he__thong-tin { margin: 0; }
.gd-form { display: flex; flex-direction: column; gap: 14px; }
.gd-form h2 { margin: 0 0 4px; font-size: 18px; }
.gd-truong { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gd-truong label { font-size: 14px; font-weight: 600; }
.gd-truong input, .gd-truong textarea { width: 100%; min-height: var(--o-bam); padding: 10px 12px; border: 1px solid var(--vien-dam); border-radius: var(--bo-nho); background: var(--mat); font: 400 16px var(--font); color: var(--chu); }
.gd-truong textarea { resize: vertical; }
.gd-truong input:focus, .gd-truong textarea:focus { outline: none; border-color: var(--nhan); box-shadow: 0 0 0 3px var(--nhan-nhat); }
.gd-truong-doi { display: grid; gap: 14px; }
.gd-form__nut { display: flex; flex-wrap: wrap; gap: 10px; }
.gd-form__nut button { font-family: var(--font); font-size: 15px; cursor: pointer; border: 0; }
.gd-form__nut .gd-nut-phu { border: 1px solid var(--vien-dam); }
@media (min-width: 768px) { .gd-truong-doi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .gd-lien-he { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px; } }

/* 404 */
.gd-404 { max-width: 560px; margin: 32px auto 48px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.gd-404__icon { width: 72px; height: 72px; border-radius: 20px; background: var(--nhan-nhat); display: grid; place-items: center; }
.gd-404__icon svg { width: 36px; height: 36px; fill: none; stroke: var(--nhan); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gd-404__ma { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--chu-nhat); }
.gd-404 h1 { margin: 0; font-size: 28px; }
.gd-404 .gd-tim--lon { text-align: left; }
.gd-404__nut { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 6px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
