/* UTIL-044 Lương Gross–Net — bổ sung cho bộ UI utilities.css. Font kế thừa từ .sou-page (Arial…); tiêu đề 700; không ghi đè icon. */
.sgn-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}
.sgn-banner strong{font-size:15px}
.sgn-banner span{color:var(--sou-text)}
.sgn-banner a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.sgn-banner.is-warn{background:var(--sou-warn-bg);border-color:#f0d39a;color:var(--sou-warn)}
.sgn-banner.is-warn span{color:var(--sou-warn)}
.sgn-banner.is-error{background:var(--sou-err-bg);border-color:#f2b8b1;color:var(--sou-err)}
.sgn-modes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.sgn-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}
.sgn-modes button:hover{border-color:#9db6f3}
.sgn-modes button[aria-pressed=true]{background:var(--sou-primary);border-color:var(--sou-primary);color:#fff}
.sgn-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}
.sgn-layout>*{min-width:0}
.sgn-group{margin:0 0 14px;padding:12px 14px 4px;border:1px solid var(--sou-line);border-radius:14px;background:#fbfcff;min-width:0}
.sgn-group>legend,.sgn-sub>legend,.sgn-scenario>legend{width:auto;border:0;margin-bottom:0;line-height:1.4}
.sgn-group>legend{padding:0 6px;font-weight:700;color:var(--sou-ink);font-size:15px}
.sgn-group>.sou-help{margin:0 0 10px}
.sgn-sub{margin:0 0 8px;padding:0;border:0;min-width:0}
.sgn-sub>legend{padding:0;margin:0 0 2px;font-weight:700;color:var(--sou-ink);font-size:15px}
.sgn-sub .sou-check{padding:4px 0}
.sgn-inputs .sou-row{align-items:flex-start;gap:10px}
.sgn-inputs .sou-row>.sou-field{flex:1 1 120px}
.sgn-scenarios{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}
.sgn-scenario{margin:0;padding:10px 12px 0;border:1px solid var(--sou-line);border-radius:12px;background:#fff;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;align-items:end}
.sgn-sim .sou-row{align-items:flex-end}
.sgn-scenario>legend{padding:0 6px;font-weight:700;color:var(--sou-ink);font-size:14px}
.sgn-scenario .sou-field label{font-size:14px}
.sgn-sim-toggle{margin:0 0 10px;padding:10px 12px!important;border:1px dashed #e0b45a;border-radius:12px;background:#fffaf0}
.sgn-sim{background:#fffaf0;border-color:#f0d39a}
.sgn-sim textarea{min-height:150px;font-variant-numeric:tabular-nums}
.sgn-actions{margin:10px 0 4px}
.sgn-result h2{font-size:18px}
.sgn-output [data-status]{scroll-margin-top:12px}
.sgn-result.is-stale .sgn-out{opacity:.45}
.sgn-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}
.sgn-empty{margin:0;color:var(--sou-muted)}
.sgn-label{display:inline-block;margin:0 0 12px;padding:6px 12px;border-radius:10px;font-weight:700;font-size:14px;line-height:1.4}
.sgn-label.is-legal{background:#e8efff;color:#1d3f9e}
.sgn-label.is-sim{background:var(--sou-warn-bg);color:var(--sou-warn)}
.sgn-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.sgn-stats strong{font-size:22px;line-height:1.3}
.sgn-stats .sgn-net{border-color:#9fd8b5;background:#f1fbf5}
.sgn-note{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:var(--sou-soft);color:var(--sou-ink);font-size:15px}
.sgn-warnings{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.sgn-warnings li{padding:8px 12px;border-radius:10px;background:var(--sou-warn-bg);color:var(--sou-warn);font-size:14px;font-weight:700}
.sgn-result h3{margin:18px 0 8px;font-size:16px}
.sgn-result .sou-table{font-size:14px}
.sgn-result .sou-table th[scope=row]{font-weight:400;color:var(--sou-text);white-space:normal;background:#fff;border-top:1px solid #edf1f9}
.sgn-result .sou-table thead th{white-space:normal;vertical-align:bottom}
.sgn-result .sou-table tr.is-sum th,.sgn-result .sou-table tr.is-sum td{font-weight:700;color:var(--sou-ink)}
.sgn-result .sou-table tr.is-net th,.sgn-result .sou-table tr.is-net td{font-weight:700;color:var(--sou-ok);background:#f1fbf5}
.sgn-result .sou-table tr.is-zero td,.sgn-result .sou-table tr.is-zero th{color:var(--sou-muted)}
.sgn-result .sou-table tfoot th[scope=row],.sgn-result .sou-table tfoot td{font-weight:700;color:var(--sou-ink);background:#f7f9fd;border-top:2px solid var(--sou-line)}
.sgn-brackets{min-width:520px}
.sgn-result .sgn-brackets tbody th[scope=row]{white-space:nowrap}
.sgn-rule{color:var(--sou-muted);font-size:12px;font-weight:400;white-space:nowrap}
.sgn-explain .sgn-rule{white-space:normal;overflow-wrap:anywhere}
.sgn-compare th[scope=col].num{text-align:right}
.sgn-result .sgn-compare th[scope=row]{min-width:140px}
.sgn-explain{margin-top:14px;border-top:1px solid var(--sou-line);padding-top:4px}
.sgn-explain summary,.sgn-sources summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--sou-ink)}
.sgn-explain ol{margin:4px 0 0;padding-left:22px;font-size:15px}
.sgn-explain li{margin:6px 0;overflow-wrap:anywhere}
.sgn-toolbar .sou-button{min-height:44px}
.sgn-export-note{margin:8px 0 0;color:var(--sou-warn);font-size:14px;font-weight:700}
.sgn-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}
.sgn-sources{margin-top:12px;padding:4px 14px;border:1px solid var(--sou-line);border-radius:12px;background:#fff}
.sgn-sources-body{padding:0 0 10px;font-size:15px}
.sgn-sources-body p{margin:6px 0}
.sgn-sources-body h3{margin:12px 0 4px;font-size:16px}
.sgn-pack-list,.sgn-source-list{margin:6px 0;padding-left:22px}
.sgn-pack-list li,.sgn-source-list li{margin:6px 0;overflow-wrap:anywhere}
.sgn-source-list a{display:inline-block;padding:4px 0}
.sgn-checksum{color:var(--sou-muted);font-size:13px;overflow-wrap:anywhere}
@media(max-width:960px){.sgn-layout{grid-template-columns:1fr}}
@media(max-width:600px){.sgn-modes button{flex:1 1 100%;text-align:left}.sgn-scenario{grid-template-columns:1fr}.sgn-stats{grid-template-columns:1fr;gap:8px}.sgn-stats li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;padding:10px 12px}.sgn-stats strong{font-size:20px;order:2}.sgn-stats span{order:1}.sgn-banner{font-size:13px}.sgn-group{padding:10px 10px 2px}}
@media print{.sgn-modes,.sgn-actions,.sgn-toolbar,.sgn-sim-toggle,.sgn-export-note{display:none!important}}
