:root{--vien:#d4d4d4;--nen:#fff;--xam:#f3f3f3;--chu:#202124;--xanh:#217346;--xanh-nhat:#e2efda;--do:#c00000;--tab:#e6e6e6;--chon:#cfe8d5;--lech:#ffebee;--mo:#666}
@media (prefers-color-scheme:dark){:root{--vien:#444;--nen:#1e1e1e;--xam:#2b2b2b;--chu:#e6e6e6;--xanh:#2e9e63;--xanh-nhat:#1f3a2b;--do:#ff7b7b;--tab:#333;--chon:#25442f;--lech:#3b2224;--mo:#aaa}}
*{box-sizing:border-box}
body{margin:0;font:13px/1.35 Calibri,"Segoe UI",Arial,sans-serif;background:var(--nen);color:var(--chu);height:100vh;display:flex;flex-direction:column}
body.dn{background:var(--nen)}
.hop-dn{width:340px;background:var(--nen);border:1px solid var(--vien);padding:24px;display:grid;gap:8px}
.hop-dn-td{font-size:18px;font-weight:700;color:var(--xanh);margin-bottom:8px}
input,select,button{font:inherit;color:var(--chu)}
input,select{border:1px solid var(--vien);background:var(--nen);padding:4px 6px;border-radius:2px}
button{border:1px solid var(--vien);background:var(--xam);padding:4px 12px;border-radius:2px;cursor:pointer}
button:hover:not(:disabled){background:var(--tab)}
button:disabled{opacity:.5;cursor:not-allowed}
button.chinh{background:var(--xanh);border-color:var(--xanh);color:#fff;font-weight:600}
button.chinh:hover:not(:disabled){background:var(--xanh);filter:brightness(1.12)}
button.nguy:hover:not(:disabled){background:var(--do);filter:brightness(1.12)}
button.nguy{background:var(--do);border-color:var(--do);color:#fff;font-weight:600}
button.lien-ket{border:0;background:none;text-decoration:underline;color:#fff;padding:0}
.thanh-tren{background:var(--xanh);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:6px 12px}
.td-app{font-weight:700;font-size:15px}.phai{display:flex;gap:14px;align-items:center}.phai form{margin:0}
.dai-cong-cu{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:6px 12px;background:var(--xam);border-bottom:1px solid var(--vien)}
.dai-cong-cu form{margin:0}.ngang{display:flex;gap:10px;align-items:center}
#o-tim{width:300px}
.thanh-ct{display:flex;align-items:stretch;border-bottom:1px solid var(--vien)}
.hop-ten{width:64px;text-align:center;padding:3px;border-right:1px solid var(--vien);background:var(--xam)}
.fx{padding:3px 10px;font-style:italic;color:var(--mo);border-right:1px solid var(--vien)}
.noi-dung-ct{padding:3px 10px;font-weight:600}
.tb{padding:6px 12px;margin:0}.tb.tot{background:var(--xanh-nhat)}.tb.loi{background:var(--lech);color:var(--do);font-weight:600}
.loi-chu{color:var(--do)}
.luoi-boc{flex:1;overflow:auto;margin:0}
table.luoi{border-collapse:collapse;white-space:nowrap}
.luoi th,.luoi td{border:1px solid var(--vien);padding:2px 6px;height:22px;max-width:320px;overflow:hidden;text-overflow:ellipsis}
.luoi .chu-cot th{background:var(--xam);text-align:center;font-weight:400;color:var(--mo);position:sticky;top:0;z-index:3}
.luoi .tieu-de th{background:var(--xanh-nhat);font-weight:700;text-align:left;position:sticky;top:23px;z-index:3;border-bottom:2px solid var(--xanh)}
.luoi .so-dong{background:var(--xam);color:var(--mo);text-align:center;min-width:36px;position:sticky;left:0;z-index:2}
.luoi thead .so-dong{z-index:4}
.luoi tbody tr:nth-child(even) td:not(.so-dong){background:color-mix(in srgb,var(--xam) 55%,transparent)}
.luoi tbody tr:hover td:not(.so-dong){background:var(--xanh-nhat)}
.luoi tr.chon-dong td:not(.so-dong){background:var(--chon)!important}
.luoi tr.lech td:not(.so-dong){background:var(--lech)!important}
.luoi .s{text-align:right;font-variant-numeric:tabular-nums}.luoi .giua{text-align:center}
.luoi td.rd{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;vertical-align:top;line-height:1.3}
.luoi td.w-da{min-width:300px;max-width:300px}.luoi td.w-hm{min-width:200px;max-width:200px}.luoi td.w-nt{min-width:230px;max-width:230px}
.luoi td{vertical-align:top}.luoi td.s{white-space:nowrap}
.luoi tr.dong-dau td{background:var(--xanh-nhat);font-weight:700;border-bottom:2px solid var(--xanh);position:sticky;top:23px;z-index:2}.luoi tr.dong-dau td.so-dong{z-index:4;background:var(--xam)}
.luoi tr.dong-gc td{border:0;background:none!important;max-width:none;overflow:visible;white-space:normal;padding:2px 6px;height:auto}.luoi tr.dong-gc td.so-dong{background:var(--xam)!important;border:1px solid var(--vien)}
.dong-gc .gc{position:sticky;left:42px;width:calc(100vw - 60px);max-width:100%;overflow-wrap:anywhere;color:var(--mo);font-style:italic;line-height:1.35}.dong-gc.tua .gc{font-size:15px;font-weight:700;font-style:normal;color:var(--chu)}
.tab-xem td{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;vertical-align:top;min-width:60px;max-width:320px}.tab-xem td.s{white-space:nowrap}
.o-tim-tab{width:320px}.nut{padding:4px 12px;border:1px solid var(--vien);background:var(--xam);color:var(--chu);text-decoration:none;border-radius:2px}
.tab-sheet{overflow-x:auto;max-width:78vw}.tab-sheet a{white-space:nowrap}
.canh-bao{color:var(--do);white-space:normal;min-width:320px;max-width:520px}
.trong{text-align:center;padding:30px;color:var(--mo)}
.thanh-duoi{display:flex;justify-content:space-between;align-items:flex-end;background:var(--xam);border-top:1px solid var(--vien)}
.tab-sheet{display:flex}
.tab-sheet a{padding:6px 18px;text-decoration:none;color:var(--chu);border-right:1px solid var(--vien);border-top:3px solid transparent}
.tab-sheet a.dang{background:var(--nen);font-weight:700;color:var(--xanh);border-top-color:var(--xanh)}
.trang-thai{padding:6px 12px;color:var(--mo)}
.trang-qt{flex:1;overflow:auto;padding:12px}.trang-qt h2{font-size:15px;color:var(--xanh);margin:14px 0 6px}
.hang-qt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0}.hang-qt b{min-width:130px}
.phu{color:var(--mo)}.rong{width:460px;max-width:100%}.luoi.nho td,.luoi.nho th{max-width:none;white-space:normal}
.o-goi-y{position:relative;display:inline-block}.o-du-an{width:480px;max-width:90vw}
.goi-y{position:absolute;left:0;top:100%;z-index:20;background:var(--nen);border:1px solid var(--vien);box-shadow:0 4px 14px rgba(0,0,0,.2);max-height:340px;overflow:auto;min-width:100%;width:max-content;max-width:90vw}
.goi-y .muc{padding:6px 10px;cursor:pointer;white-space:normal}.goi-y .muc:hover,.goi-y .muc.chon{background:var(--xanh-nhat)}.goi-y .phu{color:var(--mo)}
.muc-bc{margin:10px 8px 4px;color:var(--xanh);font-size:15px}.doi-chieu{margin:6px 8px}.tot-chu{color:var(--xanh)}
.luoi tr.tong td{background:var(--xanh-nhat);border-top:2px solid var(--xanh)}.luoi tr.nhom-nam td{background:var(--xam)}.luoi tr.cong td{background:var(--xanh-nhat)}
.rong-chon{max-width:260px}
.dn-khung{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}
.dn-trai{position:relative;overflow:hidden;color:#fff;padding:56px 64px;display:flex;flex-direction:column;justify-content:center;gap:22px;background:linear-gradient(145deg,#14532d 0%,#217346 55%,#2e9e63 100%)}
.dn-logo{display:flex;align-items:center;gap:14px;font-size:22px;font-weight:700;letter-spacing:.2px}
.dn-trai h2{margin:8px 0 0;font-size:30px;line-height:1.25;max-width:460px;font-weight:700}
.dn-y{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:15px;max-width:460px}
.dn-y li{padding-left:30px;position:relative;opacity:.95}
.dn-y li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.2) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><path d='M5 9.5l2.6 2.6L13 6.6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/18px no-repeat}
.dn-luoi{position:absolute;inset:auto -60px -60px auto;width:420px;height:300px;opacity:.14;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:44px 30px;transform:rotate(-6deg);border-radius:12px}
.dn-phai{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--xam)}
.dn-form{width:100%;max-width:380px;background:var(--nen);border:1px solid var(--vien);border-radius:14px;padding:34px 32px;display:grid;gap:8px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.dn-form h1{margin:0;font-size:24px;color:var(--chu)}
.dn-mo{margin:0 0 10px;color:var(--mo)}
.dn-form label{font-weight:600;margin-top:6px}
.dn-o{display:flex;align-items:center;gap:8px;border:1px solid var(--vien);border-radius:8px;padding:0 10px;background:var(--nen);color:var(--mo)}
.dn-o:focus-within{border-color:var(--xanh);box-shadow:0 0 0 3px color-mix(in srgb,var(--xanh) 22%,transparent)}
.dn-o input{flex:1;border:0;outline:0;background:transparent;padding:11px 2px;font-size:15px;color:var(--chu)}
.dn-xem{border:0;background:none;color:var(--xanh);font-weight:600;cursor:pointer;padding:4px}
.dn-nut{margin-top:14px;padding:12px;border-radius:8px;border:0;background:var(--xanh);color:#fff;font-size:15px;font-weight:700;cursor:pointer}
.dn-nut:hover{filter:brightness(1.1)}
.dn-chan{margin:10px 0 0;text-align:center;font-size:12px;color:var(--mo)}
.dn-form .tb.loi{border-radius:8px;margin:4px 0}
@media (max-width:820px){.dn-khung{grid-template-columns:1fr}.dn-trai{padding:28px 24px;min-height:0}.dn-trai h2{font-size:20px}.dn-y,.dn-luoi{display:none}.dn-phai{padding:20px}}
.dn-qr{position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin-top:18px;max-width:460px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;font-size:14px;line-height:1.5}
.dn-qr img{border-radius:8px;background:#fff;padding:4px}.dn-qr small{opacity:.85}
.lh-zalo{position:relative;cursor:pointer;color:var(--xanh);font-weight:600;outline:0}
.lh-qr{display:none;position:absolute;right:-8px;bottom:calc(100% + 10px);z-index:30;width:212px;padding:14px;text-align:center;background:var(--nen);border:1px solid var(--vien);border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.22);color:var(--chu);font-weight:400}
.lh-qr img{display:block;margin:0 auto 8px;border-radius:8px;background:#fff;padding:4px}
.lh-zalo:hover .lh-qr,.lh-zalo:focus .lh-qr,.lh-zalo:focus-within .lh-qr{display:block}
.an-cot .cot-an{display:none}
.nut-cot-an{margin-left:12px;font-size:12px;font-weight:600;padding:3px 10px}

.nut-menu,.man-che,.ngan-keo,.man-hinh{display:none}
@media (max-width:820px){
 .thanh-tren{gap:10px;padding:8px 10px}
 .nut-menu{display:block;background:none;border:1px solid rgba(255,255,255,.55);color:#fff;font-size:22px;line-height:1;padding:4px 11px;border-radius:6px}
 .td-app{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .td-ten{display:none}.man-hinh{display:inline;font-size:16px}
 .thanh-tren .phai{display:none}
 .tab-sheet{display:none}.thanh-duoi{justify-content:flex-start;font-size:12px}
 .man-che{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:40}.mo-menu .man-che{display:block}
 .ngan-keo{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;width:min(86vw,320px);z-index:50;background:var(--nen);color:var(--chu);transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto;box-shadow:4px 0 18px rgba(0,0,0,.25);visibility:hidden}
 .mo-menu .ngan-keo{transform:none;visibility:visible}
 .mo-menu{overflow:hidden}
 .nk-dau{display:flex;align-items:center;gap:8px;padding:14px 16px;background:var(--xanh);color:#fff}.nk-dau .phu{color:#d8efe0}
 .nk-dong{margin-left:auto;background:none;border:0;color:#fff;font-size:20px;padding:2px 8px}
 .nk-cq{padding:12px 16px;border-bottom:1px solid var(--vien)}.nk-cq label{display:grid;gap:6px}.nk-cq select,.nk-cq input{width:100%;min-height:42px;font-size:16px}
 .nk-tab a{display:block;padding:14px 18px;font-size:16px;color:var(--chu);text-decoration:none;border-bottom:1px solid var(--vien);border-left:4px solid transparent}
 .nk-tab a.dang{background:var(--xanh-nhat);color:var(--xanh);font-weight:700;border-left-color:var(--xanh)}
 .nk-chan{margin-top:auto;padding:12px 16px;display:grid;gap:10px;border-top:1px solid var(--vien)}
 .nk-chan summary{cursor:pointer;color:var(--xanh);font-weight:600;padding:6px 0}.nk-qr{text-align:center;padding:8px 0}.nk-qr img{border-radius:8px;background:#fff;padding:4px}
 .nk-thoat{width:100%;min-height:42px;font-size:15px}
}

@media (max-width:820px){
 body{font-size:14px}
 .dai-cong-cu{gap:8px;padding:8px 10px}.dai-cong-cu form.ngang,.dai-cong-cu>.ngang{flex:1 1 100%}.dai-cong-cu form.ngang label{flex:1 1 auto;display:flex;gap:6px;align-items:center}
 .dai-cong-cu select,.dai-cong-cu input,.dai-cong-cu button,.dai-cong-cu .nut{min-height:42px;font-size:16px}
 .dai-cong-cu select{flex:1;min-width:0}
 #o-tim{flex:1 1 0;min-width:0;width:auto}.dai-cong-cu form[action="/dong-bo"]{flex:0 0 auto}
 .o-tim-tab,.o-du-an,.rong-chon{width:100%;max-width:100%}.o-tim-tab{flex:1 1 150px;min-width:150px;width:auto}.dai-cong-cu form.ngang{flex-wrap:wrap}.o-goi-y{display:block;flex:1 1 100%}.goi-y{max-width:calc(100vw - 20px)}
 .hop-ten,.thanh-ct .fx{display:none}.noi-dung-ct{padding:6px 10px}
 .luoi .chu-cot,.luoi .so-dong{display:none}
 .luoi .tieu-de th{top:0}.luoi tr.dong-dau td{top:0}
 .luoi th,.luoi td{padding:6px 7px}
 .dong-gc .gc{left:0;width:calc(100vw - 20px)}
 .luoi input[type=checkbox]{width:22px;height:22px}
 .luoi th.chk,.luoi td.chk{position:sticky;left:0;z-index:2;min-width:46px;background:var(--nen)}
 .luoi tbody tr td.c-ct:not(.so-dong),.luoi tbody tr td.chk:not(.so-dong){background:var(--nen)}
 .luoi th.c-ct,.luoi td.c-ct{position:sticky;left:0;z-index:1;box-shadow:2px 0 3px -2px rgba(0,0,0,.35)}
 .luoi.co-tich th.c-ct,.luoi.co-tich td.c-ct{left:44px}
 .luoi.co-tich .tieu-de th.chk{z-index:6}.luoi .tieu-de th.c-ct{z-index:5}
 #nut-xn,#nut-huy{position:fixed;left:10px;right:10px;bottom:10px;z-index:30;min-height:50px;font-size:16px;box-shadow:0 4px 16px rgba(0,0,0,.35);border-radius:8px}
 body:has(#nut-xn,#nut-huy) .thanh-duoi{padding-bottom:70px}
 .trang-qt{padding:10px}.hang-qt b{min-width:0;flex:1 1 100%}.rong{width:100%}
}

.vua{width:240px;max-width:100%}.cao-vua{max-height:360px}
.chon-cq{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 14px;margin:8px 0}.chon-cq label,.khoi-tk label{display:flex;gap:6px;align-items:center}
details.tk{border:1px solid var(--vien);margin:4px 0;padding:8px 10px;border-radius:4px}details.tk summary{cursor:pointer}.khoi-tk{display:grid;gap:6px;margin:8px 0}
.them-moi{border-top:1px dashed var(--vien);margin-top:10px;padding-top:10px}
.mk-moi code{font-size:15px;background:var(--nen);padding:2px 8px;border:1px solid var(--vien);user-select:all}
@media (max-width:820px){.vua,.trang-qt input:not([type=checkbox]){width:100%}.trang-qt button{min-height:42px}.trang-qt .hang-qt input[type=checkbox]{width:auto}}

.nut-loc{display:none}
@media (max-width:820px){
 .nut-loc{display:flex;width:100%;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border:0;border-bottom:1px solid var(--vien);border-radius:0;background:var(--xam);text-align:left;font-size:14px}
 .nut-loc b{white-space:nowrap;color:var(--xanh)}.nut-loc .nl-tt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--mo)}
 .loc-gon .dai-cong-cu>*:not(#nut-xn):not(#nut-huy),.loc-gon .thanh-ct{display:none}
 .loc-gon .dai-cong-cu{padding:0;border:0;min-height:0}
 .dong-gc .gc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;cursor:pointer}
 .dong-gc.tua .gc{-webkit-line-clamp:1}.dong-gc .gc.mo{display:block;-webkit-line-clamp:unset}
 .luoi td.c-ct{max-width:120px;white-space:normal;overflow-wrap:anywhere}
 .co-dinh-1 tr:not(.tieu-de) > :first-child,.co-dinh-1 tr.tieu-de > :first-child{position:sticky;left:0;z-index:2;max-width:110px;white-space:normal;overflow-wrap:anywhere;box-shadow:2px 0 3px -2px rgba(0,0,0,.35)}
 .co-dinh-1 tr:not(.tong):not(.cong):not(.nhom-nam):not(.tieu-de) > td:first-child{background:var(--nen)}
 .co-dinh-1 tr.tong > :first-child{position:static;max-width:none;box-shadow:none}
 .luoi tr.dong-dau td.c-ct:not(.so-dong){background:var(--xanh-nhat);z-index:5}
 .tab-xem td.w-dai,.tab-xem th.w-dai{min-width:260px;max-width:340px}.tab-xem td.w-vua,.tab-xem th.w-vua{min-width:170px}
}
.tab-xem td.w-dai{min-width:260px}.tab-xem td.w-vua{min-width:170px}
.the-tk{border:1px solid var(--vien);border-radius:4px;margin:6px 0;padding:6px 10px}.the-tk details.tk{border:0;padding:2px 0;margin:0}
