/* UTIL-042 Lãi tiết kiệm và lãi kép — bổ sung cho utilities.css. Font kế thừa .sou-page (Arial…); không đổi font icon. */
@media (min-width:1024px){.cmp-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.cmp .sou-presets button{min-height:44px}
.cmp .sou-toolbar .sou-button{min-height:44px}
.cmp-mode-help{margin:-4px 0 16px}
.cmp-scenario-title{margin:4px 0 8px;color:var(--sou-ink)}
.cmp-group{margin:0 0 14px;padding:10px 14px 4px;border:1px solid var(--sou-line);border-radius:12px;min-width:0}
.cmp-group>legend{width:auto;margin:0;padding:0 6px;border:0;font-weight:700;color:var(--sou-ink);font-size:15px;line-height:1.4}
.cmp-seg{display:flex;flex-wrap:wrap;gap:0 22px}
.cmp-more{margin:0 0 6px;padding:0 14px;border:1px solid var(--sou-line);border-radius:12px;background:#fbfcff}
.cmp-more>summary{display:flex;align-items:center;min-height:46px;cursor:pointer;font-weight:700;color:var(--sou-ink)}
.cmp-more[open]{padding-bottom:6px}
.cmp-more .sou-help{margin:-6px 0 4px}
.cmp-undo{margin:0 0 8px}
.cmp-result h2{margin-bottom:8px}
.cmp-empty{margin:0;color:var(--sou-muted)}
.cmp-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}
.cmp-result.is-stale [data-output],.cmp-tables.is-stale{opacity:.5}
.cmp-kpi-label{margin:0 0 4px;color:var(--sou-muted);font-weight:700;font-size:15px}
.cmp-big{font-size:clamp(28px,6vw,40px);margin:0}
.cmp-kpi-sub{margin:6px 0 14px;color:var(--sou-muted);font-size:15px}
.cmp-none{margin:0 0 12px}
.cmp-stats{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.cmp-stats li>span{display:block}
.cmp-stats strong{font-size:21px;overflow-wrap:anywhere}
.cmp-stat-note{display:block;margin-top:2px;color:var(--sou-muted);font-size:13px;overflow-wrap:anywhere}
.cmp-compare-wrap{margin-top:4px}
.cmp-compare-cards{display:none;gap:10px;margin:4px 0 0;padding:0;list-style:none}
.cmp-compare-cards li{padding:12px 14px;border:1px solid var(--sou-line);border-radius:12px;background:#fff}
.cmp-compare-cards li.is-best{border-color:#285bed;border-width:2px}
.sou-page .cmp-compare-cards h3{margin:0 0 6px;font-size:16px}
.cmp-compare-cards dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:14px}
.cmp-compare-cards dt{color:var(--sou-muted);font-weight:400}
.cmp-compare-cards dd{margin:0;text-align:right;font-weight:700;color:var(--sou-ink);font-variant-numeric:tabular-nums}
@media (max-width:600px){.cmp-compare-cards:not([hidden]){display:grid}.cmp-compare-wrap{display:none}}
.cmp-chart{margin:18px 0 0}
.cmp-chart figcaption{margin:0 0 8px;font-weight:700;color:var(--sou-ink)}
.cmp-chart [data-chart]{width:100%;overflow:hidden}
.cmp-svg{display:block;max-width:100%;height:auto}
.cmp-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;padding:0;list-style:none;color:var(--sou-muted);font-size:14px}
.cmp-swatch{display:inline-block;width:16px;height:16px;margin-right:6px;vertical-align:-3px;overflow:hidden}
.cmp-notes{margin:14px 0 0;padding-left:20px;font-size:14px;list-style:disc}
.cmp-notes li{display:list-item;margin:4px 0}
.cmp-chart figcaption{text-align:left}
.cmp-assumptions{margin:10px 0 0;color:var(--sou-muted);font-size:14px}
.cmp-disclaimer{margin:14px 0 0;font-size:14px}
.cmp-tables{margin-top:24px}
.cmp-tables>h2{font-size:20px;margin:0 0 10px}
.cmp-detail{margin-top:16px}
.cmp-detail>summary{display:flex;align-items:center;min-height:46px;cursor:pointer;font-weight:700;color:var(--sou-ink)}
.cmp-pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.cmp-pager .sou-button{min-height:44px;padding:8px 14px;font-size:15px}
.sou-page .cmp-pager select{width:auto;max-width:100%;flex:1 1 220px}
.cmp .sou-table tr.is-partial>*{background:#fffaf0}
.cmp .sou-table tbody th{font-weight:700;color:var(--sou-ink);white-space:nowrap}
@media (max-width:600px){.cmp .sou-presets button{flex:1 1 calc(50% - 8px)}.cmp-stats strong{font-size:19px}}
@media print{.cmp-modes,.cmp-mode-help,.cmp-form,.cmp-detail,.cmp-stale,.cmp .sou-toolbar{display:none!important}.cmp-layout{display:block}.cmp-result{border:0;padding:0;background:none}.cmp-result.is-stale [data-output],.cmp-tables.is-stale{opacity:1}.cmp-tables{break-before:auto}}
