/* =========================================================================
 *  TRA CỨU BẰNG HÀNH NGHỀ — Giao diện
 *  Mọi style đều nằm trong .tcbn để KHÔNG ảnh hưởng tới theme WordPress.
 * ========================================================================= */

.tcbn, .tcbn * { box-sizing: border-box; }

.tcbn {
  /* Bảng màu (tông thẩm mỹ/salon, không corporate) */
  --tcbn-ink: #2A2533;
  --tcbn-primary: #4A2F5E;
  --tcbn-primary-2: #6B4A82;
  --tcbn-accent: #E0567A;
  --tcbn-good: #1B9E83;
  --tcbn-good-bg: #E7F6F1;
  --tcbn-warn: #B97514;
  --tcbn-warn-bg: #FBF1E0;
  --tcbn-bg: #FBFAFC;
  --tcbn-surface: #FFFFFF;
  --tcbn-muted: #786D86;
  --tcbn-line: #ECE7F1;
  --tcbn-radius: 16px;
  --tcbn-radius-sm: 10px;
  --tcbn-shadow: 0 8px 30px rgba(44, 22, 64, .09);
  --tcbn-shadow-sm: 0 2px 10px rgba(44, 22, 64, .06);

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  color: var(--tcbn-ink);
  line-height: 1.6;
  font-size: 1.05rem;        /* nền chữ to hơn (≈16.8px) — dễ đọc trên điện thoại; chữ kế thừa scale theo */
  max-width: 860px;
  width: 100%;
  margin: 0 auto;
  padding: 4px;
  -webkit-font-smoothing: antialiased;
}

.tcbn .tcbn-numeric { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }

/* ---------- Khung chính ---------- */
.tcbn .tcbn-card {
  background: var(--tcbn-surface);
  border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius);
  box-shadow: var(--tcbn-shadow);
  overflow: hidden;
}

/* ---------- Tiêu đề ---------- */
.tcbn .tcbn-head {
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(224,86,122,.18), transparent 55%),
    linear-gradient(135deg, var(--tcbn-primary), var(--tcbn-primary-2));
  color: #fff;
  padding: 22px 22px 20px;
  text-align: center;
}
.tcbn .tcbn-head .tcbn-h {
  margin: 0 0 4px;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0;
  color: #fff;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.tcbn .tcbn-head p {
  margin: 0;
  font-size: .9rem;
  color: rgba(255,255,255,.85);
  overflow-wrap: anywhere;
}

/* ---------- Vùng điều khiển ---------- */
.tcbn .tcbn-controls { padding: 18px 22px 6px; }

.tcbn .tcbn-label {
  display: block;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tcbn-muted);
  margin: 0 0 8px;
}

/* Chọn loại bằng — nút phân đoạn */
.tcbn .tcbn-trades {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}
.tcbn .tcbn-trade {
  appearance: none;
  cursor: pointer;
  background: var(--tcbn-bg);
  border: 1.5px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  padding: 11px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 0;
  min-height: 60px;
  transition: border-color .15s, background .15s, transform .08s;
  font-family: inherit;
}
.tcbn .tcbn-trade:hover { border-color: var(--tcbn-primary-2); }
.tcbn .tcbn-trade:active { transform: scale(.98); }
.tcbn .tcbn-trade .tcbn-trade-ic { color: var(--tcbn-primary); line-height: 0; display: block; margin-bottom: 6px; }
.tcbn .tcbn-ic { width: 26px; height: 26px; display: inline-block; vertical-align: middle; }
.tcbn .tcbn-trade-tag .tcbn-ic { width: 15px; height: 15px; vertical-align: -2px; color: var(--tcbn-primary-2); }
.tcbn .tcbn-trade .tcbn-trade-name {
  width: 100%;
  text-align: center;        /* canh giữa chữ kể cả khi xuống 2 dòng + thắng theme */
  font-weight: 700;
  font-size: .92rem;
  color: var(--tcbn-ink);
  line-height: 1.15;
  white-space: normal;       /* cho phép xuống dòng khi ô hẹp (theme bóp khung) */
  overflow-wrap: break-word; /* ngắt từ dài "Cosmetology" thay vì tràn ra ngoài */
  word-break: normal;
  hyphens: auto;
}
.tcbn .tcbn-trade .tcbn-trade-sub { max-width: 100%; overflow-wrap: anywhere; }
.tcbn .tcbn-trade .tcbn-trade-sub { display: block; font-size: .72rem; color: var(--tcbn-muted); margin-top: 2px; line-height: 1.25; }
.tcbn .tcbn-trade[aria-pressed="true"] {
  background: linear-gradient(135deg, var(--tcbn-primary), var(--tcbn-primary-2));
  border-color: var(--tcbn-primary);
}
.tcbn .tcbn-trade[aria-pressed="true"] .tcbn-trade-ic,
.tcbn .tcbn-trade[aria-pressed="true"] .tcbn-trade-name,
.tcbn .tcbn-trade[aria-pressed="true"] .tcbn-trade-sub { color: #fff; }

/* Chọn tiểu bang */
.tcbn .tcbn-search-wrap {
  position: relative;
  margin-bottom: 8px;
}
.tcbn .tcbn-search {
  width: 100%;
  appearance: none;
  background: var(--tcbn-surface);
  border: 1.5px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  padding: 12px 14px;
  font-size: 1rem;
  line-height: 1.4;
  min-height: 48px;
  font-family: inherit;
  color: var(--tcbn-ink);
}
.tcbn .tcbn-search::placeholder { color: #9A90A4; }
.tcbn .tcbn-search:focus-visible { outline: 3px solid rgba(224,86,122,.4); outline-offset: 1px; border-color: var(--tcbn-accent); }
.tcbn .tcbn-search-results {
  position: absolute;
  z-index: 5;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: grid;
  gap: 1px;
  max-height: 310px;
  overflow-y: auto;
  background: var(--tcbn-line);
  border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  box-shadow: var(--tcbn-shadow);
}
.tcbn .tcbn-search-results[hidden] { display: none; }
.tcbn .tcbn-search-item {
  appearance: none;
  cursor: pointer;
  border: 0;
  background: var(--tcbn-surface);
  color: var(--tcbn-ink);
  font-family: inherit;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
}
.tcbn .tcbn-search-item:hover,
.tcbn .tcbn-search-item:focus-visible { background: #FBFAFC; outline: none; }
.tcbn .tcbn-search-item b { font-size: .94rem; color: var(--tcbn-primary); }
.tcbn .tcbn-search-item small { font-size: .72rem; color: var(--tcbn-muted); font-weight: 800; }
.tcbn .tcbn-search-item em {
  flex: 0 0 auto;
  font-size: .74rem;
  font-style: normal;
  color: var(--tcbn-muted);
  text-align: right;
}
.tcbn .tcbn-search-empty {
  background: var(--tcbn-surface);
  color: var(--tcbn-muted);
  font-size: .86rem;
  padding: 11px 12px;
}

.tcbn .tcbn-select-drawer { margin-top: 8px; }
.tcbn .tcbn-select-drawer summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--tcbn-primary);
  font-size: .84rem;
  font-weight: 800;
  list-style: none;
}
.tcbn .tcbn-select-drawer summary::-webkit-details-marker { display: none; }
.tcbn .tcbn-select-drawer summary::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--tcbn-bg);
  border: 1px solid var(--tcbn-line);
  font-size: .82rem;
}
.tcbn .tcbn-select-drawer[open] summary::before { content: "\2013"; }
.tcbn .tcbn-select-drawer .tcbn-select { margin-top: 8px; }

.tcbn .tcbn-select {
  width: 100%;
  margin-bottom: 16px;
  appearance: none;
  background: var(--tcbn-surface)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234A2F5E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")
    no-repeat right 14px center;
  border: 1.5px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  padding: 12px 40px 12px 14px;
  font-size: 1rem;
  line-height: 1.4;
  min-height: 48px;
  height: auto;
  font-family: inherit;
  color: var(--tcbn-ink);
  cursor: pointer;
}
.tcbn .tcbn-select:focus-visible { outline: 3px solid rgba(224,86,122,.4); outline-offset: 1px; border-color: var(--tcbn-accent); }

.tcbn .tcbn-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.tcbn .tcbn-filter {
  appearance: none;
  cursor: pointer;
  border: 1.5px solid var(--tcbn-line);
  border-radius: 999px;
  background: var(--tcbn-surface);
  color: var(--tcbn-primary);
  font-family: inherit;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 8px 11px;
  transition: border-color .15s, background .15s, color .15s, transform .08s;
}
.tcbn .tcbn-filter:hover { border-color: var(--tcbn-primary-2); }
.tcbn .tcbn-filter:active { transform: scale(.98); }
.tcbn .tcbn-filter:focus-visible { outline: 3px solid rgba(224,86,122,.35); outline-offset: 1px; }
.tcbn .tcbn-filter[aria-pressed="true"] {
  background: var(--tcbn-primary);
  border-color: var(--tcbn-primary);
  color: #fff;
}
/* ---------- Kết quả ---------- */
.tcbn .tcbn-result { padding: 20px 22px 24px; }

.tcbn .tcbn-result-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 12px; margin: 12px 0 14px;
}
.tcbn .tcbn-result-head h3 { margin: 0; font-size: 1.15rem; font-weight: 800; }
.tcbn .tcbn-result-head .tcbn-trade-tag { font-size: .85rem; color: var(--tcbn-muted); margin-top: 2px; }

.tcbn .tcbn-badge {
  flex: 0 0 auto;
  font-size: .72rem; font-weight: 700; letter-spacing: .02em;
  padding: 5px 10px; border-radius: 999px; white-space: nowrap;
}
.tcbn .tcbn-badge.ok { background: var(--tcbn-good-bg); color: var(--tcbn-good); }
.tcbn .tcbn-badge.todo { background: var(--tcbn-warn-bg); color: var(--tcbn-warn); }

/* Ô thông tin (SIGNATURE) */
.tcbn .tcbn-tiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
.tcbn .tcbn-tile {
  background: var(--tcbn-bg);
  border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  padding: 13px 12px;
  min-height: 92px;
  display: flex; flex-direction: column; justify-content: space-between;
}
.tcbn .tcbn-tile .tcbn-tile-k {
  font-size: .68rem; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: var(--tcbn-muted);
}
.tcbn .tcbn-tile .tcbn-tile-v { font-size: 1.6rem; font-weight: 800; line-height: 1.1; color: var(--tcbn-primary); }
.tcbn .tcbn-tile .tcbn-tile-v small { font-size: .68rem; font-weight: 600; color: var(--tcbn-muted); display: block; margin-top: 2px; }
.tcbn .tcbn-tile .tcbn-tile-txt { font-size: .92rem; font-weight: 700; color: var(--tcbn-ink); }

/* Pill Có/Không cho thi thực hành */
.tcbn .tcbn-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 1rem; font-weight: 800; }
.tcbn .tcbn-pill .dot { width: 9px; height: 9px; border-radius: 50%; }
.tcbn .tcbn-pill.yes { color: var(--tcbn-primary); }
.tcbn .tcbn-pill.yes .dot { background: var(--tcbn-accent); }
.tcbn .tcbn-pill.no { color: var(--tcbn-good); }
.tcbn .tcbn-pill.no .dot { background: var(--tcbn-good); }
.tcbn .tcbn-pill.na { color: var(--tcbn-muted); }
.tcbn .tcbn-pill.na .dot { background: var(--tcbn-muted); }

/* Hàng chi tiết */
.tcbn .tcbn-rows { display: grid; gap: 1px; background: var(--tcbn-line); border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm); overflow: hidden; margin-bottom: 14px; }
.tcbn .tcbn-row { background: var(--tcbn-surface); display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 11px 14px; font-size: .92rem; }
.tcbn .tcbn-row .tcbn-row-k { color: var(--tcbn-muted); font-weight: 600; }
.tcbn .tcbn-row .tcbn-row-v { color: var(--tcbn-ink); }
.tcbn .tcbn-row a { color: var(--tcbn-accent); font-weight: 600; text-decoration: none; }
.tcbn .tcbn-row a:hover { text-decoration: underline; }

/* Ghi chú */
.tcbn .tcbn-note {
  display: flex; gap: 10px;
  background: #FAF6FB; border: 1px solid #F0E6F3;
  border-left: 3px solid var(--tcbn-accent);
  border-radius: var(--tcbn-radius-sm);
  padding: 12px 14px; font-size: .9rem; margin-bottom: 14px; color: #4d4356;
}
.tcbn .tcbn-note .ic { flex: 0 0 auto; }

/* Trạng thái "đang cập nhật" */
.tcbn .tcbn-empty {
  text-align: center; padding: 26px 18px;
  background: var(--tcbn-warn-bg); border: 1px dashed #E7CFA3;
  border-radius: var(--tcbn-radius-sm); margin-bottom: 14px;
}
.tcbn .tcbn-empty .big { font-size: 1.05rem; font-weight: 800; color: var(--tcbn-warn); margin-bottom: 4px; }
.tcbn .tcbn-empty p { margin: 0; font-size: .9rem; color: #6b5a3a; }
.tcbn .tcbn-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.tcbn .tcbn-stats span {
  background: #fff;
  border: 1px solid #ECE3F0;
  border-radius: var(--tcbn-radius-sm);
  color: var(--tcbn-muted);
  font-size: .78rem;
  line-height: 1.25;
  padding: 8px 6px;
}
.tcbn .tcbn-stats b {
  display: block;
  color: var(--tcbn-primary);
  font-size: 1rem;
}

.tcbn .tcbn-finder {
  border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  background: var(--tcbn-surface);
  overflow: hidden;
  margin-bottom: 14px;
}
.tcbn .tcbn-pick-block { padding: 12px 14px; border-bottom: 1px solid var(--tcbn-line); }
.tcbn .tcbn-pick-block:last-child { border-bottom: 0; }
.tcbn .tcbn-pick-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  font-size: .82rem;
  font-weight: 800;
  color: var(--tcbn-ink);
}
.tcbn .tcbn-pick-title span {
  flex: 0 0 auto;
  font-size: .72rem;
  font-weight: 700;
  color: var(--tcbn-muted);
}
.tcbn .tcbn-picks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tcbn .tcbn-pick {
  appearance: none;
  cursor: pointer;
  border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  background: #FBFAFC;
  color: var(--tcbn-ink);
  font-family: inherit;
  padding: 9px 10px;
  min-width: 0;
  text-align: left;
  transition: border-color .15s, background .15s, transform .08s;
}
.tcbn .tcbn-pick:hover { border-color: var(--tcbn-primary-2); background: #fff; }
.tcbn .tcbn-pick:active { transform: scale(.98); }
.tcbn .tcbn-pick:focus-visible { outline: 3px solid rgba(224,86,122,.35); outline-offset: 1px; }
.tcbn .tcbn-pick-name { display: block; font-size: .9rem; font-weight: 800; color: var(--tcbn-primary); }
.tcbn .tcbn-pick-meta { display: block; margin-top: 1px; font-size: .74rem; color: var(--tcbn-muted); line-height: 1.25; }
.tcbn .tcbn-finder-actions { padding: 12px 14px; justify-content: flex-start; }

/* Nút trang chính thức */
.tcbn .tcbn-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--tcbn-primary), var(--tcbn-primary-2));
  color: #fff; text-decoration: none; font-weight: 700; font-size: .95rem;
  padding: 12px 18px; border-radius: var(--tcbn-radius-sm);
  box-shadow: var(--tcbn-shadow-sm); transition: transform .08s, box-shadow .15s;
}
.tcbn .tcbn-cta:hover { box-shadow: 0 6px 18px rgba(74,47,94,.28); }
.tcbn .tcbn-cta:active { transform: scale(.98); }
.tcbn button.tcbn-cta { cursor: pointer; font-family: inherit; border: none; }
.tcbn .tcbn-cta.secondary { background: var(--tcbn-surface); color: var(--tcbn-primary); border: 1.5px solid var(--tcbn-line); box-shadow: none; }
.tcbn .tcbn-cta-quiz { background: linear-gradient(135deg, var(--tcbn-accent), #c8456a); }
.tcbn .tcbn-cta-quiz:hover { box-shadow: 0 6px 18px rgba(224, 86, 122, .35); }

.tcbn .tcbn-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* Course-aware paid CTA: free tools stay useful, then route to the right course. */
.tcbn .tcbn-course-cta {
  margin: 16px 0 18px;
  padding: 16px;
  border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  background: linear-gradient(135deg, rgba(74,47,94,.045), rgba(224,86,122,.055));
}
.tcbn .tcbn-course-copy { margin-bottom: 12px; }
.tcbn .tcbn-course-eyebrow {
  display: inline-flex;
  align-items: center;
  margin-bottom: 5px;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tcbn-accent);
}
.tcbn .tcbn-course-copy h4 {
  margin: 0 0 4px;
  color: var(--tcbn-primary);
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.3;
}
.tcbn .tcbn-course-copy p {
  margin: 0;
  color: var(--tcbn-muted);
  font-size: .9rem;
  line-height: 1.5;
}
.tcbn .tcbn-course-list {
  display: grid;
  gap: 10px;
}
.tcbn .tcbn-course-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tcbn .tcbn-course-card {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm);
  background: var(--tcbn-surface);
  color: var(--tcbn-ink);
  text-decoration: none;
  box-shadow: var(--tcbn-shadow-sm);
  transition: border-color .15s, transform .12s, box-shadow .15s;
}
.tcbn .tcbn-course-card:hover {
  border-color: var(--tcbn-primary-2);
  box-shadow: 0 8px 20px rgba(44,22,64,.10);
  transform: translateY(-1px);
}
.tcbn .tcbn-course-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.tcbn .tcbn-course-main strong {
  color: var(--tcbn-ink);
  font-size: .95rem;
  line-height: 1.25;
}
.tcbn .tcbn-course-main span {
  color: var(--tcbn-muted);
  font-size: .82rem;
  line-height: 1.35;
}
.tcbn .tcbn-course-side {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  text-align: right;
}
.tcbn .tcbn-course-side em {
  font-style: normal;
  color: var(--tcbn-accent);
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}
.tcbn .tcbn-course-side b {
  color: var(--tcbn-primary);
  font-size: .82rem;
  line-height: 1.2;
  white-space: nowrap;
}

/* ---------- Phần liên hệ cơ quan ---------- */
.tcbn .tcbn-agency {
  margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--tcbn-line);
}
.tcbn .tcbn-agency h4 { margin: 0 0 8px; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tcbn-muted); }
.tcbn .tcbn-agency .name { font-weight: 700; font-size: .98rem; }
.tcbn .tcbn-agency .meta { font-size: .88rem; color: var(--tcbn-muted); margin-top: 3px; }
.tcbn .tcbn-agency .meta a { color: var(--tcbn-accent); text-decoration: none; }
.tcbn .tcbn-agency .meta a:hover { text-decoration: underline; }

/* ---------- Chú thích danh sách bang ---------- */
.tcbn .tcbn-legend {
  display: block; margin-top: 8px; font-size: .8rem; color: var(--tcbn-muted);
}

/* ---------- Băng "thi bằng tiếng Việt" ---------- */
.tcbn .tcbn-viet {
  display: flex; align-items: flex-start; gap: 11px;
  padding: 12px 14px; border-radius: var(--tcbn-radius-sm);
  border: 1px solid var(--tcbn-line); background: var(--tcbn-bg);
  margin-bottom: 16px;
}
.tcbn .tcbn-viet-body { display: flex; flex-direction: column; gap: 2px; }
.tcbn .tcbn-viet-label { font-weight: 800; font-size: .95rem; }
.tcbn .tcbn-viet-note { font-size: .86rem; color: var(--tcbn-muted); }

.tcbn .tcbn-viet.yes { background: var(--tcbn-good-bg); border-color: #BBE6DA; }
.tcbn .tcbn-viet.yes .tcbn-viet-label { color: var(--tcbn-good); }
.tcbn .tcbn-viet.verify,
.tcbn .tcbn-viet.mixed { background: var(--tcbn-warn-bg); border-color: #E7CFA3; }
.tcbn .tcbn-viet.verify .tcbn-viet-label,
.tcbn .tcbn-viet.mixed .tcbn-viet-label { color: var(--tcbn-warn); }
.tcbn .tcbn-viet.no,
.tcbn .tcbn-viet.unknown { background: #F4F2F7; border-color: var(--tcbn-line); }
.tcbn .tcbn-viet.no .tcbn-viet-label,
.tcbn .tcbn-viet.unknown .tcbn-viet-label { color: var(--tcbn-muted); }

/* ---------- Gánh nặng thi (Exam Burden) + badges ---------- */
.tcbn .tcbn-burden {
  display: flex; align-items: stretch; gap: 12px;
  border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm);
  background: var(--tcbn-bg); padding: 12px 14px; margin-bottom: 16px;
}
.tcbn .tcbn-burden-score {
  flex: 0 0 auto; width: 56px; border-radius: var(--tcbn-radius-sm);
  display: flex; align-items: center; justify-content: center; color: #fff;
}
.tcbn .tcbn-burden-score .num { font-size: 1.8rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.tcbn .tcbn-burden-score .num small { font-size: .55em; font-weight: 700; opacity: .9; }
.tcbn .tcbn-burden-score.s0 { background: var(--tcbn-good); }
.tcbn .tcbn-burden-score.s1 { background: #2E9BBA; }
.tcbn .tcbn-burden-score.s2 { background: var(--tcbn-warn); }
.tcbn .tcbn-burden-score.s3 { background: var(--tcbn-accent); }
.tcbn .tcbn-burden-score.na { background: var(--tcbn-muted); }
.tcbn .tcbn-burden-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tcbn .tcbn-burden-label { font-weight: 800; font-size: .95rem; color: var(--tcbn-ink); }
.tcbn .tcbn-burden-note { font-size: .78rem; color: var(--tcbn-muted); }
.tcbn .tcbn-xbadges { display: flex; flex-wrap: wrap; gap: 6px; }
.tcbn .tcbn-xbadge { font-size: .74rem; font-weight: 700; padding: 3px 9px; border-radius: 999px; border: 1px solid transparent; }
.tcbn .tcbn-xbadge.ok { background: var(--tcbn-good-bg); color: var(--tcbn-good); border-color: #BBE6DA; }
.tcbn .tcbn-xbadge.mid { background: #E5F4F8; color: #1f7d97; border-color: #BFE3EC; }
.tcbn .tcbn-xbadge.viet { background: #EFEAF6; color: var(--tcbn-primary); border-color: #DFD3EC; }
.tcbn .tcbn-xbadge.warn { background: var(--tcbn-warn-bg); color: var(--tcbn-warn); border-color: #E7CFA3; }

/* ---------- Chuyển bằng (Reciprocity Checker) ---------- */
.tcbn .tcbn-cb-route { font-weight: 800; font-size: 1.05rem; color: var(--tcbn-ink); margin: 4px 0 16px; }
.tcbn .tcbn-cb-route .arrow { color: var(--tcbn-accent); }
.tcbn .tcbn-cb-route .tcbn-cb-trade { font-weight: 600; color: var(--tcbn-muted); font-size: .9rem; }
.tcbn .tcbn-cb-verdict { border-radius: var(--tcbn-radius-sm); border: 1px solid var(--tcbn-line); border-left-width: 5px; padding: 16px 18px; margin-bottom: 18px; }
.tcbn .tcbn-cb-vtitle { font-weight: 800; font-size: 1.12rem; margin-bottom: 6px; display: flex; align-items: center; gap: 9px; }
.tcbn .tcbn-cb-vicon { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: .95rem; font-weight: 800; }
.tcbn .tcbn-cb-verdict.ok .tcbn-cb-vicon { background: var(--tcbn-good); }
.tcbn .tcbn-cb-verdict.warn .tcbn-cb-vicon { background: var(--tcbn-warn); }
.tcbn .tcbn-cb-verdict.no .tcbn-cb-vicon { background: var(--tcbn-accent); }
.tcbn .tcbn-cb-verdict.na .tcbn-cb-vicon { background: var(--tcbn-muted); }
.tcbn .tcbn-stepno { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; border-radius: 50%; background: var(--tcbn-primary); color: #fff; font-size: .68rem; font-weight: 800; margin-right: 7px; vertical-align: middle; }
.tcbn .tcbn-cb-examples { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; font-size: .82rem; color: var(--tcbn-muted); }
.tcbn .tcbn-cb-eg { appearance: none; cursor: pointer; border: 1px solid var(--tcbn-line); background: #fff; border-radius: 999px; padding: 7px 13px; font-family: inherit; font-size: .8rem; font-weight: 700; color: var(--tcbn-primary); transition: border-color .15s, background .15s; }
.tcbn .tcbn-cb-eg:hover { border-color: var(--tcbn-primary-2); background: var(--tcbn-bg); }
.tcbn .tcbn-cb-vbody { font-size: .92rem; color: #4d4356; line-height: 1.5; }
.tcbn .tcbn-cb-verdict.ok { background: var(--tcbn-good-bg); border-color: #BBE6DA; border-left-color: var(--tcbn-good); }
.tcbn .tcbn-cb-verdict.ok .tcbn-cb-vtitle { color: var(--tcbn-good); }
.tcbn .tcbn-cb-verdict.warn { background: var(--tcbn-warn-bg); border-color: #E7CFA3; border-left-color: var(--tcbn-warn); }
.tcbn .tcbn-cb-verdict.warn .tcbn-cb-vtitle { color: var(--tcbn-warn); }
.tcbn .tcbn-cb-verdict.no { background: #FCEDF1; border-color: #F2C9D5; border-left-color: var(--tcbn-accent); }
.tcbn .tcbn-cb-verdict.no .tcbn-cb-vtitle { color: #c8456a; }
.tcbn .tcbn-cb-verdict.na { background: #F4F2F7; border-color: var(--tcbn-line); border-left-color: var(--tcbn-muted); }
.tcbn .tcbn-cb-verdict.na .tcbn-cb-vtitle { color: var(--tcbn-muted); }
.tcbn .tcbn-cb-risk { font-size: .9rem; color: var(--tcbn-muted); margin-bottom: 18px; }
.tcbn .tcbn-cb-risk b { font-weight: 800; }
.tcbn .tcbn-cb-risk b.ok { color: var(--tcbn-good); }
.tcbn .tcbn-cb-risk b.warn { color: var(--tcbn-warn); }
.tcbn .tcbn-cb-risk b.no { color: #c8456a; }
.tcbn .tcbn-cb-risk b.na { color: var(--tcbn-muted); }
.tcbn .tcbn-cb-statelist { width: 100%; border-collapse: collapse; font-size: .88rem; margin: 6px 0 14px; }
.tcbn .tcbn-cb-statelist th, .tcbn .tcbn-cb-statelist td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--tcbn-line); vertical-align: top; }
.tcbn .tcbn-cb-statelist thead th { background: var(--tcbn-bg); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--tcbn-muted); }

/* ---------- Chân ---------- */
.tcbn .tcbn-foot {
  font-size: .78rem; color: var(--tcbn-muted);
  padding: 14px 22px 18px; background: var(--tcbn-bg); border-top: 1px solid var(--tcbn-line);
}
.tcbn .tcbn-foot strong { color: var(--tcbn-warn); }

/* ---------- Hiệu ứng ---------- */
.tcbn .tcbn-fade { animation: tcbn-fade .28s ease; }
@keyframes tcbn-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---------- Nội dung SEO (render sẵn trong HTML) ---------- */
.tcbn .tcbn-seo { margin-top: 24px; padding: 20px 2px 4px; }
.tcbn .tcbn-seo h2 { font-size: 1.2rem; font-weight: 800; line-height: 1.3; margin: 0 0 10px; color: var(--tcbn-primary); }
.tcbn .tcbn-seo h3 { font-size: 1.05rem; font-weight: 800; margin: 26px 0 12px; color: var(--tcbn-ink); }
.tcbn .tcbn-seo > p { font-size: .92rem; margin: 0 0 14px; }
.tcbn .tcbn-seo .tcbn-seo-note { font-size: .9rem; color: var(--tcbn-muted); }
.tcbn .tcbn-seo-back { font-size: .88rem; margin: 0 0 6px; }
.tcbn .tcbn-seo-back a { color: var(--tcbn-accent); text-decoration: none; font-weight: 600; }
.tcbn .tcbn-state-notes { margin: 6px 0 4px; padding-left: 20px; }
.tcbn .tcbn-state-notes li { margin-bottom: 9px; font-size: .9rem; line-height: 1.5; }
.tcbn .tcbn-cb-steps { margin: 6px 0 14px; padding-left: 22px; }
.tcbn .tcbn-cb-steps li { margin-bottom: 8px; font-size: .92rem; line-height: 1.55; }

/* ---------- So sánh 2 bang ([so_sanh_bang]) ---------- */
.tcbn .tcbn-ss-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .tcbn .tcbn-ss-pair { grid-template-columns: 1fr; } }
.tcbn .tcbn-ss-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin-bottom: 10px; }
.tcbn .tcbn-ss-head h3 { margin: 0; font-size: 1.1rem; color: var(--tcbn-primary); }
.tcbn .tcbn-ss-head h3 span { color: var(--tcbn-muted); font-weight: 600; font-size: .85rem; }
.tcbn .tcbn-ss-table th[scope="col"] { text-align: center; }
.tcbn .tcbn-ss-table td { text-align: center; vertical-align: top; }
.tcbn .tcbn-ss-table .tcbn-ss-hi { background: #FBF4E8; font-weight: 700; }
.tcbn .tcbn-ss-table small { color: var(--tcbn-muted); font-weight: 400; }

.tcbn .tcbn-seo-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--tcbn-radius-sm); }
.tcbn .tcbn-seo-swipe { display: none; }
.tcbn .tcbn-seo-table {
  width: 100%; border-collapse: collapse; font-size: .88rem;
  background: var(--tcbn-surface); border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm); overflow: hidden;
}
.tcbn .tcbn-seo-table th, .tcbn .tcbn-seo-table td {
  text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--tcbn-line); vertical-align: top;
}
.tcbn .tcbn-seo-table thead th {
  background: var(--tcbn-bg); font-size: .72rem; text-transform: uppercase;
  letter-spacing: .04em; color: var(--tcbn-muted); white-space: nowrap;
}
.tcbn .tcbn-seo-table tbody th { font-weight: 700; color: var(--tcbn-ink); }
.tcbn .tcbn-seo-table tbody tr:nth-child(even) { background: #FBFAFC; }
.tcbn .tcbn-seo-table tbody tr:last-child th, .tcbn .tcbn-seo-table tbody tr:last-child td { border-bottom: 0; }
.tcbn .tcbn-seo-table a { color: var(--tcbn-accent); text-decoration: none; font-weight: 600; white-space: nowrap; }
.tcbn .tcbn-seo-table a:hover { text-decoration: underline; }

.tcbn .tcbn-quiz-links { list-style: none; padding: 0; margin: 0 0 6px; display: grid; gap: 8px; }
.tcbn .tcbn-quiz-links a { font-weight: 700; color: var(--tcbn-accent); text-decoration: none; }
.tcbn .tcbn-quiz-links a:hover { text-decoration: underline; }

.tcbn .tcbn-faq { display: grid; gap: 8px; }
.tcbn .tcbn-faq-item { border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm); background: var(--tcbn-surface); overflow: hidden; }
.tcbn .tcbn-faq-item summary { cursor: pointer; padding: 13px 36px 13px 14px; font-weight: 700; font-size: 1rem; list-style: none; position: relative; }
.tcbn .tcbn-faq-item summary::-webkit-details-marker { display: none; }
.tcbn .tcbn-faq-item summary::after { content: "+"; position: absolute; right: 14px; top: 11px; color: var(--tcbn-primary-2); font-weight: 800; }
.tcbn .tcbn-faq-item[open] summary::after { content: "\2013"; }
.tcbn .tcbn-faq-a { padding: 0 14px 14px; font-size: .98rem; line-height: 1.6; color: #4d4356; }

/* ---------- Điện thoại ---------- */
@media (max-width: 620px) {
  .tcbn .tcbn-tiles { grid-template-columns: repeat(2, 1fr); }
  .tcbn .tcbn-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tcbn .tcbn-filter { width: 100%; padding-left: 8px; padding-right: 8px; }
  .tcbn .tcbn-search-results { position: static; margin-top: 6px; max-height: none; }
  .tcbn .tcbn-search-item { align-items: flex-start; flex-direction: column; gap: 2px; }
  .tcbn .tcbn-search-item em { text-align: left; }
  .tcbn .tcbn-stats { grid-template-columns: 1fr; }
  .tcbn .tcbn-picks { display: grid; grid-template-columns: 1fr; }
  .tcbn .tcbn-pick { width: 100%; min-width: 0; }
  .tcbn .tcbn-course-grid { grid-template-columns: 1fr; }
  .tcbn .tcbn-course-card { flex-direction: column; }
  .tcbn .tcbn-course-side { align-items: flex-start; text-align: left; }
  .tcbn .tcbn-seo-table { font-size: .8rem; }
  .tcbn .tcbn-seo-table th, .tcbn .tcbn-seo-table td { padding: 7px 8px; }
  .tcbn .tcbn-row { grid-template-columns: 1fr; gap: 2px; }
  .tcbn .tcbn-row .tcbn-row-k { font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; }
  .tcbn .tcbn-trade .tcbn-trade-sub { display: none; }
  .tcbn .tcbn-trade .tcbn-trade-name { font-size: .84rem; }
  /* Cosmetology là nhãn dài nhất -> ô giữa rộng hơn, Nail/Facial hẹp lại (đủ vì nhãn ngắn) */
  .tcbn .tcbn-trades { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr) minmax(0, .8fr); }
  .tcbn .tcbn-head .tcbn-h { font-size: 1.2rem; }
  /* Lề hẹp hơn cho màn nhỏ */
  .tcbn .tcbn-controls, .tcbn .tcbn-result, .tcbn .tcbn-foot { padding-left: 16px; padding-right: 16px; }
  /* Xếp DỌC tiêu đề bang + badge: badge (nowrap) không còn bóp méo tên bang & tag nghề */
  .tcbn .tcbn-result-head { flex-direction: column; align-items: flex-start; gap: 6px; }
  /* Gợi ý vuốt cho bảng SEO (chỉ hiện trên mobile) */
  .tcbn .tcbn-seo-swipe { display: block; font-size: .76rem; color: var(--tcbn-muted); margin: 0 0 6px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .tcbn .tcbn-fade { animation: none; }
  .tcbn * { transition: none !important; }
}

/* ===================== CẢNH BÁO LỪA ĐẢO ([canh_bao_lua_dao]) ===================== */
.tcbn .tcbn-scam-list { display: flex; flex-direction: column; gap: 8px; }
.tcbn .tcbn-scam-item {
  display: flex; gap: 11px; align-items: flex-start; cursor: pointer;
  padding: 11px 13px; border: 1.5px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm);
  background: var(--tcbn-surface); transition: border-color .15s, background .15s;
}
.tcbn .tcbn-scam-item:hover { border-color: #E7CFA3; background: #FFFDFA; }
.tcbn .tcbn-scam-cb { margin-top: 3px; width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--tcbn-accent); cursor: pointer; }
.tcbn .tcbn-scam-item:has(.tcbn-scam-cb:checked) { border-color: var(--tcbn-accent); background: #FCEDF1; }
.tcbn .tcbn-scam-txt { display: block; font-size: .95rem; line-height: 1.45; }
.tcbn .tcbn-scam-txt strong { color: var(--tcbn-ink); }
.tcbn .tcbn-scam-why { display: block; font-size: .85rem; color: var(--tcbn-muted); margin-top: 2px; }
.tcbn .tcbn-scam-bar { margin-top: 12px; display: flex; justify-content: flex-end; }
.tcbn .tcbn-scam-bar .tcbn-cta { background: var(--tcbn-surface); color: var(--tcbn-muted); border: 1.5px solid var(--tcbn-line); box-shadow: none; padding: 7px 14px; font-size: .85rem; }

.tcbn .tcbn-scam-verdict { padding: 16px 18px; border-radius: var(--tcbn-radius-sm); border: 1.5px solid; border-left-width: 5px; margin-bottom: 14px; }
.tcbn .tcbn-scam-verdict .big { font-size: 1.1rem; font-weight: 800; margin-bottom: 4px; }
.tcbn .tcbn-scam-verdict p { margin: 0; font-size: .92rem; line-height: 1.5; }
.tcbn .tcbn-scam-verdict.ok { background: var(--tcbn-good-bg); border-color: #BBE6DA; border-left-color: var(--tcbn-good); }
.tcbn .tcbn-scam-verdict.ok .big { color: var(--tcbn-good); }
.tcbn .tcbn-scam-verdict.warn { background: var(--tcbn-warn-bg); border-color: #E7CFA3; border-left-color: var(--tcbn-warn); }
.tcbn .tcbn-scam-verdict.warn .big { color: var(--tcbn-warn); }
.tcbn .tcbn-scam-verdict.no { background: #FCEDF1; border-color: #F2C9D5; border-left-color: var(--tcbn-accent); }
.tcbn .tcbn-scam-verdict.no .big { color: #c8456a; }

.tcbn .tcbn-scam-askbox { background: var(--tcbn-bg); border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm); padding: 14px 16px 14px 18px; margin-bottom: 14px; }
.tcbn .tcbn-scam-askbox h4 { margin: 0 0 8px; font-size: .98rem; font-weight: 800; color: var(--tcbn-primary); }
.tcbn .tcbn-scam-askbox ol { margin: 0; padding-left: 20px; }
.tcbn .tcbn-scam-askbox li { font-size: .92rem; line-height: 1.5; margin-bottom: 6px; }

/* Danh sách trong phần SEO render-sẵn */
.tcbn .tcbn-scam-flags li { margin-bottom: 8px; line-height: 1.5; }
.tcbn .tcbn-scam-ok li, .tcbn .tcbn-scam-ask li { margin-bottom: 6px; line-height: 1.5; }
.tcbn .tcbn-scam-truths { padding-left: 20px; }
.tcbn .tcbn-scam-truths li { margin-bottom: 8px; line-height: 1.55; }
.tcbn .tcbn-scam-truths strong { color: var(--tcbn-primary); }

/* ===================== NÊN LẤY BẰNG NÀO ([nen_lay_bang_nao]) ===================== */
.tcbn .tcbn-scope-q { margin-bottom: 14px; }
.tcbn .tcbn-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.tcbn .tcbn-chip {
  font-family: inherit; cursor: pointer; font-size: .9rem; padding: 9px 15px;
  border: 1.5px solid var(--tcbn-line); border-radius: 999px; background: var(--tcbn-surface);
  color: var(--tcbn-ink); transition: border-color .15s, background .15s, color .15s;
}
.tcbn .tcbn-chip:hover { border-color: var(--tcbn-primary-2); }
.tcbn .tcbn-chip[aria-pressed="true"] { background: var(--tcbn-primary); border-color: var(--tcbn-primary); color: #fff; }

.tcbn .tcbn-scope-rec { }
.tcbn .tcbn-scope-rec-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.tcbn .tcbn-scope-rec-tag { font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--tcbn-accent); padding: 3px 9px; border-radius: 999px; }
.tcbn .tcbn-scope-rec-head h3 { margin: 0; font-size: 1.2rem; font-weight: 800; color: var(--tcbn-primary); }
.tcbn .tcbn-scope-why { margin: 0 0 14px; padding-left: 20px; }
.tcbn .tcbn-scope-why li { margin-bottom: 6px; line-height: 1.5; }
.tcbn .tcbn-scope-alt { font-size: .9rem; color: var(--tcbn-muted); background: var(--tcbn-bg); border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm); padding: 10px 13px; margin: 12px 0; }
.tcbn .tcbn-scope-detail { margin: 0 0 6px; padding-left: 20px; }
.tcbn .tcbn-scope-detail li { margin-bottom: 6px; line-height: 1.5; }

/* ===================== ĐƯỜNG NHANH NHẤT ([duong_nhanh_bang_nghe]) ===================== */
.tcbn .tcbn-chip[aria-pressed="true"].tcbn-fast-f { background: var(--tcbn-good); border-color: var(--tcbn-good); color: #fff; }
.tcbn .tcbn-fast-head h3 { margin: 0 0 2px; font-size: 1.12rem; font-weight: 800; color: var(--tcbn-primary); }
.tcbn .tcbn-fast-head p { margin: 0 0 12px; font-size: .86rem; color: var(--tcbn-muted); }
.tcbn .tcbn-fast-list { list-style: none; counter-reset: fast; margin: 0; padding: 0; }
.tcbn .tcbn-fast-list li {
  counter-increment: fast; position: relative; display: flex; flex-wrap: wrap; justify-content: space-between;
  align-items: center; gap: 6px 12px; padding: 12px 14px 12px 44px; border: 1.5px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius-sm); margin-bottom: 8px; background: var(--tcbn-surface);
}
.tcbn .tcbn-fast-list li::before {
  content: counter(fast); position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  width: 24px; height: 24px; border-radius: 50%; background: var(--tcbn-primary); color: #fff;
  font-size: .82rem; font-weight: 800; display: flex; align-items: center; justify-content: center;
}
.tcbn .tcbn-fast-list li:first-child { border-color: var(--tcbn-accent); background: #FFF7FA; }
.tcbn .tcbn-fast-list li:first-child::before { background: var(--tcbn-accent); }
.tcbn .tcbn-fast-st { font-weight: 700; font-size: .98rem; display: flex; align-items: center; gap: 8px; }
.tcbn .tcbn-fast-st a { color: var(--tcbn-primary); text-decoration: none; }
.tcbn .tcbn-fast-st a:hover { text-decoration: underline; }
.tcbn .tcbn-fast-viet { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--tcbn-good); background: var(--tcbn-good-bg); padding: 2px 7px; border-radius: 999px; }
.tcbn .tcbn-fast-meta { display: flex; gap: 14px; font-size: .85rem; color: var(--tcbn-muted); }
.tcbn .tcbn-fast-meta span:first-child { font-weight: 700; color: var(--tcbn-ink); }

/* ===================== HỒ SƠ NƯỚC NGOÀI ([ho_so_nuoc_ngoai]) ===================== */
.tcbn .tcbn-fte-verdict { padding: 16px 18px; border-radius: var(--tcbn-radius-sm); border: 1.5px solid; border-left-width: 5px; margin-bottom: 14px; }
.tcbn .tcbn-fte-verdict p { margin: 6px 0 0; font-size: .92rem; line-height: 1.5; }
.tcbn .tcbn-fte-vhead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.tcbn .tcbn-fte-state { font-size: 1.1rem; font-weight: 800; }
.tcbn .tcbn-fte-badge { font-size: .8rem; font-weight: 700; padding: 3px 11px; border-radius: 999px; }
.tcbn .tcbn-fte-exam { font-size: .9rem; }
.tcbn .tcbn-fte-verdict.ok { background: var(--tcbn-good-bg); border-color: #BBE6DA; border-left-color: var(--tcbn-good); }
.tcbn .tcbn-fte-verdict.ok .tcbn-fte-state, .tcbn .tcbn-fte-verdict.ok .tcbn-fte-badge { color: var(--tcbn-good); }
.tcbn .tcbn-fte-verdict.ok .tcbn-fte-badge { background: #fff; }
.tcbn .tcbn-fte-verdict.warn { background: var(--tcbn-warn-bg); border-color: #E7CFA3; border-left-color: var(--tcbn-warn); }
.tcbn .tcbn-fte-verdict.warn .tcbn-fte-state, .tcbn .tcbn-fte-verdict.warn .tcbn-fte-badge { color: var(--tcbn-warn); }
.tcbn .tcbn-fte-verdict.warn .tcbn-fte-badge { background: #fff; }
.tcbn .tcbn-fte-verdict.no { background: #FCEDF1; border-color: #F2C9D5; border-left-color: var(--tcbn-accent); }
.tcbn .tcbn-fte-verdict.no .tcbn-fte-state, .tcbn .tcbn-fte-verdict.no .tcbn-fte-badge { color: #c8456a; }
.tcbn .tcbn-fte-verdict.no .tcbn-fte-badge { background: #fff; }
.tcbn .tcbn-fte-verdict.na { background: var(--tcbn-bg); border-color: var(--tcbn-line); border-left-color: var(--tcbn-muted); }
.tcbn .tcbn-fte-verdict.na .tcbn-fte-state { color: var(--tcbn-ink); }
.tcbn .tcbn-fte-verdict.na .tcbn-fte-badge { color: var(--tcbn-muted); background: #fff; }
.tcbn .tcbn-fte-docs-box { background: var(--tcbn-bg); border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm); padding: 14px 16px; margin-bottom: 14px; }
.tcbn .tcbn-fte-docs-box h4 { margin: 0 0 8px; font-size: .98rem; font-weight: 800; color: var(--tcbn-primary); }
.tcbn .tcbn-fte-docs { margin: 0; padding-left: 20px; }
.tcbn .tcbn-fte-docs li { margin-bottom: 7px; line-height: 1.5; }
.tcbn .tcbn-fte-note { color: var(--tcbn-muted); }

/* ===================== GIA HẠN BẰNG ([renew_bang_nail]) ===================== */
.tcbn input.tcbn-renew-date { color: var(--tcbn-ink); }
.tcbn .tcbn-renew-verdict { padding: 16px 18px; border-radius: var(--tcbn-radius-sm); border: 1.5px solid; border-left-width: 5px; margin-bottom: 14px; }
.tcbn .tcbn-renew-verdict .big { font-size: 1.12rem; font-weight: 800; margin-bottom: 4px; }
.tcbn .tcbn-renew-verdict p { margin: 0; font-size: .92rem; line-height: 1.5; }
.tcbn .tcbn-renew-verdict.ok { background: var(--tcbn-good-bg); border-color: #BBE6DA; border-left-color: var(--tcbn-good); }
.tcbn .tcbn-renew-verdict.ok .big { color: var(--tcbn-good); }
.tcbn .tcbn-renew-verdict.warn { background: var(--tcbn-warn-bg); border-color: #E7CFA3; border-left-color: var(--tcbn-warn); }
.tcbn .tcbn-renew-verdict.warn .big { color: var(--tcbn-warn); }
.tcbn .tcbn-renew-verdict.no { background: #FCEDF1; border-color: #F2C9D5; border-left-color: var(--tcbn-accent); }
.tcbn .tcbn-renew-verdict.no .big { color: #c8456a; }
.tcbn .tcbn-renew-life { margin: 0 0 8px; padding-left: 20px; }
.tcbn .tcbn-renew-life li { margin-bottom: 7px; line-height: 1.5; }
.tcbn .tcbn-renew-check { margin: 0 0 8px; padding-left: 20px; }
.tcbn .tcbn-renew-check li { margin-bottom: 6px; line-height: 1.5; }
.tcbn .tcbn-renew-checkbox { background: var(--tcbn-bg); border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm); padding: 14px 16px; margin-bottom: 14px; }
.tcbn .tcbn-renew-checkbox h4 { margin: 0 0 8px; font-size: .98rem; font-weight: 800; color: var(--tcbn-primary); }
.tcbn .tcbn-renew-checkbox ol { margin: 0; padding-left: 20px; }
.tcbn .tcbn-renew-checkbox li { margin-bottom: 6px; line-height: 1.5; font-size: .92rem; }
.tcbn .tcbn-renew-nr { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--tcbn-warn); background: var(--tcbn-warn-bg); padding: 1px 6px; border-radius: 999px; vertical-align: middle; }
.tcbn .tcbn-renew-docs { background: var(--tcbn-bg); border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm); padding: 14px 16px; margin-bottom: 14px; }
.tcbn .tcbn-renew-docs h4 { margin: 0 0 8px; font-size: .98rem; font-weight: 800; color: var(--tcbn-primary); }
.tcbn .tcbn-renew-docs .tcbn-docs-intro { margin: 0 0 10px; font-size: .9rem; color: var(--tcbn-muted); line-height: 1.5; }
.tcbn .tcbn-renew-docs .tcbn-faq-a ul { margin: 0; padding-left: 20px; }
.tcbn .tcbn-renew-docs .tcbn-faq-a li { margin-bottom: 6px; line-height: 1.5; font-size: .92rem; }

/* ===================== HUB CÔNG CỤ ([cong_cu_bang_nghe]) + nav công cụ khác ===================== */
.tcbn .tcbn-hub-hero { text-align: center; padding: 30px 22px 26px; border-radius: var(--tcbn-radius); color: #fff; margin-bottom: 22px;
  background: radial-gradient(120% 140% at 0% 0%, rgba(224,86,122,.22), transparent 55%), linear-gradient(135deg, var(--tcbn-primary), var(--tcbn-primary-2)); box-shadow: var(--tcbn-shadow); }
.tcbn .tcbn-hub-hero h2 { color: #fff; margin: 0 0 8px; font-size: 1.5rem; line-height: 1.22; }
.tcbn .tcbn-hub-hero p { color: rgba(255,255,255,.9); margin: 0 auto; max-width: 560px; font-size: 1.04rem; }
.tcbn .tcbn-hub-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.tcbn .tcbn-hub-badge { font-size: .84rem; font-weight: 700; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.28); color: #fff; }
.tcbn .tcbn-hub-lead { font-size: 1.08rem; line-height: 1.65; background: var(--tcbn-bg); border: 1px solid var(--tcbn-line); border-left: 4px solid var(--tcbn-accent); border-radius: var(--tcbn-radius-sm); padding: 15px 17px; margin: 0 0 22px; }
.tcbn .tcbn-hub-group { margin-bottom: 22px; }
.tcbn .tcbn-hub-group > h3 { font-size: 1.14rem; margin: 0 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--tcbn-line); }
.tcbn .tcbn-hub-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.tcbn .tcbn-hub-card { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--tcbn-line); border-radius: var(--tcbn-radius-sm); background: var(--tcbn-surface); text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s, transform .12s; }
.tcbn .tcbn-hub-card:hover { border-color: var(--tcbn-primary); box-shadow: var(--tcbn-shadow-sm); transform: translateY(-2px); }
.tcbn .tcbn-hub-ic { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(135deg, rgba(74,47,94,.10), rgba(224,86,122,.12)); color: var(--tcbn-primary); }
.tcbn .tcbn-hub-ic .tcbn-ic { width: 22px; height: 22px; }
.tcbn .tcbn-hub-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tcbn .tcbn-hub-ttl { font-weight: 800; font-size: 1.06rem; line-height: 1.3; color: var(--tcbn-ink); }
.tcbn .tcbn-hub-desc { font-size: .95rem; line-height: 1.5; color: var(--tcbn-muted); }
.tcbn .tcbn-hub-go { flex: 0 0 auto; align-self: center; color: var(--tcbn-primary); font-weight: 800; font-size: 1.1rem; }
.tcbn .tcbn-hub-paid { margin: 8px 0 22px; padding: 20px; border-radius: var(--tcbn-radius); background: linear-gradient(135deg, rgba(74,47,94,.06), rgba(224,86,122,.07)); border: 1px solid var(--tcbn-line); text-align: center; }
.tcbn .tcbn-hub-paid h3 { margin: 0 0 6px; font-size: 1.1rem; }
.tcbn .tcbn-hub-paid p { margin: 0 auto 14px; max-width: 520px; color: var(--tcbn-muted); }
.tcbn .tcbn-tools-nav { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--tcbn-line); }
.tcbn .tcbn-tools-nav h3 { font-size: 1.08rem; margin: 0 0 8px; }
.tcbn .tcbn-tools-nav ul { margin: 0; padding-left: 20px; }
.tcbn .tcbn-tools-nav li { margin-bottom: 7px; line-height: 1.55; font-size: 1rem; }
@media (max-width: 560px) {
  .tcbn { font-size: 1.08rem; }   /* điện thoại: chữ to thêm chút cho dễ đọc */
  .tcbn .tcbn-hub-hero h2 { font-size: 1.3rem; }
  .tcbn .tcbn-hub-grid { grid-template-columns: 1fr; }
}

/* A11y: focus-visible cho link dạng nút/thẻ (theme hay xoá outline mặc định của <a>) */
.tcbn .tcbn-cta:focus-visible,
.tcbn .tcbn-course-card:focus-visible,
.tcbn .tcbn-hub-card:focus-visible,
.tcbn .tcbn-tools-nav a:focus-visible { outline: 3px solid rgba(224,86,122,.45); outline-offset: 2px; }

/* ── KHỐI LIÊN KẾT BANG [tcbn_lien_ket_bang] (v1.15.3) ────────────────────
   Link tĩnh <a href> tới các trang bang. Mục đích SEO: cho Googlebot đường
   crawl THẬT (bộ chọn bang của tool là JS → bot không đi theo được). */
.tcbn .tcbn-state-links {
  margin: 26px 0;
  padding: 22px;
  border: 1px solid var(--tcbn-line);
  border-radius: var(--tcbn-radius);
  background:
    radial-gradient(circle at top left, rgba(224,86,122,.10), transparent 34%),
    linear-gradient(180deg, #fff, #FBFAFC);
  box-shadow: var(--tcbn-shadow-sm);
}
.tcbn .tcbn-state-links h3 { margin: 0 0 7px; font-size: 1.2rem; line-height: 1.25; color: var(--tcbn-primary); }
.tcbn .tcbn-sl-intro { margin: 0; color: var(--tcbn-muted); font-size: .98rem; line-height: 1.55; }
.tcbn .tcbn-sl-hint {
  margin: 12px 0 18px;
  padding: 10px 12px;
  border: 1px solid #EADDEB;
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  color: #5D5065;
  font-size: .9rem;
  line-height: 1.45;
}
.tcbn .tcbn-sl-group { margin-bottom: 22px; }
.tcbn .tcbn-sl-group:last-of-type { margin-bottom: 6px; }
.tcbn .tcbn-sl-group h4 { margin: 0 0 10px; font-size: 1.02rem; font-weight: 800; line-height: 1.35; color: var(--tcbn-ink); }
.tcbn .tcbn-sl-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
}
.tcbn .tcbn-sl-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--tcbn-line);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  line-height: 1.35;
  box-shadow: 0 1px 0 rgba(74,47,94,.03);
}
.tcbn .tcbn-sl-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.tcbn .tcbn-sl-state {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--tcbn-primary);
  font-weight: 800;
  text-decoration: none;
}
.tcbn .tcbn-sl-state:hover .tcbn-sl-name { text-decoration: underline; }
.tcbn .tcbn-sl-code {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 34px;
  min-height: 28px;
  border-radius: 10px;
  background: var(--tcbn-bg);
  color: var(--tcbn-primary-2);
  font-size: .76rem;
  letter-spacing: .04em;
}
.tcbn .tcbn-sl-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tcbn .tcbn-sl-badge {
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--tcbn-good-bg);
  color: var(--tcbn-good);
  padding: 3px 8px;
  font-size: .72rem;
  font-weight: 800;
  white-space: nowrap;
}
.tcbn .tcbn-sl-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tcbn .tcbn-sl-actions .tcbn-sl-action:only-child { grid-column: 1 / -1; }
.tcbn .tcbn-sl-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid #E2D9E8;
  background: #fff;
  color: var(--tcbn-primary);
  font-size: .86rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}
.tcbn .tcbn-sl-action:hover { border-color: var(--tcbn-primary-2); text-decoration: none; }
.tcbn .tcbn-sl-action-quiz { background: #FFF7FA; border-color: #F3CEDA; color: var(--tcbn-accent); }
.tcbn .tcbn-sl-more { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--tcbn-line); text-align: center; }
.tcbn .tcbn-sl-more a { color: var(--tcbn-accent); text-decoration: none; }
.tcbn .tcbn-sl-more a:hover { text-decoration: underline; }
.tcbn .tcbn-state-links a:focus-visible { outline: 3px solid rgba(224,86,122,.45); outline-offset: 2px; }
@media (max-width: 560px) {
  .tcbn .tcbn-state-links { padding: 16px; border-radius: 18px; }
  .tcbn .tcbn-state-links h3 { font-size: 1.12rem; }
  .tcbn .tcbn-sl-grid { grid-template-columns: 1fr; gap: 10px; }
  .tcbn .tcbn-sl-card { padding: 11px; border-radius: 15px; }
  .tcbn .tcbn-sl-name { white-space: normal; }
}
