#itamg-retirement-planner:where(.planner-page) .workbench{ background: #fff; border: 1px solid var(--rule); border-radius: var(--radius-20); box-shadow: var(--shadow-card-soft); overflow: hidden; margin-top: var(--space-4); }
#itamg-retirement-planner:where(.planner-page) .tabs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--rule); background:var(--navy-700); }
#itamg-retirement-planner:where(.planner-page) .tab{ flex: 1 1 auto; min-height: 56px; padding:16px var(--space-4); border:0; background: transparent; font-family: var(--font-display); font-weight: 700; font-size: var(--fs-body); color:var(--white); cursor:pointer; border-bottom:3px solid transparent; line-height:1.4; }
#itamg-retirement-planner:where(.planner-page) .tab[aria-selected="true"]{ color: var(--navy-700); border-bottom-color:var(--gold-500); background:var(--white); }
#itamg-retirement-planner:where(.planner-page) .tab:hover{ background:var(--surface-tint); color:var(--navy-700); }
#itamg-retirement-planner:where(.planner-page) .panel{ padding: var(--space-5); }
#itamg-retirement-planner:where(.planner-page) .panel-intro{ max-width: 720px; color: var(--ink-body); }
#itamg-retirement-planner:where(.planner-page) 
.form-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--space-3) var(--space-4); margin-bottom: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .form-grid--2{ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
#itamg-retirement-planner:where(.planner-page) .form-grid--3{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
#itamg-retirement-planner:where(.planner-page) .form-grid--tight{ gap: var(--space-2) var(--space-3); margin-bottom: 0; }
#itamg-retirement-planner:where(.planner-page) #quick-form > .form-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:1000px){#itamg-retirement-planner:where(.planner-page) #quick-form > .form-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px){#itamg-retirement-planner:where(.planner-page) #quick-form > .form-grid{ grid-template-columns:minmax(0,1fr); }
}
#itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field){ display: flex; flex-direction: column; gap: 6px; }
#itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field), #itamg-retirement-planner:where(.planner-page) .form-grid, #itamg-retirement-planner:where(.planner-page) .panel, #itamg-retirement-planner:where(.planner-page) .modal, #itamg-retirement-planner:where(.planner-page) .portfolio-grid > *{ min-width: 0; }
#itamg-retirement-planner:where(.planner-page) .table-scroll, #itamg-retirement-planner:where(.planner-page) .csv-preview{ min-width: 0; max-width: 100%; overflow-x: auto; container-type:inline-size; }
#itamg-retirement-planner:where(.planner-page) .table-scroll:focus-visible, #itamg-retirement-planner:where(.planner-page) .csv-preview:focus-visible{ outline: 3px solid var(--teal-brand); outline-offset: 2px; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-controls{ margin:12px 0; min-width:0; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-controls[hidden]{ display:none; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-toolbar{ display:grid; grid-template-columns:auto minmax(80px,1fr) auto; align-items:center; gap:12px; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-button{ min-height:44px; padding:8px 12px; border:1px solid var(--hairline); border-radius:var(--radius-6); background:var(--white); color:var(--navy-700); font:700 var(--fs-body-sm)/1.4 var(--font-display); cursor:pointer; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-button:hover:not(:disabled){ background:var(--surface-tint); border-color:var(--teal-brand); }
#itamg-retirement-planner:where(.planner-page) .table-scroll-button:disabled{ color:var(--ink-mute); background:var(--surface-tint); border-color:var(--rule); cursor:default; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-track{ appearance:none; -webkit-appearance:none; width:100%; min-width:0; height:44px; padding:0; margin:0; background:transparent; cursor:ew-resize; border:0; border-radius:var(--radius-6); }
#itamg-retirement-planner:where(.planner-page) .table-scroll-track::-webkit-slider-runnable-track{ height:10px; border:1px solid var(--hairline); border-radius:5px; background:var(--gray-200); }
#itamg-retirement-planner:where(.planner-page) .table-scroll-track::-webkit-slider-thumb{ appearance:none; -webkit-appearance:none; height:28px; width:44px; margin-top:-10px; border:2px solid var(--white); border-radius:var(--radius-6); background:var(--navy-700); }
#itamg-retirement-planner:where(.planner-page) .table-scroll-track::-moz-range-track{ height:8px; border:1px solid var(--hairline); border-radius:5px; background:var(--gray-200); }
#itamg-retirement-planner:where(.planner-page) .table-scroll-track::-moz-range-thumb{ height:24px; width:40px; border:2px solid var(--white); border-radius:var(--radius-6); background:var(--navy-700); }
#itamg-retirement-planner:where(.planner-page) :is(.table-scroll-button,.table-scroll-track):focus-visible{ outline:3px solid var(--teal-brand); outline-offset:3px; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-hint{ margin:4px 0 8px; color:var(--ink-mute); font-size:var(--fs-label); line-height:1.5; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-position{ color:var(--navy-700); margin-right:6px; }
@media(max-width:600px){#itamg-retirement-planner:where(.planner-page) .table-scroll-toolbar{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4px 12px; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-button{ padding:8px; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-next{ grid-column:2; grid-row:1; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-track{ grid-column:1/-1; grid-row:2; }
}
@media(forced-colors:active){#itamg-retirement-planner:where(.planner-page) .table-scroll-track::-webkit-slider-thumb{ background:ButtonText; }
#itamg-retirement-planner:where(.planner-page) .table-scroll-track::-moz-range-thumb{ background:ButtonText; }
}
#itamg-retirement-planner:where(.planner-page) :is(.table-scroll,.csv-preview) tr > :first-child:not([colspan]){ min-width:112px; max-width:224px; white-space:normal; overflow-wrap:anywhere; }
#itamg-retirement-planner:where(.planner-page) :is(.table-scroll,.csv-preview)[data-overflow="true"] tr > :first-child:not([colspan]){ position:sticky; left:0; z-index:1; background:var(--white); box-shadow:1px 0 0 var(--rule-strong); }
#itamg-retirement-planner:where(.planner-page) :is(.table-scroll,.csv-preview)[data-overflow="true"] thead tr > :first-child{ z-index:2; background:var(--surface-tint); }
@media (max-width:600px){#itamg-retirement-planner:where(.planner-page) :is(.table-scroll,.csv-preview) tr > :first-child:not([colspan]){ width:112px; min-width:112px; max-width:112px; }
}
@media print{#itamg-retirement-planner:where(.planner-page) .table-scroll-controls{ display:none; }
#itamg-retirement-planner:where(.planner-page) :is(.table-scroll,.csv-preview) tr > :first-child:not([colspan]){ position:static!important; box-shadow:none!important; min-width:0; max-width:none; width:auto; }
}
#itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) label{ font-family: var(--font-display); font-weight: 700; font-size: var(--fs-body-sm); color: var(--ink); text-transform:none; letter-spacing:0; }
#itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) small{ font-size: var(--fs-label); color: var(--ink-mute); line-height: 1.4; }
#itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) input[type="text"], #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) input[type="number"], #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) input[type="date"], #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) input[type="email"], #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) input[type="tel"], #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) select, #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) textarea{ font: inherit; font-size: var(--fs-body); min-height: 44px; padding: 8px 12px; border: 1px solid rgba(100,116,139,0.55); border-radius: var(--radius-10); background: #fff; color: var(--navy-950); width: 100%; }
#itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) textarea{ min-height: 64px; resize: vertical; }
#itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) input:focus, #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) select:focus, #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) textarea:focus{ border-color: var(--teal-brand); }
#itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) input[aria-invalid="true"], #itamg-retirement-planner:where(.planner-page) .field:not(.hs-form-field) select[aria-invalid="true"]{ border-color: var(--st-no); }
#itamg-retirement-planner:where(.planner-page) .field--check{ flex-direction: row; align-items: flex-start; gap: 10px; }
#itamg-retirement-planner:where(.planner-page) .field--check input{ width: 20px; height: 20px; margin-top: 2px; flex: 0 0 auto; }
#itamg-retirement-planner:where(.planner-page) .field--check label{ font-weight: 500; }
#itamg-retirement-planner:where(.planner-page) .form-actions{ display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; margin-top: var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .form-actions--sticky{ position: sticky; bottom: 0; background: rgba(255,255,255,0.96); padding: var(--space-2) 0; border-top: 1px solid var(--rule); z-index: 2; }
#itamg-retirement-planner:where(.planner-page) .form-errors{ font-size: var(--fs-body-sm); color: var(--st-no); margin-top: var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .form-errors ul{ margin: 6px 0 0; padding-left: 18px; }
#itamg-retirement-planner:where(.planner-page) .lead-card .form-errors{ color: #ffd6d0; }
#itamg-retirement-planner:where(.planner-page) .optional-block{ border: 1px dashed rgba(100,116,139,0.45); border-radius: var(--radius-10); padding: 10px var(--space-3); margin-bottom: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .optional-block summary{ cursor: pointer; font-family: var(--font-display); font-weight: 700; font-size: var(--fs-body-sm); color: var(--teal-brand); }
#itamg-retirement-planner:where(.planner-page) .optional-block .form-grid{ margin-top: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .calc-status{ font-size: var(--fs-label); color: var(--ink-mute); }
#itamg-retirement-planner:where(.planner-page) 
.results{ margin-top: var(--space-4); }
#itamg-retirement-planner:where(.planner-page) .results-empty{ background: var(--surface-tint); border: 1px dashed rgba(100,116,139,0.45); border-radius: var(--radius-12); padding: var(--space-4); color: var(--ink-mute); }
#itamg-retirement-planner:where(.planner-page) .result-card{ border-top:1px solid var(--rule); padding:32px 0; margin:0; }
#itamg-retirement-planner:where(.planner-page) .result-card h3, #itamg-retirement-planner:where(.planner-page) .result-card h4{ margin-bottom: var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .result-card h4{ font-size: var(--fs-title); }
#itamg-retirement-planner:where(.planner-page) .stat-row{ display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap:var(--space-2); margin:var(--space-2) 0 var(--space-3); padding:18px 12px; background:var(--surface-tint); border-radius:var(--radius-12); }
#itamg-retirement-planner:where(.planner-page) .stat{ padding:10px 14px; }
#itamg-retirement-planner:where(.planner-page) .stat .k{ display: block; font-size: var(--fs-label); color: var(--ink-mute); font-family: var(--font-display); font-weight: 600; }
#itamg-retirement-planner:where(.planner-page) .stat .v{ display: block; font-family: var(--font-display); font-weight: 800; font-size: var(--fs-h3); color: var(--navy-700); font-variant-numeric: tabular-nums; letter-spacing: -0.5px; }
#itamg-retirement-planner:where(.planner-page) .stat .v.neg{ color: var(--st-no); }
#itamg-retirement-planner:where(.planner-page) .stat .v.unknown{ color: var(--navy-700); font-size: var(--fs-h3); }
#itamg-retirement-planner:where(.planner-page) .stat .s{ display: block; font-size: var(--fs-small); color: var(--ink-mute); margin-top: 2px; }
#itamg-retirement-planner:where(.planner-page) .explain{ font-size: var(--fs-body-sm); color: var(--ink-body); padding-left: 18px; margin: 0 0 var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .explain li{ margin-bottom: 4px; }
#itamg-retirement-planner:where(.planner-page) .note-list{ list-style: none; padding: 0; margin: 0 0 var(--space-2); display: grid; gap: 6px; font-size: var(--fs-body-sm); }
#itamg-retirement-planner:where(.planner-page) .note{ padding: 8px 12px; border-radius: var(--radius-6); border: 1px solid var(--hairline); background: #fff; }
#itamg-retirement-planner:where(.planner-page) .note--exception{ border-color: var(--st-no); }
#itamg-retirement-planner:where(.planner-page) .note--warning{ border-color: var(--st-caution); }
#itamg-retirement-planner:where(.planner-page) .note--info{ border-color: var(--st-ok); }
#itamg-retirement-planner:where(.planner-page) .note--action{ border-color: var(--gold-500); }
#itamg-retirement-planner:where(.planner-page) .verdict{ display: inline-block; font-family: var(--font-display); font-weight: 800; font-size: var(--fs-label); letter-spacing: 1px; text-transform: uppercase; padding: 6px 12px; border-radius: var(--radius-6); margin-bottom: var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .verdict--ready{ background: rgba(12,138,138,0.12); color: var(--st-ok); }
#itamg-retirement-planner:where(.planner-page) .verdict--conditional{ background: rgba(232,168,23,0.15); color: var(--st-pref); }
#itamg-retirement-planner:where(.planner-page) .verdict--not_ready{ background: rgba(192,57,43,0.12); color: var(--st-no); }
#itamg-retirement-planner:where(.planner-page) .verdict--undetermined{ background: var(--surface-tint); color: var(--ink-utility); }
#itamg-retirement-planner:where(.planner-page) .action-list{ padding-left: 20px; margin: 0; }
#itamg-retirement-planner:where(.planner-page) .action-list li{ margin-bottom: 6px; }
#itamg-retirement-planner:where(.planner-page) 
.data-table{ width:100%; border-collapse:collapse; font-size:var(--fs-body-sm); background:var(--white); }
#itamg-retirement-planner:where(.planner-page) .data-table th, #itamg-retirement-planner:where(.planner-page) .data-table td{ text-align: left; padding:12px 10px; border-bottom:1px solid var(--rule); vertical-align: top; white-space: nowrap; }
#itamg-retirement-planner:where(.planner-page) .data-table th{ font-family: var(--font-display); font-weight: 700; color: var(--ink); background: var(--surface-tint); position: sticky; top: 0; }
#itamg-retirement-planner:where(.planner-page) .data-table :is(td.wrap,td.table-text,th.table-text){ white-space:normal; overflow-wrap:anywhere; max-width:min(320px,calc(100cqw - 112px)); min-width:min(180px,calc(100cqw - 112px)); }
#itamg-retirement-planner:where(.planner-page) .data-table .num{ text-align: right; }
#itamg-retirement-planner:where(.planner-page) .data-table .row-actions{ white-space: nowrap; }
#itamg-retirement-planner:where(.planner-page) .data-table .row-actions button{ margin-right: 4px; }
#itamg-retirement-planner:where(.planner-page) .data-table tr.has-exception td:first-child{ border-left: 4px solid var(--st-no); }
#itamg-retirement-planner:where(.planner-page) .data-table tr.has-warning td:first-child{ border-left: 4px solid var(--st-caution); }
#itamg-retirement-planner:where(.planner-page) .chip{ display: inline-block; font-family: var(--font-display); font-weight: 700; font-size: var(--fs-micro); letter-spacing: .6px; text-transform: uppercase; padding: 3px 7px; border-radius: var(--radius-default); background: rgba(6,16,31,.05); color: var(--ink-utility); border: 1px solid rgba(6,16,31,.12); }
#itamg-retirement-planner:where(.planner-page) .chip--ok{ color: var(--st-ok); }
#itamg-retirement-planner:where(.planner-page) .chip--caution{ color: var(--st-caution); }
#itamg-retirement-planner:where(.planner-page) .chip--no{ color: var(--st-no); }
#itamg-retirement-planner:where(.planner-page) .chip--pref{ color: var(--st-pref); }
#itamg-retirement-planner:where(.planner-page) .link-btn{ background: none; border: 0; padding: 0; font: inherit; color: var(--teal-brand); text-decoration: underline; cursor: pointer; }
#itamg-retirement-planner:where(.planner-page) .block{ border:0; border-top:1px solid var(--rule); padding:24px 0 30px; margin:0 0 16px; min-width:0; }
#itamg-retirement-planner:where(.planner-page) .block legend{ font-family: var(--font-display); font-weight: 800; color: var(--ink); font-size: var(--fs-title); padding: 0 6px; }
#itamg-retirement-planner:where(.planner-page) .block-help{ font-size:var(--fs-body-sm); color:var(--ink-mute); margin-bottom:var(--space-3); line-height:1.65; }
#itamg-retirement-planner:where(.planner-page) .count{ display: inline-block; min-width: 22px; text-align: center; font-size: var(--fs-label); background: var(--surface-tint); border: 1px solid var(--rule); border-radius: 11px; padding: 0 6px; color: var(--ink-utility); margin-left: 6px; vertical-align: middle; }
#itamg-retirement-planner:where(.planner-page) .portfolio-toolbar{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-2); padding-bottom: var(--space-3); border-bottom: 1px solid var(--rule); margin-bottom: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .toolbar-group{ display: flex; flex-wrap: wrap; gap: 8px; }
#itamg-retirement-planner:where(.planner-page) .toolbar-note{ margin: 0; font-size: var(--fs-label); color: var(--ink-mute); }
#itamg-retirement-planner:where(.planner-page) .portfolio-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-5); align-items:start; }
#itamg-retirement-planner:where(.planner-page) .portfolio-results{ position:static; max-height:none; min-width:0; }
#itamg-retirement-planner:where(.planner-page) .results-toolbar{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .filter-row{ display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin-bottom: var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .filter-row .field:not(.hs-form-field){ min-width: 140px; }
#itamg-retirement-planner:where(.planner-page) .filter-row select{ min-height: 38px; }
#itamg-retirement-planner:where(.planner-page) .waterfall{ list-style: none; padding: 0; margin: 0 0 var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .waterfall li{ display: flex; justify-content: space-between; gap: var(--space-3); padding: 8px 0; border-bottom: 1px solid var(--rule); font-size: var(--fs-body-sm); }
#itamg-retirement-planner:where(.planner-page) .waterfall li.total{ font-weight: 800; font-family: var(--font-display); color: var(--ink); border-bottom: 2px solid var(--hairline); }
#itamg-retirement-planner:where(.planner-page) .waterfall .amt{ font-variant-numeric: tabular-nums; white-space: nowrap; }
#itamg-retirement-planner:where(.planner-page) .waterfall .amt.neg{ color: var(--st-no); }
#itamg-retirement-planner:where(.planner-page) .waterfall .lbl small{ display: block; color: var(--ink-mute); font-weight: 400; font-size: var(--fs-small); }
#itamg-retirement-planner:where(.planner-page) .privacy-note{ margin-top: var(--space-3); font-size: var(--fs-label); color: var(--ink-mute); max-width: 860px; }
#itamg-retirement-planner:where(.planner-page) .row-detail{ background: #fff; border: 1px solid var(--rule); border-radius: var(--radius-10); padding: 10px 12px; margin-bottom: 8px; font-size: var(--fs-label); }
#itamg-retirement-planner:where(.planner-page) .row-detail summary{ cursor: pointer; font-family: var(--font-display); font-weight: 700; color: var(--ink); }
#itamg-retirement-planner:where(.planner-page) .row-detail .grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 6px 12px; margin: 8px 0; }
#itamg-retirement-planner:where(.planner-page) .row-detail .grid span{ display: block; }
#itamg-retirement-planner:where(.planner-page) .row-detail .grid .k{ color: var(--ink-mute); font-size: var(--fs-small); }
#itamg-retirement-planner:where(.planner-page) .breakdown-table{ width: 100%; border-collapse: collapse; font-size: var(--fs-label); background: #fff; }
#itamg-retirement-planner:where(.planner-page) .breakdown-table th, #itamg-retirement-planner:where(.planner-page) .breakdown-table td{ padding: 6px 8px; border-bottom: 1px solid var(--rule); text-align: left; }
#itamg-retirement-planner:where(.planner-page) .breakdown-table th{ font-family: var(--font-display); background: var(--surface-tint); }
#itamg-retirement-planner:where(.planner-page) 
.modal-root[hidden]{ display: none; }
#itamg-retirement-planner:where(.planner-page) .modal-root{ position: fixed; inset: 0; z-index: 90; background: rgba(6,16,31,0.55); display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow: auto; }
#itamg-retirement-planner:where(.planner-page) .modal{ background: #fff; border-radius: var(--radius-16); width: min(920px, 100%); box-shadow: var(--shadow-card); padding: var(--space-4) var(--space-5) var(--space-5); }
#itamg-retirement-planner:where(.planner-page) .modal h3{ margin-bottom: var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .modal .sub{ font-size: var(--fs-label); color: var(--ink-mute); margin-bottom: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .modal .subsection{ border-top: 1px solid var(--rule); padding-top: var(--space-3); margin-top: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .modal .subsection h4{ font-size: var(--fs-body); margin-bottom: var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .quote-editor{ border: 1px solid var(--rule); border-radius: var(--radius-10); padding: var(--space-3); margin-bottom: var(--space-2); background: var(--surface-tint); }
#itamg-retirement-planner:where(.planner-page) .quote-editor .form-grid{ margin-bottom: var(--space-2); }
#itamg-retirement-planner:where(.planner-page) .deduction-row{ display: grid; grid-template-columns: 2fr 1fr 1fr auto auto; gap: 8px; align-items: end; margin-bottom: 6px; }
#itamg-retirement-planner:where(.planner-page) .deduction-row .field:not(.hs-form-field) label{ font-size: var(--fs-label); }
#itamg-retirement-planner:where(.planner-page) .csv-preview{ max-height: 260px; overflow: auto; border: 1px solid var(--rule); border-radius: var(--radius-10); margin-bottom: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .csv-preview table{ font-size: var(--fs-body-sm); }
#itamg-retirement-planner:where(.planner-page) .csv-preview th{ white-space:nowrap; }
#itamg-retirement-planner:where(.planner-page) .csv-preview-summary{ overflow-wrap:anywhere; }
#itamg-retirement-planner:where(.planner-page) .mapping-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 16px; margin-bottom: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .mapping-grid > *{ min-width:0; }
#itamg-retirement-planner:where(.planner-page) .mapping-grid label{ font-size: var(--fs-label); font-family: var(--font-display); font-weight: 700; }
#itamg-retirement-planner:where(.planner-page) .mapping-grid select{ width: 100%; min-height: 38px; font: inherit; border-radius: var(--radius-6); border: 1px solid rgba(100,116,139,0.55); }
#itamg-retirement-planner:where(.planner-page) .confirm-box{ background: rgba(192,57,43,0.06); border: 1px solid rgba(192,57,43,0.3); border-radius: var(--radius-10); padding: var(--space-3); }
@media (max-width: 1040px){#itamg-retirement-planner:where(.planner-page) .portfolio-grid{ grid-template-columns: minmax(0, 1fr); }
#itamg-retirement-planner:where(.planner-page) .portfolio-results{ position: static; max-height: none; }
}
@media (max-width: 760px){#itamg-retirement-planner:where(.planner-page) .form-grid, #itamg-retirement-planner:where(.planner-page) .form-grid--2, #itamg-retirement-planner:where(.planner-page) .form-grid--3, #itamg-retirement-planner:where(.planner-page) .mapping-grid{ grid-template-columns: minmax(0, 1fr); }
#itamg-retirement-planner:where(.planner-page) .panel{ padding: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .tab{ min-height: 48px; font-size: var(--fs-body-sm); padding:14px 8px; }
#itamg-retirement-planner:where(.planner-page) .deduction-row{ grid-template-columns: 1fr 1fr; }
#itamg-retirement-planner:where(.planner-page) .modal{ padding: var(--space-3); }
#itamg-retirement-planner:where(.planner-page) .form-actions--sticky{ position: static; }
}
#itamg-retirement-planner:where(.planner-page) .tool-notice{ max-width: 80ch; font-size: var(--fs-label); margin: 16px 0; color: var(--ink-mute); }
#itamg-retirement-planner:where(.planner-page) #your-data details{ max-width: 85ch; padding: 18px 0; border-bottom: 1px solid var(--rule); }
#itamg-retirement-planner:where(.planner-page) #your-data summary{ cursor:pointer; font-weight:700; font-family:var(--font-display); }
#itamg-retirement-planner:where(.planner-page) #your-data p, #itamg-retirement-planner:where(.planner-page) #your-data dd{ margin: 12px 0 16px; }
#itamg-retirement-planner:where(.planner-page) .planner-glossary dt{ font-weight:700; margin-top:20px; }
#itamg-retirement-planner:where(.planner-page) [data-stale="true"]::before{ content:"Results are out of date. Recalculate after changing inputs."; display:block; padding:12px; border:2px solid var(--hairline); background:var(--surface-tint); font-weight:700; margin-bottom:12px; }
#itamg-retirement-planner:where(.planner-page) [data-stale="true"] .result-card{ opacity:.65; }
#itamg-retirement-planner:where(.planner-page) .inventory-picker{ max-height:300px; overflow:auto; margin:12px 0; }
#itamg-retirement-planner:where(.planner-page) .inventory-picker label{ display:flex; gap:8px; align-items:start; margin:8px 0; }
@media print{#itamg-retirement-planner:where(.planner-page) #print-summary table{ table-layout:fixed; width:100%; }
#itamg-retirement-planner:where(.planner-page) #print-summary th, #itamg-retirement-planner:where(.planner-page) #print-summary td{ overflow-wrap:anywhere; }
#itamg-retirement-planner:where(.planner-page) #print-summary tr{ break-inside:avoid; }
#itamg-retirement-planner:where(.planner-page) #print-summary thead{ display:table-header-group; }
}
@media print{@page itamg-planner-summary{ size: Letter; margin: 0.5in; }
#itamg-retirement-planner:is(div).planner-page:has(#print-summary) > :not(#print-summary){ display:none !important; }
#itamg-retirement-planner:where(.planner-page) #print-summary{ margin:0; padding:0; }
#itamg-retirement-planner:where(.planner-page) #print-summary h1{ font-size:22pt; line-height:1.2; }
#itamg-retirement-planner:where(.planner-page) #print-summary h2{ font-size:15pt; break-after:avoid; }
#itamg-retirement-planner:where(.planner-page) #print-summary h3{ font-size:12pt; break-after:avoid; }
#itamg-retirement-planner:where(.planner-page) #print-summary table{ font-size:9pt; line-height:1.35; }
#itamg-retirement-planner:where(.planner-page) #print-summary th, #itamg-retirement-planner:where(.planner-page) #print-summary td{ padding:5pt; }
#itamg-retirement-planner:where(.planner-page) #print-summary thead th{ font-size:9pt; letter-spacing:0; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(1){ width:12%; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(2){ width:22%; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(3){ width:8%; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(4){ width:9%; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(5){ width:9%; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(6){ width:10%; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(7){ width:9%; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(8){ width:11%; }
#itamg-retirement-planner:where(.planner-page) .print-cohorts th:nth-child(9){ width:10%; }
}
#itamg-retirement-planner:where(.planner-page) .result-card, #itamg-retirement-planner:where(.planner-page) .row-detail, #itamg-retirement-planner:where(.planner-page) .row-detail .grid > *{ min-width: 0; overflow-wrap: anywhere; }
#itamg-retirement-planner:where(.planner-page) .breakdown-table{ min-width: 600px; table-layout: auto; overflow-wrap: normal; }
#itamg-retirement-planner:where(.planner-page) .breakdown-table th, #itamg-retirement-planner:where(.planner-page) .breakdown-table td{ overflow-wrap: normal; word-break: normal; white-space: nowrap; }
#itamg-retirement-planner:where(.planner-page) .breakdown-table th:first-child, #itamg-retirement-planner:where(.planner-page) .breakdown-table td:first-child{ min-width: 9rem; white-space: normal; }

