/* Approved clean toolbar. Scope every rule to screen chrome, never to export contents. */
:root{--ui-bg:#f7f7f9;--ui-surface:#fff;--ui-ink:#29252b;--ui-muted:#746d77;--ui-line:#e4e0e6;--ui-accent:#b6304d;--ui-soft:#faf0f3;--ui-hover:#f4f2f5}
body{background:var(--ui-bg)}
body>.container{max-width:1240px;padding:0 28px 40px}
body>.container>header{margin:0;padding:24px 0 20px;text-align:left;border-bottom:1px solid var(--ui-line)}
body>.container>header .header-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
body>.container>header .header-text{flex:1;min-width:0}
body>.container>header h1{font-size:22px;line-height:1.35;font-weight:650;color:var(--ui-ink);letter-spacing:0;margin:0}
body>.container>header .subtitle{display:none}
body>.container>header .header-tools{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;width:auto;margin:0;gap:14px}
body>.container>header .header-tools .site-language-switch{display:flex;gap:2px;width:auto;border:1px solid var(--ui-line);border-radius:8px;padding:3px;background:#fdfcfd}
body>.container>header .header-tools .btn-language{width:auto;min-width:42px;min-height:32px;padding:5px 9px;font-size:12px!important;border:0!important;border-radius:5px!important}
body>.container>header :is(.btn-account,.btn-guide){min-height:40px;height:auto;width:auto;flex:0 0 auto;gap:7px;padding:9px 12px;font-size:13px!important;box-shadow:none}
body>.container>header .btn-account .account-state-dot{display:none}
body>.container>header .btn-account.is-member{border-color:#d8c2ca!important}
body>.container>header .header-tools svg{width:17px;height:17px;flex:none}
.tool-navigation-row{align-items:center;gap:16px;margin:0 0 26px;border-bottom:1px solid var(--ui-line);min-height:60px}
.tool-navigation-row .app-nav{padding:0;gap:28px;background:transparent;border:0;border-radius:0;margin:0}
.tool-navigation-row .app-nav .ui-button{border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;padding:17px 0;min-height:58px;color:var(--ui-muted)!important;font-size:14px!important;font-weight:500!important;box-shadow:none!important;white-space:nowrap}
.tool-navigation-row .app-nav .ui-button[aria-selected=true]{color:var(--ui-accent)!important;border-bottom-color:var(--ui-accent)!important;background:transparent!important;font-weight:600!important}
.tool-navigation-row .app-nav button span{display:none}
.tool-global-actions{gap:12px}.tool-global-actions:empty{display:none}.tool-global-actions .ui-button{padding:7px 2px;font-size:12px!important;min-height:36px;text-decoration:none}
.tool-global-actions .workspace-recovery{gap:12px}
body .ui-button{border-color:var(--ui-line)!important;border-radius:8px!important;background:var(--ui-surface)!important;color:var(--ui-ink)!important;box-shadow:none!important;font-family:inherit;font-size:14px!important;font-weight:500!important;line-height:1.45;min-height:40px;transition:background .15s,border-color .15s}
body .ui-button:hover:not(:disabled){background:var(--ui-hover)!important;border-color:#bdb6c1!important;transform:none}
body .ui-button:is([aria-pressed=true],[aria-selected=true],[aria-current=true],.is-active){color:var(--ui-accent)!important;background:var(--ui-soft)!important;border-color:#d5b6c0!important}
body .ui-button.ui-primary{color:#fff!important;background:var(--ui-accent)!important;border-color:var(--ui-accent)!important;font-weight:550!important}
body .ui-button.ui-primary:hover:not(:disabled){background:#9e2943!important;border-color:#9e2943!important}
body .ui-button.ui-quiet{background:transparent!important;border-color:transparent!important;color:var(--ui-muted)!important}
body .ui-button:focus-visible,body .ui-field:focus-visible{outline:3px solid #ad779466;outline-offset:3px}
body .ui-button:disabled{cursor:default}
body .ui-field{border:1px solid var(--ui-line)!important;background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-radius:8px!important;min-height:40px;font-family:inherit;font-size:14px;box-shadow:none!important;max-width:100%}
body .ui-field:focus{border-color:#b98d9b!important}
body .ui-button[hidden],body .ui-field[hidden]{display:none!important}
#uploadSection{max-width:860px;margin:32px auto 30px;padding:26px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:14px;box-shadow:0 3px 16px #20162803}
.upload-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-bottom:22px}
.upload-card-header h2{font-size:18px;font-weight:600;line-height:1.4;color:var(--ui-ink);margin:0}
#uploadSection .product-select-wrapper{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;max-width:100%;flex-wrap:wrap}
#uploadSection .product-select-wrapper label{font-size:12px;font-weight:400;color:var(--ui-muted);white-space:nowrap}
#uploadSection .product-select{width:230px;max-width:100%;padding:9px 32px 9px 12px;min-width:0;font-size:13px}
#uploadSection .product-hint{font-size:12px;color:var(--ui-muted);width:100%;margin:0;text-align:right}
#uploadSection .product-hint:empty{display:none}
#uploadSection #uploadArea{margin:0;min-height:230px;padding:30px 20px;border:1px dashed #d5ced9;border-radius:10px;background:#fcfbfc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-shadow:none}
#uploadSection #uploadArea:hover,#uploadSection #uploadArea.drag-over{border-color:var(--ui-accent);background:var(--ui-soft);transform:none}
#uploadSection #uploadArea:focus-visible{outline:3px solid #ad779466;outline-offset:4px}
#uploadArea .upload-icon{color:#8b7f90;margin:0 0 13px}
#uploadArea .upload-icon svg{width:30px;height:30px}
#uploadArea .upload-text{color:var(--ui-ink);font-size:15px;font-weight:500;margin:0}
#uploadArea .upload-cta{display:inline-block;margin-top:18px;padding:10px 22px;min-height:42px;border-radius:8px;background:var(--ui-accent);color:#fff;font-size:14px;font-weight:500}
.upload-support{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-top:16px;font-size:12px;color:var(--ui-muted)}
.upload-support>span{flex:0 1 auto}.upload-details{max-width:55%;text-align:right}.upload-details summary{cursor:pointer;color:#655968;min-height:30px}
.upload-details .upload-hint{font-size:12px;line-height:1.8;margin:8px 0 0;color:var(--ui-muted);text-align:left}
.upload-local-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:16px 0 0;font-size:12px;color:var(--ui-muted)}
.upload-local-note svg{width:14px;height:14px;flex:none}
body>.container .browser-status{max-width:1184px;margin:12px 0 20px;border-color:var(--ui-line);background:#f0eef3;color:#65556b;border-radius:8px;padding:11px 14px}
body>.container .browser-status span{font-size:13px}
body>.container .browser-status small{font-size:12px}
body>.container .browser-status strong{color:var(--ui-accent)}
#accountCard{top:calc(100% + 8px);right:0;left:auto;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 115px);padding:22px;border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 14px 44px #28152a1a;color:var(--ui-ink)}
#accountCard .account-summary strong{font-size:18px;font-weight:600;color:var(--ui-ink)}
#accountCard .account-price-overview{background:#faf9fb;border-color:var(--ui-line);border-radius:9px}
#accountCard .account-plan{background:#fff!important;border-color:var(--ui-line)!important}
#accountCard .account-plan strong{color:var(--ui-accent);font-size:25px}
#accountCard :is(.account-tabs,.account-actions){gap:8px}
#accountCard .account-tabs .ui-button[aria-pressed=true]{background:var(--ui-soft)!important;color:var(--ui-accent)!important}
#accountCard #accountForm input,#accountCard #redeemForm input{padding:10px 12px;min-height:42px}
#accountCard :is(.account-help,.account-price-context,.account-recovery-help){color:var(--ui-muted)}
/* Consistent tool headings and upload panels. */
.pc-app,.p5-app{max-width:1184px;margin:0 auto}
.pc-intro,.p5-intro,.hc-intro{margin:0;padding:0 0 20px;text-align:left;position:static}
.pc-intro h2,.p5-intro h2,.hc-intro h2{font-size:20px;line-height:1.5;font-weight:600;letter-spacing:0;margin:0 0 5px;color:var(--ui-ink)}
.pc-intro p,.p5-intro p,.hc-intro p{font-size:13px;line-height:1.8;color:var(--ui-muted);margin:0;max-width:850px}
.pc-intro .pc-eyebrow,.p5-intro .p5-eyebrow,.pc-local-badge{display:none}
.pc-upload-box,.p5-input,.hc-slot,.pc-empty,.hc-empty{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:12px;box-shadow:none}
.pc-upload-box,.p5-input{padding:24px}
.pc-upload-box h3,.p5-input h3{font-size:16px;font-weight:550;color:var(--ui-ink)}
.pc-upload-box p,.p5-input p{font-size:13px;color:var(--ui-muted)}
.pc-empty{padding:30px 22px;margin-top:18px}.pc-empty h3{font-size:16px;font-weight:500}.pc-empty-chart{width:180px;margin-bottom:16px}
.hc-empty{padding:26px}.hc-empty b{font-size:16px;font-weight:500}
.p5-input label{font-size:13px;color:var(--ui-muted)}
.p5-drop-zone{border-color:#d5ced9;background:#fcfbfc;border-radius:10px}
.p5-drop-zone.drag-over,.pc-upload-box.drag-over{outline-color:var(--ui-accent);background:var(--ui-soft)}
.p5-rules{border-top-color:var(--ui-line)}
.p5-rules summary{color:#63566a;font-size:13px}
.hc-kind-switch{margin:0 0 22px;gap:8px;max-width:720px}
.hc-kind-switch .ui-button{padding:10px 18px;min-height:44px;font-size:14px!important;font-weight:500!important}
.hc-kind-switch span{font-size:12px!important;color:var(--ui-muted)}
#srApp{background:transparent}
#srApp>.sr-intro{margin:0;padding:0 0 20px}
#srApp>.sr-intro h2{font-size:20px;line-height:1.5;font-weight:600;color:var(--ui-ink);margin:0 0 5px}
#srApp>.sr-intro p,#srApp>.sr-session,#srApp>.status{font-size:13px;line-height:1.8;color:var(--ui-muted)}
#srApp>.tools{border-color:var(--ui-line);border-radius:12px;gap:10px;padding:18px}
#srApp>.tools label:not(.upload){font-size:13px;color:var(--ui-muted)}
#srApp>.tools>.upload{background:var(--ui-accent);border-color:var(--ui-accent);border-radius:8px;color:#fff;font-size:14px;min-height:42px;padding:10px 14px}
#srApp>.tools>.upload:hover{background:#9e2943;border-color:#9e2943}
#srApp>#sr-empty{background:var(--ui-surface);border-color:var(--ui-line);border-radius:12px;color:var(--ui-muted);font-size:14px}
#srApp>#sr-files .file{border-color:var(--ui-line)}
.sr-kind{gap:8px;margin-bottom:22px}.sr-kind .ui-button{padding:10px 16px;font-size:13px!important}
.hc-slots{gap:12px}.hc-slot{padding:18px}.hc-slot>b{font-size:14px;font-weight:600}
/* Preview controls; do not target text or tables inside poster canvases. */
#savingsSettingsPanel,.pd-controls,.p5-edit-toolbar,.pc-rate-panel,.hc-controls,.display-years-panel,.rt-controls,.workspace-actions,.poster-preview-toolbar,.p5-preview-toolbar,.pc-preview-toolbar,.hc-preview-tools{background:var(--ui-surface);border-color:var(--ui-line);border-radius:10px;box-shadow:none;color:var(--ui-ink)}
.rt-controls,.p5-edit-toolbar{padding:14px;border:1px solid var(--ui-line);gap:8px}
.trst-toolbar{gap:8px;margin:14px 0}
.trst-toolbar>.ui-button{flex:1 1 140px;min-height:42px;padding:10px 14px}
.p5-action-row>.ui-button{min-height:42px;padding:10px 14px}
.display-years-toggle.ui-button{font-weight:500!important}
.display-years-toggle.ui-button[aria-expanded=true]{background:var(--ui-soft)!important;color:var(--ui-accent)!important;border-color:#d5b6c0!important}
.display-years-panel{margin-top:12px;padding:18px}.display-years-group{border-color:var(--ui-line)}
.display-years-panel .ui-button{padding:8px 12px}
.display-years-panel .display-years-add-button.ui-button{background:var(--ui-accent)!important;color:#fff!important;border-color:var(--ui-accent)!important}
.display-years-panel .display-years-chips .ui-button{min-height:34px;background:#faf7f9!important;color:var(--ui-accent)!important;border-color:#eadbe1!important;font-size:13px!important}
.display-years-panel .display-years-chips .ui-button:disabled{opacity:.55}
.savings-rate-mode-options,.savings-range-mode-options,.pd-choice-switch,.pc-segment,.trst-offer-options{border-color:var(--ui-line)!important;background:#fff}
#savingsSettingsPanel :is(.pd-choice-switch,.savings-rate-mode-options,.savings-range-mode-options,.trst-offer-options) .ui-button{border-radius:0!important;font-size:12px!important;border-color:var(--ui-line)!important}
#savingsSettingsPanel :is(.pd-choice-switch,.savings-rate-mode-options,.savings-range-mode-options,.trst-offer-options) .ui-button:is(.is-active,[aria-pressed=true]){background:var(--ui-soft)!important;color:var(--ui-accent)!important}
.pd-option-label,.savings-rate-mode-label,.savings-range-mode-label,.trst-offer-label{color:var(--ui-muted)}
.pc-segment .ui-button{font-size:12px!important;padding:7px 12px;min-height:36px}
.p5-preview-toolbar,.poster-preview-toolbar,.pc-preview-toolbar,.hc-preview-tools{padding:12px 14px;gap:12px}
.poster-zoom-controls .ui-button,.p5-zoom-controls .ui-button,.hc-preview-tools .ui-button{font-size:12px!important;min-height:36px;padding:7px 10px}
.poster-zoom-controls,.p5-zoom-controls{gap:7px}
.p5-preview,.general-poster-wrap,.pc-preview-viewport,#hcCanvasViewport{border-color:var(--ui-line)}
.result-columns>.result-left>.card,.result-columns>.result-right>.card,.benefit-card{border:1px solid var(--ui-line);box-shadow:none;border-radius:12px}
.benefit-card>h2,.result-columns .card>h2{font-size:16px;color:var(--ui-ink)}
.workspace-file-slot>.savings-slot{background:var(--ui-surface)!important;border-color:var(--ui-line)!important;text-align:left}
.image-style-toolbar{background:var(--ui-surface);border-color:var(--ui-line);border-radius:10px;box-shadow:none}
#guideModal .guide-modal{border:1px solid var(--ui-line);box-shadow:0 20px 60px #28152a20}
#guideModal .guide-compact-header,#guideModal .guide-compact-footer{background:var(--ui-surface)}
#guideModal .guide-topic-nav{border-bottom-color:var(--ui-line)}
#guideModal .guide-topic-nav .ui-button{min-height:34px;font-size:12px!important}
#guideModal .guide-close-x.ui-button{border:0;min-width:38px;padding:4px;font-size:24px!important}
.pcg-dialog{border-color:var(--ui-line);border-radius:12px}
@media(max-width:800px){
 body>.container{padding:0 20px 32px}
 body>.container>header{padding:20px 0 16px}
 body>.container>header .header-row{gap:18px;flex-wrap:wrap}
 body>.container>header h1{font-size:20px}
 body>.container>header .header-tools{gap:10px}
 .tool-navigation-row{flex-wrap:wrap;gap:0 10px;margin-bottom:22px}
 .tool-navigation-row .app-nav{flex:1 1 auto;width:auto;gap:24px}
 .tool-global-actions{width:auto;margin-left:auto;padding:4px 0 9px}
 #uploadSection{margin-top:24px;padding:22px}
}
@media(max-width:600px){
 body>.container{padding:0 14px 28px}
 body>.container>header{padding:19px 0 15px}
 body>.container>header .header-text{flex-basis:100%}
 body>.container>header h1{font-size:19px}
 body>.container>header .header-tools{width:100%;justify-content:space-between;gap:8px}
 body>.container>header :is(.btn-account,.btn-guide){min-height:44px;padding:8px 10px;font-size:12px!important}
 body>.container>header .header-tools .btn-language{min-width:42px;min-height:36px;padding:7px 8px}
 .tool-navigation-row .app-nav{width:100%;gap:18px;justify-content:space-between}
 .tool-navigation-row .app-nav .ui-button{flex:0 1 auto;font-size:13px!important;min-height:54px;padding:15px 0}
 .tool-global-actions{width:100%;justify-content:flex-end;gap:10px;flex-wrap:wrap}
 .tool-global-actions .ui-button{font-size:12px!important;min-height:36px}
 #accountCard{position:fixed;left:14px;right:14px;width:calc(100vw - 28px);top:16px;padding:18px;max-height:calc(100dvh - 32px);margin:0}
 #uploadSection{margin:22px auto;padding:18px;border-radius:12px}
 .upload-card-header{gap:14px;margin-bottom:18px}
 .upload-card-header h2{font-size:17px}
 #uploadSection .product-select-wrapper{width:100%;justify-content:space-between}
 #uploadSection .product-select{flex:1;min-width:0;max-width:calc(100% - 65px);font-size:14px}
 #uploadSection .product-hint{text-align:left}
 #uploadSection #uploadArea{min-height:214px;padding:25px 12px}
 #uploadArea .upload-text{font-size:14px}
 .upload-support{flex-direction:column;gap:7px;font-size:12px}
 .upload-details{max-width:100%;text-align:left}
 .upload-local-note{font-size:11px;margin-top:12px}
 body .ui-field{font-size:16px}
 .pc-intro,.p5-intro,.hc-intro{padding-bottom:16px}
 .pc-intro h2,.p5-intro h2,.hc-intro h2{font-size:18px;line-height:1.5}
 .pc-upload-box,.p5-input{padding:18px}
 .hc-kind-switch{max-width:none;margin-bottom:18px}
 .hc-kind-switch .ui-button{padding:10px 12px;flex-direction:row;font-size:13px!important}
 .hc-kind-switch span{display:none}
 #srApp>.sr-intro h2{font-size:18px}
 #srApp>.tools{padding:14px;gap:8px}
 .pc-empty{padding:25px 15px}.pc-empty-chart{width:150px}
 .trst-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .trst-toolbar>.ui-button,.p5-action-row>.ui-button{min-width:0;padding:10px 7px;font-size:13px!important}
 .rt-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
 .rt-controls>.ui-button{min-height:42px;padding:9px 6px;font-size:13px!important}
 #rtExport{grid-column:auto}
 .display-years-panel{padding:14px}.display-years-panel select{font-size:14px}
 .poster-preview-toolbar,.p5-preview-toolbar,.pc-preview-toolbar{padding:10px;flex-wrap:wrap}
 .pc-export-actions .ui-button{font-size:12px!important;padding:9px 7px}
}
@media(prefers-reduced-motion:reduce){body .ui-button{transition:none}}
/* Health controls share the available width; hidden language/offer groups leave no empty column. */
#visibleDisplaySettings{margin-bottom:12px;border-color:var(--ui-line);border-radius:10px;box-shadow:none}
#visibleDisplaySettings>summary{min-height:48px;padding:11px 16px;background:var(--ui-surface)}
#visibleDisplaySettings>summary b{font-size:15px;color:var(--ui-ink)}
#visibleDisplaySettings>summary small{display:none}
#visibleDisplaySettings .settings-toggle{border:0;padding:4px 0;color:var(--ui-muted)}
#displayControlsHome .pd-controls{padding:0 16px 14px}
#displayControlsHome .pd-options{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr) minmax(0,1fr);gap:12px 18px;align-items:start}
#displayControlsHome .pd-options:has(#healthOfferOption[hidden]){grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
#displayControlsHome .pd-option{min-width:0;width:100%;gap:6px}
#displayControlsHome .pd-option-label{font-size:12px;flex:0 0 auto;white-space:normal}
#displayControlsHome .pd-choice-switch{width:100%;max-width:none;min-height:42px;border-color:var(--ui-line)}
#displayControlsHome .pd-choice-btn{flex:1 1 0;min-width:0;min-height:42px;padding:8px 6px;font-size:12px!important;white-space:normal;border-radius:0!important}
#displayControlsHome [data-display-select="displayLayout"]{display:grid;grid-template-columns:1fr 1fr 1.25fr;max-width:none}
#displayControlsHome [data-display-select="displayLayout"] [data-display-value="combined"]{grid-column:auto;border-top:0;text-wrap:balance}
#displayControlsHome .pd-exchange{margin-top:12px;padding-top:10px;gap:10px 20px}
#displayControlsHome #displayNote{margin-top:10px}
#generalPromotionRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px;align-items:start}
#generalPromotionRow:not(:has(>.promo-control:not([hidden]))){display:none}
#generalPromotionRow>.promo-control{margin:0;min-width:0;padding:14px 16px;background:var(--ui-surface);border-color:var(--ui-line);border-radius:10px}
#generalPromotionRow>.promo-control:only-child,#generalPromotionRow:has(>#attachedPromotionControl[hidden])>#generalPromotionControl{grid-column:1/-1}
#generalPromotionRow .promo-control-top{justify-content:space-between;gap:8px 12px}
#generalPromotionRow .promo-paired{margin-top:10px}
@media(max-width:699px){
 #displayControlsHome .pd-options,#displayControlsHome .pd-options:has(#healthOfferOption[hidden]){grid-template-columns:minmax(0,1fr);gap:10px}
 #displayControlsHome .pd-option{flex-direction:row;align-items:center;gap:8px}
 #displayControlsHome .pd-option-label{flex:0 0 64px}
 #displayControlsHome .pd-choice-switch{flex:1;min-width:0;width:auto}
 #displayControlsHome .pd-choice-btn{padding:8px 3px}
 #generalPromotionRow{grid-template-columns:minmax(0,1fr);gap:10px}
 #generalPromotionRow>.promo-control{padding:12px 14px}
}
/* One clearly labelled disclosure contains all long-image display settings. */
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings){margin:0 0 14px;border:1px solid #e8b9c5;border-radius:10px;overflow:hidden;background:#fff;box-shadow:none}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)[hidden],#displayControlsHome[hidden]{display:none!important}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:13px 16px;cursor:pointer;list-style:none;background:#fff4f7}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary:hover{background:#fdeaf0}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary:focus-visible{outline:3px solid #b32a50;outline-offset:-3px}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary .settings-heading{min-width:0}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary b{font-size:16px;color:#8d2543}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary small{display:block;max-width:none;font-size:12px;line-height:1.6;color:#84616d;margin-top:3px;font-weight:400}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary .settings-toggle{display:flex;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;min-height:38px;border:1px solid #dca0b1;border-radius:7px;background:#fff;color:#9b2849;font-size:13px;font-weight:600;white-space:nowrap;box-sizing:border-box}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary .settings-toggle i{display:flex;align-items:center}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)[open]>summary{border-bottom:1px solid #f0dce2;margin-bottom:14px}
#visibleDisplaySettings #generalPromotionRow{margin:0 16px 14px}
#visibleDisplaySettings #verificationNotice{margin:0 16px 14px}
#savingsDisplaySettings #savingsSettingsPanel{border:0;box-shadow:none;margin:0;padding:0 16px 14px;background:#fff}
#retirementDisplaySettings>.promo-control{margin:0 16px 14px}
@media(max-width:520px){
 body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary{padding:12px;gap:10px}
 body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary .settings-toggle{padding:8px;font-size:12px;gap:4px}
 body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings)>summary small{font-size:11px}
 #visibleDisplaySettings #generalPromotionRow,#visibleDisplaySettings #verificationNotice,#retirementDisplaySettings>.promo-control{margin-left:12px;margin-right:12px}
 #savingsDisplaySettings #savingsSettingsPanel{padding-left:12px;padding-right:12px}
}
/* Always-visible settings, compact screen layout. Export canvases are untouched. */
body>.container>header{padding-top:18px;padding-bottom:14px}
.tool-navigation-row{margin-bottom:16px;min-height:52px}
.tool-navigation-row .app-nav .ui-button{min-height:52px;padding-top:14px;padding-bottom:14px}
body :is(#visibleDisplaySettings,#savingsDisplaySettings,#retirementDisplaySettings){border-color:var(--ui-line);margin-bottom:12px}
.workspace-display-settings>.settings-header{padding:12px 16px 8px;background:var(--ui-surface)}
.settings-header h2{margin:0;font-size:15px;line-height:1.4;color:var(--ui-ink);font-weight:600}
#savingsDisplaySettings #savingsSettingsPanel{padding-bottom:10px}
#savingsSettingsPanel .savings-settings-grid{gap:10px 16px;align-items:start}
#savingsSettingsPanel :is(.savings-rate-mode-note,.savings-range-mode-note){margin:6px 0 0;font-size:12px}
#savingsSettingsPanel :is(.savings-rate-mode-note,.savings-range-mode-note):empty{display:none}
#savingsSettingsPanel .pd-exchange{margin-top:7px;padding-top:7px}
#savingsSettingsPanel #trstOfferControl{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-top:10px;margin:0;border-top:1px solid var(--ui-line)}
#savingsSettingsPanel #trstOfferControl[hidden]{display:none!important}
#trstOfferStatus{font-size:12px}
#trstOfferControl .promo-rules{flex-basis:100%;margin-top:0}
#trstOfferControl .promo-rules p{display:inline;margin:0 14px 0 0}
#trstOfferControl .promo-rules .always-visible-heading{display:none}
#savingsUploadSlots{gap:8px;margin:10px 0 4px}
#savingsUploadSlots .savings-slot{padding:10px 12px;min-height:64px}
#savingsUploadMessage{margin:4px 0 8px;font-size:12px}
.result-reading-workspace{margin:10px 0}
.result-reading-grid{grid-template-columns:minmax(0,1fr) 300px;gap:16px}
.savings-preview-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;margin-bottom:10px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-surface)}
.savings-preview-tools .trst-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:0;width:auto;flex:1 1 auto}
.savings-preview-tools .trst-toolbar>.ui-button{flex:0 1 auto;width:auto;min-height:38px;padding:8px 10px;font-size:13px!important}
.savings-preview-tools .savings-zoom-toolbar{margin:0;padding:0;border:0;gap:6px;background:transparent;flex:0 1 auto}
.savings-preview-tools .savings-zoom-label{display:none}
.savings-preview-tools .savings-zoom-controls{gap:5px;width:auto}
.savings-preview-tools .savings-zoom-controls button{min-height:36px;padding:6px 8px;font-size:12px!important}
.result-summary-column .plan-summary-card{padding:16px;border-color:var(--ui-line);box-shadow:none;border-radius:10px}
.plan-summary-card .card-title{display:inline-block;font-size:16px;line-height:38px;padding:0;margin:0 12px 8px 0;color:var(--ui-ink)}
.plan-summary-card .intro-toolbar{display:inline-flex;vertical-align:top;margin:0 0 8px}
.plan-summary-help{padding:8px 10px;margin-bottom:10px;background:#f7f6f8}
.plan-summary-card .intro-content{line-height:1.8;min-height:0}
.plan-summary-card .intro-content p{margin-bottom:10px}
.result-canvas-column .poster-preview-toolbar{padding:10px;gap:8px;margin-bottom:10px}
.display-years-panel{padding:12px 16px;margin:10px 0;border:1px solid var(--ui-line);box-shadow:none}
#savingsSettingsPanel>.display-years-panel{border:0;border-top:1px solid var(--ui-line);border-radius:0;margin:0;padding:12px 16px}
.display-years-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px}
.display-years-title{font-size:14px;line-height:1.5;font-weight:600;margin:0;color:var(--ui-ink)}
.display-years-basis{font-size:12px;gap:8px}
.display-years-basis select{min-height:36px;padding:6px 10px;font-size:13px!important}
.display-years-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;align-items:start}
.display-years-groups>.display-years-group:only-child{grid-column:1/-1}
.display-years-group{min-width:0;margin:0;padding:10px 12px;border:1px solid var(--ui-line);border-radius:8px;background:#fcfbfc}
.display-years-group h3{font-size:13px;margin:0 0 8px}
.display-years-add{display:flex;gap:6px;flex-wrap:wrap}
.display-years-add label{flex:1 1 175px;width:auto;gap:6px;font-size:12px}
.display-years-add select{flex:1;min-width:0;width:100%;min-height:36px;padding:6px 8px;font-size:13px!important}
.display-years-panel .display-years-add .ui-button{min-height:36px;padding:6px 9px;font-size:12px!important}
.display-years-chips{gap:5px;margin-top:8px}
.display-years-panel .display-years-chips .ui-button{min-height:30px;padding:4px 8px;font-size:12px!important}
.display-years-panel .display-years-note:last-child{margin-top:8px;font-size:11px;line-height:1.6}
.always-visible-heading{font-size:13px;font-weight:600;line-height:1.6;margin:0 0 6px;color:var(--ui-muted)}
.upload-support{display:block;margin-top:12px}.upload-support>span{display:none}
.upload-support .upload-details{max-width:none;text-align:left}
.upload-support .upload-hint{font-size:12px;line-height:1.7;margin:0;color:var(--ui-muted)}
#uploadSection{margin-top:18px;margin-bottom:18px;padding:20px}
.upload-card-header{margin-bottom:14px}
#uploadSection #uploadArea{min-height:176px;padding:22px 16px}
.promo-rules.always-visible-info{padding-top:6px;border-top:1px solid #eee8eb}
.promo-rules.always-visible-info p{margin-top:5px}
.p5-rules.always-visible-info{padding-top:12px}
.hc-details.always-visible-info,.lc-details.always-visible-info{margin-top:10px}
@media(max-width:1050px){.result-reading-grid{grid-template-columns:minmax(0,1fr) 275px;gap:12px}}
@media(max-width:950px){
 .result-reading-grid{display:block}
 .result-summary-column{position:static;margin-top:12px}
 .result-reading-workspace .result-summary-column,.result-reading-workspace .result-canvas-column{display:block}
 .result-view-switch,.result-view-hint{display:none}
 .plan-summary-card .intro-content{max-height:none}
}
@media(max-width:650px){
 .display-years-groups{grid-template-columns:minmax(0,1fr);gap:8px}
 .display-years-header{gap:8px 12px}
 .display-years-panel,#savingsSettingsPanel>.display-years-panel{padding:10px 12px}
 .display-years-group{padding:9px 10px}
 .display-years-panel .display-years-chips .ui-button{min-height:36px;padding:6px 9px}
 .display-years-add label{flex-basis:100%}
 .display-years-add select{width:auto}
 .display-years-add .ui-button{flex:1}
 .savings-preview-tools{padding:8px;gap:8px}
 .savings-preview-tools .trst-toolbar{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .savings-preview-tools .trst-toolbar>.ui-button{width:100%;min-height:42px;padding:8px 4px;font-size:12px!important}
 .savings-preview-tools .savings-zoom-toolbar{width:100%}
 .savings-preview-tools .savings-zoom-controls{width:100%;justify-content:space-between}
 .savings-preview-tools .savings-zoom-controls button{min-height:40px}
 .result-summary-column .plan-summary-card{padding:14px}
 .workspace-display-settings>.settings-header{padding:10px 12px 8px}
}
#savingsSettingsPanel #trstOfferControl{flex-direction:row;justify-content:flex-start;text-align:left}
#savingsSettingsPanel #trstOfferControl .trst-offer-label{flex:0 0 auto}
#savingsSettingsPanel #trstOfferControl .trst-offer-options{width:auto;flex:0 1 auto;max-width:100%;min-width:240px}
#savingsSettingsPanel #trstOfferControl .trst-offer-options button{min-width:94px;padding-left:12px;padding-right:12px}
#savingsSettingsPanel #trstOfferControl #trstOfferStatus{flex:1 1 220px}
.savings-preview-tools .trst-toolbar{justify-content:flex-start}
@media(min-width:1101px){
 #savingsSettingsPanel:is([data-product='TRST'],[data-product='TRSTR'],[data-product='PHOR']) .savings-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:650px){
 #savingsSettingsPanel #trstOfferControl .trst-offer-options{flex:1;min-width:0}
 #savingsSettingsPanel #trstOfferControl .trst-offer-options button{min-width:0;padding-left:5px;padding-right:5px}
}

#retirementDisplaySettings>.display-years-panel{border:0;border-top:1px solid var(--ui-line);border-radius:0;margin:0}

#savingsSettingsPanel>.display-years-panel{padding:12px 0 10px;margin-top:10px;border-top:1px solid var(--ui-line)}
#savingsSettingsPanel>#trstOfferControl{margin-top:10px;padding-top:10px}

/* Official terms remain optional; product settings stay visible. */
.promo-rules>summary{display:flex;align-items:center;gap:7px;list-style:none;min-height:36px;font-size:12px;color:var(--ui-muted);cursor:pointer}
.promo-rules>summary::-webkit-details-marker{display:none}
.promo-rules>summary::before{content:'›';display:inline-block;font-size:18px;line-height:1;transform:rotate(0deg);transition:transform .15s}
.promo-rules[open]>summary::before{transform:rotate(90deg)}
.promo-rules>summary .promo-terms-link{display:inline-block;flex:none;margin:0 0 0 10px;color:var(--ui-accent);font-size:12px;line-height:1.6;text-decoration:underline;text-underline-offset:3px}
.promo-rules>summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}
#trstOfferControl .promo-rules{width:100%;padding-top:2px}
