@layer rnProjectionFix;
@layer rnDeviceFixes, rnReportPolish, rnCustomizer, rnAppPolish;
/* Responsive fixes retained independently of customizer exports. */
@layer rnDeviceFixes {

/* ===== Tablet portfolio layout: contain controls in both detail modes ===== */
@media screen and (min-width:701px) and (max-width:1366px) {
  #fundTableContainer {overflow-x:auto!important;max-width:100%;-webkit-overflow-scrolling:touch;}
  #fundTableContainer #fundTable {width:100%!important;table-layout:fixed!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden {min-width:900px!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) {min-width:1400px!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(1),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(1) {width:12%!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(2),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(2) {width:28%!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(7),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(7) {width:10%!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(8),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(8) {width:38%!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(9),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(9) {width:12%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(1),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(1) {width:8%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(2),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(2) {width:20%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(n+3):nth-child(-n+7),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(n+3):nth-child(-n+7) {width:8%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(8),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(8) {width:24%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(9),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(9) {width:8%!important;}
  #fundTableContainer #fundTable th {white-space:normal!important;overflow-wrap:normal;line-height:1.35!important;padding:10px 8px!important;}
  #fundTableContainer #fundTable td[data-label="Portfolio Fit"],
  #fundTableContainer #fundTable td[data-label="Allocation %"],
  #fundTableContainer #fundTable td[data-label="Remove"] {padding-left:10px!important;padding-right:10px!important;vertical-align:middle!important;}
  #fundTableContainer #fundTable td[data-label="Portfolio Fit"] .score-pill {
    box-sizing:border-box;display:inline-flex!important;align-items:center;justify-content:center;
    width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
    margin:0!important;font-size:13px!important;line-height:1!important;
  }
  #fundTableContainer #fundTable td[data-label="Allocation %"]>.allocation-control {
    display:grid!important;grid-template-columns:44px minmax(70px,1fr) 44px 74px!important;
    gap:8px!important;width:100%!important;min-width:0!important;max-width:100%!important;
    margin:0!important;align-items:center!important;justify-content:normal!important;
  }
  #fundTableContainer #fundTable .allocation-control .mobile-alloc-stepper {
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    box-sizing:border-box;width:44px!important;height:44px!important;min-width:44px!important;
    min-height:44px!important;padding:0!important;margin:0!important;font-size:24px!important;line-height:1!important;
  }
  #fundTableContainer #fundTable .allocation-control input[type="range"] {
    box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important;
    margin:0!important;padding:0!important;transform:none!important;
  }
  #fundTableContainer #fundTable .allocation-control input[type="number"] {
    box-sizing:border-box;width:74px!important;min-width:0!important;max-width:74px!important;
    min-height:44px!important;padding:8px 5px!important;margin:0!important;font-size:16px!important;
  }
  #fundTableContainer #fundTable td[data-label="Remove"] button {box-sizing:border-box;min-height:44px!important;max-width:100%;padding:8px!important;}
}

/* ===== Stock/Bond Mix: explicit Safari / Firefox slider rendering ===== */
@media screen {
  #quickMixField #quickMixSlider {
    -webkit-appearance:none!important;appearance:none!important;
    box-sizing:border-box;width:100%!important;max-width:100%!important;
    height:44px!important;min-height:44px!important;
    padding:0!important;margin:0!important;border:0!important;
    background:transparent!important;box-shadow:none!important;
    color:var(--primary,var(--c-blue-30))!important;cursor:pointer;
  }
  #quickMixField #quickMixSlider::-webkit-slider-runnable-track {
    -webkit-appearance:none!important;height:8px!important;
    background:var(--c-slate-85)!important;border:1px solid var(--c-slate-75b)!important;
    border-radius:999px!important;box-shadow:none!important;
  }
  #quickMixField #quickMixSlider::-webkit-slider-thumb {
    -webkit-appearance:none!important;appearance:none!important;
    box-sizing:border-box;width:28px!important;height:28px!important;
    margin-top:-11px!important;border:3px solid var(--c-gray-99)!important;
    border-radius:50%!important;background:var(--primary,var(--c-blue-30))!important;
    box-shadow:0 1px 5px rgba(var(--c-shadow-rgb), 0.3)!important;
  }
  #quickMixField #quickMixSlider::-moz-range-track {
    height:6px!important;background:var(--c-slate-85)!important;
    border:1px solid var(--c-slate-75b)!important;border-radius:999px!important;
  }
  #quickMixField #quickMixSlider::-moz-range-progress {
    height:6px!important;background:var(--primary,var(--c-blue-30))!important;border-radius:999px!important;
  }
  #quickMixField #quickMixSlider::-moz-range-thumb {
    box-sizing:border-box;width:28px!important;height:28px!important;
    border:3px solid var(--c-gray-99)!important;border-radius:50%!important;
    background:var(--primary,var(--c-blue-30))!important;box-shadow:0 1px 5px rgba(var(--c-shadow-rgb), 0.3)!important;
  }
  #quickMixField #quickMixSlider:focus-visible {
    outline:3px solid var(--c-amber-65)!important;outline-offset:3px!important;
  }
  @media(forced-colors:active) {
    #quickMixField #quickMixSlider::-webkit-slider-runnable-track {background:Canvas!important;border-color:CanvasText!important;}
    #quickMixField #quickMixSlider::-webkit-slider-thumb {background:Highlight!important;border-color:Canvas!important;}
    #quickMixField #quickMixSlider::-moz-range-track {background:Canvas!important;border-color:CanvasText!important;}
    #quickMixField #quickMixSlider::-moz-range-thumb {background:Highlight!important;border-color:Canvas!important;}
  }
}

/* ===== Compact mobile navigation — progressive enhancement ===== */
#mobileMenuToggle{display:none;}
@media screen and (max-width:700px){
  html.rn-mobile-menu-ready #mobileMenuToggle{
    display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
    position:fixed;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));
    z-index:552;min-height:48px;padding:10px 18px;border:1px solid var(--c-slate-90);
    border-radius:24px;background:var(--c-blue-30);color:var(--c-gray-99);font:700 15px/1.4 system-ui,sans-serif;
    box-shadow:0 4px 16px rgba(var(--c-shadow-rgb), 0.188);cursor:pointer;touch-action:manipulation;
  }
  #mobileMenuToggle svg{width:20px;height:20px;flex-shrink:0;}
  html.rn-mobile-menu-ready #mainToolNavigation{
    display:none!important;position:fixed!important;
    top:auto!important;left:auto!important;right:14px!important;
    bottom:calc(72px + env(safe-area-inset-bottom))!important;
    width:min(340px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important;
    max-height:calc(100dvh - 100px);overflow-y:auto;
    padding:8px!important;margin:0!important;z-index:553!important;
    background:var(--c-gray-99)!important;border:1px solid var(--c-slate-85)!important;border-radius:14px!important;
    box-shadow:0 8px 30px rgba(var(--c-shadow-rgb), 0.188)!important;
  }
  html.rn-mobile-menu-ready #mainToolNavigation.mobile-menu-open{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;}
  html.rn-mobile-menu-ready #mainToolNavigation .global-tab{
    width:100%!important;flex-direction:row!important;justify-content:flex-start!important;
    gap:12px!important;padding:12px 14px!important;min-height:48px!important;
    text-align:left!important;white-space:normal!important;
  }
  html.rn-mobile-menu-ready #mobileStickyTotal.has-funds{bottom:calc(76px + env(safe-area-inset-bottom))!important;}
  html.rn-mobile-menu-ready .wrap{padding-bottom:calc(170px + env(safe-area-inset-bottom))!important;}
  html.rn-mobile-menu-ready{scroll-padding-bottom:170px;}
  #mobileMenuToggle:focus-visible{outline:3px solid var(--c-amber-65)!important;outline-offset:3px!important;}
}
@media print{#mobileMenuToggle{display:none!important;}}

}
/* RetireNerd v100 presentation companion.
   Load AFTER the original v100 styles.css. Base rules are not duplicated here.
   Preserves accumulated presentation fixes and last verified exported settings.
   Existing selectors for optional UI additions remain dormant if absent in v100.
*/
/* RetireNerd presentation refresh — CSS only.
   Original markup, event handlers, scripts, IDs, storage and calculations are intact.
   Remove this one style element to recover the supplied original exactly. */
@media screen {
:root{
 --bg:var(--c-gray-95);--panel:var(--c-gray-99);--panel2:var(--c-gray-99);
 --text:var(--c-slate-30);--muted:var(--c-slate-50b);--muted2:var(--c-slate-55b);
 --border:var(--c-slate-85);--border-soft:var(--c-gray-95);
 --teal:var(--c-blue-30);--teal-dim:var(--c-gray-95);--gold:var(--c-amber-55b);--gold-dim:var(--c-sand-95);
 --primary:var(--c-blue-30);--radius-md:12px;
 --shadow-sm:0 2px 7px rgba(var(--c-shadow-rgb), 0.035);
 --shadow-md:0 8px 22px rgba(var(--c-shadow-rgb), 0.055);
 --shadow-lg:0 15px 35px rgba(var(--c-shadow-rgb), 0.09);
}

/* Simulation Results: many possible paths resolving into an outcome range. */
@media(min-width:721px){
  #section03Title{position:relative!important;isolation:isolate;overflow:hidden!important;min-height:132px!important;padding-right:43%!important;}
  #section03Title>*{position:relative;z-index:1;}
  #section03Title::after{content:"";position:absolute;z-index:0;right:3%;top:50%;width:38%;height:78%;transform:translateY(-50%);pointer-events:none;opacity:.9;background:center right/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560 150'%3E%3Cdefs%3E%3ClinearGradient id='fade' x1='0' x2='1'%3E%3Cstop stop-color='%237da6c4' stop-opacity='.08'/%3E%3Cstop offset='1' stop-color='%237da6c4' stop-opacity='.28'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23fade)' d='M24 78C91 54 131 31 190 42s92 62 151 48 104-69 193-55v72c-89 14-134-31-193-19s-92 37-151 26S91 98 24 78Z'/%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath stroke='%237da6c4' stroke-opacity='.27' stroke-width='2.2' d='M24 78C90 62 128 39 190 45s90 48 151 37 110-55 193-47'/%3E%3Cpath stroke='%237da6c4' stroke-opacity='.23' stroke-width='2.2' d='M24 78C87 72 129 55 190 62s92 35 151 28 109-38 193-26'/%3E%3Cpath stroke='%237da6c4' stroke-opacity='.2' stroke-width='2.2' d='M24 78C92 87 130 79 190 83s92 13 151 8 107-17 193-2'/%3E%3Cpath stroke='%237da6c4' stroke-opacity='.2' stroke-width='2.2' d='M24 78C90 99 129 103 190 101s92-2 151-9 110 4 193 15'/%3E%3Cpath stroke='%23efc15b' stroke-opacity='.82' stroke-width='4' d='M24 78C92 74 130 64 190 68s91 20 151 16 108-28 193-20'/%3E%3C/g%3E%3Cg fill='%23efc15b'%3E%3Ccircle cx='24' cy='78' r='6'/%3E%3Ccircle cx='190' cy='68' r='5' opacity='.75'/%3E%3Ccircle cx='341' cy='84' r='5' opacity='.75'/%3E%3Ccircle cx='534' cy='64' r='6'/%3E%3C/g%3E%3Cpath d='m518 51 16 13-17 12' fill='none' stroke='%23efc15b' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
}

@media(max-width:720px){
  #section03Title::after{display:none!important;}
  #section03Title{min-height:0!important;padding-right:17px!important;}
}

/* Authoritative final Simulation Results palette — must remain last. */
#section03Title{background:linear-gradient(145deg,var(--c-gray-95) 0%,var(--c-gray-95) 100%)!important;border:1px solid var(--c-slate-90)!important;box-shadow:inset 0 1px 0 rgba(var(--c-gray-99-rgb), 0.9),0 8px 18px rgba(var(--c-shadow-rgb), 0.07)!important;}
#section03Title h2{color:var(--c-slate-30)!important;}
#section03Title .section-icon-wrap{background:var(--c-gray-99)!important;border:1px solid var(--c-gray-85)!important;box-shadow:0 4px 12px rgba(var(--c-shadow-rgb), 0.08)!important;}
#section03Title .section-icon-wrap svg *{stroke:var(--c-amber-60)!important;}
#section03Title .num{background:var(--c-sand-95b)!important;color:var(--c-amber-50b)!important;border:1px solid var(--c-amber-85)!important;}

/* Secondary tax explanation belongs with the footer methodology. */
.footer-tax-details{margin-top:14px;border:1px solid var(--c-gray-90);border-radius:10px;background:var(--c-gray-99);overflow:hidden;}
.footer-tax-details summary{padding:12px 14px;color:var(--c-blue-45);font-weight:750;cursor:pointer;list-style-position:inside;}
.footer-tax-details[open] summary{border-bottom:1px solid var(--c-gray-90);background:var(--c-gray-95);}
.footer-tax-details #yearAnchorBanner{margin:12px 14px 0;padding:10px 12px;border:1px solid var(--c-gray-90);border-radius:8px;background:var(--c-gray-99);color:var(--c-slate-50b);}
.footer-tax-notes{margin:0 14px 14px;padding-left:18px;color:var(--c-slate-55b);font-size:12px;line-height:1.65;}
.method-links{margin:12px 0 0;font-size:13px;color:var(--c-slate-55b);}
.method-links a{color:var(--c-teal-50);font-weight:700;}
.footer-tax-details p{margin:10px 14px 14px;color:var(--c-slate-55b);font-size:12px;line-height:1.65;}

/* Website masthead and tool identity */
.site-logo-link{display:block!important;}
.site-logo-link::after{display:none!important;}
.site-logo-link .site-logo{display:block!important;width:auto!important;height:54px!important;max-width:min(410px,62vw)!important;object-fit:contain!important;object-position:left center;}
.hero-product-brand{position:absolute;z-index:3;top:34px;right:34px;width:340px;padding:8px 10px 9px;border:1px solid rgba(var(--c-gray-99-rgb), 0.13);border-radius:16px;background:rgba(var(--c-gray-99-rgb), 0.055);box-shadow:none;backdrop-filter:blur(4px);}
.hero-product-brand img{display:block;width:100%;height:auto;}
.hero-product-brand span{display:block;margin-top:5px;color:rgba(var(--c-gray-99-rgb), 0.76);font-size:10px;font-weight:800;letter-spacing:.13em;text-align:center;text-transform:uppercase;}
@media(min-width:981px){
  .hero{padding-right:410px!important;}
}
@media(max-width:980px){
  .hero-product-brand{position:relative;top:auto;right:auto;width:min(330px,100%);margin:0 0 19px;padding:13px 15px 11px;}
}
@media(max-width:560px){
  .site-logo-link .site-logo{height:39px!important;max-width:245px!important;}
  .hero-product-brand{width:min(275px,100%);border-radius:12px;}
  .hero-product-brand span{font-size:8.5px;letter-spacing:.09em;}
}

/* RetireNerd PlanLab product lockup */
.site-logo-link{display:block!important;}
.site-logo-link::after{display:none!important;}
@media(max-width:720px){
  .site-header{align-items:center!important;}
      .site-logo-link::after{display:none!important;}
  .site-logo-link .site-logo{display:block!important;}
}
@media(max-width:390px){
      }

/* Match the heading to the dashboard tile workspace. */
#section03Title{background:linear-gradient(145deg,var(--c-gray-95) 0%,var(--c-gray-95) 100%)!important;border-color:var(--c-slate-90)!important;box-shadow:inset 0 1px 0 rgba(var(--c-gray-99-rgb), 0.9),0 8px 18px rgba(var(--c-shadow-rgb), 0.07)!important;}

/* Brighter Simulation Results banner */
#section03Title{background:linear-gradient(120deg,var(--c-blue-40) 0%,var(--c-blue-45) 54%,var(--c-blue-50b) 100%)!important;border:1px solid rgba(var(--c-blue-70-rgb), 0.5)!important;box-shadow:inset 0 1px 0 rgba(var(--c-gray-99-rgb), 0.12),0 12px 28px rgba(var(--c-shadow-rgb), 0.14)!important;}
#section03Title .section-icon-wrap{background:rgba(var(--c-gray-99-rgb), 0.13)!important;box-shadow:inset 0 0 0 1px rgba(var(--c-gray-99-rgb), 0.11)!important;}
#section03Title .num{background:rgba(var(--c-amber-85b-rgb), 0.2)!important;color:var(--c-amber-90b)!important;}

/* Light alternative after visual review */
#section03Title{background:linear-gradient(120deg,var(--c-gray-99) 0%,var(--c-gray-95) 55%,var(--c-slate-95) 100%)!important;border-color:var(--c-slate-85)!important;box-shadow:inset 0 1px 0 var(--c-gray-99),0 10px 24px rgba(var(--c-shadow-rgb), 0.1)!important;}
#section03Title h2{color:var(--c-blue-30)!important;}
#section03Title .section-icon-wrap{background:var(--c-gray-99)!important;border:1px solid var(--c-slate-90)!important;box-shadow:0 4px 12px rgba(var(--c-shadow-rgb), 0.08)!important;}
#section03Title .section-icon-wrap svg *{stroke:var(--c-amber-65)!important;}
#section03Title .num{background:var(--c-sand-95b)!important;color:var(--c-amber-55b)!important;border:1px solid var(--c-amber-90)!important;}

/* Final neutral-gray banner palette */
#section03Title{background:linear-gradient(120deg,var(--c-gray-95) 0%,var(--c-gray-90) 55%,var(--c-gray-90) 100%)!important;border-color:var(--c-gray-85)!important;box-shadow:inset 0 1px 0 rgba(var(--c-gray-99-rgb), 0.9),0 9px 22px rgba(var(--c-shadow-rgb), 0.1)!important;}
#section03Title h2{color:var(--c-slate-30)!important;}
html{scroll-padding-top:94px;}
body{background:var(--c-gray-95)!important;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
body,:is(h1,.pg-h1),h2,h3,button,.global-tab,.view-tab,.field label{font-family:'Compass Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
.wrap{max-width:1180px;padding:24px 32px 90px;}
.site-header{padding:4px 0 21px!important;gap:16px;border-bottom:1px solid var(--c-gray-90);}
.site-logo{height:43px;max-width:100%;object-fit:contain;}
.site-logo-link{line-height:1!important;text-decoration:none;}
.site-logo-link::after{content:"RETIRENERD";display:none;font-size:20px;font-weight:850;letter-spacing:-.055em;background:linear-gradient(90deg,var(--c-blue-30) 0 61%,var(--c-amber-65) 61% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.global-nav{background:rgba(var(--c-gray-95-rgb), 0.97)!important;gap:9px;padding:13px 0!important;margin:0 0 23px!important;border-bottom:1px solid var(--c-gray-90);box-shadow:none;}
.global-tab{min-height:48px;padding:11px 21px!important;border-radius:11px!important;font-size:14px!important;font-weight:650;box-shadow:none!important;background:var(--c-gray-99);}
.global-tab.active{background:var(--c-blue-30)!important;border-color:var(--c-blue-30)!important;color:var(--c-gray-99)!important;box-shadow:0 4px 10px rgba(var(--c-shadow-rgb), 0.094)!important;}
.global-tab:hover{transform:none;}
#modeSelector{padding:24px 0 34px!important;}
#modeSelector>div:first-child{margin-bottom:28px!important;}
#modeSelector>div:first-child>div:first-child{font-size:clamp(25px,3vw,34px)!important;line-height:1.25;letter-spacing:-.8px;}
#modeSelector>div:first-child>div:nth-child(2){font-size:16px!important;margin-top:10px!important;}
#modeIndicator{border-radius:12px!important;padding:12px 16px!important;background:var(--c-gray-95)!important;border-color:var(--c-slate-90)!important;}
.hero{background:var(--c-gray-99)!important;border:1px solid var(--c-gray-90)!important;border-top:4px solid var(--c-amber-75)!important;border-radius:16px!important;box-shadow:var(--shadow-sm)!important;padding:28px!important;}
.hero :is(h1,.pg-h1){font-size:clamp(25px,3vw,35px)!important;line-height:1.2!important;letter-spacing:-.9px;}
.hero-sub{font-size:16px!important;line-height:1.7!important;}
.panel{border-color:var(--c-gray-90)!important;border-radius:16px!important;box-shadow:var(--shadow-sm)!important;padding:26px;}
.section-title{align-items:center!important;padding:20px 20px 12px!important;margin-top:34px!important;gap:12px!important;border-radius:14px 14px 0 0;}
.section-title h2{font-size:22px!important;line-height:1.3!important;letter-spacing:-.5px;}
.section-title .num{color:var(--c-amber-50b);background:var(--c-sand-95);border-radius:7px;padding:5px 8px;}
.section-icon-wrap{border-radius:12px;background:var(--c-gray-95);box-shadow:none;}
.section-desc{font-size:15px!important;line-height:1.7!important;padding:10px 20px 16px!important;max-width:none;}
.senior-details{font-size:14px!important;line-height:1.65!important;padding:8px 20px 14px!important;}
.senior-details summary{min-height:44px;line-height:1.5;color:var(--c-blue-45);}
.senior-details-body{font-size:14px!important;line-height:1.7!important;border-radius:10px;padding:16px;}
.field{min-width:0;}
.field label{font-size:14px!important;line-height:1.45!important;text-transform:none!important;letter-spacing:0!important;font-weight:650;margin-bottom:8px;}
.field input,.field select,.field textarea{min-height:49px;border-radius:9px!important;font-size:16px!important;line-height:1.4;padding:11px 12px!important;background:var(--c-gray-99);border-color:var(--c-slate-85)!important;box-shadow:0 1px 2px rgba(var(--c-shadow-rgb), 0.02);}
.field input::placeholder{color:var(--c-slate-55b);opacity:1;}
.inputs-grid,.qs-inputs-grid{gap:21px 18px!important;}
.toggle-hint,.qs-disclaimer,.qs-handoff-text{font-size:14px!important;line-height:1.65!important;}
.toggle-btn,.preset-btn,.view-tab,.qs-secondary-btn,.qs-open-full-btn{min-height:44px;border-radius:9px!important;font-size:14px!important;line-height:1.4;}
.toggle-btn{padding:10px 12px!important;}
.toggle-row .toggle-btn.active,button.toggle-btn.active,div.toggle-btn.active{background:var(--c-green-50)!important;border-color:var(--c-green-50)!important;box-shadow:0 2px 5px rgba(var(--c-shadow-rgb), 0.125)!important;color:var(--c-gray-99)!important;}
.toggle-row .toggle-btn.active:hover{background:var(--c-green-45b)!important;border-color:var(--c-green-45b)!important;}
.runbtn,.qs-next-btn{min-height:54px;border-radius:11px!important;font-size:16px!important;font-weight:700!important;letter-spacing:0;background:var(--c-blue-30)!important;color:white!important;box-shadow:0 5px 12px rgba(var(--c-shadow-rgb), 0.086)!important;}
.runbtn-gold{background:var(--c-amber-80)!important;color:var(--c-slate-30)!important;}
.runbtn:hover,.qs-next-btn:hover{background:var(--c-blue-40)!important;}
.runbtn-gold:hover{background:var(--c-amber-85b)!important;}
.runbtn.is-running{cursor:progress;opacity:.75;}
.runbtn.is-running::after{content:'Running…';margin-left:10px;font-size:13px;font-weight:600;}
.diagnostic-btn{border-radius:12px;background:var(--c-sand-95);color:var(--c-amber-45);font-size:17px;line-height:1.5;padding:17px;border-color:var(--c-amber-75);}
.qs-step-label{font-size:13px;letter-spacing:.07em;}
#qsPanel{padding:30px!important;}
#qsPanel .qs-step>div[style*="font-size:13.5px"]{font-size:18px!important;font-weight:650;}
#qsPanel .qs-step>div[style*="font-size:12px"]{font-size:15px!important;line-height:1.7;}
.sumcard,.result-card,.dash-card,#resultsPanel .dash-card{border-radius:13px!important;box-shadow:var(--shadow-sm)!important;border-color:var(--c-slate-90)!important;}
.sumcard:hover,.result-card:hover,.dash-card:hover,#resultsPanel .dash-card:hover{transform:none!important;box-shadow:var(--shadow-sm)!important;}
.sumcard .l,.result-card .l,.dash-card-label,#resultsPanel .dash-card-label{font-size:13px!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;color:var(--c-slate-50b)!important;}
.dash-card-sub,#resultsPanel .dash-card-sub{font-size:14px!important;line-height:1.6!important;color:var(--c-slate-55b);}
.dash-card-value,#resultsPanel .dash-card-value{font-size:30px!important;line-height:1.2!important;font-variant-numeric:tabular-nums;}
.dash-banner{border-radius:14px!important;box-shadow:none!important;}
.fan-chart-shell{border-radius:14px!important;box-shadow:none!important;}
#fundTable{font-size:14px!important;}#fundTable th{font-size:12px!important;line-height:1.5;}
#fundTable td{padding-top:11px!important;padding-bottom:11px!important;}
#fundTable .fundname{font-size:14px!important;line-height:1.5;}
#fundBody tr td{border-top-color:var(--c-slate-90);border-bottom-color:var(--c-slate-90);}
#fundBody tr td:first-child{border-left-width:3px;}
.row-detail-toggle-btn{font-size:13px!important;border-radius:8px!important;}
.footnote,#financialAccuracyNote{font-size:13px!important;line-height:1.75!important;color:var(--c-slate-50b);}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--c-amber-65)!important;outline-offset:3px!important;}
button,.mode-card,.qs-secondary-btn{touch-action:manipulation;}
@media(min-width:701px){.global-nav{top:0!important;}}
@media(max-width:700px){
 html{scroll-padding-top:calc(var(--sticky-top,8px) + 12px);scroll-padding-bottom:190px;} /* --sticky-top: js/19, the header + result bar (2026-10-03) */
 body{font-size:16px!important;padding-bottom:0!important;}
 .wrap{width:100%;padding:17px 14px calc(195px + env(safe-area-inset-bottom))!important;}
 .site-header{padding:0 3px 16px!important;flex-wrap:nowrap;}
 .site-logo{height:35px!important;max-width:190px;}
 .site-logo-link::after{display:block;}
 .site-logo-link .site-logo{display:none!important;}
  .global-nav{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;margin:0!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;z-index:550!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;background:var(--c-gray-99)!important;border-top:1px solid var(--c-slate-85)!important;border-bottom:0!important;box-shadow:0 -4px 18px rgba(var(--c-shadow-rgb), 0.047)!important;}
 .global-tab{min-height:62px!important;height:auto!important;padding:6px 4px!important;flex-direction:column!important;gap:5px!important;border-radius:10px!important;border-color:transparent!important;font-size:12px!important;line-height:1.2!important;font-weight:650!important;background:var(--c-gray-99)!important;color:var(--c-slate-50b)!important;box-shadow:none!important;}
 .global-tab.active{background:var(--c-gray-95)!important;color:var(--c-blue-30)!important;border-color:var(--c-slate-90)!important;box-shadow:none!important;}
 .global-tab.active svg{stroke:var(--c-blue-30)!important;}
 .global-tab svg{width:21px!important;height:21px!important;}
 #mobileStickyTotal.has-funds{bottom:calc(88px + env(safe-area-inset-bottom))!important;left:14px!important;right:14px!important;padding:10px 14px!important;border-radius:12px!important;box-shadow:0 4px 16px rgba(var(--c-shadow-rgb), 0.078)!important;}
 #mobileStickyTotal .mobile-total-label{font-size:12px!important;}
 #modeSelector{padding:24px 0!important;}
 #modeSelector>div:first-child{padding:0 5px;text-align:left!important;}
 #modeSelector>div:first-child>div:first-child{font-size:29px!important;}
 #modeSelector>div[style*="grid-template-columns"]{gap:15px!important;}
    #modeIndicator{margin-top:16px;gap:8px!important;flex-wrap:wrap;}
 .hero{padding:22px 18px!important;margin-top:17px;border-radius:14px!important;}
 .hero :is(h1,.pg-h1){font-size:27px!important;}.hero-sub{font-size:15px!important;}
 .panel,#qsPanel{padding:20px 16px!important;border-radius:14px!important;}
 .section-title{padding:18px 16px 10px!important;margin-top:26px!important;}
 .section-title h2{font-size:21px!important;}
 .section-desc{padding:10px 16px 16px!important;font-size:15px!important;}
 .senior-details{padding:6px 16px 12px!important;}
 .field label{font-size:14px!important;}
 .field input,.field select{min-height:52px!important;font-size:16px!important;}
 .inputs-grid,.qs-inputs-grid,.portfolio-save-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;}
 .toggle-row{flex-direction:row!important;flex-wrap:wrap;gap:8px!important;}
 .toggle-btn{flex:1 1 90px!important;min-height:48px!important;white-space:normal!important;}
 .runbtn,.qs-next-btn{width:100%;min-height:55px!important;}
  .qs-handoff{padding:18px!important;gap:12px;}
 .qs-open-full-btn{width:100%;white-space:normal;}
 #resultsPanel .dash-grid{gap:12px!important;}
 #resultsPanel .dash-card{padding:20px!important;}
 #resultsPanel .dash-card-label{font-size:14px!important;}
 #fundTable tr{border-radius:13px!important;box-shadow:0 2px 8px rgba(var(--c-shadow-rgb), 0.031)!important;}
 #fundTable .alloc-input{min-height:46px!important;}
 #fundTable td[data-label="Allocation %"]>.allocation-control{grid-template-columns:44px minmax(0,1fr) 44px 72px!important;gap:6px!important;}
 #fundTable .row-detail-toggle-btn{font-size:13px!important;}
 }
@media(max-width:370px){
 .wrap{padding-left:10px!important;padding-right:10px!important;}
 .site-logo{max-width:170px;}
 .global-nav{padding-left:6px!important;padding-right:6px!important;gap:3px!important;}
 .global-tab{font-size:11px!important;}
 #fundTable td[data-label="Allocation %"]>.allocation-control{grid-template-columns:40px minmax(0,1fr) 40px 65px!important;gap:4px!important;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
}

/* ===== RetireNerd app-shell refinement ===== */
@media screen {
  body{
    background:
      radial-gradient(circle at 8% 0%,rgba(var(--c-blue-50b-rgb), 0.07),transparent 26rem),
      linear-gradient(180deg,var(--c-gray-95) 0,var(--c-gray-95) 22rem,var(--c-gray-95) 100%)!important;
  }
  .wrap{max-width:1320px!important;}
  .site-header{background:transparent;}
  .global-nav{
    border:1px solid rgba(var(--c-slate-80b-rgb), 0.72)!important;
    border-radius:15px!important;
    padding:7px!important;
    width:max-content;
    max-width:100%;
    background:rgba(var(--c-gray-99-rgb), 0.78)!important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 10px 30px rgba(var(--c-shadow-rgb), 0.06)!important;
  }
  .global-tab{border:0!important;background:transparent!important;min-height:44px!important;}
  .global-tab.active{background:var(--c-blue-30)!important;box-shadow:0 7px 18px rgba(var(--c-shadow-rgb), 0.18)!important;}

  #modeIndicator{
    display:flex;
    width:max-content;
    max-width:100%;
    border:0!important;
    background:rgba(var(--c-gray-99-rgb), 0.68)!important;
    box-shadow:inset 0 0 0 1px rgba(var(--c-slate-85-rgb), 0.75);
  }
  .hero{
    min-height:0!important;
    padding:28px 30px!important;
    color:var(--c-gray-99)!important;
    border:1px solid rgba(var(--c-slate-75b-rgb), 0.28)!important;
    border-top:0!important;
    background:
      radial-gradient(circle at 88% 18%,rgba(var(--c-blue-70b-rgb), 0.28),transparent 18rem),
      linear-gradient(132deg,var(--c-slate-25) 0%,var(--c-blue-35) 58%,var(--c-blue-40) 100%)!important;
    box-shadow:0 20px 50px rgba(var(--c-shadow-rgb), 0.16)!important;
  }
  .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 52%,rgba(var(--c-gray-99-rgb), 0.025) 52%);pointer-events:none;}
  .hero :is(h1,.pg-h1){color:var(--c-gray-99)!important;max-width:760px;}
  .hero-sub{color:var(--c-slate-90)!important;max-width:830px!important;}
    .hero-capabilities{margin-top:20px!important;}
  .hero-capabilities span{color:var(--c-gray-95)!important;background:rgba(var(--c-gray-99-rgb), 0.075)!important;border:1px solid rgba(var(--c-gray-99-rgb), 0.11)!important;border-radius:999px;padding:7px 11px;}
    .hero .field label{color:var(--c-slate-90)!important;}
  .hero .field input{background:rgba(var(--c-gray-99-rgb), 0.97)!important;}
  .hero .preset-btn{border:1px solid rgba(var(--c-gray-99-rgb), 0.15)!important;box-shadow:none!important;}

  #tocPanel{
    padding:18px 20px!important;
    border:1px solid var(--c-slate-90)!important;
    background:rgba(var(--c-gray-99-rgb), 0.82)!important;
    box-shadow:0 10px 26px rgba(var(--c-shadow-rgb), 0.045)!important;
  }
  #tocPanel>div:first-child{font-size:13px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--c-slate-60b)!important;}
  #tocPanel>div:nth-child(2){gap:12px!important;}
  #tocPanel .toc-link{background:var(--c-gray-99)!important;border-color:var(--c-gray-90)!important;min-height:36px!important;padding:7px 11px!important;font-size:12px!important;}

  .section-title{
    background:transparent!important;
    padding:22px 4px 12px!important;
    margin-top:22px!important;
    border-radius:0!important;
  }
  .section-title .num{font-size:11px!important;letter-spacing:.04em;}
  .section-title h2{font-size:24px!important;}
  .section-desc{
    width:auto!important;
    margin:0 0 10px!important;
    padding:0 4px 12px!important;
    background:transparent!important;
    border:0!important;
    color:var(--c-slate-55b)!important;
  }
  .senior-details{
    margin:0 0 10px!important;
    padding:0 4px 8px!important;
    background:transparent!important;
  }
  .section-desc + .panel,.section-title + .panel,.senior-details + .panel{border-radius:16px!important;}
  .panel{box-shadow:0 12px 30px rgba(var(--c-shadow-rgb), 0.055)!important;}
  #advancedInputSections>.panel:not(#tocPanel),#section01bWrap>.panel{
    border-color:var(--c-slate-90)!important;
  }
  .field input,.field select{background:var(--c-gray-99)!important;border-color:var(--c-slate-85)!important;}
  .field input:hover,.field select:hover{border-color:var(--c-slate-65b)!important;background:var(--c-gray-99)!important;}
  .field input:focus,.field select:focus{background:var(--c-gray-99)!important;border-color:var(--c-blue-50b)!important;box-shadow:0 0 0 4px rgba(var(--c-shadow-rgb), 0.1)!important;outline:0!important;}

  /* Result cockpit */
  #section03Title{
    margin-top:34px!important;
    padding:20px 24px!important;
    color:var(--c-gray-99)!important;
    border-radius:20px 20px 0 0!important;
    background:var(--c-slate-25)!important;
  }
  #section03Title h2{color:var(--c-gray-99)!important;font-size:28px!important;}
  #section03Title .num{background:rgba(var(--c-amber-85b-rgb), 0.16)!important;color:var(--c-amber-85b)!important;}
  #section03Title .section-icon-wrap{background:rgba(var(--c-gray-99-rgb), 0.1)!important;box-shadow:inset 0 0 0 1px rgba(var(--c-gray-99-rgb), 0.08)!important;}
  #section03Title .section-icon-wrap svg *{stroke:var(--c-amber-85b)!important;}
  #resultsPanel>.panel{
    position:relative;
    overflow:hidden;
    padding:24px!important;
    border:0!important;
    border-radius:0 0 20px 20px!important;
    background:
      radial-gradient(circle at 82% 2%,rgba(var(--c-blue-55-rgb), 0.28),transparent 28rem),
      linear-gradient(150deg,var(--c-slate-25) 0%,var(--c-blue-30) 40rem,var(--c-slate-25) 100%)!important;
    box-shadow:0 28px 64px rgba(var(--c-shadow-rgb), 0.22)!important;
  }
  #resultsPanel>.panel>div[style*="justify-content:flex-end"]{color:var(--c-slate-85);}
  #resultsPanel .dash-banner{
    position:relative;
    background:linear-gradient(112deg,rgba(var(--c-green-55-rgb), 0.94),rgba(var(--c-green-60-rgb), 0.8))!important;
    border:1px solid rgba(var(--c-teal-90-rgb), 0.28)!important;
    color:var(--c-gray-99)!important;
    box-shadow:0 18px 38px rgba(var(--c-shadow-rgb), 0.2)!important;
    padding:24px 26px!important;
    margin-bottom:18px!important;
  }
  #resultsPanel .dash-banner.risk{
    background:linear-gradient(112deg,rgba(var(--c-red-50-rgb), 0.97),rgba(var(--c-red-55b-rgb), 0.82))!important;
    border-color:rgba(var(--c-red-85-rgb), 0.28)!important;
  }
  #resultsPanel .dash-banner.warn{
    background:linear-gradient(112deg,rgba(var(--c-amber-55b-rgb), 0.97),rgba(var(--c-amber-70-rgb), 0.84))!important;
    border-color:rgba(var(--c-amber-90b-rgb), 0.3)!important;
  }
  #resultsPanel .dash-banner.good,
  #resultsPanel .dash-banner.strong,
  #resultsPanel .dash-banner.ontrack{
    background:linear-gradient(112deg,rgba(var(--c-green-55-rgb), 0.94),rgba(var(--c-green-60-rgb), 0.8))!important;
  }

  #resultsPanel .dash-grid{
    grid-template-columns:1.2fr repeat(3,1fr)!important;
    gap:12px!important;
    margin-bottom:14px!important;
  }
  #resultsPanel .dash-card,
  #resultsPanel .dash-card:has(#dashBadLuck),
  #resultsPanel .dash-card:has(#dashGoodLuck),
  #resultsPanel .dash-card:has(#dashLowPoint){
    min-height:166px;
    padding:18px!important;
    color:var(--c-gray-99)!important;
    border:1px solid rgba(var(--c-slate-85b-rgb), 0.15)!important;
    background:linear-gradient(150deg,rgba(var(--c-gray-99-rgb), 0.105),rgba(var(--c-gray-99-rgb), 0.045))!important;
    box-shadow:inset 0 1px 0 rgba(var(--c-gray-99-rgb), 0.06)!important;
    backdrop-filter:blur(12px);
  }
    #resultsPanel .dash-card-label{color:var(--c-slate-85)!important;border-bottom-color:rgba(var(--c-gray-99-rgb), 0.1)!important;}
  #resultsPanel .dash-card-value{color:var(--c-gray-99)!important;font-size:34px!important;}
  #resultsPanel #dashBadLuck{color:var(--c-red-75)!important;}
  #resultsPanel #dashGoodLuck,#resultsPanel #dashYearsFunded{color:var(--c-teal-80b)!important;}
  #resultsPanel .dash-card-sub{color:var(--c-slate-75b)!important;}
  #resultsPanel .dash-card-iconwrap{background:rgba(var(--c-gray-99-rgb), 0.09)!important;box-shadow:inset 0 0 0 1px rgba(var(--c-gray-99-rgb), 0.08)!important;}
  #resultsPanel .dash-card-iconwrap svg{stroke:var(--c-slate-90)!important;}
  #resultsPanel .plain-summary{
    color:var(--c-slate-90)!important;
    background:rgba(var(--c-gray-99-rgb), 0.07)!important;
    border-color:rgba(var(--c-slate-85b-rgb), 0.14)!important;
    border-radius:14px!important;
    padding:20px 22px!important;
  }
  #resultsPanel .plain-summary strong{color:var(--c-gray-99)!important;}
  #resultsPanel .result-explanation summary,#resultsPanel> .panel>span[onclick*="toggleResultDetail"]{color:var(--c-slate-90b)!important;}
  #resultsPanel .fan-chart-shell{
    margin-top:20px!important;
    overflow:hidden;
    border:1px solid rgba(var(--c-slate-85b-rgb), 0.18)!important;
    background:var(--c-gray-99)!important;
    box-shadow:0 20px 46px rgba(var(--c-shadow-rgb), 0.18)!important;
  }
  #resultsPanel .fan-chart-head{background:var(--c-gray-99);border-bottom:1px solid var(--c-gray-90);}
  #resultsPanel #rothBreakdownPanel{background:var(--c-gray-99)!important;border-color:var(--c-amber-75)!important;border-radius:14px!important;}
  #resultsPanel #rothBreakdownPanel *{color:inherit;}
  #resultsPanel .rec-box{border-radius:14px!important;}
  #resultsPanel .plan-diagnostic{border-radius:16px!important;background:var(--c-gray-99)!important;border-color:var(--c-slate-90)!important;}

  #section07Wrap{margin-top:24px;}
}

@media screen and (max-width:980px){
  #resultsPanel .dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  }

@media screen and (max-width:700px){
  body{background:var(--c-gray-95)!important;}
  .site-header{padding:3px 4px 13px!important;}
  .global-nav{width:100%!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;}
  body .global-nav .global-tab.active{background:var(--c-blue-30)!important;color:var(--c-gray-99)!important;border-color:var(--c-blue-30)!important;box-shadow:0 5px 14px rgba(var(--c-shadow-rgb), 0.2)!important;}
  body .global-nav .global-tab.active svg{stroke:var(--c-gray-99)!important;}
  #modeIndicator{width:100%;justify-content:space-between;}
  .hero{padding:22px!important;border-radius:18px!important;}
  .hero::before{display:none;}
  .hero-capabilities{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;}
  .hero-capabilities span{justify-content:flex-start;min-width:0;}
  .hero .inputs-grid{grid-template-columns:1fr!important;max-width:none!important;gap:14px!important;}
  .hero .presets{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .hero .preset-btn{min-width:0!important;width:100%;padding:9px!important;font-size:12px!important;}
  #tocPanel{display:none!important;}
  .section-title{margin-top:16px!important;padding:18px 4px 10px!important;}
  .section-title .section-icon-wrap{width:40px!important;height:40px!important;}
  .section-title h2{font-size:21px!important;}
  .section-desc{padding:0 4px 9px!important;}
  #section03Title{margin-top:24px!important;padding:17px!important;border-radius:17px 17px 0 0!important;}
  #section03Title h2{font-size:23px!important;}
  #resultsPanel>.panel{padding:12px!important;border-radius:0 0 17px 17px!important;}
  #resultsPanel .dash-banner{padding:20px!important;border-radius:14px!important;}

  #resultsPanel .dash-grid{grid-template-columns:1fr 1fr!important;gap:9px!important;}
  #resultsPanel .dash-card{min-height:150px!important;padding:15px!important;}
    #resultsPanel .dash-card-value{font-size:26px!important;}
  #resultsPanel .dash-card-head{margin-bottom:12px!important;}
  #resultsPanel .dash-card-iconwrap{width:34px!important;height:34px!important;}
  #resultsPanel .plain-summary{padding:17px!important;}
  #resultsPanel .fan-chart-head{align-items:flex-start!important;}
      .panel{box-shadow:0 8px 22px rgba(var(--c-shadow-rgb), 0.05)!important;}
}

@media screen and (max-width:390px){
  .hero .presets{grid-template-columns:1fr!important;}
  #resultsPanel .dash-grid{grid-template-columns:1fr!important;}
  }

/* Final visual QA refinements */
.adv-check-card{position:relative!important;padding-right:54px!important;}
.adv-check-card.active::after{content:"\2713";position:absolute;top:14px;right:14px;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;color:var(--c-green-45b);background:var(--c-gray-99);border:1px solid rgba(var(--c-gray-99-rgb), 0.76);box-shadow:0 4px 14px rgba(var(--c-shadow-rgb), 0.22);font-size:17px;font-weight:900;line-height:1;}

#tocPanel>div:nth-child(2){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:9px!important;}
#tocPanel>div:nth-child(2)>div,#tocPanel>div:nth-child(2)>div>div:last-child{display:contents!important;}
#tocPanel>div:nth-child(2)>div>div:first-child{display:none!important;}
#tocPanel a{min-height:40px;display:inline-flex!important;align-items:center;padding:8px 14px!important;background:var(--c-gray-99)!important;border-color:var(--c-slate-90)!important;box-shadow:0 2px 5px rgba(var(--c-shadow-rgb), 0.04);}
#tocPanel a:hover{color:var(--c-gray-99)!important;background:var(--c-blue-35)!important;border-color:var(--c-blue-35)!important;transform:translateY(-1px);}

#resultsPanel #section04Title{margin-top:28px!important;padding:22px 4px 13px!important;color:var(--c-gray-99)!important;border-bottom:1px solid rgba(var(--c-slate-90-rgb), 0.24)!important;}
#resultsPanel #section04Title h2,#resultsPanel #section04Title .section-title-text{color:var(--c-gray-99)!important;}
#resultsPanel #section04Title .num{color:var(--c-blue-35)!important;background:var(--c-gray-95)!important;}
#resultsPanel #section04Title .section-icon-wrap{color:var(--c-blue-35)!important;background:var(--c-gray-95)!important;border-color:var(--c-slate-90)!important;}
#resultsPanel #section04Title+.section-desc{margin:0!important;padding:14px 4px 10px!important;color:var(--c-slate-85)!important;background:transparent!important;border:0!important;box-shadow:none!important;}
#resultsPanel #section04Title+.section-desc+.senior-details{margin:4px 0 18px!important;color:var(--c-slate-90)!important;background:rgba(var(--c-gray-99-rgb), 0.055)!important;border-color:rgba(var(--c-slate-90-rgb), 0.18)!important;}
#resultsPanel #section04Title+.section-desc+.senior-details summary{color:var(--c-gray-95)!important;}

#fundTable .row-detail-toggle-btn{min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px;padding:8px 14px!important;color:var(--c-gray-99)!important;background:var(--c-blue-35)!important;border:1px solid var(--c-blue-35)!important;border-radius:11px!important;box-shadow:0 5px 13px rgba(var(--c-shadow-rgb), 0.18)!important;font-weight:800!important;letter-spacing:.01em;}
#fundTable .row-detail-toggle-btn::before{content:"+";width:19px;height:19px;display:grid;place-items:center;border-radius:999px;color:var(--c-blue-35);background:var(--c-gray-99);font-size:15px;line-height:1;}
#fundTable tr.row-details-shown .row-detail-toggle-btn::before{content:"\2212";}
#fundTable .row-detail-toggle-btn:hover{background:var(--c-blue-30)!important;border-color:var(--c-blue-30)!important;transform:translateY(-1px);}

@media(max-width:720px){
  .adv-check-card.active::after{top:12px;right:12px;}

  #tocPanel>div:nth-child(2){gap:8px!important;}
  #tocPanel a{min-height:38px;padding:7px 11px!important;font-size:13px!important;}
  #resultsPanel #section04Title{padding-top:18px!important;}
}

/* Corrections from cross-viewport review */
.adv-check-card.active::after{content:"✓"!important;font-family:Arial,sans-serif!important;font-size:19px!important;line-height:28px!important;}

/* Row disclosure belongs to the stacked mobile card layout only. */
#fundTable .row-detail-toggle-btn{display:none!important;}

/* The year projection is a light workspace within the navy results shell. */

/* Make the spouse-account shortcut read as a deliberate setup action. */
#portfolioEnableSpouseHint button{min-height:58px!important;padding:12px 18px!important;color:var(--c-gray-99)!important;background:linear-gradient(135deg,var(--c-blue-35),var(--c-blue-45))!important;border:1px solid var(--c-blue-50)!important;border-radius:12px!important;box-shadow:0 8px 20px rgba(var(--c-shadow-rgb), 0.2)!important;font-size:14px!important;font-weight:800!important;line-height:1.35!important;}
#portfolioEnableSpouseHint button::before{content:"＋";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:999px;color:var(--c-blue-35);background:var(--c-gray-99);font-size:17px;font-weight:900;vertical-align:middle;}
#portfolioEnableSpouseHint button:hover{background:linear-gradient(135deg,var(--c-blue-30),var(--c-blue-40))!important;transform:translateY(-1px);box-shadow:0 11px 24px rgba(var(--c-shadow-rgb), 0.25)!important;}

@media(max-width:720px){
  #fundTable .row-detail-toggle-btn{display:inline-flex!important;}
        #portfolioEnableSpouseHint button{min-height:54px!important;font-size:13.5px!important;}
}

/* Softer dashboard workspace and clearer action hierarchy */
#portfolioEnableSpouseHint button{color:var(--c-blue-45)!important;background:var(--c-gray-95)!important;border:1px solid var(--c-slate-85)!important;box-shadow:none!important;font-size:13px!important;font-weight:750!important;}
#portfolioEnableSpouseHint button::before{color:var(--c-gray-99)!important;background:var(--c-blue-45)!important;width:22px;height:22px;font-size:15px!important;}
#portfolioEnableSpouseHint button:hover{color:var(--c-blue-35)!important;background:var(--c-gray-95)!important;border-color:var(--c-slate-75b)!important;box-shadow:0 4px 10px rgba(var(--c-shadow-rgb), 0.08)!important;transform:none;}

#resultsPanel>.panel{background:linear-gradient(145deg,var(--c-gray-95) 0%,var(--c-gray-95) 100%)!important;box-shadow:0 24px 52px rgba(var(--c-shadow-rgb), 0.14)!important;}
#resultsPanel>.panel>div[style*="justify-content:flex-end"]{color:var(--c-slate-55b)!important;}
#resultsPanel .dash-card,#resultsPanel .dash-card:has(#dashBadLuck),#resultsPanel .dash-card:has(#dashGoodLuck),#resultsPanel .dash-card:has(#dashLowPoint){color:var(--c-slate-30)!important;background:rgba(var(--c-gray-99-rgb), 0.92)!important;border:1px solid var(--c-slate-90)!important;box-shadow:0 8px 20px rgba(var(--c-shadow-rgb), 0.075)!important;backdrop-filter:none;}
#resultsPanel .dash-card-label{color:var(--c-slate-50b)!important;border-bottom-color:var(--c-gray-90)!important;}
#resultsPanel .dash-card-value{color:var(--c-blue-30)!important;}
#resultsPanel #dashBadLuck{color:var(--c-red-60)!important;}
#resultsPanel #dashGoodLuck,#resultsPanel #dashYearsFunded{color:var(--c-green-55)!important;}
#resultsPanel .dash-card-sub{color:var(--c-slate-60b)!important;}
#resultsPanel .dash-card-iconwrap{background:var(--c-gray-95)!important;box-shadow:inset 0 0 0 1px var(--c-gray-90)!important;}
#resultsPanel .dash-card-iconwrap svg{stroke:var(--c-blue-45)!important;}
#resultsPanel .plain-summary{color:var(--c-slate-40)!important;background:rgba(var(--c-gray-99-rgb), 0.9)!important;border-color:var(--c-slate-90)!important;box-shadow:0 8px 20px rgba(var(--c-shadow-rgb), 0.055)!important;}
#resultsPanel .plain-summary strong{color:var(--c-blue-30)!important;}
#resultsPanel .result-explanation summary,#resultsPanel>.panel>span[onclick*="toggleResultDetail"]{color:var(--c-blue-45)!important;}

@media(max-width:720px){
  #portfolioEnableSpouseHint button{font-size:12.5px!important;}
}

/* Form-row alignment and responsive portfolio metrics */
@media(min-width:721px){
  .inputs-grid>.field>label,.grid2>.field>label,.grid3>.field>label,.portfolio-save-grid>.field>label{display:flex!important;align-items:flex-end;min-height:3.45em!important;margin-bottom:7px!important;line-height:1.28!important;}
  #fundTableFoot{display:none!important;}
  #summaryGrid{display:grid;}
}

.mobile-metrics-toggle{display:none!important;}

@media(max-width:720px){
  #summaryGrid{display:none!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:10px!important;}
  #summaryGrid.mobile-metrics-open{display:grid!important;}
  #summaryGrid .sumcard{min-height:112px!important;padding:13px!important;}
  #summaryGrid .sumcard .dash-card-iconwrap{width:34px!important;height:34px!important;margin-bottom:7px!important;}
  #summaryGrid .sumcard .l{font-size:12px!important;line-height:1.3!important;}
  #summaryGrid .sumcard .v{font-size:22px!important;}
  .mobile-metrics-toggle{width:100%;min-height:48px;display:flex!important;align-items:center;justify-content:space-between;margin-top:12px;padding:11px 14px;color:var(--c-blue-40);background:var(--c-gray-99);border:1px solid var(--c-slate-90);border-radius:11px;box-shadow:0 3px 9px rgba(var(--c-shadow-rgb), 0.06);font:800 14px/1.2 inherit;text-align:left;}
  .mobile-metrics-toggle[style*="display: none"]{display:none!important;}
  .mobile-metrics-toggle:hover{background:var(--c-gray-95);border-color:var(--c-slate-80b);}
  .mobile-metrics-chevron{width:27px;height:27px;display:grid;place-items:center;border-radius:999px;color:var(--c-gray-99);background:var(--c-blue-45);font-size:18px;line-height:1;}
}

@media(max-width:390px){
  #summaryGrid{grid-template-columns:1fr!important;}
}

/* Remove duplicate mobile allocation totals; the sticky completion bar is sufficient. */
@media(max-width:720px){
  #fundTableFoot,#fundTotalbar{display:none!important;}
}

/* Keep the year-by-year introduction as one clean, full-width module. */

/* Quiet section illustrations fill wide desktop headers without competing with content. */
#diagnosticSection.plan-diagnostic{position:relative!important;isolation:isolate;overflow:hidden!important;}
#diagnosticSection.plan-diagnostic>*{position:relative;z-index:1;}
#diagnosticSection.plan-diagnostic::after{content:"";position:absolute;z-index:0;right:3.5%;top:50%;width:38%;height:72%;transform:translateY(-50%);background:center right/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 180'%3E%3Cg fill='none' stroke='%232166a0' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath opacity='.08' stroke-width='28' d='M36 143h66V103h72V121h72V72h72V87h72V39h74'/%3E%3Cpath opacity='.24' stroke-width='4' d='M36 143h66V103h72V121h72V72h72V87h72V39h70'/%3E%3Cpath opacity='.38' stroke-width='4' d='m438 25 22 14-19 18'/%3E%3C/g%3E%3Cg fill='%232166a0'%3E%3Ccircle opacity='.42' cx='102' cy='103' r='6'/%3E%3Ccircle opacity='.42' cx='174' cy='121' r='6'/%3E%3Ccircle opacity='.42' cx='246' cy='72' r='6'/%3E%3Ccircle opacity='.42' cx='318' cy='87' r='6'/%3E%3Ccircle opacity='.42' cx='390' cy='39' r='6'/%3E%3C/g%3E%3C/svg%3E");opacity:.9;pointer-events:none;}

@media(max-width:900px){
  #diagnosticSection.plan-diagnostic::after{width:32%;opacity:.55;}
    }

@media(max-width:720px){
  #diagnosticSection.plan-diagnostic::after,#resultsPanel .year-projection-title::after{display:none;}
  }

/* Year-by-year disclosure as a clear primary action */

@media(max-width:720px){
        }

/* Saved Portfolios — polished desktop data grid */
@media(min-width:721px){
  #savedPortfoliosTable{overflow:visible!important;border:1px solid var(--c-gray-90);border-radius:13px;background:var(--c-gray-99);box-shadow:0 7px 18px rgba(var(--c-shadow-rgb), 0.055);}
  #portfoliosTable{width:100%!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;}
  #portfoliosTable thead tr{background:linear-gradient(180deg,var(--c-gray-95) 0%,var(--c-gray-95) 100%)!important;}
  #portfoliosTable thead th{height:48px!important;padding:11px 14px!important;color:var(--c-slate-50b)!important;background:transparent!important;border-top:0!important;border-bottom:1px solid var(--c-slate-90)!important;font-size:11.5px!important;font-weight:850!important;letter-spacing:.09em!important;text-transform:uppercase!important;vertical-align:middle!important;white-space:nowrap!important;}
  #portfoliosTable thead th:first-child{border-radius:12px 0 0 0;text-align:left!important;}
  #portfoliosTable thead th:last-child{border-radius:0 12px 0 0;text-align:center!important;}
  #portfoliosTable th:nth-child(1){width:20%;}
  #portfoliosTable th:nth-child(2){width:7%;text-align:center!important;}
  #portfoliosTable th:nth-child(3){width:18%;}
  #portfoliosTable th:nth-child(4){width:14%;}
  #portfoliosTable th:nth-child(5){width:14%;}
  #portfoliosTable th:nth-child(6){width:13%;}
  #portfoliosTable th:nth-child(7){width:14%;}
  #portfoliosTable tbody td{height:62px!important;padding:10px 14px!important;color:var(--c-slate-35)!important;border-bottom:1px solid var(--c-gray-95)!important;vertical-align:middle!important;font-size:13px!important;}
  #portfoliosTable tbody tr:last-child td{border-bottom:0!important;}
  #portfoliosTable tbody tr:hover td{background:var(--c-gray-99)!important;}
  #portfoliosTable tbody td:nth-child(1){text-align:left!important;}
  #portfoliosTable tbody td:nth-child(2){text-align:center!important;}
  #portfoliosTable tbody td:nth-child(n+3):nth-child(-n+6){text-align:right!important;font-variant-numeric:tabular-nums;}
  #portfoliosTable tbody td:last-child{text-align:center!important;white-space:nowrap!important;}
  #portfoliosTable input,#portfoliosTable select{width:100%!important;min-height:39px!important;margin:0!important;padding:7px 10px!important;color:var(--c-slate-30)!important;background:var(--c-gray-99)!important;border:1px solid var(--c-slate-85)!important;border-radius:8px!important;font-size:13px!important;box-shadow:inset 0 1px 2px rgba(var(--c-shadow-rgb), 0.035)!important;}
  #portfoliosTable input:focus,#portfoliosTable select:focus{background:var(--c-gray-99)!important;border-color:var(--c-blue-60)!important;box-shadow:0 0 0 3px rgba(var(--c-blue-55-rgb), 0.12)!important;outline:0!important;}
  #portfoliosTable td:nth-child(3) input{text-align:right!important;font-variant-numeric:tabular-nums;}
  #portfoliosTable td:last-child .preset-btn{min-height:38px!important;margin:0 2px!important;padding:7px 11px!important;border-radius:8px!important;font-size:12px!important;font-weight:750!important;}
}

/* Keep the simulation-path artwork's spacing authoritative after later title rules. */
@media(min-width:721px){
  #section03Title{position:relative!important;isolation:isolate;overflow:hidden!important;min-height:132px!important;padding-right:43%!important;}
}
@media(max-width:720px){
  #section03Title::after{display:none!important;}
  #section03Title{min-height:0!important;padding-right:17px!important;}
}

/* Authoritative final Simulation Results palette — must remain last. */
#section03Title{background:linear-gradient(145deg,var(--c-gray-95) 0%,var(--c-gray-95) 100%)!important;border:1px solid var(--c-slate-90)!important;box-shadow:inset 0 1px 0 rgba(var(--c-gray-99-rgb), 0.9),0 8px 18px rgba(var(--c-shadow-rgb), 0.07)!important;}
#section03Title h2{color:var(--c-slate-30)!important;}
#section03Title .section-icon-wrap{background:var(--c-gray-99)!important;border:1px solid var(--c-gray-85)!important;box-shadow:0 4px 12px rgba(var(--c-shadow-rgb), 0.08)!important;}
#section03Title .section-icon-wrap svg *{stroke:var(--c-amber-60)!important;}
#section03Title .num{background:var(--c-sand-95b)!important;color:var(--c-amber-50b)!important;border:1px solid var(--c-amber-85)!important;}

/* ======================================================================
   FINAL OVERRIDES — RetireNerd controls & Expense Planner refinement
   CSS-only; original stylesheet preserved above. September 2026.
   ====================================================================== */
@media screen {
  /* Compact segmented choices; exclude Additional Plan Options cards. */
  .toggle-row:has(> .toggle-btn:not(.adv-check-card)) {
    width:fit-content; max-width:100%; gap:6px!important;
    flex-wrap:wrap; align-items:stretch;
  }
  .toggle-row > .toggle-btn:not(.adv-check-card) {
    box-sizing:border-box; display:flex; align-items:center; justify-content:center;
    flex:0 1 auto!important; min-height:44px!important; height:auto!important;
    max-width:100%; padding:8px 12px!important; gap:6px;
    font-size:14px!important; line-height:1.35!important; font-weight:600;
    white-space:normal!important; border-radius:8px!important;
    background:var(--c-gray-99)!important; border:1px solid var(--c-slate-85)!important;
    color:var(--c-slate-45b)!important; box-shadow:none!important;
  }
  .toggle-row > .toggle-btn:not(.adv-check-card).active {
    background:var(--c-green-50)!important; border-color:var(--c-green-50)!important; color:var(--c-gray-99)!important;
  }
  .toggle-row > .toggle-btn:not(.adv-check-card).active::before {
    content:""; display:inline-block; flex:0 0 6px; width:6px; height:10px;
    border:solid var(--c-gray-99); border-width:0 2px 2px 0; transform:rotate(45deg);
    margin:0 4px 3px 1px;
  }
  .toggle-row > .toggle-btn:not(.adv-check-card):hover {transform:none; background:var(--c-gray-95)!important;}
  .toggle-row > .toggle-btn:not(.adv-check-card).active:hover {background:var(--c-green-45b)!important;}

  /* Preserve the inline display:none / JS-controlled visibility. */
  #modeIndicator {
    box-sizing:border-box; width:fit-content; max-width:100%; min-height:52px!important;
    padding:4px 6px 4px 12px!important; margin-bottom:14px!important;
    gap:12px!important; flex-wrap:nowrap; align-items:center!important;
    border:1px solid var(--c-slate-90)!important; border-radius:10px!important;
    background:var(--c-gray-95)!important; box-shadow:none!important;
  }
  #modeIndicator > span:first-child {font-size:13px!important; line-height:1.4; min-width:0;}
  #modeIndicator #modeIndicatorText {color:var(--c-blue-30)!important; font-weight:800;}
  #modeIndicator .qs-secondary-btn {
    display:inline-flex!important; align-items:center; justify-content:center;
    flex:0 0 auto; width:auto!important; min-height:44px!important;
    padding:6px 12px!important; margin:0!important; font-size:13px!important;
    line-height:1.3!important; background:var(--c-gray-99)!important; color:var(--c-blue-30)!important;
    border:1px solid var(--c-slate-85)!important; box-shadow:none!important;
  }
  #modeIndicator .qs-secondary-btn:hover {background:var(--c-gray-95)!important;}

  /* Match heights while leaving room for two digits and native steppers. */
  .qs-inputs-grid .field > div:has(> #qsSSAge) {gap:6px!important; align-items:center!important;}
  #qsSS {min-width:0; width:100%;}
  #qsSSAge {
    box-sizing:border-box; width:82px!important; min-width:82px!important;
    flex:0 0 82px!important; padding-left:7px!important; padding-right:7px!important;
    font-variant-numeric:tabular-nums;
  }
  .qs-inputs-grid .field > div:has(> #qsSSAge) > span {
    font-size:12px!important; white-space:normal!important; flex:0 0 48px; line-height:1.3;
  }

  /* Inline !important color cannot be beaten by selector specificity.
     Text-fill supplies white glyphs without changing markup or behavior.
     Local --teal also governs the existing inline-important background. */
  #qsResultsArea > div:last-child > .qs-secondary-btn {
    --teal:var(--c-blue-30); display:inline-flex; align-items:center; justify-content:center;
    box-sizing:border-box; min-height:52px!important; padding:12px 20px!important;
    background:var(--c-blue-30)!important; color:var(--c-gray-99)!important; -webkit-text-fill-color:var(--c-gray-99)!important;
    border:1px solid var(--c-blue-30)!important; font-size:16px!important; font-weight:750!important;
    line-height:1.4; box-shadow:0 4px 10px rgba(var(--c-shadow-rgb), 0.141)!important; margin:0!important;
  }
  #qsResultsArea > div:last-child > .qs-secondary-btn:hover {--teal:var(--c-blue-40);}
  .qs-open-full-btn {
    background:var(--c-gray-99)!important; color:var(--c-blue-30)!important; border:1px solid var(--c-slate-55b)!important;
    min-height:44px!important; padding:10px 14px!important; box-shadow:none!important;
  }
  .qs-open-full-btn:hover {background:var(--c-gray-95)!important;}
  #qsResultsArea > div:last-child > div {flex-wrap:wrap; gap:6px!important;}
  #qsResultsArea > div:last-child > div > .qs-secondary-btn {
    display:inline-flex; align-items:center; min-height:44px!important;
    padding:8px 10px!important; margin:0!important; font-weight:600!important;
    background:transparent!important; border-color:transparent!important;
    color:var(--c-slate-45b)!important; box-shadow:none!important;
  }
  #qsResultsArea > div:last-child > div > .qs-secondary-btn:hover {
    background:var(--c-gray-95)!important; text-decoration:underline;
  }

  .qs-inputs-grid,.inputs-grid {align-items:start; gap:18px!important;}
  .qs-inputs-grid > .field,.inputs-grid > .field {min-width:0;}
  @media(min-width:701px) {
    .qs-inputs-grid > .field > label:first-child,
    .inputs-grid > .field > label:first-child,
    .exp-custom-grid > .field > label:first-child {
      display:flex!important; align-items:flex-end;
      min-height:3.45em!important; line-height:1.4!important; margin-bottom:8px!important;
    }
  }

  /* Category headers and totals, using the existing generated structure. */
  #expensePlannerCategories > .panel {
    padding:0!important; margin-bottom:14px!important; overflow:visible!important;
    border:1px solid var(--c-slate-90)!important; border-radius:12px!important;
    box-shadow:0 2px 7px rgba(var(--c-shadow-rgb), 0.031)!important;
  }
  #expensePlannerCategories > .panel > div:first-child {
    padding:12px 16px!important; gap:10px 16px!important;
    background:var(--c-gray-95)!important; border-bottom:1px solid var(--c-gray-90)!important;
    border-radius:11px 11px 0 0;
  }
  #expensePlannerCategories > .panel > div:first-child > div:first-child {flex:1 1 240px; min-width:0;}
  #expensePlannerCategories > .panel > div:first-child > div:first-child > div:first-child {
    font-size:17px!important; font-weight:750!important; color:var(--c-blue-30)!important; line-height:1.4;
  }
  #expensePlannerCategories > .panel > div:first-child > div:first-child > div:last-child {
    font-size:14px!important; line-height:1.5; color:var(--c-slate-50b)!important;
  }
  #expensePlannerCategories [id^="expCatTotal_"] {
    padding:7px 12px; border:1px solid var(--c-slate-85); border-radius:9px;
    background:var(--c-gray-99); color:var(--c-blue-30)!important; font-size:18px; line-height:1.3;
    font-variant-numeric:tabular-nums;
  }
  #expensePlannerCategories [id^="expCatTotal_"]::before {
    content:"At retirement"; display:block; font-size:11px; font-weight:600; color:var(--c-slate-50b);
  }
  #expensePlannerCategories .rn-expense-inactive-note {
    display:block; margin-top:3px; max-width:180px; white-space:normal; font-size:10px;
    line-height:1.25; font-weight:600; color:var(--c-amber-55b);
  }
  #expensePlannerCategories > .panel > div:last-child {
    padding:14px 16px!important; gap:14px 18px!important;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;
    align-items:start;
  }
  #expensePlannerCategories .field > label:first-child {
    display:flex!important; align-items:flex-end; min-height:2.9em!important;
    line-height:1.45!important; margin-bottom:8px!important;
  }
  #expensePlannerCategories .field > div:has(> select[id$="_freq"]) {
    gap:0!important; align-items:stretch; min-width:0;
  }
  #expensePlannerCategories .field > div > input[id^="expF_"] {min-width:0; width:100%; box-sizing:border-box;}
  #expensePlannerCategories .field > div:has(> select[id$="_freq"]) > input {
    border-radius:9px 0 0 9px!important; flex:1 1 0!important;
  }
  #expensePlannerCategories select[id$="_freq"] {
    box-sizing:border-box; width:116px!important; min-width:116px; flex:0 0 116px!important;
    border-radius:0 9px 9px 0!important; margin-left:-1px;
    padding:10px 25px 10px 9px!important; background-color:var(--c-gray-95)!important;
    font-family:inherit!important; font-size:16px!important;
  }
  #expensePlannerCategories .field > label:has(> input[type="checkbox"]) {
    display:flex!important; align-items:center!important; min-height:44px!important;
    box-sizing:border-box; padding:7px 9px!important; gap:9px!important;
    margin:8px 0 0!important; border:1px solid var(--c-gray-90)!important;
    border-radius:8px; background:var(--c-gray-99); font-size:13px!important;
    line-height:1.45!important; font-weight:500!important;
  }
  #expensePlannerCategories .field input[type="checkbox"] {
    width:18px!important; height:18px!important; min-height:18px!important;
    padding:0!important; margin:0!important; flex:0 0 18px;
    accent-color:var(--c-green-50); box-shadow:none!important;
  }
  #expensePlannerCategories .field > label:has(> input:checked) {background:var(--c-gray-95); border-color:var(--c-sage-80b)!important;}
  #expensePlannerCategories a[id$="_timingLink"] {
    display:inline-flex!important; align-items:center; box-sizing:border-box;
    min-height:44px; padding:6px 4px; margin-top:2px!important;
    font-size:13px!important; line-height:1.4; color:var(--c-slate-50b)!important;
    text-underline-offset:3px; border-radius:5px;
  }
  #expensePlannerCategories a[id$="_timingLink"]:hover {background:var(--c-gray-95); text-decoration:underline!important;}
  #expensePlannerCategories [id$="_timingWrap"] {padding:10px; border:1px solid var(--c-gray-90); border-radius:8px; background:var(--c-gray-99);}

  @media(max-width:700px) {
    .toggle-row:has(> .toggle-btn:not(.adv-check-card)) {width:100%; gap:6px!important;}
    .toggle-row > .toggle-btn:not(.adv-check-card) {flex:1 1 125px!important; padding:7px 10px!important; min-height:44px!important;}
    #modeIndicator {width:100%!important; margin-top:10px; gap:8px!important; justify-content:space-between;}
    #modeIndicator .qs-secondary-btn {padding:6px 10px!important;}
    .qs-inputs-grid > .field > label:first-child,
    .inputs-grid > .field > label:first-child,
    .exp-custom-grid > .field > label:first-child,
    #expensePlannerCategories .field > label:first-child {min-height:0!important; height:auto!important;}
    #expensePlannerCategories > .panel > div:last-child {grid-template-columns:minmax(0,1fr)!important; padding:12px!important;}
    #expensePlannerCategories > .panel > div:first-child {padding:12px!important;}
    #qsResultsArea > div:last-child > .qs-secondary-btn {width:100%;}
    #qsResultsArea > div:last-child > div {width:100%;}
    #qsResultsArea > div:last-child > div > .qs-secondary-btn {flex:1 1 140px; justify-content:center;}
  }
  @media(forced-colors:active) {
    #qsResultsArea > div:last-child > .qs-secondary-btn {-webkit-text-fill-color:ButtonText!important;}
    .toggle-row > .toggle-btn:not(.adv-check-card).active::before {border-color:ButtonText;}
  }
  /* No animation added; retain the original reduced-motion and focus rules. */
}

/* ===== FINAL ADDITION — Expense category title icons =====
   Decorative inline SVG backgrounds: no markup, scripts, or external requests.
   Match stable category IDs rather than category order. */
@media screen {
  #expensePlannerCategories > .panel > div:first-child > div:first-child > div:first-child {
    display:flex; align-items:center; gap:10px;
  }
  #expensePlannerCategories > .panel > div:first-child > div:first-child > div:first-child::before {
    content:""; display:block; flex:0 0 30px; width:30px; height:30px;
    border-radius:8px; background-color:var(--c-gray-95);
    background-image:var(--rn-expense-category-icon,none);
    background-position:center; background-repeat:no-repeat; background-size:21px 21px;
  }
  #expensePlannerCategories > .panel:has(#expCatTotal_housing) {
    --rn-expense-category-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23143653%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%2010%209-7%209%207M5%209v12h14V9M9%2021v-8h6v8%22%2F%3E%3C%2Fsvg%3E");
  }
  #expensePlannerCategories > .panel:has(#expCatTotal_living) {
    --rn-expense-category-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23143653%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%209%202%2011h14l2-11ZM8%209l4-6%204%206M9%2013v3m6-3v3%22%2F%3E%3C%2Fsvg%3E");
  }
  #expensePlannerCategories > .panel:has(#expCatTotal_healthcare) {
    --rn-expense-category-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23143653%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%226%22%20width%3D%2218%22%20height%3D%2215%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M8%206V3h8v3m-4%205v6m-3-3h6%22%2F%3E%3C%2Fsvg%3E");
  }
  #expensePlannerCategories > .panel:has(#expCatTotal_transportation) {
    --rn-expense-category-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23143653%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2010%202-6h10l2%206M4%2010h16v8H4ZM6%2018v3m12-3v3M7%2014h1m8%200h1%22%2F%3E%3C%2Fsvg%3E");
  }
  #expensePlannerCategories > .panel:has(#expCatTotal_debt) {
    --rn-expense-category-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23143653%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2010h18M7%2015h4%22%2F%3E%3C%2Fsvg%3E");
  }
  #expensePlannerCategories > .panel:has(#expCatTotal_travel) {
    --rn-expense-category-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23143653%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%227%22%20width%3D%2216%22%20height%3D%2213%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M9%207V4h6v3M8%207v13M16%207v13M8%2020v1m8-1v1%22%2F%3E%3C%2Fsvg%3E");
  }
  @media(forced-colors:active) {
    #expensePlannerCategories > .panel > div:first-child > div:first-child > div:first-child::before {
      display:none;
    }
  }
}

/* ===== Tablet portfolio layout: contain controls in both detail modes ===== */
@media screen and (min-width:701px) and (max-width:1366px) {
  #fundTableContainer {overflow-x:auto!important;max-width:100%;-webkit-overflow-scrolling:touch;}
  #fundTableContainer #fundTable {width:100%!important;table-layout:fixed!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden {min-width:900px!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) {min-width:1400px!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(1),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(1) {width:12%!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(2),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(2) {width:28%!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(7),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(7) {width:10%!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(8),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(8) {width:38%!important;}
  #fundTableContainer #fundTable.portfolio-details-hidden col:nth-child(9),
  #fundTableContainer #fundTable.portfolio-details-hidden th:nth-child(9) {width:12%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(1),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(1) {width:8%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(2),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(2) {width:20%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(n+3):nth-child(-n+7),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(n+3):nth-child(-n+7) {width:8%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(8),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(8) {width:24%!important;}
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) col:nth-child(9),
  #fundTableContainer #fundTable:not(.portfolio-details-hidden) th:nth-child(9) {width:8%!important;}
  #fundTableContainer #fundTable th {white-space:normal!important;overflow-wrap:normal;line-height:1.35!important;padding:10px 8px!important;}
  #fundTableContainer #fundTable td[data-label="Portfolio Fit"],
  #fundTableContainer #fundTable td[data-label="Allocation %"],
  #fundTableContainer #fundTable td[data-label="Remove"] {padding-left:10px!important;padding-right:10px!important;vertical-align:middle!important;}
  #fundTableContainer #fundTable td[data-label="Portfolio Fit"] .score-pill {
    box-sizing:border-box;display:inline-flex!important;align-items:center;justify-content:center;
    width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
    margin:0!important;font-size:13px!important;line-height:1!important;
  }
  #fundTableContainer #fundTable td[data-label="Allocation %"]>.allocation-control {
    display:grid!important;grid-template-columns:44px minmax(70px,1fr) 44px 74px!important;
    gap:8px!important;width:100%!important;min-width:0!important;max-width:100%!important;
    margin:0!important;align-items:center!important;justify-content:normal!important;
  }
  #fundTableContainer #fundTable .allocation-control .mobile-alloc-stepper {
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    box-sizing:border-box;width:44px!important;height:44px!important;min-width:44px!important;
    min-height:44px!important;padding:0!important;margin:0!important;font-size:24px!important;line-height:1!important;
  }
  #fundTableContainer #fundTable .allocation-control input[type="range"] {
    box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important;
    margin:0!important;padding:0!important;transform:none!important;
  }
  #fundTableContainer #fundTable .allocation-control input[type="number"] {
    box-sizing:border-box;width:74px!important;min-width:0!important;max-width:74px!important;
    min-height:44px!important;padding:8px 5px!important;margin:0!important;font-size:16px!important;
  }
  #fundTableContainer #fundTable td[data-label="Remove"] button {box-sizing:border-box;min-height:44px!important;max-width:100%;padding:8px!important;}
}

/* ===== Stock/Bond Mix: explicit Safari / Firefox slider rendering ===== */
@media screen {
  #quickMixField #quickMixSlider {
    -webkit-appearance:none!important;appearance:none!important;
    box-sizing:border-box;width:100%!important;max-width:100%!important;
    height:44px!important;min-height:44px!important;
    padding:0!important;margin:0!important;border:0!important;
    background:transparent!important;box-shadow:none!important;
    color:var(--primary,var(--c-blue-30))!important;cursor:pointer;
  }
  #quickMixField #quickMixSlider::-webkit-slider-runnable-track {
    -webkit-appearance:none!important;height:8px!important;
    background:var(--c-slate-85)!important;border:1px solid var(--c-slate-75b)!important;
    border-radius:999px!important;box-shadow:none!important;
  }
  #quickMixField #quickMixSlider::-webkit-slider-thumb {
    -webkit-appearance:none!important;appearance:none!important;
    box-sizing:border-box;width:28px!important;height:28px!important;
    margin-top:-11px!important;border:3px solid var(--c-gray-99)!important;
    border-radius:50%!important;background:var(--primary,var(--c-blue-30))!important;
    box-shadow:0 1px 5px rgba(var(--c-shadow-rgb), 0.3)!important;
  }
  #quickMixField #quickMixSlider::-moz-range-track {
    height:6px!important;background:var(--c-slate-85)!important;
    border:1px solid var(--c-slate-75b)!important;border-radius:999px!important;
  }
  #quickMixField #quickMixSlider::-moz-range-progress {
    height:6px!important;background:var(--primary,var(--c-blue-30))!important;border-radius:999px!important;
  }
  #quickMixField #quickMixSlider::-moz-range-thumb {
    box-sizing:border-box;width:28px!important;height:28px!important;
    border:3px solid var(--c-gray-99)!important;border-radius:50%!important;
    background:var(--primary,var(--c-blue-30))!important;box-shadow:0 1px 5px rgba(var(--c-shadow-rgb), 0.3)!important;
  }
  #quickMixField #quickMixSlider:focus-visible {
    outline:3px solid var(--c-amber-65)!important;outline-offset:3px!important;
  }
  @media(forced-colors:active) {
    #quickMixField #quickMixSlider::-webkit-slider-runnable-track {background:Canvas!important;border-color:CanvasText!important;}
    #quickMixField #quickMixSlider::-webkit-slider-thumb {background:Highlight!important;border-color:Canvas!important;}
    #quickMixField #quickMixSlider::-moz-range-track {background:Canvas!important;border-color:CanvasText!important;}
    #quickMixField #quickMixSlider::-moz-range-thumb {background:Highlight!important;border-color:Canvas!important;}
  }
}

/* ===== Compact mobile navigation — progressive enhancement ===== */
#mobileMenuToggle{display:none;}
@media screen and (max-width:700px){
  html.rn-mobile-menu-ready #mobileMenuToggle{
    display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
    position:fixed;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));
    z-index:552;min-height:48px;padding:10px 18px;border:1px solid var(--c-slate-90);
    border-radius:24px;background:var(--c-blue-30);color:var(--c-gray-99);font:700 15px/1.4 system-ui,sans-serif;
    box-shadow:0 4px 16px rgba(var(--c-shadow-rgb), 0.188);cursor:pointer;touch-action:manipulation;
  }
  #mobileMenuToggle svg{width:20px;height:20px;flex-shrink:0;}
  html.rn-mobile-menu-ready #mainToolNavigation{
    display:none!important;position:fixed!important;
    top:auto!important;left:auto!important;right:14px!important;
    bottom:calc(72px + env(safe-area-inset-bottom))!important;
    width:min(340px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important;
    max-height:calc(100dvh - 100px);overflow-y:auto;
    padding:8px!important;margin:0!important;z-index:553!important;
    background:var(--c-gray-99)!important;border:1px solid var(--c-slate-85)!important;border-radius:14px!important;
    box-shadow:0 8px 30px rgba(var(--c-shadow-rgb), 0.188)!important;
  }
  html.rn-mobile-menu-ready #mainToolNavigation.mobile-menu-open{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;}
  html.rn-mobile-menu-ready #mainToolNavigation .global-tab{
    width:100%!important;flex-direction:row!important;justify-content:flex-start!important;
    gap:12px!important;padding:12px 14px!important;min-height:48px!important;
    text-align:left!important;white-space:normal!important;
  }
  html.rn-mobile-menu-ready #mobileStickyTotal.has-funds{bottom:calc(76px + env(safe-area-inset-bottom))!important;}
  html.rn-mobile-menu-ready .wrap{padding-bottom:calc(170px + env(safe-area-inset-bottom))!important;}
  html.rn-mobile-menu-ready{scroll-padding-bottom:170px;}
  #mobileMenuToggle:focus-visible{outline:3px solid var(--c-amber-65)!important;outline-offset:3px!important;}
}
@media print{#mobileMenuToggle{display:none!important;}}

/* ===== Saved Portfolios: optional explanation ===== */
@media screen {
  #savedPortfolioExplanation{margin:8px 0 12px!important;padding:0 16px!important;}
  #savedPortfolioExplanation>summary{min-height:44px;padding:10px 0;cursor:pointer;}
  #savedPortfolioExplanation>.section-desc{margin:0!important;padding:4px 0 14px!important;}
}
@media print {
  #savedPortfolioExplanation>summary{display:none;}
  #savedPortfolioExplanation>.section-desc{display:block!important;}
}

/* ===== Approved application and report presentation system =====
   Keep before rnCustomizer: important appearance defaults are configured through
   variables so customizer values can still override them without selector wars. */
@layer rnAppPolish {
@media screen {
:root{--rn-report-width:960px;--rn-report-paper:var(--c-gray-99);--rn-report-ink:var(--c-slate-30);--rn-report-muted:var(--c-slate-50b);--rn-report-accent:var(--c-blue-50b);--rn-report-size:16px;--rn-report-gap:24px;--rn-app-radius:14px;}
body{background:var(--c-gray-95)!important;}
.wrap{max-width:1320px!important;}
.site-header{padding:12px 0 18px!important;align-items:center!important;gap:16px!important;}
.site-header .site-logo-link{min-width:0;}
.site-header #siteLogoImg{height:68px!important;width:auto!important;max-width:min(340px,60vw)!important;object-fit:contain;}
.global-nav{width:100%!important;gap:6px!important;padding:6px!important;border-radius:14px!important;background:var(--c-gray-99)!important;border:1px solid var(--c-gray-90)!important;box-shadow:0 3px 14px rgba(var(--c-shadow-rgb), 0.039)!important;}
.global-tab{padding:11px 14px!important;font-size:14px!important;min-height:46px!important;}
.hero{padding:24px!important;border-radius:var(--rn-app-radius)!important;}
.hero :is(h1,.pg-h1){font-size:clamp(26px,3vw,36px)!important;line-height:1.18!important;max-width:950px;}
.hero-sub{max-width:80ch;font-size:16px!important;line-height:1.65!important;}
.panel{border-radius:var(--rn-app-radius)!important;box-shadow:0 2px 9px rgba(var(--c-shadow-rgb), 0.024)!important;}
.section-title{margin-top:26px!important;padding:16px 18px 10px!important;}
.section-title h2{font-size:22px!important;line-height:1.3!important;}
.section-desc{font-size:15px!important;line-height:1.65!important;}
.senior-details summary{min-height:44px;}
.simple-detail-bar{gap:12px!important;flex-wrap:wrap!important;padding:12px!important;}
.simple-detail-bar>div{min-width:0;}
.inputs-grid>.field,.qs-inputs-grid>.field{min-width:0;}
.field input:not([type=range]):not([type=checkbox]):not([type=radio]),.field select{min-width:0;max-width:100%;box-sizing:border-box;}
#runSimBtn{max-width:560px!important;min-height:76px!important;padding:14px 20px!important;}
#savedPortfolioExplanation{margin:8px 0 14px!important;padding:0 16px!important;}
#savedPortfolioExplanation>.section-desc{padding:8px 0 14px!important;border:0!important;}
/* Report is a reading surface, separate from editable forms. */
#summaryView{max-width:var(--rn-report-width);margin:24px auto 0;}
#summaryView>.hero{background:var(--rn-report-paper)!important;color:var(--rn-report-ink)!important;border:1px solid var(--c-gray-90)!important;border-top:4px solid var(--rn-report-accent)!important;padding:28px!important;box-shadow:0 6px 24px rgba(var(--c-shadow-rgb), 0.031)!important;}
#summaryView>.hero :is(h1,.pg-h1){color:var(--rn-report-ink)!important;font-size:clamp(28px,3.3vw,40px)!important;letter-spacing:-.8px!important;}
#summaryView>.hero .tag{background:transparent!important;color:var(--rn-report-accent)!important;font:750 12px/1.4 system-ui!important;letter-spacing:.1em;margin-bottom:12px;}
#summaryView>.hero .hero-sub{color:var(--rn-report-muted)!important;font-size:16px!important;max-width:65ch;}
.rn-report-meta{display:flex;gap:8px 24px;flex-wrap:wrap;border-top:1px solid var(--c-gray-90);margin-top:20px;padding-top:16px;color:var(--rn-report-muted);font-size:14px;}
.rn-report-meta strong{color:var(--rn-report-ink);}
#summaryReportContent>.section-title{background:transparent!important;border:0!important;padding:0 0 10px!important;margin-top:var(--rn-report-gap)!important;gap:10px!important;}
#summaryReportContent>.section-title h2{color:var(--rn-report-ink)!important;font-size:22px!important;}
#summaryReportContent>.section-title .num{background:var(--c-gray-95)!important;color:var(--rn-report-accent)!important;font-size:12px!important;border-radius:7px!important;}
#summaryReportContent .panel,#summaryReportContent .summary-print-block{background:var(--rn-report-paper)!important;border:1px solid var(--c-gray-90)!important;border-radius:14px!important;padding:24px!important;color:var(--rn-report-ink)!important;box-shadow:0 3px 12px rgba(var(--c-shadow-rgb), 0.02)!important;}
#summaryReportContent #summaryBottomLine :is(.dash-banner-verdict,.dash-banner-line,.dash-banner-eyebrow,.dash-banner-sub){color:var(--rn-report-ink)!important;text-shadow:none!important;}
#summaryReportContent .fan-chart-canvas-wrap{min-width:0;max-width:100%;}
#summaryReportContent canvas{max-width:100%!important;}
#summaryEmptyState{padding:36px 24px!important;border:1px dashed var(--c-slate-85)!important;}
@media(max-width:1000px) and (min-width:701px){.global-nav{flex-wrap:wrap!important;}.global-tab{flex:1 1 140px!important;}}
@media(max-width:700px){
.wrap{padding-left:14px!important;padding-right:14px!important;}
.site-header #siteLogoImg{height:44px!important;max-width:65vw!important;}
.hero{padding:20px 16px!important;}.hero :is(h1,.pg-h1){font-size:27px!important;}
.panel{padding:18px 14px!important;}.section-title h2{font-size:21px!important;}
#runSimBtn{width:100%!important;max-width:none!important;}
#summaryView{margin-top:14px;}
#summaryView>.hero{padding:22px 18px!important;}
#summaryReportContent .panel,#summaryReportContent .summary-print-block{padding:18px!important;}
#summaryReportContent>.section-title h2{font-size:21px!important;}
.rn-report-meta{gap:6px 14px;}
}
}
/* Flow long narratives across pages; keep headings and short visual blocks together. */
@media print{
@page{size:auto;margin:16mm 14mm;}
html,body{background:white!important;color:var(--c-slate-30)!important;}
body.rn-print-summary .wrap{max-width:none!important;width:100%!important;padding:0!important;margin:0!important;}
body.rn-print-summary .wrap>*:not(#summaryView){display:none!important;}
body.rn-print-summary #summaryView{display:block!important;max-width:none!important;margin:0!important;}
body.rn-print-summary #summaryView>.hero,body.rn-print-summary .rn-report-tools,body.rn-print-summary #summaryEmptyState,body.rn-print-summary #summaryView button{display:none!important;}
body.rn-print-summary #summaryReportContent{display:block!important;}
body.rn-print-summary #summaryPrintHeader{display:block!important;border-bottom:2px solid var(--c-blue-50b)!important;padding-bottom:12pt!important;margin-bottom:16pt!important;}
body.rn-print-summary #summaryPrintClientName{font-size:21pt!important;}
body.rn-print-summary #summaryView .summary-print-block :is(p,li){font-size:11pt!important;line-height:1.5!important;orphans:3;widows:3;}
body.rn-print-summary #summaryView .section-title{break-after:avoid-page!important;page-break-after:avoid!important;background:white!important;padding:10pt 0 5pt!important;margin:12pt 0 0!important;border:0!important;}
body.rn-print-summary #summaryView .section-title h2{font-size:15pt!important;color:var(--c-slate-30)!important;}
body.rn-print-summary #summaryView h3{break-after:avoid-page;font-size:12pt!important;}
body.rn-print-summary #summaryView canvas{max-width:100%!important;max-height:85mm!important;object-fit:contain;}
}
}

@layer rnReportPolish {
@media screen {
#summaryView{max-width:var(--rn-report-width);margin:24px auto 0;}
#summaryView>.hero{background:var(--rn-report-paper)!important;color:var(--rn-report-ink)!important;border:1px solid var(--c-gray-90)!important;border-top:4px solid var(--rn-report-accent)!important;padding:28px!important;box-shadow:0 6px 24px rgba(var(--c-shadow-rgb), 0.031)!important;}
#summaryView>.hero :is(h1,.pg-h1){color:var(--rn-report-ink)!important;font-size:clamp(28px,3.3vw,40px)!important;letter-spacing:-.8px!important;}
#summaryView>.hero .tag{background:transparent!important;color:var(--rn-report-accent)!important;font:750 12px/1.4 system-ui!important;letter-spacing:.1em;margin-bottom:12px;}
#summaryView>.hero .hero-sub{color:var(--rn-report-muted)!important;font-size:16px!important;max-width:65ch;}
.rn-report-meta{display:flex;gap:8px 24px;flex-wrap:wrap;border-top:1px solid var(--c-gray-90);margin-top:20px;padding-top:16px;color:var(--rn-report-muted);font-size:14px;}
.rn-report-meta strong{color:var(--rn-report-ink);}
#summaryReportContent>.section-title{background:transparent!important;border:0!important;padding:0 0 10px!important;margin-top:var(--rn-report-gap)!important;gap:10px!important;}
#summaryReportContent>.section-title h2{color:var(--rn-report-ink)!important;font-size:22px!important;}
#summaryReportContent>.section-title .num{background:var(--c-gray-95)!important;color:var(--rn-report-accent)!important;font-size:12px!important;border-radius:7px!important;}
#summaryReportContent .panel,#summaryReportContent .summary-print-block{background:var(--rn-report-paper)!important;border:1px solid var(--c-gray-90)!important;border-radius:14px!important;padding:24px!important;color:var(--rn-report-ink)!important;box-shadow:0 3px 12px rgba(var(--c-shadow-rgb), 0.02)!important;}
#summaryReportContent #summaryBottomLine :is(.dash-banner-verdict,.dash-banner-line,.dash-banner-eyebrow,.dash-banner-sub){color:var(--rn-report-ink)!important;text-shadow:none!important;}
#summaryReportContent .fan-chart-canvas-wrap{min-width:0;max-width:100%;}
#summaryReportContent canvas{max-width:100%!important;}
#summaryEmptyState{padding:36px 24px!important;border:1px dashed var(--c-slate-85)!important;}

@media(max-width:700px){#summaryView>.hero{padding:22px 18px!important;}#summaryReportContent .panel,#summaryReportContent .summary-print-block{padding:18px!important;}}
}
}

/* Navigation destination clarity and mobile report rhythm. */
@layer rnDeviceFixes {
@media screen {
#mainToolNavigation{flex-wrap:wrap!important;}
#mainToolNavigation .rn-website-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;margin-left:auto;box-sizing:border-box;font:600 13px/1.4 system-ui;color:var(--text,var(--c-slate-30));text-decoration:none;border-left:1px solid var(--c-gray-90);}
#mainToolNavigation .rn-website-link:hover{text-decoration:underline;}
#mainToolNavigation .rn-website-link:focus-visible{outline:3px solid var(--c-amber-60);outline-offset:3px;}
@media(max-width:700px){
#mainToolNavigation .rn-website-link{margin:6px 0 0;border-left:0;border-top:1px solid var(--c-gray-90);width:100%;padding:12px 14px;}
#summaryView>.hero .rn-report-meta{margin-top:14px;padding-top:12px;}
#summaryView>.hero .hero-sub{font-size:15px!important;line-height:1.55!important;margin-top:12px!important;}
}
}
@media print{.rn-website-link{display:none!important;}}
}

@layer rnReportPolish {
.rn-field-help,.rn-success-detail p{font-size:13px!important;line-height:1.55!important;color:var(--text)!important;margin:8px 0 0;}
.rn-success-detail{margin-top:12px;text-align:left;}
.rn-success-detail summary{cursor:pointer;min-height:44px;padding:10px 0;box-sizing:border-box;font-size:13px;}
.rn-success-detail summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
@media print{}
}
@layer rnDeviceFixes {
#qsPanel [hidden],#qsPanel .rn-stage-hidden{display:none!important;}
.rn-guide-heading{font-size:20px;line-height:1.4;margin:0 0 20px;}
.rn-guide-controls{display:flex;justify-content:space-between;gap:12px;margin-top:20px;}
.rn-guide-controls button{min-height:44px;}
.rn-review{padding:16px;border:1px solid var(--border);border-radius:12px;}
.rn-review p{margin:8px 0;}
.rn-guide-error{color:var(--red);}
}
@layer rnDeviceFixes {
.rn-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0;}
.rn-result-actions button{min-height:44px;flex:1 1 170px;}
@media(max-width:700px){.rn-result-actions{flex-direction:column;}.rn-result-actions button{flex:auto;width:100%;}}
@media print{.rn-result-actions{display:none!important;}}
}
@layer rnDeviceFixes {
.rn-section-folded{display:none!important;}
.rn-section-toggle{margin-left:auto;min-height:44px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;}
.rn-settings-summary{font-size:14px;line-height:1.6;padding:12px 16px;border:1px solid var(--border);border-radius:10px;}
.rn-settings-summary[hidden]{display:none!important;}
.rn-input-check{padding:18px;margin:20px 0;border:1px solid var(--border);border-radius:12px;background:var(--panel);}
.rn-input-check h3{margin:0 0 8px;}.rn-input-check p{font-size:14px;line-height:1.5;}
.rn-input-check>div{display:flex;flex-wrap:wrap;gap:8px;}.rn-input-check button{min-height:44px;}
.rn-section-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
@media(max-width:700px){[id^="adv"] .section-title{flex-wrap:wrap!important;}.rn-section-toggle{margin-left:0;}}
@media print{.rn-section-toggle,.rn-settings-summary,.rn-input-check{display:none!important;}}
}
@layer rnDeviceFixes {
.rn-expense-category>summary{cursor:pointer;min-height:56px;list-style:none;}
.rn-expense-category>summary::before{content:'+';font-size:22px;font-weight:700;}
.rn-expense-category[open]>summary::before{content:'−';}
.rn-expense-category>summary::-webkit-details-marker{display:none;}
.rn-expense-category>summary:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;}
.rn-expense-category>summary>div:first-child{flex:1;min-width:150px;}
.rn-expense-category:not([open])>div{display:none!important;}
@media print{.rn-expense-category>summary::before{display:none;}}
}
@layer rnDeviceFixes {
.rn-save-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;}
.rn-save-guide p{margin:0;padding:14px;border:1px solid var(--border);border-radius:10px;font-size:14px;line-height:1.5;background:var(--panel);}
#scenarioNameInput{min-width:0;width:100%;box-sizing:border-box;}
@media(max-width:700px){.rn-save-guide{grid-template-columns:1fr;}}
}
@layer rnReportPolish {
.rn-summary-jumps a:focus-visible,#summaryReportContent h2:focus-visible{outline:3px solid var(--rn-report-accent,var(--c-blue-50b));outline-offset:3px;}
#summaryReportContent h2[id]{scroll-margin-top:110px;}
@media(max-width:700px){}
@media print{}
}
@layer rnDeviceFixes {
.rn-year-guide{padding:14px 16px;margin:8px 0 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-size:14px;line-height:1.55;}
.rn-year-guide p{margin:8px 0 0;}
#projTableContainer:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
@media print{.rn-year-guide{display:none!important;}}
}
@layer rnDeviceFixes {
#ssOptResults{min-width:0!important;max-width:100%!important;}
.rn-ss-table-scroll{display:block;min-width:0;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
.rn-ss-table-scroll #ssOptTable{width:100%!important;min-width:780px!important;table-layout:auto!important;}
.rn-ss-table-scroll #ssOptTable th,.rn-ss-table-scroll #ssOptTable td{white-space:normal!important;overflow-wrap:normal;}
.rn-ss-table-scroll #ssOptTable button{min-height:44px;min-width:64px;}
.rn-ss-table-scroll:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.rn-ss-scroll-hint{font-size:13px;line-height:1.5;margin:8px 0;color:var(--text);}
@media print{.rn-ss-scroll-hint{display:none!important;}.rn-ss-table-scroll{overflow:visible!important;}.rn-ss-table-scroll #ssOptTable{min-width:0!important;}}
}
@layer rnDeviceFixes {
.rn-comparison-scroll,#histTableContainer,#savedPortfoliosTable,#scenarioComparisonTable{max-width:100%;min-width:0;overflow-x:auto!important;-webkit-overflow-scrolling:touch;}
.rn-comparison-scroll:focus-visible,#histTableContainer:focus-visible,#savedPortfoliosTable:focus-visible,#scenarioComparisonTable:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.rn-comparison-hint{font-size:13px;line-height:1.5;margin:8px 0;}
@media print{.rn-comparison-hint{display:none!important;}.rn-comparison-scroll,#histTableContainer,#savedPortfoliosTable,#scenarioComparisonTable{overflow:visible!important;}}
}

/* Plan Summary PDF: branded header, complete expanded explanations, and deliberate page rhythm. */
@media print{
  body.rn-print-summary #summaryPrintHeader{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:18pt!important;border-bottom:1.5pt solid var(--c-teal-50)!important;padding:0 0 10pt!important;
    margin:0 0 14pt!important;
  }
  body.rn-print-summary #summaryPrintLogo{display:block!important;width:155pt!important;height:auto!important;object-fit:contain!important;}
  body.rn-print-summary .summary-print-meta{text-align:right!important;min-width:190pt!important;}

  /* Overall Plan Review is a convenient on-screen roll-up of the sections that follow. Printing it
     duplicated most of pages 1-2, so the PDF starts with the actual report sections instead. */
  body.rn-print-summary #summaryOverallSection,
  body.rn-print-summary #summaryOverallReview{display:none!important;}

    body.rn-print-summary #summaryOutcomesSection,
  body.rn-print-summary #summaryActionsSection{break-before:page!important;page-break-before:always!important;}
    body.rn-print-summary #summaryView details{display:block!important;}
  body.rn-print-summary #summaryView details>summary{display:none!important;}
  body.rn-print-summary #summaryView details>*:not(summary){display:block!important;}

    body.rn-print-summary #summaryView .summary-print-block :is(p,li){font-size:9.5pt!important;line-height:1.38!important;}
  body.rn-print-summary #summaryView .section-title{padding:7pt 0 4pt!important;margin:8pt 0 0!important;}
  body.rn-print-summary #summaryView canvas{max-height:72mm!important;}
  body.rn-print-summary #summaryView table{font-size:8.5pt!important;}
  body.rn-print-summary #summaryView tr{break-inside:avoid!important;page-break-inside:avoid!important;}
  }
@layer rnDeviceFixes {
@media(max-width:700px){
#mobileMenuToggle{max-width:calc(100vw - 28px)!important;}
#mobileMenuToggle .mobile-menu-label{font-size:14px;line-height:1.4;white-space:normal;}
#mainToolNavigation .global-tab[aria-current="page"]{box-shadow:inset 4px 0 0 currentColor;}
}
}
@layer rnDeviceFixes {
@media screen and (max-width:700px){
#fundTableContainer #fundTable tbody tr td[data-label="Allocation %"]{display:block!important;width:100%!important;box-sizing:border-box;}
#fundTableContainer #fundTable tbody tr td[data-label="Allocation %"] .allocation-control{display:grid!important;grid-template-columns:44px minmax(50px,1fr) 44px 76px!important;gap:8px!important;width:100%!important;min-width:0!important;}
#fundTableContainer #fundTable .allocation-control .alloc-slider{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;}
#fundTableContainer #fundTable .allocation-control .alloc-input{display:block!important;width:76px!important;min-width:0!important;box-sizing:border-box;}
#fundTableContainer #fundTable .allocation-control button{display:block!important;min-width:44px!important;min-height:44px!important;}
}
}
/* Completed allocation no longer needs the mobile sticky reminder. */
@layer rnDeviceFixes {
@media screen and (max-width:700px){
html.rn-mobile-menu-ready #mobileStickyTotal.has-funds.allocation-complete,
#mobileStickyTotal.allocation-complete{display:none!important;}
}
}

@layer rnProjectionFix {
#projTableContainer{overflow:visible!important;min-width:0!important;}
#projTable{width:100%!important;min-width:0!important;table-layout:fixed!important;}
/* Age (1, now carrying the Working/Retired phase and spousal notes) and Social Security (5, which
   carries the longest variable-length annotations -- survivor-benefit explanations, etc.) flex to
   absorb whatever room the fixed-width columns below don't use, including room freed up when Roth
   Balance/Other Assets/tax-detail columns are hidden. Every other column only ever holds a short
   dollar figure or a one-line annotation, so it gets a small fixed minimum instead of competing
   evenly with Age/Social Security for space. */
/* 2026-09-23: columns are addressed by class (pc-*), not position, because the table now has one
   column per account (main, Roth, brokerage, cash, HSA, spouse) plus Total savings and Pension &
   other income; renderProjectionTable() sets has-roth/has-brok/has-cash/has-hsa/has-spouse/has-inc
   so columns for accounts the plan doesn't have stay hidden. Age flexes; money columns stay narrow. */
#projTable col.pc-age{width:auto!important;}
#projTable col:is(.pc-main,.pc-roth,.pc-brok,.pc-cash,.pc-hsa,.pc-spouse,.pc-total,.pc-ss,.pc-inc){width:6.5%!important;}
#projTable col.pc-wd{width:20%!important;}
#projTable col:is(.pc-ded,.pc-tax,.pc-rate){width:7%!important;}
#projTable col.pc-spend{width:11%!important;}
#projTable th,#projTable td{padding:10px 6px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;}
#projTable:not(.has-roth) :is(th,td,col).pc-roth,
#projTable:not(.has-brok) :is(th,td,col).pc-brok,
#projTable:not(.has-cash) :is(th,td,col).pc-cash,
#projTable:not(.has-hsa) :is(th,td,col).pc-hsa,
#projTable:not(.has-spouse) :is(th,td,col).pc-spouse,
#projTable:not(.has-inc) :is(th,td,col).pc-inc,
#projTable.projection-details-hidden :is(th,td,col):is(.pc-ded,.pc-tax,.pc-rate){display:none!important;}
#projTable td.pc-wd{font-family:inherit!important;line-height:1.5!important;}
#projTable td.pc-total{background:rgba(var(--c-teal-60b-rgb), 0.05);}
@media screen and (max-width:1200px){
#projTable,#projTable tbody,#projTable tfoot{display:block!important;width:100%!important;}
#projTable thead,#projTable colgroup{display:none!important;}
#projTable tbody tr,#projTable tfoot tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border:1px solid var(--border);border-radius:12px;margin-bottom:14px;overflow:hidden;}
#projTable tr td{display:block!important;width:auto!important;min-width:0!important;text-align:left!important;padding:12px!important;}
#projTable:not(.has-roth) td.pc-roth,#projTable:not(.has-brok) td.pc-brok,#projTable:not(.has-cash) td.pc-cash,#projTable:not(.has-hsa) td.pc-hsa,#projTable:not(.has-spouse) td.pc-spouse,#projTable:not(.has-inc) td.pc-inc,#projTable.projection-details-hidden td:is(.pc-ded,.pc-tax,.pc-rate){display:none!important;}
#projTable tr td::before{content:attr(data-label);display:block!important;position:static!important;font:600 12px/1.4 system-ui;color:var(--muted);margin-bottom:6px;}
#projTable tr td.pc-wd,#projTable tr td.pc-spend{grid-column:1/-1;}
#projTable .phase-pill{max-width:100%;white-space:normal!important;}
}
}

@layer rnProjectionFix {
#projTable .rn-spouse-year-note{font:400 12px/1.5 system-ui!important;color:var(--text)!important;margin-top:7px;white-space:normal!important;}
}

/* ===== RN CUSTOMIZER MANAGED STYLES ===== */
@layer rnCustomizer {

/* ===== RetireNerd Style Customizer — final overrides ===== */
@media screen {
:root{--teal:var(--c-gray-00);--primary:var(--c-gray-00);--text:var(--c-slate-20b);--muted:var(--c-gray-00);--border:var(--c-gray-85);--gold:var(--c-amber-70);--green:var(--c-slate-55b);--panel:var(--c-gray-99);--bg:var(--c-gray-99);}
body{background:var(--c-gray-99)!important;color:var(--c-slate-20b)!important;}
.panel{background:var(--c-gray-99)!important;border-color:var(--c-gray-85)!important;border-radius:2px!important;}
.field input:not([type=checkbox]):not([type=radio]):not([type=range]),.field select{min-height:44px!important;font-size:14px!important;}
.inputs-grid,.qs-inputs-grid{gap:9px!important;}
.toggle-row>.toggle-btn:not(.adv-check-card).active,button.toggle-btn.active,div.toggle-btn.active,#modeIndicator .qs-secondary-btn{background:var(--c-slate-55b)!important;border-color:var(--c-slate-55b)!important;color:var(--c-gray-99)!important;}
#modeIndicator .qs-secondary-btn:hover,.toggle-row>.toggle-btn:not(.adv-check-card).active:hover{background:color-mix(in srgb,var(--c-slate-55b) 85%,black)!important;}
#runSimBtn.runbtn{background:linear-gradient(135deg,color-mix(in srgb,var(--c-amber-70) 78%,black),var(--c-amber-70))!important;border-color:var(--c-amber-70)!important;min-height:64px!important;}
#qsResultsArea>div:last-child>.qs-secondary-btn{--teal:linear-gradient(135deg,color-mix(in srgb,var(--c-amber-70) 78%,black),var(--c-amber-70));-webkit-text-fill-color:var(--c-gray-99)!important;}
@media(min-width:701px){#runSimBtn.runbtn{max-width:360px!important;width:100%!important;}}
@media(max-width:700px){#runSimBtn.runbtn{max-width:none!important;width:100%!important;}}
}

/* ===== Component controls — Style Customizer ===== */
@media screen {
:root{--rn-report-width:960px!important;--rn-report-size:16px!important;--rn-report-gap:16px!important;--rn-report-paper:var(--c-gray-99)!important;--rn-report-ink:var(--c-slate-30)!important;--rn-report-muted:var(--c-gray-00)!important;--rn-report-accent:var(--c-blue-50b)!important;}

/* Explicit image sizing replaces inherited logo width caps without distortion. */
.site-header .site-logo-link{min-width:0!important;max-width:calc(100% - 90px)!important;flex:0 1 auto!important;}
.site-header #siteLogoImg,.site-header .site-logo-link .site-logo{
 display:block!important;width:auto!important;height:77px!important;
 max-width:100%!important;object-fit:contain!important;object-position:left center!important;
}
.site-header{padding-bottom:12px!important;}
@media(max-width:700px){
 .site-header #siteLogoImg,.site-header .site-logo-link .site-logo{height:30px!important;max-width:100%!important;}
}

/* Explicit component colors override older hard-coded presentation colors. */
:root{--text:var(--c-slate-20b)!important;--muted:var(--c-gray-00)!important;--muted2:var(--c-gray-00)!important;}
.section-desc{color:var(--c-gray-00)!important;-webkit-text-fill-color:var(--c-gray-00)!important;}
.field>label,.field>label.has-tip{color:var(--c-gray-00)!important;-webkit-text-fill-color:var(--c-gray-00)!important;}
.senior-details>summary{color:var(--c-gray-00)!important;-webkit-text-fill-color:var(--c-gray-00)!important;}
button.preset-btn[onclick="qsSetMode('simple')"]{color:var(--c-gray-00)!important;-webkit-text-fill-color:var(--c-gray-00)!important;}
button.preset-btn[onclick="qsSetMode('simple')"] strong{color:var(--c-gray-00)!important;-webkit-text-fill-color:var(--c-gray-00)!important;}
/* Preserve readable text on explicitly dark blue panels. */

.footnote,#methodologyFull{font-size:13px!important;color:var(--c-gray-65)!important;line-height:1.65!important;}
.footer-tax-details,.footer-tax-details[open] summary{background:var(--c-gray-99)!important;}
.footer-tax-details summary{color:var(--c-blue-45)!important;font-size:13px!important;}
.footer-tax-details p{font-size:13px!important;color:var(--c-gray-65)!important;line-height:1.65!important;}
@media(max-width:700px){.global-tab{min-height:48px!important;font-size:11px!important;}.global-tab svg{width:18px!important;height:18px!important;}}

#tooltipBubble{
 background:var(--c-gray-99)!important;
 color:var(--c-gray-00)!important;
 border:1px solid var(--c-slate-50b)!important;
 font-size:13px!important;
 line-height:1.5!important;
 max-width:min(310px,calc(100vw - 24px))!important;
 padding:11px!important;
 border-radius:10px!important;
 overflow-wrap:break-word;
}

body{font-size:14px!important;}
.wrap{max-width:1320px!important;}
.panel{padding:14px!important;}
.section-title{margin-top:12px!important;}
.section-title h2{font-size:18px!important;color:var(--c-gray-00)!important;}
.field label{font-size:12px!important;}
.toggle-hint,.qs-handoff-text,.senior-details-body{font-size:12px!important;}
.hero{background:var(--c-slate-50b)!important;padding:16px!important;}
.hero :is(h1,.pg-h1){font-size:24px!important;color:var(--c-gray-99)!important;}
.hero .hero-sub,.hero .hero-eyebrow{color:var(--c-gray-99)!important;}
.site-logo-link .site-logo,.planlab-brand-lockup .site-logo{height:77px!important;}
.global-tab{background:var(--c-gray-99)!important;color:var(--c-gray-00)!important;border-radius:8px!important;}
.global-tab.active{background:var(--c-blue-60b)!important;color:white!important;}
.global-tab.active svg{stroke:white!important;}
#modeIndicator .qs-secondary-btn{background:var(--c-red-65)!important;border-color:var(--c-red-65)!important;}
#modeIndicator .qs-secondary-btn:hover{background:color-mix(in srgb,var(--c-red-65) 85%,black)!important;}
.qs-open-full-btn{color:var(--c-slate-25)!important;border-color:var(--c-slate-25)!important;}
button.runbtn,.qs-secondary-btn,.qs-open-full-btn{border-radius:15px!important;}
.field input:not([type=checkbox]):not([type=radio]):not([type=range]),.field select,.rn-blue-form-panel .field input:not([type=checkbox]):not([type=radio]):not([type=range]),.rn-blue-form-panel .field select{background:var(--c-gray-99)!important;color:var(--c-slate-20b)!important;border-color:var(--c-gray-90)!important;border-radius:11px!important;}
.field input::placeholder{color:var(--c-gray-75)!important;}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,#runSimBtn:focus-visible,#modeIndicator .qs-secondary-btn:focus-visible{outline:3px solid var(--c-blue-65)!important;outline-offset:3px!important;}
.toggle-row>.toggle-btn:not(.adv-check-card){min-height:44px!important;}
.toggle-row>.toggle-btn:not(.adv-check-card):not(.active){background:var(--c-gray-99)!important;}
#expensePlannerCategories>.panel{padding:0!important;}
#expensePlannerCategories>.panel>div:first-child{background:var(--c-gray-95)!important;}
#expensePlannerCategories>.panel>div:first-child>div:first-child>div:first-child{color:var(--c-gray-00)!important;font-size:19px!important;}
#expensePlannerCategories>.panel>div:first-child>div:first-child>div:first-child::before{width:29px;height:29px;flex-basis:29px;background-size:20px;}
#expensePlannerCategories>.panel>div:last-child{padding:12px!important;}
#expensePlannerCategories [id^="expCatTotal_"]{background:var(--c-gray-99)!important;font-size:18px!important;}
#expensePlannerCategories a[id$="_timingLink"]{color:var(--c-blue-45b)!important;}
#expensePlannerCategories .field>label:has(>input[type=checkbox]){background:var(--c-gray-99)!important;}
#expensePlannerCategories .field>div:has(>select[id$="_freq"])>input{border-radius:11px 0 0 11px!important;}
#expensePlannerCategories select[id$="_freq"]{border-radius:0 11px 11px 0!important;}
#resultsPanel .dash-card{background:var(--c-gray-99)!important;}
#resultsPanel .dash-card-value{font-size:27px!important;}
#projTable thead th{background:var(--c-gray-90)!important;color:var(--c-gray-00)!important;}
#projTable tbody tr:nth-child(even) td{background:var(--c-gray-99)!important;}
#projTable tbody td,#projTable tbody td.mono{font-size:16px!important;padding-top:12px!important;padding-bottom:12px!important;}
#projTable tr.retirement-year-start td{border-top-color:var(--c-amber-70)!important;}
.qs-disclaimer{background:var(--c-gray-95)!important;color:var(--c-gray-00)!important;}
.senior-details-body{background:var(--c-gray-95)!important;}
@media(min-width:701px){.global-tab{min-height:44px!important;}button.runbtn[onclick="addCustomFund()"]{width:250px!important;max-width:100%!important;flex:0 1 auto!important;}}
@media(max-width:700px){.section-title h2,.hero :is(h1,.pg-h1){font-size:20px!important;}.panel,#qsPanel{padding:12px!important;}.qs-inputs-grid,.inputs-grid{gap:10px!important;}.site-logo-link .site-logo,.planlab-brand-lockup .site-logo{height:30px!important;}#expensePlannerCategories>.panel{padding:0!important;}}
}

}

/* --- Expense Planner / Net Worth "dashboard" visualizations (donut + icon-badge list) ---------
   Added per explicit user request to closely mimic a reference budgeting app's look: colorful
   rounded icon chips, drop shadows, larger touch-friendly rows -- a deliberate departure from this
   tool's otherwise minimal teal/green/gold styling, for these two specific components only. */
@layer rnAppPolish {
  .rn-dash-wrap{display:flex;gap:28px;flex-wrap:wrap;align-items:center;}
  .rn-dash-donut-wrap{flex-shrink:0;}
  .rn-dash-donut-wrap svg{width:150px;height:150px;display:block;}
  .rn-dash-list{flex:1;min-width:260px;display:flex;flex-direction:column;gap:10px;}
  .rn-dash-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--panel);border-radius:12px;box-shadow:0 2px 6px rgba(var(--c-shadow-rgb), 0.08);}
  .rn-dash-badge{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(var(--c-shadow-rgb), 0.18);}
  .rn-dash-row-text{flex:1;min-width:0;}
  .rn-dash-row-title{font-size:13.5px;font-weight:600;color:var(--text);}
  .rn-dash-row-sub{font-size:11.5px;color:var(--muted);margin-top:1px;}
  .rn-dash-row-amt{flex-shrink:0;font-weight:700;font-size:14px;color:var(--text);white-space:nowrap;}
  @media(max-width:700px){
    .rn-dash-wrap{gap:16px;}
    .rn-dash-donut-wrap svg{width:120px;height:120px;}
    .rn-dash-row{padding:9px 10px;}
    .rn-dash-badge{width:32px;height:32px;border-radius:9px;}
  }
}

/* Post-v160 QA fixes (2026-09-22): text that was still styled for the old dark hero/button and
   rendered white-on-near-white after the light "secondary action" restyle. */
.hero #autosaveIndicator{color:var(--muted2,var(--c-slate-60b))!important;}
/* Mode cards: keep the description clear of the round arrow in the bottom-right corner. */
/* Setup progress strip: the connector line ran through longer labels ("Retirement details"). */
.compass-plan-step>span:last-child{position:relative;z-index:1;background:var(--c-gray-99);padding-right:8px;}

/* ---- 01 · Your Accounts (accounts.js, 2026-09-22) ---- */
.acct-hidden{display:none!important}
.acct-manager{margin:4px 0 18px;color:var(--text,var(--c-slate-35))}
.acct-progress{display:flex;gap:6px;padding:10px 12px;margin-bottom:14px;background:var(--c-gray-99);border:1px solid var(--c-gray-90);border-radius:14px}
.acct-progress>div{flex:1;display:flex;align-items:center;gap:9px;font:700 13px/1.2 "Compass Display",sans-serif;color:var(--c-slate-55)}
.acct-progress b{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--c-gray-95);border:1px solid var(--c-gray-90);color:var(--c-slate-35);font-size:12px}
.acct-progress .on{color:var(--c-slate-35)}.acct-progress .on b{background:var(--c-gray-99);border:2px solid var(--c-teal-60b)}
.acct-progress .done{color:var(--c-slate-35)}.acct-progress .done b{background:var(--c-teal-60b);border-color:var(--c-teal-60b);color:var(--c-gray-99)}
.acct-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.acct-tiles>div{background:var(--c-gray-99);border:1px solid var(--c-gray-90);border-radius:12px;padding:10px 13px}
.acct-tiles span{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-slate-55);font-weight:800}
.acct-tiles strong{font:700 19px/1.3 "Compass Display",sans-serif;color:var(--c-slate-35)}
.acct-card{background:var(--c-gray-99);border:1px solid var(--c-gray-90);border-radius:16px;margin-bottom:12px;box-shadow:0 6px 18px rgba(var(--c-shadow-rgb), 0.05)}
.acct-collapsed{display:flex;align-items:center;gap:14px;padding:13px 16px}
.acct-c-main{flex:1;min-width:0}.acct-c-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.acct-c-top strong{font:700 16px "Compass Display",sans-serif}
.acct-c-meta{color:var(--c-slate-55);font-size:13px;margin-top:2px}
.acct-c-actions{display:flex;gap:14px;align-items:center}
.acct-link{border:0;background:none;padding:4px 0;color:var(--c-teal-50);font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.acct-del{color:var(--c-red-50);font-weight:600;font-size:13px}
.acct-pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--c-gray-95);color:var(--c-slate-35)}
.acct-pretax{background:var(--c-slate-95);color:var(--c-blue-45b)}.acct-roth{background:var(--c-sage-95);color:var(--c-green-50)}.acct-taxable{background:var(--c-sand-95);color:var(--c-amber-50b)}
.acct-donut{flex:none;width:34px;height:34px;border-radius:50%;position:relative;display:inline-block}.acct-donut::after{content:"";position:absolute;inset:8px;background:var(--c-gray-99);border-radius:50%}.acct-donut-empty{background:var(--c-gray-95)}
.acct-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.acct-flags span{font-size:11.5px;font-weight:700;color:var(--c-red-50);background:var(--c-rose-95);border-radius:999px;padding:3px 9px}.acct-flags span.ok{color:var(--c-green-50);background:var(--c-sage-95)}
.acct-open{border:2px solid var(--c-teal-60b)}
.acct-o-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--c-gray-90);flex-wrap:wrap}
.acct-o-title strong{font:700 18px "Compass Display",sans-serif}.acct-o-summary{display:flex;align-items:center;gap:10px;color:var(--c-slate-55);font-size:13px;margin-top:6px}
.acct-o-head .acct-flags{margin-top:0}
.acct-o-body{padding:16px}
.acct-step{display:flex;align-items:center;gap:9px;margin:4px 0 12px;font:700 15px "Compass Display",sans-serif}.acct-step span{width:24px;height:24px;border-radius:50%;background:var(--c-teal-60b);color:var(--c-gray-99);display:grid;place-items:center;font-size:12px}
.acct-o-body .acct-step:not(:first-child){margin-top:22px}
.acct-grid{display:grid;grid-template-columns:1.3fr 1.4fr .9fr 1fr;gap:12px;align-items:start}
.acct-grid label,.acct-paste label{display:block;font-size:12.5px;font-weight:700;margin-bottom:5px}
.acct-grid input,.acct-paste textarea{width:100%;min-height:42px;border:1px solid var(--c-gray-90);border-radius:10px;padding:9px 11px;background:var(--c-gray-99);font:14px Compass Sans,sans-serif;color:var(--c-slate-35);box-sizing:border-box}
.acct-paste textarea{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;min-height:120px}
.acct-note{font-size:11.5px;color:var(--c-slate-55);margin-top:5px;line-height:1.45}
.acct-seg{display:flex;border:1px solid var(--c-gray-90);border-radius:10px;overflow:hidden}.acct-seg button{flex:1;min-height:42px;border:0;border-right:1px solid var(--c-gray-90);background:var(--c-gray-99);color:var(--c-slate-50b);font:600 13px Compass Sans,sans-serif;cursor:pointer}.acct-seg button:last-child{border-right:0}.acct-seg button.on{background:var(--c-teal-60b);color:var(--c-gray-99)}
.acct-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.acct-tabs button{min-height:36px;padding:7px 13px;border:1px solid var(--c-gray-90);border-radius:999px;background:var(--c-gray-99);color:var(--c-slate-50b);font:600 13px Compass Sans,sans-serif;cursor:pointer}.acct-tabs button.on{background:var(--c-gray-95);border-color:var(--c-sage-80b);color:var(--c-teal-50)}
.acct-builder-slot>.panel{margin:0;border:0;box-shadow:none;padding:0;background:transparent}
.acct-mix-mode #addFundFormBlock .inputs-grid>.field:not(#quickMixField),.acct-mix-mode #addFundFormBlock>.section-desc,.acct-mix-mode #addFundFormBlock>details,.acct-mix-mode #addFundFormBlock>div[style*="display:flex"]{display:none!important}
.acct-mixnote{padding:12px 14px;border-radius:12px;background:var(--c-gray-99);border:1px solid var(--c-gray-90);margin-bottom:10px}.acct-mixnote p{margin:0 0 10px;font-size:13px;color:var(--c-sage-45)}
.acct-btn{min-height:40px;padding:9px 16px;border:1px solid var(--c-teal-50);border-radius:10px;background:var(--c-teal-60b);color:var(--c-gray-99);font:700 13.5px Compass Sans,sans-serif;cursor:pointer}
.acct-actions-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0}
.acct-paste-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}.acct-paste-table th{text-align:left;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-slate-55);padding:6px;border-bottom:1px solid var(--c-gray-90)}.acct-paste-table td{padding:7px 6px;border-bottom:1px solid var(--c-gray-95);vertical-align:top}.acct-paste-table select{min-height:36px;border:1px solid var(--c-gray-90);border-radius:8px;padding:4px 6px;max-width:220px}
.acct-o-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--c-gray-99);border-top:1px solid var(--c-gray-90);border-radius:0 0 16px 16px;font-size:12.5px;color:var(--c-slate-55)}
.acct-empty{padding:18px;border:1px dashed var(--c-sage-80b);border-radius:14px;background:var(--c-gray-99);margin-bottom:12px}.acct-empty strong{font:700 16px "Compass Display",sans-serif}.acct-empty p{margin:6px 0 12px;color:var(--c-slate-50b);font-size:13.5px}
.acct-presets{display:flex;gap:8px;flex-wrap:wrap}.acct-chip{min-height:36px;padding:6px 13px;border:1px solid var(--c-sage-80b);border-radius:999px;background:var(--c-gray-99);color:var(--c-teal-50);font:600 13px Compass Sans,sans-serif;cursor:pointer}.acct-chip:hover{background:var(--c-gray-95)}
.acct-add{margin-top:4px}.acct-add-btn{width:100%;min-height:48px;margin-bottom:10px;border:1px dashed var(--c-sage-70b);border-radius:14px;background:var(--c-gray-99);color:var(--c-teal-50);font:700 14px Compass Sans,sans-serif;cursor:pointer}
#acctFooterSlot{margin:0 0 18px}
@media(max-width:760px){.acct-grid{grid-template-columns:1fr}.acct-tiles{grid-template-columns:1fr 1fr}.acct-progress{flex-direction:column;align-items:stretch}.acct-collapsed{flex-wrap:wrap}.acct-c-actions{width:100%;justify-content:flex-end}}

/* How you'll pay for retirement (withdrawal order) — 2026-09-23 */
.pay-plan{margin-top:18px;padding:18px 20px;border:1px solid var(--line, var(--c-gray-90));border-radius:14px;background:var(--c-gray-99)}
.pay-plan-head h3{margin:0 0 6px;font-size:17px;color:var(--text,var(--c-slate-35))}
.pay-plan-head p{margin:0 0 12px;font-size:13.5px;line-height:1.55;color:var(--muted,var(--c-slate-55))}
.pay-order{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pay-order li{display:grid;grid-template-columns:34px 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line,var(--c-gray-90));border-radius:10px;background:var(--panel2,var(--c-gray-99))}
.pay-order li.empty{opacity:.62}
.pay-rank{width:28px;height:28px;border-radius:50%;background:var(--teal,var(--c-teal-60b));color:var(--c-gray-99);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px}
.pay-body strong{font-size:14px;color:var(--text,var(--c-slate-35))}
.pay-tax{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--c-gray-95);color:var(--c-teal-45);font-size:11.5px;font-weight:600}
.pay-note{display:block;font-size:12.5px;color:var(--muted,var(--c-slate-55));margin-top:2px;line-height:1.45}
.pay-bal{font-weight:700;font-size:13.5px;white-space:nowrap;color:var(--text,var(--c-slate-35))}
.pay-order li.empty .pay-bal{font-weight:400;color:var(--muted2,var(--c-slate-65))}
.pay-move{display:flex;flex-direction:column;gap:3px}
.pay-move button{width:30px;height:24px;border:1px solid var(--line,var(--c-gray-90));border-radius:6px;background:var(--c-gray-99);color:var(--teal,var(--c-teal-60b));cursor:pointer;font-size:11px;line-height:1;padding:0}
.pay-move button:disabled{opacity:.3;cursor:default}
.pay-move button:focus-visible{outline:2px solid var(--teal,var(--c-teal-60b));outline-offset:1px}
.pay-presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;font-size:12.5px;color:var(--muted,var(--c-slate-55))}
@media (max-width:640px){
  .pay-order li{grid-template-columns:28px 1fr auto;}
  .pay-bal{grid-column:2;grid-row:2;}
  .pay-move{grid-column:3;grid-row:1 / span 2;}
}

/* Plan options grouped by topic (2026-09-23) */
.adv-group + .adv-group{margin-top:18px;}
.adv-group-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;}
.adv-group-sub{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted2);}
.adv-group-sub::before{content:"— ";}
@media (max-width:640px){.adv-group-sub{display:block;margin-top:2px;}.adv-group-sub::before{content:none;}.adv-group-sub::first-letter{text-transform:uppercase;}}

/* Retirement Details: how spending is set (2026-09-23) */
.spend-source-row{max-width:640px;margin-bottom:10px;}
.spend-source-row .toggle-btn{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;height:auto;padding:10px 14px;}
.spend-source-sub{font-size:11.5px;font-weight:400;opacity:.85;}
.spend-goal-wrap{max-width:420px;}
.spend-planner-card{max-width:640px;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);}
.spend-planner-total{font-size:22px;font-weight:700;color:var(--text);}
.spend-planner-unit{font-size:12.5px;font-weight:400;color:var(--muted2);}
.spend-planner-detail{font-size:12px;color:var(--muted2);margin:4px 0 10px;line-height:1.5;}
@media (max-width:560px){.spend-source-row{flex-direction:column;}}
.spend-source-row .toggle-btn strong,.spend-source-row .toggle-btn .spend-source-sub{color:inherit!important;}
.spend-source-row .toggle-btn.active::before{display:none!important;}
.spend-source-row .toggle-btn.active{box-shadow:inset 0 0 0 1px currentColor!important;}
#spendSourceGoal strong,#spendSourcePlanner strong,#spendSourceGoal .spend-source-sub,#spendSourcePlanner .spend-source-sub,#wdFixed strong,#wdPercent strong,#wdGuardrails strong,#wdFixed .spend-source-sub,#wdPercent .spend-source-sub,#wdGuardrails .spend-source-sub{color:inherit!important;-webkit-text-fill-color:currentColor!important;}
/* Account next step (2026-09-24, accounts.js renderNext) */
.acct-next{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin:0;padding:12px 16px;border-bottom:1px solid var(--c-gray-90);font-size:14px;line-height:1.45}
.acct-next:empty{display:none}
.acct-next p{margin:0;flex:1 1 320px;font-weight:600}
.acct-next-todo{background:var(--c-sand-99);color:var(--c-amber-45)}
.acct-next-ok{background:var(--c-gray-95);color:var(--c-green-45b)}
.acct-next-acts{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}
.acct-next .acct-link{font-weight:700}
@layer compassNavTop{button.acct-add-pending{background:var(--c-teal-60b) !important;border-color:var(--c-teal-50) !important;color:var(--c-gray-99) !important;box-shadow:0 0 0 4px rgba(var(--c-teal-60b-rgb), 0.18) !important}}
