:root{--ink:#1B2A33;--muted:#55626B;--line:#E1DED5;--bg:#F6F5F1;--teal:#0F6B6B;--deep:#123F44;--amber:#B45309;--slate:#5B6B76;--grey:#C9CFD3}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Be Vietnam Pro",system-ui,"Segoe UI",sans-serif}
button{font:inherit;cursor:pointer}
button:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
header{background:linear-gradient(180deg,rgba(18,63,68,.78) 0%,rgba(18,63,68,.92) 100%),url(dien-bien-phu.webp) center 40%/cover var(--deep);color:#fff;padding:40px 24px 0}
.wrap{max-width:1160px;margin:0 auto}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#BFE3E0}
h1{margin:8px 0;font-size:36px;line-height:1.2}
header p{margin:0 0 28px;font-size:16px;line-height:1.5;color:#D6ECEA;max-width:720px}
.tabs{display:flex;flex-wrap:wrap;gap:4px}
.tab{height:48px;padding:0 20px;font-size:15px;font-weight:600;border:0;border-radius:8px 8px 0 0;background:transparent;color:#D6ECEA}
.tab[aria-selected=true]{background:var(--bg);color:var(--deep)}
main{max-width:1160px;margin:0 auto;padding:32px 24px 64px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-top:32px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.kpi small{display:block;font-size:14px;color:var(--muted);line-height:1.4;min-height:40px}
.kpi b{display:block;font-size:36px;margin-top:8px}
h2{margin:0;font-size:20px}
.sub{font-size:14px;color:var(--muted)}
.bar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;width:100%;min-height:44px;padding:6px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink);margin-bottom:6px}
.bar-row[aria-pressed=true]{background:#E4F1EF;border-color:var(--teal)}
.bar-row .nm{flex:1 1 200px;font-size:14px;font-weight:500;text-align:left}
.bar-row .bar{flex:2 1 260px;display:flex;height:18px;border-radius:4px;overflow:hidden;background:#ECEAE3}
.bar-row .tt{flex:0 0 64px;text-align:right;font-size:14px;font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:16px 24px;margin:16px 0;font-size:13px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:8px;vertical-align:-1px}
.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:20px}
.gh{display:flex;justify-content:space-between;border-bottom:2px solid;padding-bottom:6px;margin-bottom:8px;font-weight:600}
.gi{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:6px 0;border-bottom:1px solid #ECEAE3}
.gi span:last-child{font-weight:600}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.btn{height:44px;padding:0 20px;font-size:14px;font-weight:600;color:#fff;background:var(--teal);border:0;border-radius:8px}
input[type=search]{width:100%;height:48px;padding:0 16px;font-size:16px;border:1px solid #B9B5A8;border-radius:8px;color:var(--ink)}
label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{min-height:36px;padding:0 14px;font-size:13px;font-weight:500;border-radius:18px;background:#fff;color:var(--ink);border:1px solid #B9B5A8}
.chip[aria-pressed=true]{background:var(--deep);color:#fff;border-color:var(--deep)}
.item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin-bottom:10px}
.item .s{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--teal)}
.item .n{font-size:15px;font-weight:600;line-height:1.5;margin-top:4px}
.item .r{font-size:14px;line-height:1.5;color:var(--muted);margin-top:8px}
.item .r b{color:#8A4A0B}
.item .c{font-size:13px;color:var(--muted);margin-top:6px;padding-left:12px;border-left:2px solid var(--line)}
.cb{display:grid;grid-template-columns:minmax(150px,240px) 1fr 72px;align-items:center;gap:12px;padding:5px 0;font-size:14px}
.cb .tr{height:22px;background:#ECEAE3;border-radius:4px;overflow:hidden}
.cb .tr span{display:block;height:100%;border-radius:4px}
.cb .v{text-align:right;font-weight:600}
#heat{border-collapse:separate;border-spacing:2px;width:100%;min-width:640px;font-size:14px}
#heat th{text-align:right;font-size:13px;font-weight:600;padding:6px 10px;color:var(--muted)}
#heat th:first-child,#heat td:first-child{text-align:left}
#heat td{text-align:right;padding:8px 10px;border-radius:4px}
#heat td:first-child{font-weight:500;padding-left:0}
@media(max-width:600px){.cb{grid-template-columns:1fr 60px}.cb .tr{grid-column:1/3;order:3}}
.msg{font-size:13px;color:#8A4A0B}
[hidden]{display:none!important}
/* ===== hieu ung muot ===== */
:root{--ease:cubic-bezier(.22,.61,.36,1)}
html{scroll-behavior:smooth}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
header>.wrap>*{animation:fadeUp .6s var(--ease) backwards}
header .eyebrow{animation-delay:.05s}header h1{animation-delay:.15s}header p{animation-delay:.25s}header .tabs{animation-delay:.35s}
header{background-size:auto,110%;animation:fadeIn .8s var(--ease)}
.tab{transition:background-color .25s var(--ease),color .25s var(--ease),transform .2s var(--ease)}
.tab:not([aria-selected=true]):hover{background:rgba(255,255,255,.12);color:#fff}
.tab:active{transform:translateY(1px)}
#overview:not([hidden]),#compare:not([hidden]),#list:not([hidden]){animation:fadeUp .4s var(--ease)}
.kpi{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);animation:fadeUp .5s var(--ease) backwards}
.kpi:nth-child(2){animation-delay:.07s}.kpi:nth-child(3){animation-delay:.14s}.kpi:nth-child(4){animation-delay:.21s}.kpi:nth-child(5){animation-delay:.28s}
.kpi:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(18,63,68,.12);border-color:#C9D8D6}
.card{transition:box-shadow .3s var(--ease)}
.card:hover{box-shadow:0 8px 28px rgba(18,63,68,.07)}
.bar-row{transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}
.bar-row:hover{background:#F0F6F5;transform:translateX(3px)}
.bar-row[aria-pressed=true]:hover{background:#E4F1EF}
.intro .bar-row .bar>span{transform-origin:left;animation:grow .9s var(--ease) backwards}
.intro .cb .tr span{transform-origin:left;animation:grow .9s var(--ease) backwards}
.cb .tr span{transition:width .5s var(--ease)}
.btn{transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}
.btn:hover{background:#0B5757;transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,107,107,.3)}
.btn:active{transform:translateY(0);box-shadow:none}
.chip{transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}
.chip:hover{border-color:var(--teal);transform:translateY(-1px)}
input[type=search]{transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
input[type=search]:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,107,107,.15);outline:0}
.item{transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);animation:fadeUp .3s var(--ease) backwards}
.item:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(18,63,68,.09);border-color:#C9D8D6}
.gi{transition:background-color .15s}
.gi:hover{background:#F6F5F1}
#heat td{transition:transform .15s var(--ease),box-shadow .15s}
#heat td:hover{transform:scale(1.06);box-shadow:0 2px 8px rgba(0,0,0,.18);position:relative}
/* ===== thanh menu kieu pill (tham khao xtratheme supermarket) ===== */
:root{--nav:#1C3E56;--navdeep:#122D40;--mint:#00E58A;--hot:#FF4C3B}
header{padding-bottom:28px}
.tabs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;background:var(--nav);border-radius:100px;box-shadow:0 10px 30px rgba(8,24,36,.35),inset 0 0 0 1px rgba(255,255,255,.06);max-width:100%}
.tab{position:relative;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 24px;font-size:16px;font-weight:500;color:#fff;background:transparent;border-radius:100px}
.tab:not([aria-selected=true]):hover{background:rgba(255,255,255,.1);color:var(--mint)}
.tab[aria-selected=true]{background:var(--mint);color:var(--navdeep);font-weight:600;box-shadow:0 6px 16px rgba(0,229,138,.35)}
.tab .badge{font-size:11px;font-weight:700;line-height:1;padding:4px 8px;border-radius:100px;background:var(--hot);color:#fff;letter-spacing:.02em}
.tab:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.chip{border-radius:100px;padding:0 18px;border-color:#C7D3DA}
.chip:hover{border-color:var(--nav);color:var(--nav)}
.chip[aria-pressed=true]{background:var(--nav);border-color:var(--nav);color:#fff;box-shadow:0 4px 12px rgba(28,62,86,.3)}
.btn{background:var(--nav);border-radius:100px;padding:0 26px}
.btn:hover{background:var(--navdeep);color:var(--mint);box-shadow:0 6px 16px rgba(18,45,64,.35)}
input[type=search]{border-radius:100px;padding:0 22px}
.bar-row{border-radius:100px}
.bar-row[aria-pressed=true]{background:#E3F8EF;border-color:var(--mint)}
/* ===== the KPI hien dai ===== */
.kpis{gap:18px}
.kpi{--c:#1B2A33;position:relative;overflow:hidden;padding:22px 22px 20px;border:1px solid rgba(28,62,86,.08);border-radius:20px;background:linear-gradient(160deg,#fff 55%,color-mix(in srgb,var(--c) 7%,#fff));box-shadow:0 1px 2px rgba(18,45,64,.04),0 8px 24px rgba(18,45,64,.06)}
.kpi::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 40%,#fff))}
.kpi .ico{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);transition:transform .3s var(--ease),background-color .3s}
.kpi:hover .ico{transform:rotate(-8deg) scale(1.08);background:color-mix(in srgb,var(--c) 20%,#fff)}
.kpi small{min-height:40px;margin-top:14px;font-size:13.5px;font-weight:500;letter-spacing:.01em}
.kpi b{font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-top:6px;font-variant-numeric:tabular-nums}
.kpi .meter{height:6px;border-radius:100px;background:#E8ECEF;margin-top:14px;overflow:hidden}
.kpi .meter span{display:block;height:100%;border-radius:100px;background:var(--c);transform-origin:left;animation:grow 1.1s var(--ease) .3s backwards}
.kpi em{display:block;margin-top:8px;font-size:12px;font-style:normal;color:var(--muted)}
.kpi:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(18,45,64,.05),0 16px 36px rgba(18,45,64,.13)}
/* ===== nen mau sinh dong ===== */
body{background:
  radial-gradient(60rem 40rem at 105% 28%,rgba(0,229,138,.13),transparent 60%),
  radial-gradient(50rem 36rem at -10% 55%,rgba(56,140,220,.14),transparent 60%),
  radial-gradient(46rem 34rem at 100% 90%,rgba(245,166,35,.13),transparent 60%),
  linear-gradient(180deg,#EEF5F7 0%,#F6F5F1 45%,#F3F7F4 100%) fixed}
header{background:
  radial-gradient(34rem 18rem at 88% 0%,rgba(0,229,138,.38),transparent 65%),
  radial-gradient(30rem 16rem at 8% 100%,rgba(56,140,220,.4),transparent 65%),
  linear-gradient(180deg,rgba(18,63,68,.72) 0%,rgba(18,45,64,.9) 100%),
  url(dien-bien-phu.webp) center 40%/cover var(--navdeep)}
.kpi:nth-child(1){--c:#1C3E56 !important;background:linear-gradient(150deg,#fff 30%,#DCE9F4)}
.kpi:nth-child(2){--c:#0F8A6B !important;background:linear-gradient(150deg,#fff 30%,#D3F5E6)}
.kpi:nth-child(3){--c:#D9730D !important;background:linear-gradient(150deg,#fff 30%,#FFE6C7)}
.kpi:nth-child(4){--c:#5B5BD6 !important;background:linear-gradient(150deg,#fff 30%,#E2E1FB)}
.kpi:nth-child(5){--c:#D6455D !important;background:linear-gradient(150deg,#fff 30%,#FCDDE3)}
.kpi b{color:var(--c)!important}
.card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.88));backdrop-filter:blur(6px);border-color:rgba(28,62,86,.09)}
#detail.card{background:linear-gradient(160deg,#fff 40%,#EAF7F2)}
.gh{border-radius:10px 10px 0 0;padding:8px 12px;background:color-mix(in srgb,currentColor 9%,#fff)}
.gi{padding-left:12px;padding-right:12px}
.item{border-left:4px solid #19B58A;background:linear-gradient(90deg,#F1FBF7,#fff 30%)}
.item:nth-child(3n+2){border-left-color:#5B5BD6;background:linear-gradient(90deg,#F2F2FD,#fff 30%)}
.item:nth-child(3n){border-left-color:#E08A1E;background:linear-gradient(90deg,#FFF6EA,#fff 30%)}
.chip{background:#fff}
/* ===== khung co cau 2026 ===== */
#overview>.card{padding:32px;border-radius:28px;box-shadow:0 1px 2px rgba(18,45,64,.04),0 24px 60px -12px rgba(18,45,64,.14)}
#overview>.card h2{font-size:24px;letter-spacing:-.02em}
#overview>.card .sub{margin:6px 0 0}
.legend{gap:8px;margin:20px 0 22px}
.legend span{display:inline-flex;align-items:center;padding:7px 14px 7px 12px;border-radius:100px;background:rgba(28,62,86,.05);font-weight:500;transition:background-color .2s}
.legend span:hover{background:rgba(28,62,86,.1)}
.legend i{margin-right:8px;border-radius:50%;width:10px;height:10px;vertical-align:0}
#rows{display:grid;gap:8px}
.bar-row{margin:0;padding:12px 18px;border-radius:18px;border:1px solid transparent;background:rgba(28,62,86,.028);position:relative;gap:10px 20px;transition:background-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease),border-color .25s}
.bar-row:hover{background:#fff;box-shadow:0 8px 24px -6px rgba(18,45,64,.16);transform:translateY(-2px)}
.bar-row[aria-pressed=true]{background:linear-gradient(100deg,#E6FBF2,#fff 70%);border-color:rgba(0,229,138,.55);box-shadow:0 10px 28px -8px rgba(0,180,110,.3)}
.bar-row[aria-pressed=true]::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:4px;border-radius:0 4px 4px 0;background:var(--mint)}
.bar-row .nm{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;letter-spacing:-.005em}
.rk{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.04em;color:#7A8791;min-width:26px;height:26px;display:inline-grid;place-items:center;border-radius:9px;background:rgba(28,62,86,.07);flex:none;transition:background-color .25s,color .25s}
.bar-row[aria-pressed=true] .rk,.bar-row:hover .rk{background:var(--nav);color:#fff}
.bar-row .bar{height:14px;gap:3px;background:transparent;border-radius:100px;overflow:hidden}
.bar-row .bar>span{border-radius:100px;min-width:4px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.25)}
.bar-row .bar>span[style*="width: 0%"],.bar-row .bar>span[style*="width:0.00%"]{display:none}
.bar-row .bar>span:first-child{background-image:linear-gradient(90deg,#0B5A5A,#14948F)!important}
.bar-row .tt{flex:0 0 auto;min-width:56px;text-align:center;font-size:13px;font-weight:700;padding:5px 12px;border-radius:100px;background:#fff;color:var(--nav);box-shadow:0 0 0 1px rgba(28,62,86,.12)}
.bar-row[aria-pressed=true] .tt{background:var(--nav);color:#fff;box-shadow:none}
@media(max-width:600px){#overview>.card{padding:20px;border-radius:22px}}
/* ===== chi tiet linh vuc 2026 ===== */
#detail.card{padding:32px;border-radius:28px;background:linear-gradient(160deg,#fff 35%,#E9F8F2);box-shadow:0 1px 2px rgba(18,45,64,.04),0 24px 60px -12px rgba(18,45,64,.14)}
.dhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.eyebrow2{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#14948F}
#detail h2{font-size:28px;letter-spacing:-.02em;margin-top:4px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:flex;align-items:baseline;gap:8px;padding:8px 16px;border-radius:100px;background:#fff;box-shadow:0 0 0 1px rgba(28,62,86,.1);font-size:13px;color:var(--muted)}
.pill b{font-size:17px;color:var(--nav)}
.pill.tot{background:var(--nav);box-shadow:none;color:#BFD3E0}.pill.tot b{color:#fff}
#detail .groups{gap:16px;margin-top:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.gbox{--g:#0F6B6B;position:relative;padding:20px;border-radius:22px;background:linear-gradient(170deg,#fff 45%,color-mix(in srgb,var(--g) 9%,#fff));border:1px solid color-mix(in srgb,var(--g) 18%,#fff);animation:fadeUp .45s var(--ease) backwards;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.gbox:hover{transform:translateY(-3px);box-shadow:0 14px 30px -10px color-mix(in srgb,var(--g) 40%,transparent)}
.gbox.empty{background:rgba(28,62,86,.025);border-style:dashed;border-color:rgba(28,62,86,.16)}
.gbox.empty:hover{transform:none;box-shadow:none}
.gh2{display:flex;align-items:center;gap:10px;color:var(--g);font-weight:600;font-size:14px}
.gico{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:11px;background:color-mix(in srgb,var(--g) 14%,#fff)}
.gbig{display:flex;align-items:baseline;gap:10px;margin:14px 0 12px}
.gbig b{font-size:40px;line-height:1;letter-spacing:-.02em;color:var(--g);font-variant-numeric:tabular-nums}
.gbig em{font-style:normal;font-size:12px;color:var(--muted)}
.gbox.empty .gbig b{color:#9AA7B0}
.gi2{padding:10px 0;border-top:1px solid color-mix(in srgb,var(--g) 12%,#fff)}
.gtop{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.35}
.gtop b{color:var(--g);font-variant-numeric:tabular-nums}
.gm{height:5px;border-radius:100px;background:color-mix(in srgb,var(--g) 12%,#fff);margin-top:8px;overflow:hidden}
.gm span{display:block;height:100%;min-width:4px;border-radius:100px;background:var(--g);transform-origin:left;animation:grow .7s var(--ease) backwards}
.none{font-size:13px;color:#8996A0;padding-top:4px}
@media(max-width:600px){#detail.card{padding:20px;border-radius:22px}.gbig b{font-size:34px}}
/* ===== glass + bento (hoc tu mau AI dashboard) ===== */
.kpis{grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:minmax(150px,auto)}
.kpi:nth-child(1){grid-row:span 2;grid-column:1;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:radial-gradient(120% 90% at 0% 0%,#2A5C80 0%,#1C3E56 45%,#122D40 100%)!important;border-color:transparent;color:#fff}
.kpi:nth-child(1)::before{display:none}
.kpi:nth-child(1) .ico{position:absolute;top:24px;left:24px;background:rgba(255,255,255,.14);color:#7CF2C3;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.kpi:nth-child(1) small{color:#BFD3E0;font-size:15px;min-height:0}
.kpi:nth-child(1) b{color:#fff!important;font-size:68px;margin-top:8px}
.kpi:nth-child(1) em{color:#8FB0C6}
.kpi:nth-child(1)::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,138,.45),transparent 65%);filter:blur(6px);animation:orb 6s ease-in-out infinite}
@keyframes orb{50%{transform:translate(-18px,22px) scale(1.12)}}
.kpi:nth-child(n+2){backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 10px 30px -10px rgba(18,45,64,.18)}
.kpi:nth-child(2){background:linear-gradient(150deg,rgba(255,255,255,.85) 20%,rgba(190,245,222,.75))!important}
.kpi:nth-child(3){background:linear-gradient(150deg,rgba(255,255,255,.85) 20%,rgba(255,226,186,.8))!important}
.kpi:nth-child(4){background:linear-gradient(150deg,rgba(255,255,255,.85) 20%,rgba(214,212,252,.8))!important}
.kpi:nth-child(5){background:linear-gradient(150deg,rgba(255,255,255,.85) 20%,rgba(253,208,218,.8))!important}
.kpi:nth-child(n+2) small{min-height:0;margin-top:12px}
/* vet sang theo con tro */
.kpi,.gbox,.bar-row{--mx:50%;--my:50%}
.kpi::after,.gbox::after{pointer-events:none}
.kpi:nth-child(n+2)::after,.gbox::after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(255,255,255,.75),transparent 60%)}
.kpi:nth-child(n+2):hover::after,.gbox:hover::after{opacity:1}
@media(max-width:1000px){.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.kpi:nth-child(1){grid-row:auto;grid-column:1/-1}.kpi:nth-child(1) b{font-size:52px}.kpi:nth-child(1) .ico{position:static;margin-bottom:auto}}
/* ===== bieu do truc quan (cam hung tu dashboard mau) ===== */
.viz{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:20px;margin-top:20px}
.viz .card{margin-top:0}
.vcard{border-radius:28px;padding:26px;box-shadow:0 1px 2px rgba(18,45,64,.04),0 24px 60px -12px rgba(18,45,64,.12)}
.vcard h3{margin:0;font-size:18px;letter-spacing:-.01em}
.vcard .sub{margin:4px 0 0}
.dwrap{position:relative;width:230px;max-width:100%;margin:22px auto 18px}
.donut{display:block;width:100%;height:auto}
.donut .seg{transition:stroke-width .25s var(--ease),opacity .25s;animation:dash 1.1s var(--ease) backwards}
@keyframes dash{from{stroke-dasharray:0 600}}
.dwrap.hl .seg{opacity:.28}.dwrap.hl .seg.on{opacity:1;stroke-width:28}
.dcenter{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 40px;pointer-events:none}
.dcenter b{font-size:32px;letter-spacing:-.02em;color:var(--nav);line-height:1.1;font-variant-numeric:tabular-nums}
.dcenter span{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.2}
.dlg{display:grid;gap:4px}
.dli{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;font-size:13px;transition:background-color .2s;cursor:default}
.dli:hover{background:rgba(28,62,86,.06)}
.dli i{width:10px;height:10px;border-radius:50%;flex:none}.dli span{flex:1}.dli b{color:var(--nav)}
.klg{display:flex;gap:8px;flex-wrap:wrap}
.klg span{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;padding:6px 12px;border-radius:100px;background:rgba(28,62,86,.05)}
.klg i{width:10px;height:10px;border-radius:50%}
.cols{position:relative;margin-top:22px;padding-left:36px;height:290px}
.cgrid{position:absolute;left:0;right:0;top:0;bottom:30px;display:flex;flex-direction:column;justify-content:space-between}
.gl{position:relative;height:0;border-top:1px dashed rgba(28,62,86,.13)}
.gl span{position:absolute;left:0;top:-8px;font-size:11px;color:#8996A0;width:30px}
.cbars{position:absolute;left:36px;right:0;top:0;bottom:0;display:flex;justify-content:space-between;gap:4px}
.cg{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;border:0;background:transparent;padding:0;border-radius:12px;position:relative;transition:background-color .2s}
.cg:hover{background:rgba(28,62,86,.06)}
.cg em{font-style:normal;font-size:11px;font-weight:600;color:#8996A0;height:20px;line-height:20px;transition:color .2s}
.cg:hover em{color:var(--nav)}
.pair{display:flex;align-items:flex-end;gap:3px;width:100%;flex:1;justify-content:center;padding:0 4px}
.c{display:block;width:42%;max-width:16px;min-height:2px;border-radius:8px 8px 3px 3px;transform-origin:bottom;animation:rise .8s var(--ease) backwards;transition:filter .2s}
.c.a{background:linear-gradient(180deg,#14948F,#0B5A5A)}.c.b{background:linear-gradient(180deg,#FFC58A,#F2A14B)}
.cg:hover .c{filter:saturate(1.2) brightness(1.05)}
@keyframes rise{from{transform:scaleY(0)}}
.ctip{position:absolute;top:-6px;transform:translate(-50%,-100%);z-index:3;background:#122D40;color:#fff;border-radius:14px;padding:10px 14px;font-size:12px;display:flex;flex-direction:column;gap:3px;box-shadow:0 12px 28px -6px rgba(18,45,64,.45);pointer-events:none;white-space:nowrap;animation:fadeIn .15s}
.ctip[hidden]{display:none}
.ctip b{font-size:13px;margin-bottom:2px}.ctip .ta::before,.ctip .tb::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}
.ctip .ta::before{background:#3DDBB5}.ctip .tb::before{background:#F2A14B}
@media(max-width:900px){.viz{grid-template-columns:1fr}}
@media(max-width:600px){.cols{height:240px;padding-left:30px}.cbars{left:30px}.vcard{padding:18px;border-radius:22px}}
/* ===== tab so sanh + danh muc 2026 ===== */
#compare>.card,#list>.card{border-radius:28px;padding:30px;box-shadow:0 1px 2px rgba(18,45,64,.04),0 24px 60px -12px rgba(18,45,64,.12)}
#compare h2,#list>.card h2{font-size:24px;letter-spacing:-.02em}
#compare .sub,#list .card .sub{margin:6px 0 0}
#metrics{margin-top:22px}
#modes{display:inline-flex;gap:4px;padding:5px;margin-top:14px;background:rgba(28,62,86,.07);border-radius:100px}
#modes .chip{border:0;background:transparent;min-height:34px;box-shadow:none}
#modes .chip:hover{transform:none;color:var(--nav);background:rgba(255,255,255,.6)}
#modes .chip[aria-pressed=true]{background:#fff;color:var(--nav);box-shadow:0 2px 8px rgba(18,45,64,.15)}
.cb{grid-template-columns:minmax(190px,280px) 1fr 76px;gap:16px;padding:8px 12px;margin:0 -12px;border-radius:16px;animation:fadeUp .4s var(--ease) backwards;transition:background-color .2s}
.cb:hover{background:rgba(28,62,86,.045)}
.cb .cn{display:flex;align-items:center;gap:12px;font-weight:600}
.cb .tr{height:14px;border-radius:100px;background:rgba(28,62,86,.07)}
.cb .tr span{border-radius:100px;transform-origin:left;animation:grow .8s var(--ease) backwards;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.28);background-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.22))}
.cb .v{font-size:13px;text-align:center;padding:4px 10px;border-radius:100px;background:#fff;color:var(--nav);box-shadow:0 0 0 1px rgba(28,62,86,.12)}
.rk.top{background:linear-gradient(135deg,#FFE08A,#F2A14B);color:#5A3300}
#heat{border-spacing:4px}
#heat th{font-size:12px;padding:8px 10px;vertical-align:bottom;line-height:1.3}
#heat td{border-radius:10px;font-weight:600;font-size:13px;transition:transform .15s var(--ease),box-shadow .15s}
#heat td:first-child{font-weight:600;background:none!important;color:var(--ink)!important}
#heat td:first-child:hover{transform:none;box-shadow:none}
#compare .card+.card h2{font-size:20px}
/* danh muc */
#q{margin-top:0;height:54px;padding:0 24px 0 54px;border-radius:100px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%231C3E56' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 20px center no-repeat;border-color:rgba(28,62,86,.2)}
#list label{margin-top:22px}
.chip .cnt{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:700;background:rgba(28,62,86,.09);color:var(--nav);transition:background-color .2s,color .2s}
.chip[aria-pressed=true] .cnt{background:var(--mint);color:var(--navdeep)}
#list>.head{margin:22px 4px 14px!important}
#count{display:inline-block;padding:6px 14px;border-radius:100px;background:rgba(28,62,86,.07);font-weight:600;color:var(--nav)}
.item{--h:160;position:relative;padding:20px 22px 20px 26px;border:1px solid rgba(28,62,86,.08);border-left:0;border-radius:20px;background:linear-gradient(100deg,hsl(var(--h) 70% 96%),#fff 38%);box-shadow:0 1px 2px rgba(18,45,64,.04),0 8px 24px -12px rgba(18,45,64,.14)}
.item::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:5px;border-radius:0 6px 6px 0;background:hsl(var(--h) 60% 48%)}
.item:nth-child(3n+2),.item:nth-child(3n){border-left:0;background:linear-gradient(100deg,hsl(var(--h) 70% 96%),#fff 38%)}
.item .s{display:inline-block;padding:4px 12px;border-radius:100px;background:hsl(var(--h) 60% 90%);color:hsl(var(--h) 60% 26%);letter-spacing:.03em}
.item .n{font-size:16px;margin-top:10px;letter-spacing:-.005em}
.item .r{margin-top:12px;padding:10px 14px;border-radius:12px;background:#FFF6EA;color:#6B4A1F;border:1px solid #F8E3C4}
.item .c{margin-top:8px;padding:6px 12px;border-left:3px solid hsl(var(--h) 50% 75%);background:rgba(28,62,86,.03);border-radius:0 10px 10px 0}
.item:nth-child(1){animation-delay:0s}.item:nth-child(2){animation-delay:.04s}.item:nth-child(3){animation-delay:.08s}.item:nth-child(4){animation-delay:.12s}.item:nth-child(5){animation-delay:.16s}.item:nth-child(n+6){animation-delay:.2s}
#more{border-radius:100px;transition:transform .2s var(--ease),box-shadow .2s,background-color .2s}
@media(max-width:600px){#compare>.card,#list>.card{padding:20px;border-radius:22px}.cb{margin:0;grid-template-columns:1fr 70px}.cb .tr{grid-column:1/3;order:3}}
/* ===== kinh mo kieu visionOS cho tab so sanh + danh muc ===== */
body::before{content:"";position:fixed;inset:-60px;z-index:-1;pointer-events:none;opacity:0;transition:opacity .7s var(--ease);background:linear-gradient(180deg,rgba(236,247,243,.35),rgba(226,240,236,.5)),url(dien-bien-phu.webp) center/cover;filter:blur(30px) saturate(1.35)}
body[data-tab=compare]::before,body[data-tab=list]::before{opacity:1}
body[data-tab=compare],body[data-tab=list]{--glass:rgba(255,255,255,.42);--glassb:rgba(255,255,255,.62);--g1:#2BB58B;--g2:#138A6B}
body[data-tab=compare] #compare .card,body[data-tab=list] #list>.card{background:var(--glass);backdrop-filter:blur(28px) saturate(1.7);-webkit-backdrop-filter:blur(28px) saturate(1.7);border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(255,255,255,.2),0 30px 70px -24px rgba(8,40,36,.35)}
body[data-tab=compare] .sub,body[data-tab=list] .sub{color:#3E4F58}
body[data-tab=compare] .chip,body[data-tab=list] .chip{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 4px 12px -6px rgba(8,40,36,.2)}
body[data-tab=compare] .chip:hover,body[data-tab=list] .chip:hover{background:rgba(255,255,255,.85);color:var(--g2)}
body[data-tab=compare] .chip[aria-pressed=true],body[data-tab=list] .chip[aria-pressed=true]{background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;border-color:transparent;box-shadow:0 8px 20px -6px rgba(19,138,107,.6),inset 0 1px 0 rgba(255,255,255,.35)}
body[data-tab=compare] #modes{background:rgba(255,255,255,.35);box-shadow:inset 0 1px 2px rgba(8,40,36,.1)}
body[data-tab=compare] #modes .chip{background:transparent;box-shadow:none;backdrop-filter:none;border:0}
body[data-tab=compare] #modes .chip[aria-pressed=true]{background:#fff;color:var(--g2);box-shadow:0 3px 10px rgba(8,40,36,.18)}
body[data-tab=compare] .cb:hover{background:rgba(255,255,255,.5)}
body[data-tab=compare] .cb .tr{background:rgba(255,255,255,.55);box-shadow:inset 0 1px 2px rgba(8,40,36,.12)}
body[data-tab=compare] .cb .v{background:rgba(255,255,255,.75);box-shadow:inset 0 1px 0 #fff,0 2px 6px -2px rgba(8,40,36,.2)}
body[data-tab=compare] .rk{background:rgba(255,255,255,.65)}
body[data-tab=compare] .rk.top{background:linear-gradient(135deg,#7CF2C3,var(--g1));color:#04372A}
body[data-tab=compare] #heat td:first-child{background:none}
body[data-tab=compare] #heat th{color:#3E4F58}
body[data-tab=list] #q{background-color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.9);box-shadow:inset 0 2px 6px rgba(8,40,36,.08)}
body[data-tab=list] #q:focus{background-color:#fff;border-color:var(--g1);box-shadow:0 0 0 4px rgba(43,181,139,.22)}
body[data-tab=list] .chip .cnt{background:rgba(8,40,36,.08)}
body[data-tab=list] .chip[aria-pressed=true] .cnt{background:rgba(255,255,255,.28);color:#fff}
body[data-tab=list] #count{background:rgba(255,255,255,.75)}
body[data-tab=list] .btn{background:linear-gradient(135deg,var(--g1),var(--g2));box-shadow:0 8px 20px -6px rgba(19,138,107,.55),inset 0 1px 0 rgba(255,255,255,.35)}
body[data-tab=list] .btn:hover{color:#fff;filter:brightness(1.07)}
body[data-tab=list] .item{background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 18px 40px -22px rgba(8,40,36,.4)}
body[data-tab=list] .item:hover{background:var(--glassb);border-color:#fff}
body[data-tab=list] .item .s{background:rgba(255,255,255,.7);box-shadow:inset 0 1px 0 #fff}
body[data-tab=list] .item .r{background:rgba(255,246,234,.75);border-color:rgba(248,227,196,.9)}
body[data-tab=list] .item .c{background:rgba(255,255,255,.45)}
/* ===== tong quan: kinh mo ===== */
body[data-tab=overview]::before{opacity:1}
body[data-tab=overview]{--glass:rgba(255,255,255,.42);--glassb:rgba(255,255,255,.66);--g1:#2BB58B;--g2:#138A6B}
body[data-tab=overview] .viz .card,body[data-tab=overview] #overview>.card,body[data-tab=overview] #detail.card{background:var(--glass);backdrop-filter:blur(28px) saturate(1.7);-webkit-backdrop-filter:blur(28px) saturate(1.7);border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(255,255,255,.2),0 30px 70px -24px rgba(8,40,36,.35)}
body[data-tab=overview] .sub{color:#3E4F58}
/* the KPI */
body[data-tab=overview] .kpi:nth-child(n+2){border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 22px 44px -22px rgba(8,40,36,.4)}
body[data-tab=overview] .kpi:nth-child(2){background:linear-gradient(150deg,rgba(255,255,255,.55) 10%,rgba(120,235,190,.55))!important}
body[data-tab=overview] .kpi:nth-child(3){background:linear-gradient(150deg,rgba(255,255,255,.55) 10%,rgba(255,200,130,.55))!important}
body[data-tab=overview] .kpi:nth-child(4){background:linear-gradient(150deg,rgba(255,255,255,.55) 10%,rgba(176,172,250,.55))!important}
body[data-tab=overview] .kpi:nth-child(5){background:linear-gradient(150deg,rgba(255,255,255,.55) 10%,rgba(250,170,190,.55))!important}
body[data-tab=overview] .kpi .meter{background:rgba(255,255,255,.6);box-shadow:inset 0 1px 2px rgba(8,40,36,.12)}
body[data-tab=overview] .kpi:nth-child(n+2) em{color:#3E4F58}
/* bieu do */
body[data-tab=overview] .donut circle:first-child{stroke:rgba(255,255,255,.55)}
body[data-tab=overview] .dli:hover{background:rgba(255,255,255,.55)}
body[data-tab=overview] .klg span,body[data-tab=overview] .legend span{background:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 #fff}
body[data-tab=overview] .cg:hover{background:rgba(255,255,255,.5)}
body[data-tab=overview] .gl{border-top-color:rgba(8,40,36,.15)}
body[data-tab=overview] .bar-row{background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.55)}
body[data-tab=overview] .bar-row:hover{background:var(--glassb);border-color:#fff}
body[data-tab=overview] .bar-row[aria-pressed=true]{background:linear-gradient(100deg,rgba(124,242,195,.55),rgba(255,255,255,.6) 70%);border-color:rgba(43,181,139,.7)}
body[data-tab=overview] .bar-row .bar{background:rgba(255,255,255,.3)}
body[data-tab=overview] .rk{background:rgba(255,255,255,.65)}
body[data-tab=overview] .bar-row .tt{background:rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff,0 2px 6px -2px rgba(8,40,36,.2)}
body[data-tab=overview] .bar-row[aria-pressed=true] .tt{background:var(--nav)}
body[data-tab=overview] #overview .btn{background:linear-gradient(135deg,var(--g1),var(--g2));box-shadow:0 8px 20px -6px rgba(19,138,107,.55),inset 0 1px 0 rgba(255,255,255,.35)}
body[data-tab=overview] #overview .btn:hover{color:#fff;filter:brightness(1.07)}
/* chi tiet */
body[data-tab=overview] .pill{background:rgba(255,255,255,.6);box-shadow:inset 0 1px 0 #fff,0 2px 8px -3px rgba(8,40,36,.2)}
body[data-tab=overview] .pill.tot{background:var(--nav)}
body[data-tab=overview] .gbox{background:linear-gradient(170deg,rgba(255,255,255,.62) 40%,color-mix(in srgb,var(--g) 16%,rgba(255,255,255,.5)));border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff}
body[data-tab=overview] .gbox.empty{background:rgba(255,255,255,.3);border:1px dashed rgba(255,255,255,.8)}
body[data-tab=overview] .gm{background:rgba(255,255,255,.55)}
body[data-tab=overview] .none{color:#52636C}
@media(prefers-reduced-motion:reduce){body::before{transition:none}}
/* ===== thanh dieu huong noi (dock) ===== */
.dock{position:fixed;left:50%;bottom:22px;z-index:50;display:flex;gap:4px;padding:8px;border-radius:100px;background:rgba(255,255,255,.5);backdrop-filter:blur(28px) saturate(1.7);-webkit-backdrop-filter:blur(28px) saturate(1.7);border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -10px rgba(18,45,64,.35);transform:translate(-50%,140%);opacity:0;pointer-events:none;transition:transform .5s var(--ease),opacity .4s}
.dock.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.dock button{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:0;border-radius:100px;background:transparent;color:var(--nav);font:600 14px/1 inherit;font-family:inherit;cursor:pointer;transition:background-color .25s var(--ease),color .25s,transform .2s var(--ease)}
.dock button span{white-space:nowrap}
.dock button svg{width:20px;height:20px;flex:none}
.dock button:hover{background:rgba(28,62,86,.08)}
.dock button:active{transform:scale(.95)}
.dock button.on{background:linear-gradient(135deg,#2BB58B,#138A6B);color:#fff;box-shadow:0 8px 18px -6px rgba(19,138,107,.6)}
.dock button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
@media(max-width:480px){.dock{bottom:14px;gap:2px;padding:6px}.dock button{padding:0 12px;gap:0}.dock button span{display:none}.dock button.on span{display:inline;margin-left:7px}}
@media(prefers-reduced-motion:reduce){.dock{transition:none}}
/* ===== bo loc danh muc: 2 buoc, luoi lua chon co thanh ty le ===== */
.fstep{display:flex;align-items:center;gap:10px;margin:24px 0 10px;flex-wrap:wrap}
.fstep label{margin:0!important;font-size:14px;font-weight:700;color:var(--nav)}
.fstep label small{font-weight:500;color:#5A6B75;margin-left:4px}
.fno{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#2BB58B,#138A6B);flex:none}
.fcur{margin-left:auto;font-size:13px;font-weight:600;color:#138A6B}
.fclr{border:0;height:30px;padding:0 14px;border-radius:100px;font:600 12px/1 inherit;font-family:inherit;background:rgba(255,255,255,.75);color:var(--nav);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(28,62,86,.15);transition:background-color .2s,transform .2s var(--ease)}
.fclr:hover{background:#fff}.fclr:active{transform:scale(.96)}.fclr[hidden]{display:none}
.fgrid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:0}
.fopt{display:flex;flex-direction:column;gap:9px;text-align:left;padding:12px 14px;border:1px solid rgba(255,255,255,.85);border-radius:16px;background:rgba(255,255,255,.55);color:var(--nav);font-family:inherit;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 6px 16px -10px rgba(8,40,36,.3);transition:transform .2s var(--ease),background-color .2s,box-shadow .2s}
.fopt:hover:not(:disabled){background:rgba(255,255,255,.9);transform:translateY(-2px)}
.fopt .ft{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.fopt .fn{font-size:13.5px;font-weight:600;line-height:1.3}
.fopt .fc{font-size:17px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.fopt .fb{display:block;height:5px;border-radius:5px;background:rgba(28,62,86,.1);overflow:hidden}
.fopt .fb i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#2BB58B,#138A6B);transform-origin:left;animation:grow .7s var(--ease) backwards}
.fopt.all{grid-column:1/-1;flex-direction:row;align-items:center;gap:16px}
.fopt.all .ft{flex:none;gap:14px}.fopt.all .fb{flex:1}
.fopt[aria-pressed=true]{background:linear-gradient(135deg,#2BB58B,#138A6B);color:#fff;border-color:transparent;box-shadow:0 12px 26px -10px rgba(19,138,107,.7),inset 0 1px 0 rgba(255,255,255,.35)}
.fopt[aria-pressed=true] .fb{background:rgba(255,255,255,.3)}.fopt[aria-pressed=true] .fb i{background:#fff}
.fopt.empty{opacity:.55;cursor:not-allowed;box-shadow:none}
.fopt .fx{font-size:11px;color:#5A6B75;font-weight:500}
.fopt:focus-visible{outline:2px solid var(--g1,#2BB58B);outline-offset:2px}
@media(max-width:600px){.fgrid{grid-template-columns:1fr 1fr}.fcur{margin-left:0;width:100%}.fopt.all{flex-direction:column;align-items:stretch;gap:9px}}
@media(max-width:600px){.tabs{border-radius:28px;display:flex}.tab{flex:1 1 auto;justify-content:center;padding:0 14px;font-size:14px;height:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== hieu nang + du phong ===== */
body::before{transform:translateZ(0);will-change:opacity}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body[data-tab=compare] #compare .card,body[data-tab=list] #list>.card,body[data-tab=overview] .viz .card,body[data-tab=overview] #overview>.card,body[data-tab=overview] #detail.card,.dock{background:rgba(255,255,255,.94)}
  body[data-tab=compare] .chip,body[data-tab=list] .chip,body[data-tab=list] .item,.fopt{background:#fff}
  .kpi:nth-child(n+2){background:#fff}
}
@media(prefers-reduced-transparency:reduce){body::before{display:none}.card,.item,.dock,.fopt,.chip{backdrop-filter:none!important;background:#fff!important}}
body{padding-bottom:96px}
.tab:focus-visible,.fopt:focus-visible,.dock button:focus-visible{outline:3px solid #00E58A;outline-offset:2px}
.dnote{font-size:12px;margin-top:12px;line-height:1.45}
/* thong bao du lieu moi */
.upd{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:12px;max-width:calc(100% - 24px);padding:10px 12px 10px 18px;border-radius:100px;background:#122D40;color:#fff;font-size:14px;box-shadow:0 18px 40px -10px rgba(8,24,36,.5);animation:fadeUp .4s var(--ease)}
.upd[hidden]{display:none}
.upd button{border:0;height:34px;padding:0 16px;border-radius:100px;font:600 13px/1 inherit;font-family:inherit;background:linear-gradient(135deg,#2BB58B,#138A6B);color:#fff;cursor:pointer}
.upd .x{width:34px;padding:0;background:rgba(255,255,255,.14);font-size:18px}
@media(max-width:600px){.upd{flex-wrap:wrap;border-radius:20px;justify-content:center}}


/* ===== thanh loc dung chung ===== */
body[data-tab=flow]::before,body[data-tab=overview]::before{opacity:1}
body[data-tab=flow]{--glass:rgba(255,255,255,.42);--glassb:rgba(255,255,255,.66);--g1:#2BB58B;--g2:#138A6B}
body[data-tab=flow] #flow>.card,body[data-tab=list] #rsum .card,.fbar,.fk{background:var(--glass,rgba(255,255,255,.5));backdrop-filter:blur(28px) saturate(1.7);-webkit-backdrop-filter:blur(28px) saturate(1.7);border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 24px 60px -24px rgba(8,40,36,.35)}
body[data-tab=flow] #flow>.card{border-radius:28px;padding:26px;margin-top:20px}
.fbar{position:relative;z-index:30;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:14px 18px;border-radius:22px;margin:0 0 18px}
.fbar[hidden]{display:none}
.fg{display:flex;flex-direction:column;gap:5px;min-width:170px;position:relative}
.fl{font-size:12px;font-weight:700;color:#3E4F58;letter-spacing:.02em;text-transform:uppercase}
.fsel{height:40px;padding:0 14px;border:1px solid rgba(28,62,86,.2);border-radius:12px;background:rgba(255,255,255,.8);font:500 14px/1 inherit;font-family:inherit;color:var(--nav);cursor:pointer;text-align:left;min-width:170px}
.fsel:focus-visible{outline:2px solid var(--g1);outline-offset:2px}
.fpop{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:max(100%,300px);max-height:340px;overflow:auto;padding:8px;border-radius:16px;background:#fff;box-shadow:0 24px 50px -12px rgba(8,24,36,.45);border:1px solid rgba(28,62,86,.12)}
.fpop[hidden]{display:none}
.fact{display:flex;gap:8px;padding:2px 4px 8px;border-bottom:1px solid rgba(28,62,86,.1);margin-bottom:6px}
.fact button{border:0;background:rgba(43,181,139,.12);color:#0E5C44;font:600 12px/1 inherit;font-family:inherit;padding:7px 12px;border-radius:100px;cursor:pointer}
.fchk{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:14px}
.fchk:hover{background:rgba(43,181,139,.1)}
.fchk input{width:16px;height:16px;accent-color:#138A6B}.fchk span{flex:1}.fchk em{font-style:normal;font-size:12px;color:#5A6B75}
.fclr2{height:40px;padding:0 16px;border:0;border-radius:100px;background:#fff;color:var(--nav);font:600 13px/1 inherit;font-family:inherit;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(28,62,86,.2)}
.fclr2[hidden]{display:none}
.fnote{flex:1 1 100%;margin:0;font-size:12.5px;color:#5A4A1F}
.fnote[hidden]{display:none}
.fbar.flow .only-ov{display:none}
.rsort{height:40px;padding:0 12px;border:1px solid rgba(28,62,86,.2);border-radius:100px;background:rgba(255,255,255,.8);font:500 13px/1 inherit;font-family:inherit;color:var(--nav);margin-right:10px}

/* ===== ty le tham quyen + dich nhan ===== */
.viz2{grid-template-columns:1.15fr 1fr}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.gg{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.gg b{font-size:13px;color:var(--nav);line-height:1.3}.gg span{font-size:12px;color:#5A6B75}
.ggs{width:100%;max-width:130px;height:auto}
.ggp{animation:ggdraw 1.1s var(--ease) backwards}@keyframes ggdraw{from{stroke-dasharray:0 400}}
.ggt{font-size:17px;font-weight:700;fill:var(--nav)}
.dest{display:grid;gap:14px;margin-top:16px}
.dr{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center}
.dn{font-size:13px;font-weight:600;color:var(--nav)}
.db{display:grid;gap:5px}
.dbar{position:relative;height:20px;border-radius:7px;background:rgba(28,62,86,.07)}
.dbar span{position:absolute;left:0;top:0;bottom:0;border-radius:7px;min-width:3px;transform-origin:left;animation:grow .8s var(--ease) backwards}
.dbar b{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--nav)}

/* ===== bang doi soat ===== */
.twrap{overflow:auto;margin-top:14px;border-radius:14px;max-height:560px}
.rt{border-collapse:separate;border-spacing:0;width:100%;min-width:900px;font-size:13.5px}
.rt th{position:sticky;top:0;z-index:2;background:#1C3E56;color:#fff;font-weight:600;font-size:12px;padding:10px 10px;text-align:left;white-space:nowrap}
.rt th.num,.rt td.num{text-align:right;font-variant-numeric:tabular-nums}
.rt td{padding:9px 10px;border-bottom:1px solid rgba(28,62,86,.08);background:rgba(255,255,255,.6)}
.rt tbody tr:hover td{background:rgba(255,255,255,.95)}
.rt .nm2{font-weight:600;color:var(--nav);white-space:nowrap}
.rt .z{color:#9AA6AE}.rt .warn{color:#B3261E;font-weight:700}
.rt tfoot td{position:sticky;bottom:0;background:#E2EAEE;font-weight:700;color:var(--nav)}
.rt td.rate{min-width:150px}.rbar{display:inline-block;vertical-align:middle;width:70px;height:8px;border-radius:5px;background:rgba(28,62,86,.1);margin-right:8px;overflow:hidden}.rbar i{display:block;height:100%;background:linear-gradient(90deg,#2BB58B,#138A6B)}
.rt th.grp{text-align:center;border-left:2px solid rgba(255,255,255,.3)}.rt th.g2{background:#B45309}.rt th.g1{background:#0F6B6B}
.rt th.tot,.rt td.tot{background:rgba(43,181,139,.16);font-weight:700}.rt th.tot{background:#0E5C44;color:#fff}
.mt{min-width:1000px}.mt thead tr:nth-child(2) th{top:37px}
#recon{margin-top:20px}

/* ===== tab phan tich luong ===== */
.fkpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.fk{--c:#1C3E56;position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 18px 16px;border-radius:22px;overflow:hidden;animation:fadeUp .5s var(--ease) backwards}
.fk::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c)}
.fk .ico{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:var(--c);background:rgba(255,255,255,.8)}
.fk small{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#3E4F58}
.fk b{font-size:34px;line-height:1.05;letter-spacing:-.02em;color:var(--c);font-variant-numeric:tabular-nums}
.fk em{font-style:normal;font-size:12.5px;color:#4B5B64;line-height:1.4}
.skwrap{overflow-x:auto;margin-top:12px}
.sk{display:block;width:100%;min-width:760px;height:auto}
.sl{transition:fill-opacity .2s}.sl:hover{fill-opacity:.62}
.sn{font-size:13px;fill:#1B2A33;paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:3px;stroke-linejoin:round}
.snb{font-weight:700}.sns{font-size:12px;fill:#3E4F58}
.hbars{display:grid;gap:10px;margin-top:16px}
.hb{display:grid;grid-template-columns:200px 1fr;gap:12px;align-items:center}
.hn{font-size:13px;font-weight:600;color:var(--nav)}
.hbs{display:grid;gap:4px}
.hbar{position:relative;height:16px;border-radius:6px;background:rgba(28,62,86,.07)}
.hbar span{position:absolute;left:0;top:0;bottom:0;border-radius:6px;min-width:2px;transform-origin:left;animation:grow .8s var(--ease) backwards}
.hbar b{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11.5px;color:var(--nav)}

/* ===== nhom ly do (tab danh muc) ===== */
#rsum{margin-bottom:6px}
.rsk{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.rkc{--c:#1C3E56;text-align:left;border:1px solid rgba(255,255,255,.8);border-radius:20px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;background:var(--glass,rgba(255,255,255,.55));cursor:pointer;font-family:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 18px 40px -22px rgba(8,40,36,.4);border-top:4px solid var(--c);transition:transform .2s var(--ease),box-shadow .2s}
.rkc:hover{transform:translateY(-2px)}
.rkc small{font-size:12px;font-weight:700;color:#3E4F58;text-transform:uppercase;letter-spacing:.03em}
.rkc b{font-size:32px;line-height:1.05;color:var(--c);font-variant-numeric:tabular-nums}.rkc em{font-style:normal;font-size:12px;color:#4B5B64}
.rkc[aria-pressed=true]{background:#fff;box-shadow:0 0 0 3px var(--c),0 18px 40px -22px rgba(8,40,36,.5)}
#rsum .viz{margin:16px 0 20px}
.rgb{display:grid;gap:8px;margin-top:16px}
.rgr{--c:#1C3E56;display:grid;grid-template-columns:minmax(120px,170px) 1fr 74px;gap:10px;align-items:center;text-align:left;border:0;background:transparent;padding:6px 8px;border-radius:12px;cursor:pointer;font-family:inherit;color:var(--nav)}
.rgr:hover{background:rgba(255,255,255,.6)}.rgr[aria-pressed=true]{background:#fff;box-shadow:0 0 0 2px var(--c)}
.rgn{font-size:13px;font-weight:600;line-height:1.3}
.rgbar{height:12px;border-radius:7px;background:rgba(28,62,86,.08);overflow:hidden}.rgbar i{display:block;height:100%;background:var(--c);border-radius:7px;animation:grow .8s var(--ease) backwards;transform-origin:left}
.rgv{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.rgv b{font-size:15px}.rgv em{font-style:normal;font-size:11px;color:#5A6B75}
.rleg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12px;color:#3E4F58}.rleg span{display:inline-flex;align-items:center;gap:6px}.rleg i{width:10px;height:10px;border-radius:50%}
.rsb{display:grid;gap:8px;margin-top:14px}
.rsr{display:grid;grid-template-columns:150px 1fr 36px;gap:10px;align-items:center;font-size:12.5px}
.rsn{font-weight:600;color:var(--nav);line-height:1.25}.rst{text-align:right;color:var(--nav)}
.rsbar{display:flex;height:18px;border-radius:6px;overflow:hidden;background:rgba(28,62,86,.06);animation:grow .8s var(--ease) backwards;transform-origin:left}.rsbar span{min-width:2px}
.gtag{display:inline-block;margin-left:8px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);border:1px solid color-mix(in srgb,var(--c) 35%,#fff)}
.gfilt{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.gcur{font-size:13px;font-weight:600;color:#138A6B}.gfilt .fclr[hidden]{display:none}

@media(max-width:900px){.viz2{grid-template-columns:1fr}.hb{grid-template-columns:1fr}.dr{grid-template-columns:1fr}}
@media(max-width:600px){.ggrid{grid-template-columns:1fr}.rgr{grid-template-columns:1fr 60px}.rgbar{grid-column:1/3;order:3}.rsr{grid-template-columns:1fr 36px}.rsbar{grid-column:1/3;order:3}.fbar{padding:12px}.fg,.fsel{min-width:100%}body[data-tab=flow] #flow>.card{padding:18px;border-radius:22px}}

.ftools{display:flex;gap:10px;margin-left:auto}
.only-btn{height:38px;padding:0 16px;font-size:13px;background:#fff!important;color:var(--nav)!important;box-shadow:inset 0 0 0 1px rgba(28,62,86,.25)!important;margin-top:10px}

/* ===== in an ===== */
@media print{
  html,body{background:#fff!important}body::before,.dock,.upd,.tabs,.ftools,.fclr2,.fact,.btn,.rsort,#more,.fgrid,.fstep,#q,.skip{display:none!important}
  header{background:#fff!important;color:#000!important;padding:0 0 10px!important}header *{color:#000!important}
  .card,.fbar,.fk,.item,.kpi,.rkc{backdrop-filter:none!important;background:#fff!important;box-shadow:none!important;border:1px solid #cfd6da!important;break-inside:avoid}
  .twrap,.skwrap{max-height:none!important;overflow:visible!important}.rt th{position:static!important}.rt tfoot td{position:static!important}
  section[hidden]{display:none!important}*{animation:none!important;transition:none!important}
}

/* ---------- nut + ngan keo "Chi tiet" (chitiet.js) ---------- */
.dt-btn{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 12px 0 14px;font-size:12.5px;font-weight:600;color:var(--c,var(--nav));background:color-mix(in srgb,var(--c,var(--nav)) 9%,#fff);border:1px solid color-mix(in srgb,var(--c,var(--nav)) 28%,#fff);border-radius:100px;transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}
.dt-btn:hover{background:var(--c,var(--nav));color:#fff;transform:translateY(-1px);box-shadow:0 6px 14px color-mix(in srgb,var(--c,var(--nav)) 30%,transparent)}
.dt-btn svg{transition:transform .2s var(--ease)}.dt-btn:hover svg{transform:translateX(2px)}
.kpi .kdet{margin-top:12px}
.dt-btn.sm{min-height:30px;padding:0 10px 0 12px;font-size:12px;white-space:nowrap}
.rt td.dtc,.rt th.dtc{text-align:center}
.dt-num{min-width:36px;min-height:28px;padding:0 6px;font:inherit;font-weight:600;color:var(--nav);background:none;border:0;border-radius:6px;text-decoration:underline;text-decoration-color:rgba(28,62,86,.3);text-underline-offset:3px;font-variant-numeric:tabular-nums}
.dt-num:hover{background:#E7EFF3;text-decoration-color:currentColor}
.btn.dt-big{display:inline-flex;align-items:center;gap:6px}
.dt-lock,.dt-lock body{overflow:hidden}
.dt-ov{position:fixed;inset:0;z-index:1000;background:rgba(10,24,34,0);transition:background-color .2s var(--ease)}
.dt-ov.on{background:rgba(10,24,34,.45)}
.dt{--c:var(--nav);position:absolute;top:0;right:0;bottom:0;width:min(760px,100%);display:flex;flex-direction:column;background:var(--bg);box-shadow:-20px 0 50px rgba(8,24,36,.25);transform:translateX(100%);transition:transform .25s var(--ease);outline:none}
.dt-ov.on .dt{transform:none}
.dt-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 16px;background:#fff;border-top:4px solid var(--c)}
.dt-eye{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c)}
.dt-hd h2{margin:4px 0 2px;font-size:22px;line-height:1.25}
.dt-scope{margin:0;font-size:13.5px;color:var(--muted)}
.dt-x{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:100px;background:#EEF1F3;color:var(--ink)}
.dt-x:hover{background:#E0E6EA}
.dt-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;padding:0 24px 14px;background:#fff;border-bottom:1px solid var(--line)}
.dt-tab{--c:var(--nav);display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:12.5px;font-weight:500;text-align:left}
.dt-tab b{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}
.dt-tab:hover{border-color:var(--c)}
.dt-tab[aria-selected=true]{background:color-mix(in srgb,var(--c) 10%,#fff);border-color:var(--c);color:var(--c);box-shadow:inset 0 -3px 0 var(--c)}
.dt-tab[aria-selected=true] b{color:var(--c)}
.dt-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;padding:14px 24px 6px}
.dt-tools input[type=search]{grid-column:1/-1}
.dt-fg[hidden]{display:none}
.dt-tools input[type=search]{height:40px;font-size:14px;border-radius:10px;border-color:#C7D3DA;background:#fff}
.dt-fg{margin:0;font-size:11.5px;font-weight:600;color:var(--muted)}
.dt-fg span{display:block;margin-bottom:4px}
.dt-fg select{width:100%;height:40px;padding:0 8px;font:inherit;font-size:13px;font-weight:500;color:var(--ink);border:1px solid #C7D3DA;border-radius:10px;background:#fff}
.dt-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 24px 10px;font-size:13px;font-weight:600;color:var(--muted)}
.dt-acts{display:flex;gap:4px}
.dt-lnk{min-height:32px;padding:0 10px;font-size:13px;font-weight:600;color:var(--nav);background:none;border:0;border-radius:8px}
.dt-lnk:hover{background:#E7EFF3}
.dt-list{flex:1;overflow-y:auto;padding:0 24px 16px;overscroll-behavior:contain}
.dt-sec h3{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;margin:0;padding:12px 2px 8px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--nav);background:var(--bg)}
.dt-sec h3 em{font-style:normal;font-size:12px;font-weight:600;padding:2px 10px;border-radius:100px;background:#E3EAEE}
.dt-it{margin-bottom:8px;background:#fff;border:1px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.dt-it[open]{border-color:color-mix(in srgb,var(--c) 45%,#fff);box-shadow:0 6px 18px rgba(18,45,64,.08)}
.dt-it summary{display:grid;grid-template-columns:32px 1fr;gap:4px 10px;padding:12px 16px;cursor:pointer;list-style:none}
.dt-it summary::-webkit-details-marker{display:none}
.dt-it summary:hover .dt-nm{color:var(--c)}
.dt-no{grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#EEF1F3;font-size:11.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.dt-it[open] .dt-no{background:var(--c);color:#fff}
.dt-nm{font-size:14px;font-weight:500;line-height:1.45;transition:color .15s}
.dt-tags{display:flex;flex-wrap:wrap;gap:6px}
.dt-tag{padding:2px 8px;font-size:11.5px;font-weight:600;border-radius:6px;background:#EEF1F3;color:#3F4D57}
.dt-tag.pc{background:#E1F0EE;color:#0B5757}.dt-tag.uq{background:#FDF0E1;color:#9A4A08}.dt-tag.au{background:#E7EEF4;color:var(--nav)}.dt-tag.th{background:#F1ECFB;color:#5B45A8}.dt-tag.none{background:#F3F3F3;color:#777}
.dt-it dl{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:8px 16px;margin:0;padding:12px 16px 16px 58px;border-top:1px dashed var(--line);font-size:13.5px;line-height:1.5}
.dt-it dt{color:var(--muted);font-weight:500}
.dt-it dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.dt mark{background:#FFE7A3;color:inherit;border-radius:3px;padding:0 1px}
.dt-empty{padding:40px 8px;text-align:center;color:var(--muted)}
.dt-src{margin:0;padding:10px 24px 14px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);background:#fff}
@media(max-width:640px){
  .dt-hd{padding:16px}.dt-tabs,.dt-list{padding-left:16px;padding-right:16px}.dt-tools{grid-template-columns:1fr 1fr;padding:12px 16px 4px}.dt-tools .dt-fg:first-of-type{grid-column:1/-1}.dt-sum,.dt-src{padding-left:16px;padding-right:16px}
  .dt-it dl{grid-template-columns:1fr;gap:2px;padding-left:16px}.dt-it dt{margin-top:6px}
}
@media print{.dt-ov,.kdet,.dtc{display:none!important}.dt-num{text-decoration:none;padding:0}}
/* nut "Xem chi tiet" tren the linh vuc (tab Danh muc) */
.fwrap{position:relative;display:flex}
.fwrap>.fopt{flex:1;min-width:0}
.fwrap.all{grid-column:1/-1}
.fwrap.has-det>.fopt{padding-bottom:50px}
.fwrap.all.has-det>.fopt{padding-bottom:12px;padding-right:150px}
.fwrap .fdet{--c:#5B4FCF;position:absolute;left:14px;bottom:12px;min-height:30px;font-size:12px}
.fwrap.all .fdet{left:auto;right:14px;bottom:50%;transform:translateY(50%)}
.fwrap.all .fdet:hover{transform:translateY(calc(50% - 1px))}
.fwrap.on .fdet{color:#fff;background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.6)}
.fwrap.on .fdet:hover{background:#fff;color:#138A6B}
@media(max-width:600px){.fwrap.all.has-det>.fopt{padding-right:14px;padding-bottom:50px}.fwrap.all .fdet{right:auto;left:14px;bottom:12px;transform:none}.fwrap.all .fdet:hover{transform:translateY(-1px)}}
@media print{.fdet{display:none!important}.fwrap.has-det>.fopt{padding-bottom:12px}}
/* the thoi han quyet dinh uy quyen (thoihan.js) */
.th-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:18px}
.th-tile{--c:#6B7C88;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;text-align:left;font:inherit;color:var(--ink);background:#fff;border:1px solid rgba(28,62,86,.1);border-left:4px solid var(--c);border-radius:14px;transition:transform .2s var(--ease),box-shadow .2s,background-color .2s}
.th-tile small{font-size:12.5px;font-weight:600;color:var(--muted)}
.th-tile b{font-size:28px;line-height:1.15;color:var(--c);font-variant-numeric:tabular-nums}
.th-tile em{font-size:12px;font-style:normal;color:var(--muted)}
.th-tile:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px rgba(18,45,64,.1)}
.th-tile[aria-pressed=true]{background:color-mix(in srgb,var(--c) 10%,#fff);border-color:var(--c);box-shadow:0 0 0 1px var(--c) inset}
.th-tile:disabled{opacity:.5;cursor:default}
.th-alert{--c:#D97706;display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--c) 10%,#fff);border:1px solid color-mix(in srgb,var(--c) 35%,#fff);color:color-mix(in srgb,var(--c) 75%,#000)}
.th-alert svg{flex:none;margin-top:1px}
.th-alert p{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}
.th-alert b{color:color-mix(in srgb,var(--c) 80%,#000)}
.th-t{margin-top:16px}
.th-t td{vertical-align:top}
.th-qd{min-width:220px}
.th-qd b{display:block;font-size:14px}
.th-qd span{display:block;font-size:12.5px;color:var(--muted);line-height:1.4}
.th-qd em,.th-date em{display:block;margin-top:2px;font-size:11.5px;font-style:normal;color:#7B61C9}
.th-date{white-space:nowrap;font-variant-numeric:tabular-nums}
.th-date span{display:block}
.th-badge{--c:#6B7C88;display:inline-block;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap;border-radius:100px;color:color-mix(in srgb,var(--c) 85%,#000);background:color-mix(in srgb,var(--c) 13%,#fff)}
.th-na{font-size:12px;color:#A0522D;white-space:nowrap}
.th-note{margin:12px 0 0;font-size:12.5px}
@media(max-width:600px){.th-tiles{grid-template-columns:1fr 1fr}.th-tile{padding:12px}.th-tile b{font-size:24px}}
@media print{.th-card .btn,.th-t .dtc{display:none!important}}
