.iw-retirement-planner{
        color-scheme: light;
        --cream: #fef7e7;
        --paper: #fffaf0;
        --ink: #2d332f;
        --muted: rgba(45, 51, 47, 0.62);
        --rule: rgba(45, 51, 47, 0.12);
        --darkgreen: #384742;
        --sage: #718d81;
        --red: #8e0802;
        --yellow: #ecc47b;
        --light: #fef7e7;
        --shadow: 0 18px 60px rgba(45, 51, 47, 0.12);
        --chart-contributions: #a6261e;
        --chart-return: #d5a923;
        --chart-pension: #3d4a3c;
        --chart-other-income: #7a8c7b;
        --chart-funded: #2c2a26;
        --chart-shortfall: #d84a3f;
        --chart-inflow: #4f7f75;
        --chart-expense: #7f4a45;
      }.iw-retirement-planner *{
        box-sizing: border-box;
      }.iw-retirement-planner{
        min-height: 100%;
        background: var(--cream);
        color: var(--ink);
        font-family:
          Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        -webkit-font-smoothing: antialiased;
      }.iw-retirement-planner{
        margin: 0;
        min-height: 100vh;
        background: var(--cream);
      }.iw-retirement-planner button, .iw-retirement-planner input, .iw-retirement-planner select{
        font: inherit;
      }.iw-retirement-planner button{
        cursor: pointer;
      }.iw-retirement-planner button:disabled{
        cursor: not-allowed;
      }.iw-retirement-planner a{
        color: var(--red);
      }.iw-retirement-planner .display{
        font-family: Georgia, "Times New Roman", serif;
        font-weight: 400;
        letter-spacing: -0.02em;
      }.iw-retirement-planner .hero{
        background: var(--darkgreen);
        color: var(--light);
        border-bottom: 1px solid rgba(254, 247, 231, 0.16);
      }.iw-retirement-planner .hero-inner{
        width: min(1440px, 100%);
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 2rem;
        padding: 2.25rem clamp(1.25rem, 4vw, 3rem);
      }.iw-retirement-planner .eyebrow{
        margin: 0;
        color: var(--yellow);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
      }.iw-retirement-planner h1, .iw-retirement-planner h2, .iw-retirement-planner h3, .iw-retirement-planner p{
        margin-top: 0;
      }.iw-retirement-planner h1{
        margin: 0.6rem 0 0;
        font-size: clamp(2.35rem, 5vw, 4.6rem);
        line-height: 0.98;
      }.iw-retirement-planner .hero-copy{
        max-width: 44rem;
        margin: 0.9rem 0 0;
        color: rgba(254, 247, 231, 0.72);
        line-height: 1.6;
      }.iw-retirement-planner .hero-stats{
        min-width: min(28rem, 100%);
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
        border-left: 1px solid rgba(254, 247, 231, 0.18);
        padding-left: 1.5rem;
        color: rgba(254, 247, 231, 0.68);
        font-size: 0.78rem;
      }.iw-retirement-planner .hero-stats strong{
        display: block;
        color: var(--light);
        font-size: 1.1rem;
      }.iw-retirement-planner .shell{
        width: min(1440px, 100%);
        margin: 0 auto;
        display: grid;
        grid-template-columns: 360px minmax(0, 1fr);
        gap: 1.4rem;
        padding: 1.6rem clamp(1rem, 3vw, 2.5rem) 3rem;
        align-items: start;
        overflow: visible;
        position: relative;
      }.iw-retirement-planner .panel{
        background: var(--paper);
        border: 1px solid var(--rule);
        border-radius: 18px;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset;
      }.iw-retirement-planner .assumptions{
        position: -webkit-sticky;
        position: sticky;
        top: calc(var(--wp-admin--admin-bar--height, 0px) + 1rem);
        align-self: start;
        height: max-content;
        max-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px) - 2rem);
        overflow-y: auto;
        overflow-x: hidden;
        padding: 1.25rem;
        z-index: 5;
      }.iw-retirement-planner .assumptions.iw-js-sticky{
        position: relative !important;
        top: auto !important;
        will-change: transform;
      }.iw-retirement-planner .panel-heading{
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1.4rem;
      }.iw-retirement-planner .panel-heading p, .iw-retirement-planner .help, .iw-retirement-planner .muted{
        color: var(--muted);
      }.iw-retirement-planner .section{
        padding: 1.35rem 0;
        border-top: 1px solid var(--rule);
      }.iw-retirement-planner .section:first-of-type{
        border-top: 0;
        padding-top: 0;
      }.iw-retirement-planner .section-title{
        margin: 0 0 1rem;
        color: var(--red);
        font-size: 0.72rem;
        font-weight: 850;
        letter-spacing: 0.15em;
        text-transform: uppercase;
      }.iw-retirement-planner .field{
        display: block;
        margin-top: 1rem;
      }.iw-retirement-planner .field:first-child{
        margin-top: 0;
      }.iw-retirement-planner .field-top{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
      }.iw-retirement-planner .label{
        display: block;
        font-size: 0.88rem;
        font-weight: 760;
      }.iw-retirement-planner .help{
        margin: 0.2rem 0 0;
        font-size: 0.76rem;
        line-height: 1.45;
      }.iw-retirement-planner .control{
        min-width: 8.6rem;
        display: flex;
        align-items: center;
        gap: 0.25rem;
        border: 1px solid rgba(45, 51, 47, 0.16);
        border-radius: 9px;
        background: var(--cream);
        padding: 0.45rem 0.55rem;
      }.iw-retirement-planner .control span{
        color: rgba(45, 51, 47, 0.45);
        font-size: 0.78rem;
      }.iw-retirement-planner .control input{
        width: 100%;
        min-width: 0;
        border: 0;
        outline: 0;
        background: transparent;
        color: var(--ink);
        text-align: right;
        font-weight: 760;
      }.iw-retirement-planner .segmented{
        display: grid;
        grid-template-columns: repeat(var(--items, 2), 1fr);
        gap: 0.25rem;
        border: 1px solid rgba(45, 51, 47, 0.16);
        border-radius: 10px;
        background: var(--cream);
        padding: 0.25rem;
        margin-top: 0.55rem;
      }.iw-retirement-planner .segmented button{
        border: 0;
        border-radius: 7px;
        background: transparent;
        color: rgba(45, 51, 47, 0.62);
        padding: 0.65rem 0.5rem;
        font-size: 0.78rem;
        font-weight: 850;
      }.iw-retirement-planner .segmented button[aria-pressed="true"]{
        background: var(--darkgreen);
        color: var(--light);
      }.iw-retirement-planner .toggle-row{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
      }.iw-retirement-planner .switch{
        position: relative;
        width: 48px;
        height: 28px;
        flex: 0 0 auto;
        border: 0;
        border-radius: 999px;
        background: rgba(45, 51, 47, 0.2);
      }.iw-retirement-planner .switch[aria-checked="true"]{
        background: var(--red);
      }.iw-retirement-planner .switch::after{
        content: "";
        position: absolute;
        top: 4px;
        left: 4px;
        width: 20px;
        height: 20px;
        border-radius: 999px;
        background: var(--cream);
        transition: transform 0.16s ease;
      }.iw-retirement-planner .switch[aria-checked="true"]::after{
        transform: translateX(20px);
      }.iw-retirement-planner .computed-box{
        margin-top: 0.9rem;
        border: 1px solid rgba(113, 141, 129, 0.28);
        border-radius: 12px;
        background: rgba(113, 141, 129, 0.13);
        padding: 0.85rem;
      }.iw-retirement-planner .computed-box p{
        margin: 0;
      }.iw-retirement-planner .computed-box strong{
        display: block;
        margin-top: 0.2rem;
      }.iw-retirement-planner .main{
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 1.1rem;
      }.iw-retirement-planner .action-panel{
        background: rgba(113, 141, 129, 0.16);
        padding: clamp(1.2rem, 2.6vw, 1.8rem);
      }.iw-retirement-planner .action-row{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
      }.iw-retirement-planner .status-row{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center;
        gap: 0.55rem;
      }.iw-retirement-planner .status-pill{
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        color: var(--ink);
        font-size: 0.78rem;
        font-weight: 750;
      }.iw-retirement-planner .share-box{
        margin-top: 1rem;
        border: 1px solid rgba(56, 71, 66, 0.17);
        border-radius: 15px;
        background: var(--cream);
        padding: 1rem;
      }.iw-retirement-planner .share-row{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
      }.iw-retirement-planner .share-row input{
        width: 100%;
        margin-top: 0.75rem;
        border: 1px solid rgba(45, 51, 47, 0.14);
        border-radius: 9px;
        background: transparent;
        color: rgba(45, 51, 47, 0.67);
        padding: 0.65rem 0.75rem;
        font-size: 0.78rem;
      }.iw-retirement-planner .expert-cta{
        margin-top: 1rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        border: 1px solid rgba(142, 8, 2, 0.18);
        border-radius: 15px;
        background: rgba(142, 8, 2, 0.06);
        padding: 1rem;
      }.iw-retirement-planner .expert-cta strong{
        display: block;
        color: var(--ink);
      }.iw-retirement-planner .expert-cta p{
        margin: 0.25rem 0 0;
      }.iw-retirement-planner .expert-cta .button{
        flex: 0 0 auto;
      }.iw-retirement-planner .scenario-grid{
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.65rem;
        margin-top: 1rem;
      }.iw-retirement-planner .scenario-button{
        border: 1px solid rgba(56, 71, 66, 0.17);
        border-radius: 14px;
        background: var(--cream);
        color: var(--ink);
        padding: 0.9rem;
        text-align: left;
        text-wrap: auto;
        transition:
          border-color 0.16s ease,
          background 0.16s ease,
          color 0.16s ease;
      }.iw-retirement-planner .scenario-button strong{
        display: block;
        font-size: 0.88rem;
      }.iw-retirement-planner .scenario-button span{
        display: block;
        margin-top: 0.25rem;
        color: var(--muted);
        font-size: 0.75rem;
        line-height: 1.35;
      }.iw-retirement-planner .scenario-button.active{
        border-color: var(--darkgreen);
        background: var(--darkgreen);
        color: var(--light);
      }.iw-retirement-planner .scenario-button.active span{
        color: rgba(254, 247, 231, 0.68);
      }.iw-retirement-planner .button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        border: 1px solid transparent;
        border-radius: 999px;
        padding: 0.62rem 0.95rem;
        font-size: 0.78rem;
        font-weight: 850;
        line-height: 1;
        text-decoration: none;
      }.iw-retirement-planner .button.primary{
        background: var(--darkgreen);
        color: var(--light);
      }.iw-retirement-planner .button.secondary{
        border-color: rgba(45, 51, 47, 0.16);
        background: transparent;
        color: rgba(45, 51, 47, 0.72);
      }.iw-retirement-planner .button.danger{
        color: var(--red);
        border-color: rgba(142, 8, 2, 0.24);
        background: transparent;
      }.iw-retirement-planner .result-banner{
        padding: clamp(1.35rem, 3vw, 2rem);
        color: var(--light);
        background: var(--darkgreen);
      }.iw-retirement-planner .result-banner.shortfall{
        background: var(--red);
      }.iw-retirement-planner .result-grid{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 1.4rem;
      }.iw-retirement-planner .result-banner h2{
        margin: 0.65rem 0 0;
        font-size: clamp(2.2rem, 5vw, 4.1rem);
        line-height: 0.96;
      }.iw-retirement-planner .result-banner p{
        color: rgba(254, 247, 231, 0.72);
        line-height: 1.55;
      }.iw-retirement-planner .banner-explainer{
        margin-top: 1.15rem;
        border: 1px solid rgba(254, 247, 231, 0.32);
        border-radius: 14px;
        background: rgba(254, 247, 231, 0.12);
        padding: 1rem 1.1rem;
      }.iw-retirement-planner .banner-explainer strong{
        display: block;
        color: var(--light);
        font-size: clamp(1.05rem, 2vw, 1.28rem);
        line-height: 1.25;
      }.iw-retirement-planner .banner-explainer span{
        display: block;
        margin-top: 0.35rem;
        color: rgba(254, 247, 231, 0.82);
        font-size: clamp(0.95rem, 1.6vw, 1.1rem);
        font-weight: 650;
        line-height: 1.45;
      }.iw-retirement-planner .result-side{
        min-width: 14rem;
        border-left: 1px solid rgba(254, 247, 231, 0.22);
        padding-left: 1.25rem;
      }.iw-retirement-planner .result-side strong{
        display: block;
        color: var(--light);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 2.1rem;
        font-weight: 400;
      }.iw-retirement-planner .content-card{
        padding: clamp(1.2rem, 2.8vw, 1.8rem);
      }.iw-retirement-planner .card-head{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
        margin-bottom: 1.1rem;
      }.iw-retirement-planner .card-head h2{
        margin: 0.35rem 0 0;
        font-size: clamp(1.6rem, 3vw, 2.3rem);
      }.iw-retirement-planner .explainer-callout{
        margin-top: 0.8rem;
        border: 2px solid rgba(142, 8, 2, 0.28);
        border-radius: 14px;
        background: rgba(142, 8, 2, 0.07);
        color: var(--ink);
        padding: 1rem 1.1rem;
        font-size: clamp(1rem, 1.8vw, 1.18rem);
        font-weight: 760;
        line-height: 1.45;
      }.iw-retirement-planner .explainer-callout strong{
        color: var(--red);
        font-weight: 900;
      }.iw-retirement-planner .legend{
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem 1rem;
        color: rgba(45, 51, 47, 0.62);
        font-size: 0.75rem;
        font-weight: 750;
      }.iw-retirement-planner .legend span{
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
      }.iw-retirement-planner .swatch{
        width: 0.75rem;
        height: 0.75rem;
        border-radius: 3px;
      }.iw-retirement-planner .chart-frame{
        overflow-x: auto;
        border: 1px solid var(--rule);
        border-radius: 14px;
        background: rgba(254, 247, 231, 0.52);
        padding: 0.75rem;
      }.iw-retirement-planner svg{
        display: block;
        width: 100%;
        min-width: 720px;
        height: auto;
      }.iw-retirement-planner .event-list{
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-top: 0.8rem;
      }.iw-retirement-planner .event-chip{
        border: 1px solid rgba(79, 127, 117, 0.28);
        border-radius: 999px;
        background: transparent;
        color: var(--ink);
        padding: 0.45rem 0.65rem;
        font-size: 0.76rem;
        font-weight: 800;
      }.iw-retirement-planner .event-chip.expense{
        border-color: rgba(142, 8, 2, 0.24);
        color: var(--red);
      }.iw-retirement-planner .range-grid{
        display: grid;
        grid-template-columns: 0.95fr 1.35fr;
        gap: 1.2rem;
      }.iw-retirement-planner .range-stats{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.65rem;
      }.iw-retirement-planner .mini-card{
        border: 1px solid var(--rule);
        border-radius: 12px;
        background: rgba(254, 247, 231, 0.58);
        padding: 0.9rem;
      }.iw-retirement-planner .mini-card p{
        margin: 0;
        color: var(--muted);
        font-size: 0.68rem;
        font-weight: 850;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }.iw-retirement-planner .mini-card strong{
        display: block;
        margin-top: 0.7rem;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.45rem;
        font-weight: 400;
      }.iw-retirement-planner .histogram{
        display: flex;
        align-items: flex-end;
        gap: 0.25rem;
        height: 8.4rem;
        border-bottom: 1px solid var(--rule);
        padding: 0 0.3rem;
      }.iw-retirement-planner .histogram span{
        flex: 1;
        min-height: 3px;
        border-radius: 4px 4px 0 0;
        background: var(--sage);
      }.iw-retirement-planner .metrics{
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 0.75rem;
      }.iw-retirement-planner .metric{
        padding: 1rem;
      }.iw-retirement-planner .metric p{
        margin: 0;
        color: var(--muted);
        font-size: 0.68rem;
        font-weight: 850;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }.iw-retirement-planner .metric strong{
        display: block;
        margin-top: 0.8rem;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.7rem;
        font-weight: 400;
      }.iw-retirement-planner .metric span{
        display: block;
        margin-top: 0.35rem;
        color: var(--muted);
        font-size: 0.75rem;
        line-height: 1.4;
      }.iw-retirement-planner .notes{
        display: grid;
        grid-template-columns: 1.05fr 1.2fr;
        gap: 2rem;
      }.iw-retirement-planner .notes p{
        color: rgba(45, 51, 47, 0.68);
        font-size: 0.88rem;
        line-height: 1.65;
      }.iw-retirement-planner .warning{
        border-color: rgba(236, 196, 123, 0.85);
        background: rgba(236, 196, 123, 0.14);
        padding: 1rem;
      }.iw-retirement-planner .warning h2{
        margin: 0 0 0.45rem;
        font-size: 1rem;
      }.iw-retirement-planner .hidden{
        display: none !important;
      }.iw-retirement-planner dialog{
        width: min(620px, calc(100% - 2rem));
        border: 1px solid var(--rule);
        border-radius: 18px;
        background: var(--paper);
        color: var(--ink);
        box-shadow: var(--shadow);
        padding: 0;
      }.iw-retirement-planner-dialog::backdrop, .iw-retirement-planner dialog::backdrop{
        background: rgba(45, 51, 47, 0.58);
      }.iw-retirement-planner .dialog-body{
        padding: 1.35rem;
      }.iw-retirement-planner .dialog-head{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
      }.iw-retirement-planner .dialog-head h2{
        margin: 0.35rem 0 0;
        font-size: 2rem;
      }.iw-retirement-planner .dialog-fields{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
        margin-top: 1rem;
      }.iw-retirement-planner .dialog-fields label{
        display: block;
        font-size: 0.82rem;
        font-weight: 800;
      }.iw-retirement-planner .dialog-fields input, .iw-retirement-planner .dialog-fields select{
        width: 100%;
        margin-top: 0.4rem;
        border: 1px solid rgba(45, 51, 47, 0.16);
        border-radius: 10px;
        background: var(--cream);
        color: var(--ink);
        padding: 0.65rem 0.7rem;
      }.iw-retirement-planner .dialog-actions{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        margin-top: 1.2rem;
      }.iw-retirement-planner .history-list{
        max-height: 55vh;
        overflow: auto;
        display: grid;
        gap: 0.55rem;
        margin-top: 1rem;
      }.iw-retirement-planner .history-entry{
        border: 1px solid var(--rule);
        border-radius: 13px;
        background: rgba(254, 247, 231, 0.58);
        padding: 0.9rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
      }.iw-retirement-planner .history-entry.current{
        border-color: rgba(56, 71, 66, 0.36);
        background: rgba(113, 141, 129, 0.17);
      }.iw-retirement-planner .history-entry p{
        margin: 0.22rem 0 0;
        color: var(--muted);
        font-size: 0.76rem;
      }.iw-retirement-planner .tag{
        display: inline-block;
        margin-left: 0.4rem;
        border-radius: 999px;
        background: var(--darkgreen);
        color: var(--light);
        padding: 0.16rem 0.45rem;
        font-size: 0.62rem;
        font-weight: 850;
        letter-spacing: 0.04em;
        text-transform: uppercase;
      }.iw-retirement-planner .sr-only{
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }@media (max-width: 1160px){.iw-retirement-planner .shell{
          grid-template-columns: 1fr;
        }.iw-retirement-planner .assumptions{
          position: static;
          max-height: none;
          transform: none !important;
        }.iw-retirement-planner .scenario-grid, .iw-retirement-planner .metrics{
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }.iw-retirement-planner .hero-inner, .iw-retirement-planner .result-grid, .iw-retirement-planner .action-row, .iw-retirement-planner .expert-cta, .iw-retirement-planner .share-row, .iw-retirement-planner .range-grid, .iw-retirement-planner .notes{
          display: block;
        }.iw-retirement-planner .hero-stats{
          margin-top: 1.4rem;
          border-left: 0;
          border-top: 1px solid rgba(254, 247, 231, 0.18);
          padding-left: 0;
          padding-top: 1rem;
        }.iw-retirement-planner .status-row{
          justify-content: flex-start;
          margin-top: 1rem;
        }.iw-retirement-planner .expert-cta .button{
          margin-top: 0.85rem;
        }.iw-retirement-planner .result-side{
          margin-top: 1rem;
          border-left: 0;
          border-top: 1px solid rgba(254, 247, 231, 0.22);
          padding-left: 0;
          padding-top: 1rem;
        }.iw-retirement-planner .range-grid > *, .iw-retirement-planner .notes > *{
          margin-top: 1rem;
        }
      }@media (max-width: 720px){.iw-retirement-planner .field-top, .iw-retirement-planner .card-head, .iw-retirement-planner .history-entry{
          display: block;
        }.iw-retirement-planner .control{
          width: 100%;
          margin-top: 0.55rem;
        }.iw-retirement-planner .scenario-grid, .iw-retirement-planner .metrics, .iw-retirement-planner .range-stats, .iw-retirement-planner .dialog-fields{
          grid-template-columns: 1fr;
        }.iw-retirement-planner .dialog-actions{
          align-items: stretch;
          flex-direction: column-reverse;
        }.iw-retirement-planner .dialog-actions .button{
          width: 100%;
        }
      }
    
.iw-retirement-planner { width: 100%; overflow-x: hidden; }
