.ip-calc{--ip-ink:#18384b;--ip-muted:#4d6674;--ip-line:#cadbe5;--ip-accent:#08766d;color:var(--ip-ink);line-height:1.7;max-width:1200px;margin-inline:auto;font-size:1rem}.ip-calc *{box-sizing:border-box}.ip-calc [hidden]{display:none!important}.ip-calc h2{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.2;margin:.4rem 0 1rem}.ip-calc h3{font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.35;margin:2.5rem 0 1rem}.ip-calc h4{font-size:1.08rem;line-height:1.45;margin:1.5rem 0 .5rem}.ip-calc p{margin:.7rem 0 1rem}.ip-calc .ip-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--ip-accent);font-size:.78rem;font-weight:750}.ip-calc .ip-lead{font-size:1.15rem;color:var(--ip-muted)}.ip-calc .ip-small{font-size:.88rem;color:var(--ip-muted)}.ip-calc .ip-note{background:#f0f7f9;border-left:4px solid #388996;padding:1rem 1.3rem;border-radius:0 12px 12px 0;margin:1rem 0}.ip-calc .ip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.ip-calc label{display:flex;flex-direction:column;gap:.3rem;font-size:.86rem;font-weight:650;line-height:1.5}.ip-calc input,.ip-calc select{font:inherit;font-weight:450;color:var(--ip-ink);border:1px solid #9fb8c7;border-radius:8px;padding:.65rem .7rem;background:#fff;min-height:44px;width:100%;min-width:0}.ip-calc input:focus-visible,.ip-calc select:focus-visible,.ip-calc button:focus-visible,.ip-calc summary:focus-visible,.ip-calc a:focus-visible,.ip-calc .ip-figure:focus-visible,.ip-calc .ip-table:focus-visible{outline:3px solid #d88d16;outline-offset:3px}.ip-calc [aria-invalid=true]{border:2px solid #ab3333;background:#fff4f4}.ip-calc fieldset{border:1px solid var(--ip-line);padding:1rem;margin:1.5rem 0;border-radius:12px;min-width:0}.ip-calc legend{font-weight:700;padding:0 .5rem}.ip-calc .ip-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.ip-calc .ip-criterion{display:grid;gap:.65rem;background:#f7fafb;padding:1rem;border-radius:10px}.ip-calc .ip-table{overflow:auto;margin:1.2rem 0;border:1px solid var(--ip-line);border-radius:10px;max-width:100%}.ip-calc table{border-collapse:collapse;font-size:.88rem;min-width:100%}.ip-calc caption{text-align:left;padding:.85rem 1rem;background:#eff5f8;font-weight:750;color:var(--ip-ink)}.ip-calc th,.ip-calc td{padding:.65rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid #dce6ed;border-right:1px solid #e5edf1;font-variant-numeric:tabular-nums}.ip-calc thead th{background:#f7fafc}.ip-calc tbody th{font-weight:650}.ip-calc tbody tr:last-child>*{border-bottom:0}.ip-calc td{white-space:nowrap}.ip-calc form table input{min-width:105px}.ip-calc form table th input{min-width:150px}.ip-calc .ip-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.4rem 0}.ip-calc button{min-height:46px;padding:.7rem 1rem;border:1px solid #9bb5c2;border-radius:9px;color:var(--ip-ink);font:inherit;font-weight:650;background:#f7fafc;cursor:pointer}.ip-calc button[type=submit]{background:var(--ip-accent);color:#fff;border-color:var(--ip-accent)}.ip-calc button:disabled,.ip-calc input:disabled,.ip-calc select:disabled{opacity:.55;cursor:not-allowed}.ip-calc .ip-warning{border-left:4px solid #bd7828;background:#fff6e7;padding:1rem 1.2rem}.ip-calc .ip-error{color:#9b2929;font-weight:650}.ip-calc .ip-error:empty{display:none}.ip-calc .ip-equations,.ip-calc .ip-substitution{background:#f2f7fa;border:1px solid #d3e2eb;border-radius:12px;padding:1rem 1.25rem;margin:1.5rem 0}.ip-calc .ip-equation{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(.86rem,1.8vw,1.05rem);overflow-x:auto;white-space:normal;overflow-wrap:anywhere;padding:.35rem 0}.ip-calc .ip-conclusion{border:2px solid #168276;border-radius:12px;padding:1rem 1.25rem;background:#effaf5}.ip-calc .ip-conclusion h4{margin-top:0}.ip-calc .ip-figure{margin:1.5rem 0}.ip-calc svg{display:block;width:100%;height:auto;min-width:530px;background:#fff;border:1px solid #dbe7ed;border-radius:12px}.ip-calc .ip-figure{overflow-x:auto}.ip-calc figcaption{font-size:.9rem;color:var(--ip-muted);margin:.5rem 0}.ip-calc ul{padding-left:1.5rem}.ip-calc li+li{margin-top:.65rem}.ip-calc details{padding:1rem 1.2rem;border:1px solid var(--ip-line);border-radius:10px}.ip-calc summary{cursor:pointer;font-weight:700}.ip-calc a{color:#075f8b;text-decoration:underline;text-underline-offset:.2em}.ip-calc article>section{scroll-margin-top:7rem}.ip-calc form>label{margin-bottom:1rem}@media(max-width:600px){.ip-calc .ip-criteria,.ip-calc .ip-grid{grid-template-columns:1fr}.ip-calc .ip-actions button{flex:1 1 45%}.ip-calc th,.ip-calc td{padding:.55rem}.ip-calc .ip-note{padding:.85rem 1rem}}@media(prefers-reduced-motion:reduce){.ip-calc *{scroll-behavior:auto}}@media print{.ip-calc form,.ip-calc [data-ip-error],.ip-calc [data-ip-status],.ip-calc noscript{display:none}.ip-calc .ip-table{overflow:visible}.ip-calc table{font-size:8pt}.ip-calc svg{min-width:0}.ip-calc .ip-figure{break-inside:avoid}}

.ip-calc .ip-details{padding:.8rem 1rem;margin:1rem 0}.ip-calc .ip-details summary{font-size:1.05rem}.ip-calc input[readonly]{background:#edf3f6}.ip-calc .ip-table td{max-width:24rem;white-space:normal;overflow-wrap:anywhere}.ip-calc .ip-figure{max-width:100%}.ip-calc .ip-conclusion{font-weight:700;overflow-wrap:anywhere}
