/* ============================================================================
   TNUS — Trang "Tư vấn ngành theo điểm" (/tu-van)
   Bố cục WIZARD 3 bước: chọn phương thức → nhập điểm → kết quả.
   Tệp TỰ CHỨA: không phụ thuộc tuvan.css (tệp đó đang dùng chung cho
   Holland/MBTI/Tarot/Chiêm tinh/Thần số học — sửa vào đó sẽ vỡ 5 trang kia).
   Tiền tố .tvx- để không đụng lớp CSS của các trang khác.
   ========================================================================== */

:root{
  --x-bg:#eef3f2; --x-card:#fff; --x-ink:#122029; --x-muted:#5c7079; --x-line:#dde6e4;
  --x-p1:#0f766e; --x-p2:#2dd4bf; --x-deep:#083344; --x-amber:#f59e0b;
  --x-ok:#059669; --x-warn:#d97706; --x-bad:#dc2626;
  --x-grad:linear-gradient(135deg,#0f766e,#2dd4bf);
  --x-ring:0 0 0 4px rgba(15,118,110,.14);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Be Vietnam Pro',system-ui,sans-serif;color:var(--x-ink);line-height:1.55;
  background:
    radial-gradient(900px 420px at 88% -8%,rgba(45,212,191,.20),transparent 62%),
    radial-gradient(760px 380px at -6% 6%,rgba(15,118,110,.12),transparent 60%),
    var(--x-bg);
  background-attachment:fixed}
a{text-decoration:none;color:inherit}

.tvx-wrap{max-width:940px;margin:0 auto;padding:18px 14px 96px}
.tvx-muted{color:var(--x-muted)}

/* ===== Hero gọn (wizard không cần hero to) ===== */
.tvx-hero{text-align:center;padding:18px 6px 6px}
.tvx-hero .kk{display:inline-block;font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--x-p1);background:rgba(45,212,191,.16);border:1px solid rgba(15,118,110,.2);padding:5px 13px;border-radius:999px}
.tvx-hero h1{font-size:clamp(23px,4.6vw,34px);font-weight:800;margin:12px 0 6px;letter-spacing:-.02em}
.tvx-hero h1 em{font-style:normal;color:var(--x-p1)}
.tvx-hero p{color:var(--x-muted);max-width:600px;margin:0 auto;font-size:14.5px}

/* ===== Thanh tiến độ 3 bước ===== */
.tvx-steps{display:flex;align-items:center;gap:0;margin:18px 0 14px;padding:8px;background:var(--x-card);
  border:1px solid var(--x-line);border-radius:16px;box-shadow:0 2px 10px rgba(8,51,68,.04)}
.tvx-step{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;
  font:inherit;font-weight:700;font-size:13.5px;color:var(--x-muted);padding:9px 4px;border-radius:11px;cursor:pointer;
  min-width:0;transition:.15s}
.tvx-step i{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-style:normal;
  font-size:12.5px;font-weight:800;background:#e6edeb;color:var(--x-muted);transition:.15s}
.tvx-step span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tvx-step[disabled]{opacity:.45;cursor:not-allowed}
.tvx-step.done i{background:rgba(5,150,105,.14);color:var(--x-ok)}
.tvx-step.done i::after{content:"✓"}
.tvx-step.done i b{display:none}
.tvx-step.on{background:rgba(45,212,191,.12);color:var(--x-ink)}
.tvx-step.on i{background:var(--x-grad);color:#fff}
@media(max-width:520px){
  .tvx-steps{gap:2px;padding:6px}
  .tvx-step{font-size:12px;gap:6px;padding:8px 2px}
  .tvx-step span{display:none}
  .tvx-step.on span{display:inline}
}

/* ===== Khung bước ===== */
.tvx-pane{display:none;animation:tvxIn .22s ease-out}
.tvx-pane.on{display:block}
@keyframes tvxIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tvx-t{font-size:19px;font-weight:800;margin:6px 2px 4px;letter-spacing:-.01em}
.tvx-sub{color:var(--x-muted);font-size:14px;margin:0 2px 16px}

/* ===== Thẻ chọn phương thức (bước 1) ===== */
.pmgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.pm{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;cursor:pointer;
  border:1.5px solid var(--x-line);background:var(--x-card);border-radius:18px;padding:16px 15px;font:inherit;color:inherit;
  transition:.16s;position:relative;overflow:hidden}
/* Vạch màu ở mép trên thay cho icon — dày lên khi được chọn */
.pm::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--x-line);transition:.16s}
.pm:hover{border-color:var(--x-p2);transform:translateY(-2px);box-shadow:0 10px 26px rgba(8,51,68,.09)}
.pm:hover::before{background:var(--x-p2)}
.pm.on{border-color:var(--x-p1);background:linear-gradient(180deg,rgba(45,212,191,.09),transparent 60%)}
.pm.on::before{height:5px;background:var(--x-grad)}
.pm .sc{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--x-p1);
  background:rgba(15,118,110,.09);padding:3px 9px;border-radius:999px}
.pm.on .sc{background:var(--x-p1);color:#fff}
.pm b{font-size:15.5px;font-weight:800;line-height:1.25}
.pm small{color:var(--x-muted);font-size:12.5px;line-height:1.45}
@media(max-width:520px){
  .pmgrid{grid-template-columns:1fr 1fr;gap:10px}
  .pm{padding:13px 12px;border-radius:16px;gap:6px}
  .pm b{font-size:14px}
  .pm small{display:none}
}

/* ===== Chip phương thức đang chọn (bước 2/3) ===== */
.tvx-crumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 14px}
.tvx-crumb .cur{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14px;
  background:var(--x-card);border:1.5px solid var(--x-p2);border-radius:999px;padding:7px 15px}
.tvx-crumb .cur .d{width:8px;height:8px;border-radius:50%;background:var(--x-p1)}
.tvx-crumb .swap{border:0;background:transparent;font:inherit;font-weight:700;font-size:13.5px;color:var(--x-p1);
  cursor:pointer;padding:7px 4px;text-decoration:underline;text-underline-offset:3px}

/* ===== Thẻ nội dung ===== */
.tvx-card{background:var(--x-card);border:1px solid var(--x-line);border-radius:20px;padding:18px;margin:0 0 14px;
  box-shadow:0 2px 14px rgba(8,51,68,.045)}
.tvx-card>h2{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:800;margin:0 0 14px;letter-spacing:-.01em}
.tvx-card>h2 .tag{flex:0 0 auto;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--x-p1);background:rgba(45,212,191,.15);padding:4px 9px;border-radius:7px}
.tvx-card>h2 small{font-weight:500;color:var(--x-muted);font-size:13px;letter-spacing:0;text-transform:none}
@media(max-width:520px){.tvx-card{padding:15px 13px;border-radius:17px}}

/* ===== Hộp ghi chú / cảnh báo ===== */
.tvx-note{background:rgba(45,212,191,.08);border:1px solid rgba(15,118,110,.18);border-left:4px solid var(--x-p1);
  border-radius:12px;padding:11px 13px;margin:0 0 14px;font-size:13.5px;line-height:1.55;color:#0b3b39}
.tvx-note .mota-line{display:block}
.tvx-note .mota-ul{margin:5px 0 2px;padding-left:19px;list-style:disc}
.tvx-note .mota-ul li{margin:2px 0}
.tvx-note .mota-red{color:var(--x-bad);font-weight:700}
.tvx-note p{display:inline;margin:0}

.tvx-alert{margin:14px 0;padding:13px 15px;border-radius:14px;font-weight:500;font-size:14px}
.tvx-alert.ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.tvx-alert.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}

.tvx-formula{margin:14px 0 0;font-size:12.5px;color:var(--x-muted);background:#f6f9f8;
  border:1px dashed var(--x-line);border-radius:12px;padding:10px 12px}

/* ===== Ô nhập điểm theo môn (THPT / V-SAT / học bạ) ===== */
.subs{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(max-width:560px){.subs{grid-template-columns:1fr;gap:8px}}
.sub{display:flex;align-items:center;gap:12px;border:1.5px solid var(--x-line);border-radius:14px;
  padding:8px 8px 8px 14px;background:#fbfdfc;transition:.15s}
.sub:focus-within{border-color:var(--x-p1);background:#fff;box-shadow:var(--x-ring)}
.sub.filled{background:#fff;border-color:#a7e8dd}
.sub>.nm{flex:1;min-width:0;font-weight:600;font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}
.sub>.nm .hint{display:block;font-size:11px;font-weight:600;color:var(--x-muted)}
.sub input{flex:0 0 auto;width:86px;height:44px;padding:0 8px;border:1.5px solid #cfdad8;border-radius:11px;
  font:inherit;font-weight:700;font-size:17px;text-align:center;background:#fff;color:var(--x-ink);
  font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.sub input::-webkit-outer-spin-button,.sub input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sub input:focus{outline:none;border-color:var(--x-p1)}
.sub input::placeholder{color:#b3c1bf;font-weight:500;font-size:14px}
.sub .clr{flex:0 0 auto;width:30px;height:30px;border:0;background:transparent;color:#b3c1bf;font-size:17px;
  cursor:pointer;border-radius:8px;line-height:1;visibility:hidden}
.sub.filled .clr{visibility:visible}
.sub .clr:hover{background:#f1f5f4;color:var(--x-bad)}

/* Ô nhập ĐƠN (HSA/TSA) — 1 điểm tổng, làm nổi bật */
.solo{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 4px}
.solo input{width:min(260px,100%);height:70px;border:2px solid #cfdad8;border-radius:18px;font:inherit;font-weight:800;
  font-size:34px;text-align:center;background:#fff;color:var(--x-ink);font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.solo input::-webkit-outer-spin-button,.solo input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.solo input:focus{outline:none;border-color:var(--x-p1);box-shadow:var(--x-ring)}
.solo .cap{font-size:13px;color:var(--x-muted);font-weight:600}

/* Đếm tiến độ nhập môn */
.fillbar{display:flex;align-items:center;gap:10px;margin:13px 2px 0;font-size:12.5px;font-weight:600;color:var(--x-muted)}
.fillbar .track{flex:1;height:6px;border-radius:999px;background:#e6edeb;overflow:hidden}
.fillbar .track i{display:block;height:100%;width:0;background:var(--x-grad);border-radius:999px;transition:width .25s}

/* ===== Học bạ: tách theo LỚP 10 / 11 / 12 ===== */
.years{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}
.yr{display:flex;flex-direction:column;align-items:center;gap:3px;border:1.5px solid var(--x-line);background:#fbfdfc;
  border-radius:14px;padding:11px 6px;font:inherit;cursor:pointer;transition:.15s;color:var(--x-muted)}
.yr:hover{border-color:var(--x-p2)}
.yr b{font-size:14.5px;font-weight:800;color:var(--x-ink)}
.yr small{font-size:11.5px;font-weight:700}
.yr.on{border-color:var(--x-p1);background:linear-gradient(180deg,rgba(45,212,191,.13),#fff)}
.yr.full{border-color:#a7e8dd}
.yr.full small{color:var(--x-ok)}
.yrpanel{display:none}
.yrpanel.on{display:block}
.yrnav{display:flex;gap:9px;margin-top:14px}
.yrnav button{flex:1;border:1.5px solid var(--x-line);background:#fff;border-radius:12px;padding:11px;font:inherit;
  font-weight:700;font-size:13.5px;color:var(--x-p1);cursor:pointer}
.yrnav button:hover{border-color:var(--x-p2);background:#f6fdfc}

/* ===== Ưu tiên: chip radio thay cho <select> ===== */
.prio{display:grid;gap:13px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--x-line)}
.prio .lbl{font-weight:700;font-size:13px;color:var(--x-ink);margin-bottom:7px;display:block}
.prio .lbl em{font-style:normal;font-weight:500;color:var(--x-muted)}
.pills{display:flex;gap:7px;flex-wrap:wrap}
.pills label{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--x-line);background:#fbfdfc;
  border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--x-muted);cursor:pointer;
  transition:.14s;-webkit-tap-highlight-color:transparent}
.pills label:hover{border-color:var(--x-p2)}
.pills input{position:absolute;opacity:0;width:0;height:0}
.pills label:has(input:checked){border-color:var(--x-p1);background:rgba(45,212,191,.14);color:#0b3b39}
.pills label:has(input:focus-visible){box-shadow:var(--x-ring)}

/* ===== Nút chính ===== */
.tvx-go{display:block;width:100%;margin-top:16px;padding:15px 18px;border:0;border-radius:14px;background:var(--x-grad);
  color:#fff;font:inherit;font-weight:800;font-size:15.5px;cursor:pointer;box-shadow:0 10px 24px rgba(15,118,110,.32);
  transition:.15s}
.tvx-go:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,118,110,.4)}
.tvx-go:active{transform:none}
@media(max-width:640px){
  .tvx-go{position:sticky;bottom:12px;z-index:30}
}
.tvx-ghost{display:block;width:100%;margin-top:9px;padding:12px;border:1.5px solid var(--x-line);border-radius:13px;
  background:#fff;font:inherit;font-weight:700;font-size:14px;color:var(--x-muted);cursor:pointer}
.tvx-ghost:hover{border-color:var(--x-p2);color:var(--x-p1)}

/* ===== Tải ảnh học bạ ===== */
.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  border:2px dashed #b9cbc8;border-radius:18px;padding:24px 16px;text-align:center;cursor:pointer;
  background:linear-gradient(180deg,rgba(45,212,191,.05),transparent);transition:.18s}
.drop:hover{border-color:var(--x-p1);background:rgba(45,212,191,.08)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop b{font-size:15px}
.drop small{color:var(--x-muted);font-size:12.5px}
.slots{display:flex;gap:7px;margin-top:9px}
.slots span{font-size:11.5px;font-weight:700;color:var(--x-muted);background:#eef3f2;border-radius:999px;padding:3px 10px}
.thumbs{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}
.thumbs:empty{display:none}
.thumbs .th{position:relative;width:72px;height:90px;border-radius:11px;overflow:hidden;border:1.5px solid var(--x-line);
  background:#f6f9f8;display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--x-muted)}
.thumbs .th img{width:100%;height:100%;object-fit:cover}
.thumbs .th .nm{position:absolute;left:0;right:0;bottom:0;background:rgba(8,51,68,.72);color:#fff;font-size:9.5px;
  padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.picked{margin-top:9px;font-size:13px;font-weight:700;color:var(--x-ok)}
.picked.err{color:var(--x-bad)}

/* ===== KẾT QUẢ — vòng điểm ===== */
.res-top{display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  background:linear-gradient(135deg,#f0fdfa,#f5fbff);border:1px solid #bcece3;border-radius:18px;padding:18px}
.dial{--p:0;flex:0 0 auto;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;position:relative;
  background:conic-gradient(var(--x-p1) calc(var(--p) * 1turn),#dbe8e5 0)}
.dial::before{content:"";position:absolute;inset:11px;background:#fff;border-radius:50%}
.dial .v{position:relative;text-align:center;line-height:1.1}
.dial .v b{display:block;font-size:31px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.dial .v small{font-size:11px;font-weight:700;color:var(--x-muted)}
.res-top .info{flex:1;min-width:190px}
.res-top .info b{display:block;font-size:16.5px;font-weight:800;margin-bottom:3px}
.res-top .info span{display:block;color:var(--x-muted);font-size:13.5px}
@media(max-width:520px){
  .res-top{gap:14px;padding:15px;justify-content:center;text-align:center}
  .dial{width:112px;height:112px}
  .dial .v b{font-size:27px}
  .res-top .info{min-width:0;text-align:center}
}

/* ===== KẾT QUẢ — bảng xếp hạng tổ hợp (thay bảng cuộn ngang) ===== */
.cbs{display:grid;gap:9px}
.cb{border:1.5px solid var(--x-line);border-radius:14px;padding:11px 13px;background:#fff}
.cb.top{border-color:#7fe0d0;background:linear-gradient(180deg,#f0fdfa,#fff)}
.cb-h{display:flex;align-items:center;gap:10px}
.cb-code{flex:0 0 auto;font-weight:800;font-size:14px;color:var(--x-p1);background:rgba(15,118,110,.1);
  border-radius:8px;padding:4px 10px;letter-spacing:.02em}
.cb.top .cb-code{background:var(--x-grad);color:#fff}
.cb-mon{flex:1;min-width:0;font-size:13px;color:var(--x-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-val{flex:0 0 auto;font-weight:800;font-size:17px;font-variant-numeric:tabular-nums}
.cb-bar{height:6px;border-radius:999px;background:#eef3f2;overflow:hidden;margin:9px 0 7px}
.cb-bar i{display:block;height:100%;background:var(--x-grad);border-radius:999px}
.cb.top .cb-bar i{background:linear-gradient(90deg,var(--x-p1),var(--x-amber))}
.cb-meta{display:flex;gap:14px;font-size:12px;color:var(--x-muted);flex-wrap:wrap}
.cb-meta b{color:var(--x-ink);font-weight:700}

/* Quy đổi V-SAT: hàng "gốc → hệ 10" */
.conv{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px}
.conv .cv{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1.5px solid var(--x-line);
  border-radius:12px;padding:9px 12px;background:#fbfdfc;font-size:13px}
.conv .cv .nm{font-weight:600}
.conv .cv .to{font-weight:800;color:var(--x-p1);font-variant-numeric:tabular-nums}
.conv .cv .fr{color:var(--x-muted);font-variant-numeric:tabular-nums}

/* ===== KẾT QUẢ — thẻ ngành gợi ý ===== */
.njhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:18px 0 10px}
.njhead h3{margin:0;font-size:14.5px;font-weight:800;display:flex;align-items:center;gap:8px}
.njhead h3 .n{font-size:12px;font-weight:700;color:var(--x-muted);background:#eef3f2;border-radius:999px;padding:2px 9px}
.njhead .fold{border:0;background:transparent;font:inherit;font-weight:700;font-size:13px;color:var(--x-p1);cursor:pointer}
.njgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.njgrid.hid{display:none}
.nj{position:relative;display:block;border:1.5px solid var(--x-line);border-radius:16px;padding:14px 14px 14px 19px;
  background:#fff;transition:.16s}
.nj::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:#cbd8d6}
.nj:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(8,51,68,.1);border-color:var(--x-p2)}
.nj.dat::before{background:var(--x-ok)}
.nj.thieumon::before{background:var(--x-warn)}
.nj-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.nj-ma{font-weight:800;font-size:15px;color:var(--x-p1);letter-spacing:.02em}
.nj-badge{font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:999px;white-space:nowrap}
.b-dat{background:#ecfdf5;color:#065f46}
.b-thieu{background:#fff7ed;color:#9a3412}
.b-moi{background:#eef2ff;color:#4338ca}
.nj h4{font-size:15px;font-weight:700;margin:0 0 2px;line-height:1.32}
.nj-khoa{font-size:12.5px;color:var(--x-muted);margin-bottom:10px}
.nj-rows{margin:0}
.nj-rows>div{display:flex;justify-content:space-between;gap:10px;font-size:12.8px;padding:4px 0;
  border-top:1px dashed var(--x-line)}
.nj-rows dt{color:var(--x-muted);margin:0}
.nj-rows dd{margin:0;font-weight:700;text-align:right}
.nj-rows dd.hi{color:var(--x-p1)}
.nj-delta{display:inline-block;margin-left:6px;font-size:11px;font-weight:800;padding:1px 7px;border-radius:999px}
.nj-delta.up{background:#ecfdf5;color:#059669}
.nj-delta.down{background:#fef2f2;color:#dc2626}
.nj-st{margin-top:10px;font-size:12.5px;font-weight:600;line-height:1.45}
.nj.dat .nj-st{color:var(--x-ok)}
.nj:not(.dat) .nj-st{color:var(--x-warn)}
.nj-dk{font-size:11.8px;margin-top:7px;padding:6px 9px;border-radius:9px;line-height:1.45}
.nj-dk.ok{background:#ecfdf5;color:#065f46}
.nj-dk.bad{background:#fff7ed;color:#9a3412;font-weight:600}
.nj-dk.note{background:#f4f7f6;color:#475569}
.tvx-fine{margin:16px 0 0;font-size:12px;color:var(--x-muted);font-style:italic}

/* ===== Xuất PDF ===== */
.tvx-pdfbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 2px 14px}
.tvx-pdfbar .btn-pdf{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--x-line);cursor:pointer;
  font:inherit;font-weight:700;font-size:14px;color:var(--x-ink);padding:11px 17px;border-radius:12px;background:#fff}
.tvx-pdfbar .btn-pdf:hover{border-color:var(--x-p1);color:var(--x-p1)}
.tvx-pdfbar .hint{color:var(--x-muted);font-size:12.5px}
.tvx-printhead{display:none}

/* ===== Điều hướng sang trắc nghiệm khác (partial _TrucNghiemNav) ===== */
.tn-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:9px;margin:20px 0 8px}
.tn-nav a{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13.5px;color:#fff;
  background:var(--x-p1);border-radius:12px;padding:13px 10px;text-align:center;
  box-shadow:0 6px 16px rgba(8,51,68,.12);transition:.15s}
.tn-nav a:hover{filter:brightness(1.1);transform:translateY(-2px)}
@media(max-width:560px){.tn-nav{grid-template-columns:repeat(2,1fr);gap:8px}.tn-nav a{font-size:12.5px;padding:11px 6px}}

.tvx-foot{text-align:center;padding:22px;color:var(--x-muted);font-size:13px;border-top:1px solid var(--x-line);
  background:#fff;margin-top:24px}

/* ===== IN PHIẾU KẾT QUẢ ===== */
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff !important}
  body.has-bottombar{padding-bottom:0 !important}
  .tn-bar,.tn-nav,.tvx-hero,.tvx-steps,.tvx-crumb,.tvx-foot,.tvx-alert,
  .callfab,.cbot-bubble,.cbot-panel,.no-print{display:none !important}
  .tvx-pane{display:none !important}
  .tvx-pane[data-step="3"]{display:block !important}
  .tvx-wrap{max-width:none !important;margin:0 !important;padding:0 !important}
  .njgrid.hid{display:grid !important}
  .tvx-printhead{display:block;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #111}
  .tvx-printhead .ph-top{display:flex;align-items:center;gap:12px}
  .tvx-printhead .ph-top img{height:52px;width:auto}
  .tvx-printhead .ph-school{font-size:17px;font-weight:800;color:#111}
  .tvx-printhead .ph-sub{font-size:12px;color:#333}
  .tvx-printhead .ph-title{font-size:19px;font-weight:800;text-align:center;margin:10px 0 6px;color:#111;text-transform:uppercase}
  .tvx-printhead .ph-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13px;color:#111}
  .tvx-card{box-shadow:none !important;border:1px solid #cbd5e1 !important;margin:0 0 12px !important;
    break-inside:avoid;page-break-inside:avoid}
  .tvx-card>h2{font-size:15px}
  .res-top{background:#fff !important;border:1px solid #cbd5e1 !important}
  .dial{background:none !important;border:2px solid #111;width:96px;height:96px}
  .dial::before{display:none}
  .njgrid{display:block !important}
  .nj{display:block !important;break-inside:avoid;page-break-inside:avoid;border:1px solid #cbd5e1 !important;
    margin:0 0 8px !important;color:#111 !important}
  .nj:hover{transform:none;box-shadow:none}
  .cb{break-inside:avoid;page-break-inside:avoid;border:1px solid #94a3b8 !important}
  a[href]::after{content:"" !important}
}
