/* Pension-specific layout. Shared cards, fields and lead form use calculator-system.css. */
.ins-pension-calc{--calc-primary:#087d70;--calc-dark:#075f57;--calc-soft:#eef7f4;--calc-line:#d4e3df;--calc-muted:#607374;direction:rtl;color:#102c2c;font:inherit;background:transparent}
.ins-pension-calc *{box-sizing:border-box}
.ins-pension-calc [hidden]{display:none!important}
.ins-pension-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:24px;align-items:start}
.ins-pension-panel{min-width:0;padding:26px;border:1px solid var(--calc-line);border-radius:18px;background:#fff}
.ins-pension-results{position:sticky;top:104px}
.ins-pension-section-title{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
.ins-pension-section-title strong{font-size:23px}
.ins-pension-section-title span,.ins-pension-field small{color:var(--calc-muted);line-height:1.6}
.ins-pension-type-switch{display:flex;gap:8px;margin:0 0 22px}
.ins-pension-type-switch button,.ins-pension-portfolio-import button{min-height:46px;border:1px solid var(--calc-line);border-radius:999px;padding:10px 22px;background:#fff;color:var(--calc-dark);font:inherit;font-weight:700;cursor:pointer}
.ins-pension-type-switch button:hover,.ins-pension-portfolio-import button:hover{background:var(--calc-soft)}
.ins-pension-type-switch button.is-active{background:var(--calc-dark);color:#fff;border-color:var(--calc-dark)}
.ins-pension-type-switch button.is-active:hover{background:var(--calc-primary)}
.ins-pension-calc :is(button,select,summary):focus-visible{outline:3px solid var(--calc-primary);outline-offset:3px}
.ins-pension-field-grid,.ins-pension-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ins-pension-field{display:grid;gap:8px;min-width:0;margin-bottom:18px}
.ins-pension-field label{font-weight:700}
.ins-pension-input{display:flex;align-items:center;gap:8px;min-height:54px;padding:0 15px;border:1px solid #bfd3ce;border-radius:11px;background:#fff}
.ins-pension-input input{min-width:0;width:100%;min-height:52px;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:17px;direction:ltr;text-align:right}
.ins-pension-input:focus-within{border-color:var(--calc-primary);box-shadow:0 0 0 3px #087d701c}
.ins-pension-input:has([aria-invalid="true"]){border-color:#a32727!important;box-shadow:0 0 0 2px #a327271a!important}
.ins-pension-field select{min-width:0;width:100%;min-height:54px;padding:10px;border:1px solid #bfd3ce;border-radius:11px;background:white;color:inherit;font:inherit}
.ins-pension-calc small{font-size:15px;line-height:1.6}
.ins-pension-advanced{border-top:1px solid var(--calc-line);padding-top:16px;margin-top:18px}
.ins-pension-advanced summary{cursor:pointer;font-weight:700;color:var(--calc-dark);padding:4px 0}
.ins-pension-advanced>p{color:var(--calc-muted);font-size:15px;line-height:1.7}
.ins-pension-advanced-grid,.ins-pension-advanced>.ins-pension-field{margin-top:16px}
.ins-pension-main-result{padding:28px;border-radius:15px;color:#fff;background:var(--calc-dark)}
.ins-pension-main-result>span,.ins-pension-main-result>small{display:block}
.ins-pension-main-result strong{display:block;margin:12px 0;font-size:clamp(38px,4vw,54px);line-height:1.15;direction:ltr;text-align:right}
.ins-pension-goal{margin-top:20px;padding:18px 0;border-bottom:1px solid var(--calc-line)}
.ins-pension-goal>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ins-pension-goal h3{margin:0;font-size:18px}
.ins-pension-goal p{font-size:15px;line-height:1.7;color:var(--calc-muted)}
.ins-pension-goal progress{display:block;width:100%;height:10px;margin-top:16px;border:0;border-radius:999px;overflow:hidden;background:#dce8e5;accent-color:var(--calc-primary)}
.ins-pension-goal progress::-webkit-progress-bar{background:#dce8e5;border-radius:999px}
.ins-pension-goal progress::-webkit-progress-value{background:var(--calc-primary);border-radius:999px}
.ins-pension-gap-line strong{font-size:22px;white-space:nowrap}
.ins-pension-result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.ins-pension-result-cards>div{min-width:0;padding:16px;border:1px solid var(--calc-line);border-radius:12px;background:#fff}
.ins-pension-result-cards span,.ins-pension-result-cards small{display:block;color:var(--calc-muted);font-size:15px;line-height:1.5}
.ins-pension-result-cards strong{display:block;margin:7px 0;font-size:22px;overflow-wrap:anywhere;unicode-bidi:plaintext}
.ins-pension-assumptions,.ins-pension-deposit-note{font-size:15px;line-height:1.7;color:var(--calc-muted)}
.ins-pension-breakdown{margin:16px 0}
.ins-pension-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--calc-line);font-size:15px}
.ins-pension-breakdown dd{margin:0;font-weight:700;white-space:nowrap;unicode-bidi:plaintext}
.ins-pension-insight{margin-top:16px;padding:18px;background:var(--calc-soft);border-radius:12px}
.ins-pension-insight p{margin:8px 0 0;line-height:1.7;font-size:15px}
.ins-pension-disclaimer{margin:22px 0;color:var(--calc-muted);font-size:15px;line-height:1.7}
.ins-pension-error{padding:12px;background:#fff2f2;color:#922727;border-radius:10px;line-height:1.6}
.ins-pension-portfolio-import{margin-bottom:20px;padding:16px;background:var(--calc-soft);border-radius:12px;font-size:15px;line-height:1.6}
.ins-pension-calc button:disabled{opacity:.55;cursor:not-allowed!important}
@media(max-width:900px){.ins-pension-grid{grid-template-columns:1fr}.ins-pension-results{position:static}}
@media(max-width:620px){.ins-pension-panel{padding:18px}.ins-pension-advanced-grid{grid-template-columns:1fr}.ins-pension-type-switch button{flex:1}.ins-pension-goal>div{flex-wrap:wrap}.ins-pension-result-cards strong{font-size:20px}.ins-pension-breakdown>div{flex-wrap:wrap}}

.ins-pension-main-result strong{overflow-wrap:anywhere}
.ins-pension-goal>div>strong{min-width:0;overflow-wrap:anywhere}
