/* Local, optional cash-flow component. All selectors are scoped. */
.cf{margin-top:36px;border:1px solid var(--line,#dedede);border-top:4px solid var(--accent,#e32636);border-radius:6px;background:#fff;padding:36px;scroll-margin-top:24px}
.cf[hidden],.cf [hidden]{display:none!important}
.cf-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.cf .eyebrow{margin-bottom:16px;font-size:16px}
.cf .cf-title{font-size:clamp(28px,3vw,38px);line-height:1.15;max-width:650px}
.cf p{font-size:16px;line-height:1.65}
.cf-intro{max-width:760px;margin:20px 0 12px}
.cf-private{padding:16px 18px;background:#fff0f1;border-left:3px solid var(--accent,#e32636);border-radius:2px}
.cf button,.cf input,.cf select{font:inherit;touch-action:manipulation}
.cf button{min-height:44px}
.cf button:focus-visible,.cf input:focus-visible,.cf select:focus-visible,.cf summary:focus-visible,.cf [tabindex="0"]:focus-visible{outline:3px solid var(--accent,#e32636);outline-offset:3px}
.cf-quiet,.cf-remove{border:0;background:transparent;color:var(--brand,#111111);text-decoration:underline;text-underline-offset:3px;font-size:16px!important;white-space:nowrap;padding:9px 4px}
.cf-form{margin-top:28px}
.cf-base{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.7fr);gap:24px}
.cf-field{display:flex;flex-direction:column;min-width:0;gap:8px}
.cf-field>label{font-size:16px;font-weight:600;line-height:1.5;color:var(--ink,#111111)}
.cf-field input,.cf-field select{width:100%;min-width:0;max-width:100%;min-height:46px;border:1px solid #bcbcbc;border-radius:4px;color:var(--ink,#111111);background:white;padding:11px 12px;font-size:16px}
.cf-field input[aria-invalid="true"],.cf-field select[aria-invalid="true"]{border:2px solid #b31c2a;background:#fff8f9}
.cf-field input::placeholder{color:#666666;opacity:1}
.cf-field-help{font-size:16px;color:var(--muted,#484848);line-height:1.55}
.cf-window{font-weight:600;color:var(--brand,#111111)!important;margin:18px 0 30px}
.cf .cf-movements-title{font-size:21px;letter-spacing:-.4px;margin-top:30px}
.cf-instructions{margin:10px 0 20px;max-width:850px}
.cf-row{border:1px solid var(--line,#dedede);padding:16px;margin:15px 0;border-radius:5px;background:#fafafa;min-width:0}
.cf-row>legend{font-size:16px;font-weight:700;letter-spacing:0;padding:0 6px;color:var(--brand,#111111)}
.cf-row-grid{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(100px,.8fr) minmax(130px,1fr) minmax(175px,1.3fr) auto;gap:14px;align-items:end}
.cf-remove{font-size:16px!important;margin-bottom:1px}
.cf-row-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:18px 0 26px}
.cf-secondary{border:1px solid var(--brand,#111111);color:var(--brand,#111111);background:#fff;padding:13px 18px;border-radius:4px;font-size:16px!important;font-weight:600!important}
.cf-secondary:hover:not(:disabled){background:#f0f0f0}
.cf-row-count{font-size:16px;color:var(--muted,#484848)}
.cf-empty-note{padding:14px 16px;background:var(--wash,#f6f6f6);border-radius:3px}
.cf .cf-calculate{font-size:16px;padding:17px 24px}
.cf-validation{padding:14px 18px;margin:0 0 22px;border-left:3px solid #b31c2a;background:#fff0f1;color:#921724}
.cf-validation p{margin:0;color:inherit;font-weight:600}
.cf-validation ul{padding-left:19px;margin:10px 0 0}
.cf-validation li{margin:5px 0;font-size:16px}
.cf-error-link{background:none;border:0;text-align:left;color:inherit;font-size:16px!important;line-height:1.5;text-decoration:underline;padding:5px 0;min-height:32px!important}
.cf-status{min-height:21px;margin-bottom:0}
.cf-results{border-top:1px solid var(--line,#dedede);padding-top:30px;margin-top:30px;scroll-margin-top:24px}
.cf .cf-results-title{font-family:Georgia,'Times New Roman',serif;font-size:29px;letter-spacing:-.7px;line-height:1.2}
.cf-period{margin:12px 0 22px}
.cf-summaries{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf-summary{background:var(--wash,#f6f6f6);padding:23px;border-radius:5px;border-top:3px solid var(--brand,#111111)}
.cf-summary+ .cf-summary{border-top-color:#686868}
.cf-summary h4{font-size:16px;line-height:1.4;margin:0;color:var(--brand,#111111)}
.cf-summary .cf-summary-description{font-size:16px;margin:9px 0 20px;min-height:58px}
.cf-metrics{margin:0}
.cf-metrics>div{border-top:1px solid #dadada;padding:12px 0}
.cf-metrics>div:last-child{padding-bottom:0}
.cf-metrics dt{font-size:16px;line-height:1.5;color:var(--muted,#484848)}
.cf-metrics dd{font-size:16px;line-height:1.5;font-weight:600;margin:5px 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.cf-metrics>div:first-child dd{font-size:23px}
.cf-negative{color:#b31c2a!important;font-weight:700}
.cf-explanation{font-size:16px!important;margin:16px 0 26px}
.cf-figure{margin:0 0 24px;border:1px solid var(--line,#dedede);border-radius:4px;padding:16px 12px}
.cf-chart{width:100%;height:auto;display:block;overflow:visible}
.cf-chart-label{fill:var(--muted,#484848);font-size:16px;font-family:Arial,Helvetica,sans-serif}
.cf-chart-grid{stroke:#dedede;stroke-width:1}
.cf-chart-zero{stroke:#b31c2a;stroke-width:1.1}
.cf-chart-negative{fill:#fff0f1}
.cf-chart-scenario{stroke:var(--brand,#111111);stroke-width:2.5;stroke-linejoin:round}
.cf-chart-confirmed{stroke:#727272;stroke-width:4.5;stroke-dasharray:5 5;stroke-linejoin:round}
.cf-chart-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;font-size:16px;line-height:1.5;padding:10px 5px 2px}
.cf-chart-legend span{display:inline-flex;align-items:center;gap:8px}
.cf-chart-legend span:before{content:'';width:24px;border-top:3px solid var(--brand,#111111);display:inline-block}
.cf-chart-legend .cf-legend-confirmed:before{border-top:3px dashed #727272}
.cf-daily{margin:20px 0}
.cf-daily>summary{font-size:16px;padding-left:0}
.cf-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 20px;border:1px solid var(--line,#dedede);border-radius:3px}
.cf table{border-collapse:collapse;width:100%;font-size:16px;font-variant-numeric:tabular-nums}
.cf caption{text-align:left;padding:13px;line-height:1.5;font-size:16px;background:var(--wash,#f6f6f6)}
.cf th,.cf td{padding:12px 10px;border-bottom:1px solid var(--line,#dedede);text-align:right;white-space:nowrap}
.cf thead th{background:#eeeeee;color:var(--brand,#111111);font-size:16px;white-space:normal;min-width:92px}
.cf th:first-child{text-align:left}
.cf tbody th{font-weight:500}
.cf tbody tr:nth-child(even){background:#fafafa}
.cf-caution{border-left:3px solid #b31c2a;padding:14px 18px;background:#fff4f5;font-size:16px!important;margin:20px 0 0}
@media(max-width:1100px){.cf-row-grid{grid-template-columns:1fr 1fr}.cf-remove{justify-self:start;grid-column:1/-1;padding-left:0}.cf-summary .cf-summary-description{min-height:78px}}
@media(max-width:700px){.cf{padding:24px 18px;margin-top:26px}.cf-top{display:block}.cf-top>.cf-quiet{margin-top:12px;padding-left:0}.cf .cf-title{font-size:30px}.cf-base,.cf-summaries{grid-template-columns:1fr;gap:20px}.cf-row{padding:13px}.cf-row-grid{gap:14px 12px}.cf-row-grid>.cf-field{grid-column:1/-1}.cf .cf-calculate{width:100%;justify-content:center}.cf-summary{padding:20px}.cf-summary .cf-summary-description{min-height:0}.cf .cf-results-title{font-size:26px}.cf-figure{padding:10px 0}.cf-chart-legend{align-items:flex-start;flex-direction:column;padding-left:15px}.cf-chart-label{font-size:16px}.cf-row-actions{gap:12px}.cf-secondary{width:100%}}
@media(prefers-reduced-motion:reduce){.cf{scroll-behavior:auto}}

/* Match the page's readable type without changing calculations. */
.cf p,.cf-field input,.cf-field select,.cf .cf-calculate{font-size:18px;line-height:1.6}
.cf-field>label,.cf-field-help,.cf-row>legend,.cf-row-count,.cf-metrics dt,.cf-summary .cf-summary-description,.cf-chart-legend,.cf caption,.cf table,.cf thead th{font-size:16px;line-height:1.6}
.cf-quiet,.cf-remove,.cf-secondary,.cf-error-link{font-size:16px!important;min-height:44px!important;white-space:normal}
.cf-caution,.cf-explanation{font-size:16px!important}
.cf-metrics dd,.cf-summary h4{font-size:20px}
.cf-base,.cf-summaries{grid-template-columns:repeat(2,minmax(0,1fr))}
.cf-top{flex-wrap:wrap}.cf-summary,.cf-results,.cf-figure{min-width:0}
.cf-figure{overflow-x:auto}.cf-chart{min-width:600px}
@media(max-width:700px){
.cf{padding:24px 12px}
.cf-base,.cf-summaries{grid-template-columns:minmax(0,1fr)}
.cf-row-grid{grid-template-columns:minmax(0,1fr)}
.cf-summary{padding:18px 14px}.cf-row{padding:12px}
.cf-row-actions{align-items:stretch}.cf .cf-calculate{padding:16px 12px}
}
