/* UTIL-040 Tính VAT xuôi/ngược — bổ sung cho bộ UI utilities.css. Font kế thừa từ .sou-page (Arial…); tiêu đề 700; không ghi đè icon. */
.vat-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--sou-line);border-radius:12px;background:var(--sou-soft);color:var(--sou-ink);font-size:14px}
.vat-banner strong{font-size:15px}
.vat-banner span{color:var(--sou-text)}
.vat-banner a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.vat-banner.is-warn{background:var(--sou-warn-bg);border-color:#f0d39a;color:var(--sou-warn)}
.vat-banner.is-error{background:var(--sou-err-bg);border-color:#f2b8b1;color:var(--sou-err)}
.vat-modes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.vat-modes button{min-height:44px;padding:8px 16px;border:1px solid var(--sou-line);border-radius:999px;background:var(--sou-soft);color:var(--sou-ink);font:700 15px Arial,"Helvetica Neue",Helvetica,sans-serif;cursor:pointer}
.vat-modes button:hover{border-color:#9db6f3}
.vat-modes button[aria-pressed=true]{background:var(--sou-primary);border-color:var(--sou-primary);color:#fff}
.vat-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}
.vat-layout>*{min-width:0}
.vat-inputs .sou-row{align-items:flex-start}
.vat-inputs .sou-row>.sou-field{flex:1 1 180px}
.vat-inputs .sou-row>.vat-qty{flex:0 1 120px}
.vat-inputs .sou-row>.vat-grow{flex:3 1 200px}
.vat-actions{margin:10px 0 4px}
.vat-undo{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:8px 0;padding:4px 12px;border-radius:12px;background:var(--sou-soft);color:var(--sou-ink);font-size:15px}
.vat-lines{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:10px}
.vat-line fieldset{margin:0;padding:12px 12px 6px;border:1px solid var(--sou-line);border-radius:12px;background:#fbfcff;min-width:0}
.vat-line legend{width:auto;border:0;margin-bottom:0;line-height:1.4;padding:0 6px;font-weight:700;color:var(--sou-ink);font-size:14px}
.vat-line .sou-row{gap:8px}
.vat-line .sou-row>.sou-field{flex:1 1 110px;margin-bottom:8px}
.vat-line .sou-row>.vat-l-rate{flex:2 1 170px}
.vat-line .sou-row>.vat-l-custom{flex:1 1 130px}
.vat-output [data-status]{scroll-margin-top:12px}
.vat-line .sou-field{margin-bottom:8px}
.vat-remove{min-height:44px!important;padding:6px 12px!important;font-size:14px!important;margin:0 0 6px}
.vat-line-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px}
.vat-line-actions small{color:var(--sou-muted);font-size:14px}
.vat-result h2{font-size:18px}
.vat-result.is-stale .vat-out{opacity:.45}
.vat-stale{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:var(--sou-warn-bg);color:var(--sou-warn);font-weight:700;font-size:14px}
.vat-empty{margin:0;color:var(--sou-muted)}
.vat-label{display:inline-block;margin:0 0 12px;padding:6px 12px;border-radius:10px;font-weight:700;font-size:14px;line-height:1.4}
.vat-label.is-legal{background:#e8efff;color:#1d3f9e}
.vat-label.is-sim{background:var(--sou-warn-bg);color:var(--sou-warn)}
.vat-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.vat-stats strong{font-size:22px;line-height:1.3}
.vat-stats .vat-total{border-color:#9db6f3;background:#f1f5ff}
.vat-result h3{margin:18px 0 8px;font-size:16px}
.vat-result .sou-table{font-size:14px}
.vat-result .sou-table thead th{white-space:normal;vertical-align:bottom}
.vat-result .sou-table tbody th[scope=row]{background:#fff;font-weight:700;border-top:1px solid #edf1f9}
.vat-result .sou-table tfoot th[scope=row],.vat-result .sou-table tfoot td{font-weight:700;background:#f7f9fd;border-top:2px solid var(--sou-line)}
.vat-desc{min-width:140px;overflow-wrap:anywhere}
.vat-groups-table{min-width:460px}
.vat-lines-table{min-width:540px}
.vat-formula{margin-top:14px;border-top:1px solid var(--sou-line);padding-top:4px}
.vat-formula summary,.vat-sources summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--sou-ink)}
.vat-formula ol{margin:4px 0 0;padding-left:22px;font-size:15px}
.vat-formula li{margin:4px 0;overflow-wrap:anywhere}
.vat-toolbar .sou-button{min-height:44px}
.vat-disclaimer{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:var(--sou-warn-bg);color:var(--sou-warn);font-weight:700;font-size:15px}
.vat-sources{margin-top:12px;padding:4px 14px;border:1px solid var(--sou-line);border-radius:12px;background:#fff}
.vat-sources-body{padding:0 0 10px;font-size:15px}
.vat-sources-body p{margin:6px 0}
.vat-sources-body h3{margin:12px 0 4px;font-size:16px}
.vat-rate-list,.vat-source-list{margin:6px 0;padding-left:22px}
.vat-rate-list li,.vat-source-list li{margin:6px 0;overflow-wrap:anywhere}
.vat-source-list a{display:inline-block;padding:4px 0}
.vat-checksum{color:var(--sou-muted);font-size:13px;overflow-wrap:anywhere}
@media(max-width:960px){.vat-layout{grid-template-columns:1fr}}
@media(max-width:600px){.vat-modes button{flex:1 1 100%;text-align:left}.vat-stats{grid-template-columns:1fr;gap:8px}.vat-stats li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;padding:10px 12px}.vat-stats strong{font-size:20px;order:2}.vat-stats span{order:1}.vat-banner{font-size:13px}}
@media print{.vat-modes,.vat-actions,.vat-toolbar,.vat-line-actions,.vat-remove,.vat-undo{display:none!important}.vat-formula,.vat-sources{display:block}}
