/* All styles are scoped to the isolated CPA teaching component. */
.cpa-calculator{--cpa-ink:#203a40;--cpa-muted:#4c646a;--cpa-line:#ccd8d7;--cpa-accent:#225f69;--cpa-paper:#fff;--cpa-soft:#f1f6f4;color:var(--cpa-ink);font:inherit;line-height:1.65;overflow-wrap:anywhere}
.cpa-calculator *{box-sizing:border-box}
.cpa-calculator [hidden]{display:none!important}
.cpa-calculator h2{font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.25;margin:0 0 1rem}
.cpa-calculator h3{font-size:1rem;line-height:1.45;margin:0 0 .6rem}
.cpa-calculator p{margin:.6rem 0 1rem}
.cpa-calculator a{color:var(--cpa-accent);text-decoration:underline;text-underline-offset:3px}
.cpa-calculator a:hover{text-decoration-thickness:2px}
.cpa-calculator :focus-visible{outline:3px solid #2e7281;outline-offset:3px}
.cpa-calculator .cpa-intro{font-size:1.15rem;max-width:75ch}
.cpa-calculator .cpa-caution{padding:1.1rem 1.3rem;border:1px solid #bd9f67;border-left:4px solid #967541;background:#faf6ec;color:#513f20;border-radius:4px;margin:1.3rem 0}
.cpa-calculator .cpa-noscript{padding:1rem;background:#f5f1e5;border:1px solid #d9cda8}
.cpa-calculator .cpa-workbench{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.5fr);gap:clamp(1rem,3vw,2rem);align-items:start;margin:2rem 0 3rem}
.cpa-calculator .cpa-form,.cpa-calculator .cpa-output{min-width:0}
.cpa-calculator .cpa-form{padding:1.2rem;background:var(--cpa-soft);border:1px solid var(--cpa-line);border-radius:8px}
.cpa-calculator fieldset{min-width:0}
.cpa-calculator .cpa-controls{border:0;padding:0;margin:0}
.cpa-calculator .cpa-controls>legend{font-size:1.2rem;font-weight:700;padding:0;margin-bottom:1rem}
.cpa-calculator .cpa-input-group{border:0;border-top:1px solid var(--cpa-line);padding:1rem 0 0;margin:1.1rem 0 0}
.cpa-calculator .cpa-input-group>legend{font-weight:650;padding:0 .5rem 0 0;font-size:.98rem}
.cpa-calculator .cpa-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.cpa-calculator .cpa-field{display:flex;flex-direction:column;gap:.35rem;font-weight:600;min-width:0}
.cpa-calculator .cpa-field small{font-weight:400;color:var(--cpa-muted);white-space:nowrap}
.cpa-calculator input,.cpa-calculator select{width:100%;min-width:0;min-height:46px;padding:.65rem .7rem;border:1px solid #93a7a8;border-radius:5px;background:var(--cpa-paper);color:var(--cpa-ink);font:inherit;font-size:1rem;line-height:1.25}
.cpa-calculator select{padding-right:1.7rem}
.cpa-calculator input[aria-invalid=true]{border:2px solid #9a2924;background:#fff9f8}
.cpa-calculator .cpa-note{font-size:.88rem;line-height:1.6;color:var(--cpa-muted)}
.cpa-calculator .cpa-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.cpa-calculator .cpa-button{font:inherit;font-size:.96rem;font-weight:600;line-height:1.3;min-height:46px;padding:.7rem 1rem;color:var(--cpa-ink);background:var(--cpa-paper);border:1px solid #93a7a8;border-radius:5px;cursor:pointer;text-align:center}
.cpa-calculator .cpa-button:hover:not(:disabled){background:#e5efed;border-color:var(--cpa-accent)}
.cpa-calculator .cpa-button-primary{background:var(--cpa-accent);border-color:var(--cpa-accent);color:#fff}
.cpa-calculator .cpa-button-primary:hover:not(:disabled){background:#174851;color:#fff}
.cpa-calculator .cpa-button:disabled{opacity:.55;cursor:default}
.cpa-calculator .cpa-error{border-left:3px solid #9a2924;padding:.7rem;background:#fff1ee;color:#8a221d;font-weight:600}
.cpa-calculator .cpa-status{font-size:.88rem;min-height:1.6em;color:var(--cpa-muted);margin:0 0 .8rem}
.cpa-calculator .cpa-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.cpa-calculator .cpa-result-card{background:var(--cpa-paper);padding:1rem;border:1px solid var(--cpa-line);border-radius:6px;min-width:0}
.cpa-calculator .cpa-result-primary{border-color:#749c9e;background:#f4f9f7}
.cpa-calculator .cpa-result-card .cpa-value{font-size:clamp(1.35rem,2.3vw,2rem);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;margin:.8rem 0 .5rem;letter-spacing:-.03em}
.cpa-calculator .cpa-detail{font-size:.93rem;line-height:1.55;margin:0 0 .6rem}
.cpa-calculator .cpa-result-card .cpa-note{margin-bottom:0}
.cpa-calculator .cpa-interpretation{padding:.8rem 1rem;background:var(--cpa-soft);border-left:3px solid #73999c;font-size:.97rem}
.cpa-calculator .cpa-figure{margin:0 0 1rem;padding:.8rem;border:1px solid var(--cpa-line);border-radius:6px;background:#fff}
.cpa-calculator .cpa-plot{display:block;width:100%;max-width:640px;height:auto;margin:auto;overflow:visible;color:var(--cpa-ink)}
.cpa-calculator .cpa-plot text{fill:currentColor;font-family:inherit;font-size:12px;font-variant-numeric:tabular-nums}
.cpa-calculator .cpa-svg-grid{fill:none;stroke:#dce5e2;stroke-width:1}
.cpa-calculator .cpa-svg-track{fill:none;stroke:#547b87;stroke-width:2.5}
.cpa-calculator .cpa-svg-extension{fill:none;stroke:#547b87;stroke-width:2;stroke-dasharray:7 5}
.cpa-calculator .cpa-svg-distance{fill:none;stroke:#a18450;stroke-width:1.5;stroke-dasharray:2 4}
.cpa-calculator .cpa-svg-own{fill:none;stroke:#152f39;stroke-width:3}
.cpa-calculator .cpa-svg-start{fill:#225f69;stroke:#fff;stroke-width:1.5}
.cpa-calculator .cpa-svg-end{fill:#fff;stroke:#685288;stroke-width:2.5}
.cpa-calculator .cpa-svg-closest{fill:#fff;stroke:#9c6826;stroke-width:2.5}
.cpa-calculator .cpa-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.7rem 0;padding:0;list-style:none;font-size:.83rem}
.cpa-calculator .cpa-legend li{display:flex;align-items:center;gap:.35rem}
.cpa-calculator .cpa-key{font-size:1.35rem;line-height:1;font-weight:700}
.cpa-calculator .cpa-key-own{color:#152f39}.cpa-calculator .cpa-key-start{color:#225f69}.cpa-calculator .cpa-key-closest{color:#9c6826}.cpa-calculator .cpa-key-end{color:#685288}
.cpa-calculator figcaption p{font-size:.83rem;line-height:1.6;color:var(--cpa-muted);margin:.5rem 0}
.cpa-calculator .cpa-table-wrap{max-width:100%;overflow-x:auto;margin:1rem 0 1.5rem;border:1px solid var(--cpa-line);border-radius:4px}
.cpa-calculator .cpa-table{border-collapse:collapse;width:100%;min-width:490px;font-size:.83rem;text-align:right;font-variant-numeric:tabular-nums;background:var(--cpa-paper)}
.cpa-calculator .cpa-table caption{text-align:left;padding:.75rem .8rem;font-weight:650;color:var(--cpa-ink)}
.cpa-calculator .cpa-table th,.cpa-calculator .cpa-table td{padding:.65rem .7rem;border-top:1px solid var(--cpa-line);vertical-align:top}
.cpa-calculator .cpa-table thead th{background:var(--cpa-soft);font-weight:600;line-height:1.4}
.cpa-calculator .cpa-table th:first-child{text-align:left}
.cpa-calculator .cpa-reading{margin:2rem 0;padding-top:1.6rem;border-top:1px solid var(--cpa-line);max-width:85ch}
.cpa-calculator .cpa-reading li{margin:.65rem 0}
.cpa-calculator .cpa-formulas{padding:1rem 1rem 1rem 2.6rem;background:var(--cpa-soft);font-variant-numeric:tabular-nums;border-radius:5px}
@media(max-width:900px){.cpa-calculator .cpa-workbench{grid-template-columns:1fr}.cpa-calculator .cpa-form{padding:1rem}.cpa-calculator .cpa-fields{gap:.75rem}}
@media(max-width:480px){.cpa-calculator .cpa-results-grid{grid-template-columns:1fr}.cpa-calculator .cpa-actions{flex-direction:column}.cpa-calculator .cpa-figure{padding:.4rem}.cpa-calculator .cpa-caution{padding:1rem}.cpa-calculator .cpa-field{font-size:.9rem}.cpa-calculator .cpa-legend{gap:.4rem .8rem}.cpa-calculator .cpa-plot text{font-size:13px}}
@media print{.cpa-calculator .cpa-form,.cpa-calculator [data-cpa-download],.cpa-calculator .cpa-status{display:none}.cpa-calculator .cpa-workbench{display:block}.cpa-calculator .cpa-result-card,.cpa-calculator .cpa-figure{break-inside:avoid}.cpa-calculator .cpa-table-wrap{overflow:visible}.cpa-calculator .cpa-table{min-width:0}.cpa-calculator .cpa-reading{break-inside:avoid}}
