/* UTIL-041 Giá vốn, margin, markup và hòa vốn — bổ sung cho utilities.css. Font kế thừa .sou-page; không ghi đè icon. */
.pf-modes{margin:0 0 14px}
.pf-seg{display:flex;flex-wrap:wrap;gap:8px}
.pf-seg button,.pf-mini-seg 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}
.pf-seg button:hover,.pf-mini-seg button:hover{border-color:#9db6f3}
.pf-seg button[aria-pressed=true],.pf-mini-seg button[aria-pressed=true]{background:var(--sou-primary);border-color:var(--sou-primary);color:#fff}
.pf-mode-select{display:none;margin:0}
.pf-basis{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:flex-start;margin:0 0 14px;padding:12px 14px 0;border-radius:14px;background:#f7f9fd;border:1px solid var(--sou-line)}
.pf-cur{flex:0 1 180px}
.pf-vat{flex:1 1 300px;border:0;padding:0;min-width:0}
.pf-radios{display:flex;flex-wrap:wrap;gap:0 22px}
.pf-title{font-size:19px!important;margin:0 0 12px!important}
.pf-group{margin:0 0 14px;padding:12px 14px 2px;border:1px solid var(--sou-line);border-radius:14px;background:#fbfcff;min-width:0}
div.pf-group{padding:0;border:0;background:none}
.pf-group legend,.pf-sc legend{width:auto;margin:0 0 6px;padding:0 6px;border:0;font-weight:700;color:var(--sou-ink);font-size:16px;line-height:1.4}
.pf-affix{position:relative}
.pf-affix.has-unit input{padding-right:52px!important}
.pf-unit{position:absolute;top:0;right:0;height:46px;padding:0 12px;display:flex;align-items:center;color:var(--sou-muted);font-weight:700;font-size:14px;pointer-events:none}
.pf-seg-wrap{margin:0 0 12px}
.pf-seg-wrap .sou-label{margin-bottom:6px}
.pf-mini-seg{display:flex;flex-wrap:wrap;gap:8px}
.pf-note{margin:0 0 12px;color:var(--sou-muted);font-size:14px}
.pf-import{margin:0 0 12px;white-space:normal;text-align:left}
.pf-scenarios{display:grid;gap:14px}
.pf-sc{margin:0;padding:12px 14px 2px;border:1px solid var(--sou-line);border-radius:14px;background:#fbfcff;min-width:0}
.pf-sc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 12px}
.pf-sc-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.pf-sc-tools .sou-button{min-height:44px;padding:8px 14px;font-size:15px}
.pf-add{margin:12px 0 4px}
.pf-actions{margin:6px 0 4px}
.pf-undo{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:8px 0;padding:6px 12px;border-radius:12px;background:var(--sou-soft);color:var(--sou-ink);font-size:15px}
.pf-remember{margin-top:6px}
.pf-result h2{font-size:18px}
.pf-result.is-stale [data-output]{opacity:.45}
.pf-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}
.pf-empty{margin:0;color:var(--sou-muted)}
.pf-chip{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:5px 14px;border-radius:999px;font-weight:700;background:var(--sou-soft);color:var(--sou-ink)}
.pf-chip.profit{background:var(--sou-ok-bg);color:var(--sou-ok)}
.pf-chip.loss,.pf-chip.none{background:var(--sou-err-bg);color:var(--sou-err)}
.pf-chip.even{background:var(--sou-warn-bg);color:var(--sou-warn)}
.pf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 10px}
.pf-kpi{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--sou-line);min-width:0}
.pf-kpi span{display:block;color:var(--sou-muted);font-weight:700;font-size:14px}
.pf-kpi strong{display:block;font-size:30px;line-height:1.2;color:var(--sou-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pf-label{margin:0;color:var(--sou-muted);font-weight:700}
.pf-result .sou-big{margin:0 0 8px}
.pf-stats{margin:0 0 12px}
.pf-stats strong{font-size:20px}
.pf-explain{margin:0 0 12px;color:var(--sou-text);font-size:15px}
.pf-best{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:var(--sou-ok-bg);color:var(--sou-ok);font-weight:700}
.pf-table{margin:0 0 12px}
.pf-table caption{caption-side:top;text-align:left;padding:10px 12px 0;font-weight:700;color:var(--sou-ink)}
.pf-table th[scope=row]{font-weight:400;white-space:normal;background:none;color:var(--sou-text);min-width:150px}
.pf-table .pf-strong th,.pf-table .pf-strong td{font-weight:700;color:var(--sou-ink)}
.pf-warn{font-weight:400;margin:0 0 12px}
.pf-warn ul{margin:0;padding-left:18px}
.pf-warn li{margin:2px 0}
@media(min-width:1024px){.pf-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
@media(max-width:767px){.pf-seg{display:none}.pf-mode-select{display:block}.pf-actions .sou-button[data-calc]{flex:1 1 100%}}
@media(max-width:600px){.pf-group{padding:10px 10px 2px}.pf-kpi strong{font-size:26px}}
@media print{.pf-modes,.pf-input,.pf-result .sou-toolbar{display:none!important}}
/* Vùng chạm tối thiểu 44 px kể cả khi bộ UI thu nhỏ nút trên màn hình hẹp. */
.pf .sou-button,.pf select,.pf input[type=text]{min-height:44px}
/* Số dài (tới 24 chữ số, có dấu chấm nghìn) không có chỗ ngắt dòng: cho phép ngắt ở bất kỳ ký tự để không tràn ngang ở 320 px. */
.pf small,.pf .sou-status,.pf-explain,.pf-best,.pf-warn li,.pf-kpi strong{overflow-wrap:anywhere}
.pf-input,.pf-result{min-width:0}
