/* Bộ công cụ tự đánh giá — chỉ dùng trong /cong-cu. Biến riêng, không ghi đè theme chung. */
.tool [hidden]{display:none!important}
.tool{--t-accent:#1B4D3E;--t-ink:#222;--t-amber:#7A4E00;--t-red:#8B1E1E;--t-bg:#fffdf8;--t-line:#d9dfd6;--t-muted:#55605b;
  font-family:"Be Vietnam Pro","Inter",system-ui,sans-serif;color:var(--t-ink)}
.tool .wrap{max-width:820px}
.tool-lead{font-size:17px;max-width:68ch}
.tool-grid{display:grid;gap:22px;grid-template-columns:1fr}
@media (min-width:900px){.tool-grid.two{grid-template-columns:3fr 2fr}}
.tool-card{background:var(--t-bg);border:1px solid var(--t-line);border-radius:12px;padding:18px 18px 20px}
.tool form{display:grid;gap:16px}
.tool fieldset{border:1px solid var(--t-line);border-radius:10px;padding:12px 14px;margin:0;background:#fff}
.tool legend{font-weight:700;padding:0 4px}
.tool label.f{display:grid;gap:6px;font-weight:600}
.tool .hint{font-weight:400;font-size:14px;color:var(--t-muted)}
.tool input[type=number]{font:inherit;font-size:18px;min-height:48px;padding:8px 12px;border:1px solid #b9c3bd;border-radius:8px;background:#fff;width:100%;max-width:240px}
.tool .opts{display:flex;flex-wrap:wrap;gap:8px}
.tool .opt{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid #b9c3bd;border-radius:8px;background:#fff;cursor:pointer;font-weight:500}
.tool .opt input{width:20px;height:20px;accent-color:var(--t-accent);margin:0}
.tool .opt:has(input:checked){border-color:var(--t-accent);background:#eaf2ee}
.tool .opts.col{flex-direction:column}
.tool .check{display:flex;align-items:flex-start;gap:10px;min-height:44px;font-weight:500}
.tool .check input{width:20px;height:20px;margin-top:3px;accent-color:var(--t-accent)}
.btn-t{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:8px;border:2px solid var(--t-accent);background:var(--t-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn-t:hover{background:#133a2e;color:#fff}
.btn-t.ghost{background:#fff;color:var(--t-accent)}
.btn-t.ghost:hover{background:#eaf2ee;color:var(--t-accent)}
.btn-t:focus-visible,.tool a:focus-visible,.tool input:focus-visible{outline:3px solid #b1802a;outline-offset:2px}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.stop{border-left:4px solid var(--t-amber);background:#fff6e5;padding:12px 14px;border-radius:8px;font-weight:600}
.howto ol{padding-left:20px;margin:6px 0 0}
.howto li{margin:4px 0}
/* kết quả */
.result{border-left:5px solid var(--t-accent)}
.result.is-amber{border-left-color:var(--t-amber)}
.result.is-red{border-left-color:var(--t-red)}
.result h2{margin:0 0 8px;font-size:21px}
.r-block{margin:14px 0}
.r-label{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--t-muted);font-weight:700;margin:0 0 4px}
.r-score{font-size:30px;font-weight:800;color:var(--t-accent);margin:0}
.result.is-red .r-score{color:var(--t-red)}
.result.is-amber .r-score{color:var(--t-amber)}
.r-small{font-size:14px;color:var(--t-muted)}
.sources{font-size:14px;color:var(--t-muted);border-top:1px solid var(--t-line);padding-top:10px;margin-top:14px}
.sources ol{padding-left:20px;margin:6px 0}
.disclaimer{font-size:14px;background:#f4f6f2;border-radius:8px;padding:10px 12px}
/* tóm tắt */
#print-summary{background:#fff;border:1px dashed #9aa79f;border-radius:10px;padding:16px;margin-top:16px}
#print-summary h2{font-size:18px;margin:0 0 6px}
#print-summary p{margin:6px 0}
#print-summary .notes div{border-bottom:1px solid #9aa79f;height:30px}
#summary-fallback{width:100%;min-height:160px;font:14px/1.5 ui-monospace,monospace;margin-top:8px}
.history table{width:100%;border-collapse:collapse;font-size:15px}
.history th,.history td{border-bottom:1px solid var(--t-line);padding:8px;text-align:left}
.link-t{background:none;border:0;color:var(--t-accent);text-decoration:underline;font:inherit;cursor:pointer;min-height:44px}
/* hub */
.hub-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.hub-card{display:block;background:#fff;border:1px solid var(--t-line);border-radius:12px;padding:16px;text-decoration:none;color:var(--t-ink)}
a.hub-card:hover{border-color:var(--t-accent);color:var(--t-ink)}
.hub-card h3{margin:6px 0 6px;font-size:18px}
.hub-card p{margin:0;font-size:15px;color:var(--t-muted)}
.badge{display:inline-block;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px}
.badge.open{background:#eaf2ee;color:var(--t-accent)}
.badge.soon{background:#eef0ee;color:#5d665f}
.hub-card.soon{background:#f7f8f6;border-style:dashed}
.hub-card .num{font-size:13px;color:var(--t-muted);margin-left:6px}
.tool.hub .wrap{max-width:1140px}
.tool details.faq{border-bottom:1px solid var(--t-line);padding:10px 0}
.tool details.faq summary{font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center}
#print-root{display:none}
#print-root>div{font:15px/1.55 "Be Vietnam Pro","Inter",system-ui,sans-serif;color:#222}
#print-root h2{font-size:19px;margin:0 0 8px}
#print-root p{margin:6px 0}
#print-root .notes div{border-bottom:1px solid #888;height:30px}
@media print{
  html.has-print-root body>*:not(#print-root){display:none!important}
  html.has-print-root #print-root{display:block}
  .no-print{display:none!important}
}
/* công cụ 01 */
.t01-info h2{margin-top:26px}.t01-info h3{font-size:17px;margin:14px 0 4px}
.t01-scores{width:100%;border-collapse:collapse;font-size:15px}.t01-scores th,.t01-scores td{border-bottom:1px solid var(--t-line);padding:8px;text-align:left}
#t01-questions fieldset{margin:12px 0}
