.bo-switch{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:12px 0; padding:12px 14px; border:1px solid #ead2d7; border-radius:10px; background:#fffaf9; }
.bo-switch > span{ font-weight:650; color:#68464f; margin-right:4px; }
.bo-switch button{ padding:9px 15px; border:1px solid #ddbdc6; border-radius:7px; background:white; color:#7b3448; cursor:pointer; font-size:14px; min-height:40px; }
.bo-switch button[aria-pressed="true"]{ background:#9f3049; border-color:#9f3049; color:white; }
.bo-switch label{ display:flex; align-items:center; gap:6px; font-size:14px; color:#6c525a; }
.bo-switch[hidden],
.bo-switch [hidden],
.bo-content[hidden]{ display:none!important; }
.bo-active > .bo-original-node{ display:none!important; }
.bo-hide-control{ display:none!important; }
#generalPoster.bo-active{ width:1080px; padding:36px 36px 44px; background:#fffdfc; color:#2d2527; }
.bo-content{ width:100%; color:#2d2527; font-family:"PingFang SC","Microsoft YaHei",sans-serif; font-weight:400; letter-spacing:0; text-align:left; }
.bo-content *,
.bo-content *::before,
.bo-content *::after{ box-sizing:border-box; }
.bo-content div,
.bo-content p,
.bo-content h1,
.bo-content h2,
.bo-content h3{ margin:0; padding:0; }
.bo-content .bo-hero{ padding:26px 30px 25px; border-radius:16px; color:#fff; background:linear-gradient(110deg,#ac2945,#da3e58); }
.bo-content .bo-eyebrow{ font-size:23px; line-height:1.5; font-weight:500; color:#ffe6e9; }
.bo-content .bo-title{ margin:6px 0 0; font-size:54px; line-height:1.28; font-weight:800; letter-spacing:0; color:#fff; }
.bo-content .bo-inputs{ display:grid; grid-template-columns:1fr .8fr 1.1fr 1.1fr; margin-top:24px; padding:20px 0; border-top:2px solid #ead1d7; border-bottom:2px solid #ead1d7; background:#fff; }
.bo-content .bo-input{ text-align:center; padding:0 10px; border-right:1px solid #ead1d7; }
.bo-content .bo-input:last-child{ border-right:0; }
.bo-content .bo-input-label{ display:block; font-size:23px; line-height:1.45; color:#7a6068; }
.bo-content .bo-input-value{ display:block; margin-top:8px; font-size:32px; line-height:1.3; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.bo-content .bo-highlights{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:26px; border:1.5px solid #e6bec8; border-radius:12px; background:#fff1f3; padding:22px 0; }
.bo-content .bo-highlight{ padding:0 20px; border-right:1px solid #e6bec8; }
.bo-content .bo-highlight:last-child{ border-right:0; }
.bo-content .bo-highlight-label{ display:block; font-size:24px; font-weight:650; line-height:1.5; color:#9c3049; }
.bo-content .bo-highlight-value{ display:block; margin:9px 0 5px; font-size:45px; line-height:1.25; font-weight:800; color:#a52c48; white-space:nowrap; font-variant-numeric:tabular-nums; }
.bo-content .bo-highlight-detail{ display:block; font-size:21px; line-height:1.5; color:#73545f; }
.bo-content .bo-section{ margin-top:28px; }
.bo-content .bo-section-heading{ display:flex; gap:20px; align-items:center; justify-content:space-between; margin-bottom:12px; }
.bo-content .bo-section-title{ font-size:31px; line-height:1.4; font-weight:750; color:#8f2f46; }
.bo-content .bo-unit{ font-size:21px; line-height:1.4; color:#785761; white-space:nowrap; }
#generalPoster .bo-content .bo-table{ width:100%; margin:0; border-collapse:collapse; table-layout:fixed; font-variant-numeric:tabular-nums; }
#generalPoster .bo-content .bo-table th{ width:auto; background:#a9324d; border:1px solid #e6bfc9; color:#fff; font-size:23px; line-height:1.5; font-weight:650; padding:15px 6px; text-align:center; letter-spacing:0; }
#generalPoster .bo-content .bo-table td{ height:auto; border:1px solid #e7cbd2; background:#fff; color:#2d2527; font-size:28px; line-height:1.35; padding:17px 6px; text-align:center; font-weight:500; white-space:nowrap; letter-spacing:0; }
#generalPoster .bo-content .bo-table tbody tr:nth-child(even) td{ background:#fff6f7; }
#generalPoster .bo-content .bo-table td.bo-number-red{ color:#ab2c49; font-weight:750; }
.bo-content .bo-table td .bo-secondary{ display:block; margin-top:5px; color:#79636c; font-size:20px; font-weight:400; line-height:1.4; white-space:nowrap; }
.bo-content .bo-table td .bo-primary{ display:block; }
.bo-content .bo-table th small{ display:block; font-size:20px; font-weight:450; line-height:1.4; color:#ffe7ed; }
.bo-content .bo-feature-list{ border-top:2px solid #e8cbd2; }
.bo-content .bo-feature-row{ display:grid; grid-template-columns:140px 1fr; gap:20px; padding:18px 4px; border-bottom:1px solid #ead5db; }
.bo-content .bo-feature-name{ color:#a1324b; font-size:26px; font-weight:700; line-height:1.55; }
.bo-content .bo-feature-description{ font-size:25px; line-height:1.6; color:#66515a; }
.bo-content .bo-health-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.bo-content .bo-health-card{ text-align:center; padding:19px 12px; border:1px solid #e7c8d0; border-radius:10px; background:#fff; }
.bo-content .bo-health-title{ font-size:25px; font-weight:700; line-height:1.5; }
.bo-content .bo-health-value{ margin:10px 0 8px; font-size:35px; font-weight:750; color:#ae324d; line-height:1.3; white-space:nowrap; }
.bo-content .bo-health-copy{ font-size:21px; line-height:1.65; color:#705961; }
.bo-content .bo-foot{ padding-top:18px; margin-top:24px; border-top:1px solid #ead7dc; font-size:19px; line-height:1.65; color:#826b75; }
.bo-content [data-bo-key][contenteditable="true"]{ outline:1px dashed #b83c58; outline-offset:3px; cursor:text; }
@media(max-width:600px){.bo-switch{ padding:10px; gap:8px; }
.bo-switch button{ padding:8px 10px; }
}
.bo-stage-controls{ display:flex; flex-wrap:wrap; gap:12px; width:100%; padding-top:4px; }
.bo-stage-controls input[type="number"]{ width:72px; min-width:0; padding:6px 8px; border:1px solid #d9bbc4; border-radius:5px; background:white; font:inherit; color:#4b2d37; }
.bo-stage-controls [data-bo-error]{ color:#af2945; font-size:13px; }
.bo-content .bo-stage-unit{ margin:16px 0 10px; text-align:right; color:#785761; font-size:22px; line-height:1.45; }
.bo-content .bo-phase{ --phase-color:#b33448; --phase-light:#fff0f2; --phase-alt:#fff7f8; --phase-border:#e7bdc5; overflow:hidden; margin-top:26px; border:2px solid var(--phase-border); border-radius:12px; }
.bo-content .bo-phase:first-of-type{ margin-top:0; }
.bo-content .bo-phase-retirement{ --phase-color:#8b651f; --phase-light:#faefd8; --phase-alt:#fffcf4; --phase-border:#ddca9f; }
.bo-content .bo-phase-legacy{ --phase-color:#435b77; --phase-light:#e6edf5; --phase-alt:#f8fafc; --phase-border:#c2cfdf; }
.bo-content .bo-phase-heading{ display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 22px; background:var(--phase-light); color:var(--phase-color); }
.bo-content .bo-phase-identity{ display:flex; align-items:center; gap:15px; }
.bo-content .bo-phase-index{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1.5px solid currentColor; border-radius:50%; font-size:23px; line-height:1; font-weight:700; }
.bo-content .bo-phase-title{ font-size:40px; line-height:1.35; font-weight:800; color:var(--phase-color); }
.bo-content .bo-phase-range{ font-size:28px; line-height:1.5; font-weight:650; white-space:nowrap; }
#generalPoster .bo-content .bo-phase .bo-table th{ border-color:var(--phase-border); background:var(--phase-light); color:var(--phase-color); font-size:24px; padding:12px 7px; }
#generalPoster .bo-content .bo-phase .bo-table th small{ color:var(--phase-color); font-size:20px; }
#generalPoster .bo-content .bo-phase .bo-table td{ border-color:var(--phase-border); background:#fff; padding:15px 7px; font-size:30px; font-weight:500; }
#generalPoster .bo-content .bo-phase .bo-table tbody tr:nth-child(even) td{ background:var(--phase-alt); }
#generalPoster .bo-content .bo-phase .bo-table td.bo-phase-focus{ color:var(--phase-color); font-size:33px; font-weight:750; }
#generalPoster .bo-content .bo-phase .bo-table td.bo-stage-empty{ padding:24px; font-size:24px; color:#74656d; }
.bo-scenario-controls{ width:100%; }
.bo-scenario-controls select{ max-width:100%; padding:8px 12px; color:#713344; border:1px solid #d9bbc4; background:#fff; border-radius:6px; font:inherit; }
.bo-content .bo-continuous-table .bo-phase-family{ --phase-color:#b33448; --phase-light:#fff0f2; --phase-border:#e7bdc5; }
.bo-content .bo-continuous-table .bo-phase-retirement{ --phase-color:#8b651f; --phase-light:#faf0d9; --phase-border:#ddca9f; }
.bo-content .bo-continuous-table .bo-phase-legacy{ --phase-color:#435b77; --phase-light:#e6edf5; --phase-border:#c2cfdf; }
#generalPoster .bo-content .bo-continuous-table th{ font-size:23px; padding:14px 4px; }
#generalPoster .bo-content .bo-continuous-table tbody td{ background:var(--phase-light); border-color:var(--phase-border); font-size:27px; padding:16px 4px; height:82px; font-weight:500; }
#generalPoster .bo-content .bo-continuous-table td.bo-period{ white-space:normal; vertical-align:middle; padding:20px 9px; text-align:center; }
#generalPoster .bo-content .bo-continuous-table tbody tr{ background:transparent!important; }
#generalPoster .bo-content .bo-continuous-table td.bo-period{ position:relative; z-index:2; }
#generalPoster .bo-content .bo-continuous-table tbody tr:nth-child(even) td{ background:var(--phase-light); }
#generalPoster .bo-content .bo-continuous-table td.bo-multiple-value{ font-size:23px; }
#generalPoster .bo-content .bo-continuous-table td.bo-irr-value{ font-size:25px; }
.bo-content .bo-continuous-table .bo-phase-title{ font-size:31px; line-height:1.4; color:var(--phase-color); }
.bo-content .bo-continuous-table .bo-period-description{ font-size:21px; line-height:1.55; margin-top:10px; color:var(--phase-color); }
.bo-content .bo-continuous-table .bo-period-description b{ font-size:25px; font-weight:750; }
.bo-content .bo-continuous-table .bo-stage-total{ display:inline-block; margin-top:9px; font-size:20px; }
#generalPoster .bo-content .bo-phase-family .bo-death-value,
#generalPoster .bo-content .bo-phase-retirement .bo-cash-value,
#generalPoster .bo-content .bo-phase-legacy .bo-death-value{ color:var(--phase-color); font-weight:750; }
#generalPoster .bo-content .bo-continuous-table .bo-stage-empty{ font-size:24px; line-height:1.65; white-space:normal; padding:20px; }
.bo-content .bo-calculation-foot{ font-size:19px; line-height:1.6; color:#79636b; margin-top:12px; }
.bo-content .bo-keep{ white-space:nowrap; }

/* Remove only the identified automatic ENCash footer, including restored drafts. */
#generalPoster.product-encash .gp-foot[data-encash-auto-foot]{display:none!important;}
