.csf-software-cost { color:#202925; font-size:16px; line-height:1.5; letter-spacing:0; }
.csf-software-cost [hidden] { display:none!important; }
.csf-software-cost fieldset { min-width:0; margin:0; padding:0; border:0; }
.csf-software-cost legend { font-size:20px; font-weight:700; margin-bottom:12px; }
.csf-cost-settings, .csf-cost-commands, .csf-cost-result-heading { display:flex; flex-wrap:wrap; align-items:end; gap:12px 20px; }
.csf-cost-settings { padding-bottom:20px; border-bottom:1px solid #d7dfd9; margin-bottom:20px; }
.csf-software-cost label { display:block; font-size:14px; font-weight:600; margin:0 0 12px; }
.csf-cost-settings label { margin:0; }
.csf-software-cost input:not([type="checkbox"]), .csf-software-cost select { display:block; width:100%; min-height:44px; box-sizing:border-box; margin-top:5px; padding:8px 10px; border:1px solid #a5b3ac; border-radius:4px; background:#fff; color:#202925; font:inherit; font-weight:400; }
.csf-software-cost input:disabled { background:#f4f6f5; color:#606d65; }
.csf-software-cost input[aria-invalid="true"] { border:2px solid #a02532; }
.csf-software-cost button { min-height:44px; padding:8px 14px; border:1px solid #216149; border-radius:4px; background:#216149; color:#fff; font:inherit; line-height:1.4; cursor:pointer; }
.csf-software-cost button[type="reset"] { background:#fff; color:#216149; }
.csf-software-cost :is([data-cost-restore],[data-cost-clear]) { background:#fff; color:#216149; }
.csf-cost-saved-actions { display:flex; flex-wrap:wrap; gap:12px; }
.csf-cost-save-status { font-size:14px; color:#4f5e55; margin:12px 0 20px; overflow-wrap:anywhere; }
.csf-software-cost button:disabled { opacity:.5; cursor:not-allowed; }
.csf-software-cost :focus-visible { outline:3px solid #216149; outline-offset:3px; }
.csf-cost-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.csf-cost-option + .csf-cost-option { border-left:1px solid #d7dfd9; padding-left:24px; }
.csf-cost-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.csf-software-cost .csf-cost-toggle { display:flex; align-items:center; gap:8px; min-height:44px; font-weight:400; }
.csf-cost-toggle input { width:18px; height:18px; flex-shrink:0; accent-color:#216149; }
.csf-cost-results { margin-top:24px; border-top:2px solid #d7dfd9; padding-top:20px; }
.csf-cost-result-heading { align-items:center; justify-content:space-between; }
.csf-cost-result-heading h2 { font-size:24px; line-height:1.3; margin:0; }
.csf-cost-error { color:#a02532; }
.csf-cost-error:empty { display:none; }
.csf-cost-table-wrap { overflow-x:auto; max-width:100%; }
.csf-software-cost table { width:100%; border-collapse:collapse; margin:12px 0; font-size:15px; }
.csf-software-cost caption { text-align:left; font-weight:600; padding-bottom:12px; }
.csf-software-cost th, .csf-software-cost td { padding:12px; border:1px solid #d7dfd9; text-align:left; vertical-align:top; overflow-wrap:anywhere; min-width:120px; }
.csf-software-cost thead th { background:#f0f4f2; }
.csf-software-cost tbody th { font-weight:400; }
.csf-software-cost td { font-variant-numeric:tabular-nums; }
.csf-software-cost .csf-cost-total th, .csf-software-cost .csf-cost-total td { font-weight:700; background:#f5f7f6; }
.csf-cost-note { color:#4f5e55; font-size:14px; margin-top:16px; }
.csf-cost-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media (max-width:1000px) { .csf-cost-pair { grid-template-columns:1fr; gap:0; } }
@media (max-width:720px) {
    .csf-cost-options { grid-template-columns:1fr; }
    .csf-cost-option + .csf-cost-option { border-left:0; border-top:1px solid #d7dfd9; padding:20px 0 0; }
    .csf-cost-pair { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .csf-cost-settings label { flex:1 1 130px; }
}
@media (max-width:360px) { .csf-cost-pair { grid-template-columns:1fr; gap:0; } }
