.hrt-cpf-to-55[data-cpf-to-55]{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#F8FAFC;color:#0F2D4A;font-size:15px}
.hrt-cpf-to-55[data-cpf-to-55] *{box-sizing:border-box}
.hrt-cpf-to-55[data-cpf-to-55]{margin:0}
.hrt-cpf-to-55[data-cpf-to-55] a{color:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] a:focus-visible,.hrt-cpf-to-55[data-cpf-to-55] button:focus-visible,.hrt-cpf-to-55[data-cpf-to-55] input:focus-visible,.hrt-cpf-to-55[data-cpf-to-55] select:focus-visible{outline:3px solid #0F2D4A;outline-offset:2px}
.hrt-cpf-to-55[data-cpf-to-55] .hero{max-width:1140px;margin:0 auto;padding:38px 20px 18px}
.hrt-cpf-to-55[data-cpf-to-55] .hero h1{font-size:clamp(28px,4vw,43px);line-height:1.12;margin:6px 0 14px}
.hrt-cpf-to-55[data-cpf-to-55] .hero p{max-width:780px;font-size:16px;line-height:1.55;color:#475569}
.hrt-cpf-to-55[data-cpf-to-55] .chip{display:inline-flex;align-items:center;background:#F8FAFC;color:#0F2D4A;border:1px solid #FBBF24;border-radius:40px;padding:5px 11px;font-size:12px;font-weight:700}
.hrt-cpf-to-55[data-cpf-to-55] .shell{max-width:1140px;margin:0 auto 50px;padding:0 20px;display:grid;grid-template-columns:minmax(290px,390px) minmax(0,1fr);gap:20px;align-items:start}
.hrt-cpf-to-55[data-cpf-to-55] .panel{border:1px solid #E5E7EB;background:white;border-radius:16px;padding:25px;box-shadow:0 5px 25px #00000000}
.hrt-cpf-to-55[data-cpf-to-55] .panel h2{margin:0 0 12px;font-size:21px}
.hrt-cpf-to-55[data-cpf-to-55] .muted{color:#475569;font-size:13px;line-height:1.5}
.hrt-cpf-to-55[data-cpf-to-55] .section-title{font-size:13px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#475569;margin:22px 0 10px}
.hrt-cpf-to-55[data-cpf-to-55] .pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hrt-cpf-to-55[data-cpf-to-55] .field{margin-bottom:13px}
.hrt-cpf-to-55[data-cpf-to-55] .field label{display:block;font-size:13px;font-weight:680;margin:0 0 6px}
.hrt-cpf-to-55[data-cpf-to-55] .field input,.hrt-cpf-to-55[data-cpf-to-55] .field select{border:1px solid #64748B;background:white;border-radius:9px;padding:12px;width:100%;font-size:16px;color:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .note{background:#F8FAFC;border-left:3px solid #14B8A6;padding:10px 12px;border-radius:6px;font-size:12px;line-height:1.5;color:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .action{background:#0F2D4A;border:0;border-radius:10px;color:white;padding:13px 20px;width:100%;font-size:15px;font-weight:760;cursor:pointer}
.hrt-cpf-to-55[data-cpf-to-55] .action:hover{background:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .reset{margin-top:8px;border:1px solid #64748B;color:#334155;background:white;border-radius:10px;padding:9px 13px;width:100%;cursor:pointer}
.hrt-cpf-to-55[data-cpf-to-55] details{margin:14px 0}
.hrt-cpf-to-55[data-cpf-to-55] summary{font-weight:700;cursor:pointer}
.hrt-cpf-to-55[data-cpf-to-55] details .section-title{margin-top:14px}
.hrt-cpf-to-55[data-cpf-to-55] .empty{text-align:center;padding:70px 25px;color:#475569}
.hrt-cpf-to-55[data-cpf-to-55] .error{padding:12px;background:#F8FAFC;border:1px solid #FBBF24;color:#0F2D4A;border-radius:9px;margin:0 0 15px}
.hrt-cpf-to-55[data-cpf-to-55] .resultTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.hrt-cpf-to-55[data-cpf-to-55] .resultTop h2{margin:0}
.hrt-cpf-to-55[data-cpf-to-55] .eyebrow{font-size:11px;color:#475569;letter-spacing:.06em;text-transform:uppercase;font-weight:780}
.hrt-cpf-to-55[data-cpf-to-55] .kpi{border-radius:12px;background:#F8FAFC;color:white;margin-top:15px;padding:22px}
.hrt-cpf-to-55[data-cpf-to-55] .kpi .eyebrow{color:#475569}
.hrt-cpf-to-55[data-cpf-to-55] .kpi .big{font-size:clamp(30px,4vw,39px);font-weight:780;margin:7px 0}
.hrt-cpf-to-55[data-cpf-to-55] .tri{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0 20px}
.hrt-cpf-to-55[data-cpf-to-55] .mini{border-radius:10px;background:#F8FAFC;padding:13px;min-width:0}
.hrt-cpf-to-55[data-cpf-to-55] .mini strong{font-size:20px;display:block;margin-top:6px}
.hrt-cpf-to-55[data-cpf-to-55] .mini span{font-size:12px;color:#475569}
.hrt-cpf-to-55[data-cpf-to-55] .benchmark{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hrt-cpf-to-55[data-cpf-to-55] .bench{border:1px solid #E5E7EB;border-radius:11px;padding:15px;background:#FFFFFF}
.hrt-cpf-to-55[data-cpf-to-55] .bench strong{font-size:24px;display:block;margin:7px 0}
.hrt-cpf-to-55[data-cpf-to-55] .bench small{color:#475569;display:block;line-height:1.5}
.hrt-cpf-to-55[data-cpf-to-55] .rule{height:1px;background:#E5E7EB;margin:23px 0}
.hrt-cpf-to-55[data-cpf-to-55] .chartBox{width:100%;overflow:hidden;padding:8px 0}
.hrt-cpf-to-55[data-cpf-to-55] .chartBox svg{width:100%;height:auto;display:block}
.hrt-cpf-to-55[data-cpf-to-55] .legend{display:flex;gap:13px;flex-wrap:wrap;font-size:12px;color:#475569;margin-bottom:13px}
.hrt-cpf-to-55[data-cpf-to-55] .swatch{width:9px;height:9px;display:inline-block;border-radius:20px;margin-right:4px}
.hrt-cpf-to-55[data-cpf-to-55] .warning{background:#F8FAFC;border:1px solid #FBBF24;padding:13px 17px;border-radius:10px;margin-top:16px}
.hrt-cpf-to-55[data-cpf-to-55] .warning h3{font-size:14px;margin:0 0 10px}
.hrt-cpf-to-55[data-cpf-to-55] .warning li{font-size:12px;line-height:1.6;margin:4px 0}
.hrt-cpf-to-55[data-cpf-to-55] .results p{line-height:1.58}
.hrt-cpf-to-55[data-cpf-to-55] .readings{display:grid;gap:10px}
.hrt-cpf-to-55[data-cpf-to-55] .reading{background:#F8FAFC;border-radius:10px;padding:13px 15px}
.hrt-cpf-to-55[data-cpf-to-55] .reading .figure{font-weight:750;margin:5px 0}
.hrt-cpf-to-55[data-cpf-to-55] .sources{max-width:1140px;margin:0 auto 40px;padding:0 20px;font-size:12px;color:#475569}
.hrt-cpf-to-55[data-cpf-to-55] .sources a{margin-right:14px;display:inline-block;line-height:2}
.hrt-cpf-to-55[data-cpf-to-55] .fine{font-size:12px;color:#475569;line-height:1.6}
@media(max-width:790px){.hrt-cpf-to-55[data-cpf-to-55] .shell{grid-template-columns:1fr}
.hrt-cpf-to-55[data-cpf-to-55] .panel{padding:20px}
.hrt-cpf-to-55[data-cpf-to-55] .hero{padding-top:24px}
.hrt-cpf-to-55[data-cpf-to-55] .tri{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:430px){.hrt-cpf-to-55[data-cpf-to-55] .benchmark{grid-template-columns:1fr}
.hrt-cpf-to-55[data-cpf-to-55] .mini{padding:9px}
.hrt-cpf-to-55[data-cpf-to-55] .mini strong{font-size:16px}
.hrt-cpf-to-55[data-cpf-to-55] .tri{gap:6px}
.hrt-cpf-to-55[data-cpf-to-55] .panel{padding:16px}
}
.hrt-cpf-to-55[data-cpf-to-55] table{border-collapse:collapse;width:100%;font-size:12px}
.hrt-cpf-to-55[data-cpf-to-55] th,.hrt-cpf-to-55[data-cpf-to-55] td{text-align:left;padding:8px;border-bottom:1px solid #E5E7EB}
.hrt-cpf-to-55[data-cpf-to-55] td{white-space:nowrap}
.hrt-cpf-to-55[data-cpf-to-55] .tableScroll{overflow-x:auto}
.hrt-cpf-to-55[data-cpf-to-55] .stale{border:2px solid #FBBF24;background:#F8FAFC;padding:12px;border-radius:8px;margin-bottom:14px}
.hrt-cpf-to-55[data-cpf-to-55] svg polyline:nth-of-type(2){stroke-dasharray:8 4}
.hrt-cpf-to-55[data-cpf-to-55] svg polyline[data-chart-account="ma"]{stroke-dasharray:2 5}
.hrt-cpf-to-55[data-cpf-to-55] .ui-icon{width:18px;height:18px;flex:0 0 18px;color:#0F2D4A;display:block}
.hrt-cpf-to-55[data-cpf-to-55] .info-heading{display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;color:#0F2D4A;font-size:13px;line-height:1.45}
.hrt-cpf-to-55[data-cpf-to-55] .info-heading strong{font-weight:750}
.hrt-cpf-to-55[data-cpf-to-55] .info-lines{display:grid;gap:8px}
.hrt-cpf-to-55[data-cpf-to-55] .info-lines p{margin:0;line-height:1.6}
.hrt-cpf-to-55[data-cpf-to-55] .note .info-lines,.hrt-cpf-to-55[data-cpf-to-55] .note .copy-lines{font-size:13px}
.hrt-cpf-to-55[data-cpf-to-55] .copy-lines{white-space:pre-line;line-height:1.65}
.hrt-cpf-to-55[data-cpf-to-55] .review-note{background:#F8FAFC;border-left-color:#FBBF24;color:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .review-note .ui-icon,.hrt-cpf-to-55[data-cpf-to-55] .warning .ui-icon{color:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .warning ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.hrt-cpf-to-55[data-cpf-to-55] .warning li{position:relative;padding-left:19px;margin:0;font-size:13px;line-height:1.6}
.hrt-cpf-to-55[data-cpf-to-55] .warning li::before{content:"";position:absolute;left:1px;top:.48em;width:7px;height:7px;border:1.5px solid #0F2D4A;border-radius:2px}
.hrt-cpf-to-55[data-cpf-to-55] .reading .info-heading{margin-bottom:8px}
.hrt-cpf-to-55[data-cpf-to-55] .reading .fine{font-size:13px}
.hrt-cpf-to-55[data-cpf-to-55] .info-subline{display:block;margin-top:7px}
@media(max-width:430px){.hrt-cpf-to-55[data-cpf-to-55] .note,.hrt-cpf-to-55[data-cpf-to-55] .reading{padding:12px}
.hrt-cpf-to-55[data-cpf-to-55] .info-heading{gap:7px}
.hrt-cpf-to-55[data-cpf-to-55] .warning{padding:13px}
.hrt-cpf-to-55[data-cpf-to-55] .info-lines{gap:9px}
}
.hrt-cpf-to-55[data-cpf-to-55] .housing-date{border:0;padding:0;margin:0;min-width:0}
.hrt-cpf-to-55[data-cpf-to-55] .housing-date legend{font-size:13px;font-weight:680;margin-bottom:10px}
.hrt-cpf-to-55[data-cpf-to-55] .housing-date .pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.hrt-cpf-to-55[data-cpf-to-55] .housing-date input,.hrt-cpf-to-55[data-cpf-to-55] .housing-date select{min-width:0}
.hrt-cpf-to-55[data-cpf-to-55] .housing-date .muted{margin-top:0}
.hrt-cpf-to-55[data-cpf-to-55] [data-cpf55-id="birthMonth"],.hrt-cpf-to-55[data-cpf-to-55] [data-cpf55-id="birthYear"],.hrt-cpf-to-55[data-cpf-to-55] [data-cpf55-id="housingEndMonth"],.hrt-cpf-to-55[data-cpf-to-55] [data-cpf55-id="housingEndYear"]{height:46px}
.hrt-cpf-to-55[data-cpf-to-55] [data-cpf55-id="birthMonth"],.hrt-cpf-to-55[data-cpf-to-55] [data-cpf55-id="housingEndMonth"]{-webkit-appearance:menulist-button;appearance:menulist-button}

/* TPU Design Standard v1; local containment, no site-header or theme edits. */
.hrt-cpf-to-55[data-cpf-to-55]{isolation:isolate;line-height:1.5;width:100%;max-width:1140px;margin:0 auto;color:#0F2D4A;background:#F8FAFC}
.hrt-cpf-to-55[data-cpf-to-55] [hidden]{display:none!important}
.hrt-cpf-to-55[data-cpf-to-55] .shell{grid-template-columns:minmax(0,390px) minmax(0,1fr)}
.hrt-cpf-to-55[data-cpf-to-55] .panel{min-width:0;box-shadow:none;border-color:#E5E7EB}
.hrt-cpf-to-55[data-cpf-to-55] .pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.hrt-cpf-to-55[data-cpf-to-55] .field{min-width:0}
.hrt-cpf-to-55[data-cpf-to-55] .field input,.hrt-cpf-to-55[data-cpf-to-55] .field select{font-family:inherit;line-height:20px;min-width:0;box-shadow:none}
.hrt-cpf-to-55[data-cpf-to-55] .field label{color:#0F2D4A;font-weight:600}
.hrt-cpf-to-55[data-cpf-to-55] .action{min-height:56px;background:#0F2D4A;color:#FFFFFF;font-family:inherit;font-size:16px;font-weight:600;box-shadow:none}
.hrt-cpf-to-55[data-cpf-to-55] .action:hover{background:#0F2D4A;color:#FFFFFF}
.hrt-cpf-to-55[data-cpf-to-55] .reset{min-height:46px;border-color:#64748B;color:#334155;background:#FFFFFF;font-family:inherit}
.hrt-cpf-to-55[data-cpf-to-55] .kpi{color:#0F2D4A;background:#F8FAFC;border:1px solid #E5E7EB;border-radius:16px}
.hrt-cpf-to-55[data-cpf-to-55] .mini strong{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.hrt-cpf-to-55[data-cpf-to-55] .note{color:#334155}
.hrt-cpf-to-55[data-cpf-to-55] .review-note{color:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .chartBox polyline:nth-of-type(1){stroke:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .chartBox polyline:nth-of-type(2){stroke:#3B82F6}
.hrt-cpf-to-55[data-cpf-to-55] .chartBox polyline[data-chart-account="ma"]{stroke:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .chartBox text{fill:#475569}
.hrt-cpf-to-55[data-cpf-to-55] .tableScroll{max-width:100%}
.hrt-cpf-to-55[data-cpf-to-55] button:focus-visible,.hrt-cpf-to-55[data-cpf-to-55] input:focus-visible,.hrt-cpf-to-55[data-cpf-to-55] select:focus-visible,.hrt-cpf-to-55[data-cpf-to-55] summary:focus-visible,.hrt-cpf-to-55[data-cpf-to-55] a:focus-visible,.hrt-cpf-to-55[data-cpf-to-55] .tableScroll:focus-visible{outline:3px solid #0F2D4A;outline-offset:3px;box-shadow:0 0 0 6px #FBBF24}
@media(max-width:790px){.hrt-cpf-to-55[data-cpf-to-55] .shell{grid-template-columns:minmax(0,1fr)}}

/* Owner visual refinement: muted mustard MA dots, equal stroke weight, no contrast edge. */
.hrt-cpf-to-55[data-cpf-to-55] h1,.hrt-cpf-to-55[data-cpf-to-55] h2,.hrt-cpf-to-55[data-cpf-to-55] h3{color:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .hero .embed-identity{font-size:12px;color:#475569;margin:0 0 12px}
.hrt-cpf-to-55[data-cpf-to-55] a{color:#0F2D4A;text-decoration:underline;text-decoration-color:#3B82F6;text-underline-offset:3px}
.hrt-cpf-to-55[data-cpf-to-55] .action:hover{background:#0F2D4A;text-decoration:underline;text-underline-offset:3px}
.hrt-cpf-to-55[data-cpf-to-55] .chartBox polyline[data-chart-account="ma"]{stroke:#B7791F;stroke-width:3;stroke-dasharray:1 9;stroke-linecap:round}
.hrt-cpf-to-55[data-cpf-to-55] .legend .swatch{width:18px;height:0;border-radius:0;border-top:3px solid #0F2D4A;background:transparent!important;vertical-align:middle}
.hrt-cpf-to-55[data-cpf-to-55] .legend > span:nth-child(2) .swatch{border-top-style:dashed;border-top-color:#3B82F6}
.hrt-cpf-to-55[data-cpf-to-55] .legend > span:nth-child(3) .swatch{border-top:3px dotted #B7791F}

/* Result dates: endpoint first, supporting months quietly emphasised. */
.hrt-cpf-to-55[data-cpf-to-55] .results .result-date{color:#0F2D4A;font-weight:600}
.hrt-cpf-to-55[data-cpf-to-55] .results .endpoint-date{display:block;color:#0F2D4A;font-size:17px;font-weight:600;line-height:1.45;margin-bottom:3px}

/* Account descriptions are mobile-only; desktop card metrics stay unchanged. */
.hrt-cpf-to-55[data-cpf-to-55] .mini .account-name{display:none}

/* Balanced mobile rows: descriptive labels left, complete amounts right. */
@media(max-width:600px){
.hrt-cpf-to-55[data-cpf-to-55] .tri{grid-template-columns:minmax(0,1fr);gap:10px}
.hrt-cpf-to-55[data-cpf-to-55] .mini{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:76px;border-radius:12px;padding:12px 10px}
.hrt-cpf-to-55[data-cpf-to-55] .mini .account-label{display:block;flex:1 1 0;min-width:min-content}
.hrt-cpf-to-55[data-cpf-to-55] .mini .account-code{display:block;font-size:16px;line-height:1.25;font-weight:600;color:#0F2D4A}
.hrt-cpf-to-55[data-cpf-to-55] .mini .account-name{display:block;margin-top:4px;font-size:12px;line-height:1.35;overflow-wrap:normal;word-break:normal}
.hrt-cpf-to-55[data-cpf-to-55] .mini strong{flex:0 0 auto;font-size:20px;line-height:1.3;margin:0 0 0 auto;text-align:right}
}

/* A 1px light edge separates the unchanged fine MA dots from overlapping OA. */
.hrt-cpf-to-55[data-cpf-to-55] .chartBox polyline[data-chart-account="ma-contrast"]{stroke:#fff;stroke-width:5;stroke-dasharray:1 9;stroke-linecap:round}
