/*
  Compass app theme
  Presentation-only layer for v159. The existing stylesheets, DOM IDs, scripts,
  calculations, saved-plan schema, and page structure remain intact.
*/

@layer compassAppRefresh {
  :root {
    --compass-canvas:var(--c-gray-99);
    --compass-paper:var(--c-gray-99);
    --compass-ink:var(--c-sage-30);
    --compass-muted:var(--c-slate-55);
    --compass-line:var(--c-gray-90);
    --compass-teal:var(--c-teal-55);
    --compass-teal-dark:var(--c-teal-45);
    --compass-teal-soft:var(--c-gray-95);
    --compass-navy:var(--c-slate-35);
    --compass-gold:var(--c-amber-75);
    --compass-green:var(--c-green-60);
    --compass-danger:var(--c-red-55);
    --compass-radius:16px;
    --compass-shadow:0 10px 30px rgba(var(--c-shadow-rgb), 0.065);

    --bg:var(--compass-canvas)!important;
    --panel:var(--compass-paper)!important;
    --panel2:var(--c-gray-99)!important;
    --text:var(--compass-ink)!important;
    --muted:var(--compass-muted)!important;
    --muted2:var(--c-slate-60)!important;
    --teal:var(--compass-teal)!important;
    --primary:var(--compass-teal)!important;
    --green:var(--compass-green)!important;
    --gold:var(--compass-gold)!important;
    --border:var(--compass-line)!important;
    --border-soft:var(--c-gray-95)!important;
    --rn-report-ink:var(--compass-ink)!important;
    --rn-report-muted:var(--compass-muted)!important;
    --rn-report-accent:var(--compass-teal)!important;
  }

  html { background:var(--compass-canvas); scroll-behavior:smooth; }
  body {
    background:
      radial-gradient(circle at 10% 0,rgba(var(--c-teal-55-rgb), 0.055),transparent 27rem),
      var(--compass-canvas)!important;
    color:var(--compass-ink)!important;
    font-family:Compass Sans,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:16px!important;
    line-height:1.55;
  }

  .wrap { max-width:1440px!important; padding:0 32px 48px!important; }

  .site-header {
    min-height:84px!important;
    padding:16px 4px!important;
    display:flex!important;
    align-items:center!important;
    border-bottom:0!important;
  }
  .site-header .site-logo-link { display:inline-flex!important; align-items:center; }
  .site-header #siteLogoImg,
  .site-header .site-logo-link .site-logo {
    width:auto!important;
    height:42px!important;
    object-fit:contain!important;
  }

  .global-nav {
    position:sticky!important;
    top:10px!important;
    z-index:100!important;
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr)) auto!important;
    gap:6px!important;
    margin:0 0 26px!important;
    padding:8px!important;
    background:rgba(var(--c-gray-99-rgb), 0.94)!important;
    border:1px solid var(--compass-line)!important;
    border-radius:15px!important;
    box-shadow:0 12px 34px rgba(var(--c-shadow-rgb), 0.09)!important;
    backdrop-filter:blur(16px);
  }
  .global-tab,
  .rn-website-link {
    min-width:0!important;
    min-height:48px!important;
    padding:9px 10px!important;
    justify-content:center!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:var(--compass-muted)!important;
    font-size:12px!important;
    font-weight:650!important;
    line-height:1.25!important;
    text-align:center!important;
    text-decoration:none!important;
    transition:background .18s ease,color .18s ease,transform .18s ease!important;
  }
  .global-tab:hover,.rn-website-link:hover {
    background:var(--compass-teal-soft)!important;
    color:var(--compass-teal-dark)!important;
  }
  .global-tab.active,
  .global-tab[aria-current="page"] {
    background:var(--compass-teal)!important;
    color:var(--c-gray-99)!important;
    box-shadow:0 7px 18px rgba(var(--c-teal-55-rgb), 0.21)!important;
    transform:translateY(-1px);
  }
  .global-tab.active svg,
  .global-tab[aria-current="page"] svg { stroke:var(--c-gray-99)!important; }
  .global-tab-num {
    display:grid!important;
    place-items:center!important;
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
    border-radius:50%!important;
    background:rgba(var(--c-teal-55-rgb), 0.1)!important;
    color:inherit!important;
    font-size:10px!important;
  }
  .global-tab.active .global-tab-num,
  .global-tab[aria-current="page"] .global-tab-num { background:rgba(var(--c-gray-99-rgb), 0.17)!important; }

  #modeSelector {
    max-width:920px!important;
    margin:34px auto!important;
    padding:32px!important;
    background:var(--compass-paper)!important;
    border:1px solid var(--compass-line)!important;
    border-radius:var(--compass-radius)!important;
    box-shadow:var(--compass-shadow)!important;
  }
  #modeSelector>div:first-child>div:first-child {
    color:var(--compass-ink)!important;
    font-size:28px!important;
    letter-spacing:-.7px;
  }

  #modeIndicator {
    width:max-content!important;
    max-width:100%!important;
    margin:0 0 22px!important;
    padding:8px 10px 8px 16px!important;
    background:var(--compass-paper)!important;
    border:1px solid var(--compass-line)!important;
    border-radius:999px!important;
    box-shadow:0 5px 18px rgba(var(--c-shadow-rgb), 0.055)!important;
  }
  #modeIndicator .qs-secondary-btn {
    min-height:38px!important;
    padding:8px 14px!important;
    border-radius:999px!important;
    background:var(--compass-teal-soft)!important;
    border:0!important;
    color:var(--compass-teal-dark)!important;
    font-size:13px!important;
    font-weight:700!important;
  }
  #modeIndicator #guideMeBtn { background:var(--compass-teal)!important; color:var(--c-gray-99)!important; }

  .hero {
    position:relative;
    overflow:hidden;
    padding:34px!important;
    border:0!important;
    border-radius:20px!important;
    color:var(--c-gray-99)!important;
    background:
      radial-gradient(circle at 94% 15%,rgba(var(--c-gray-99-rgb), 0.13) 0 8%,transparent 8.3% 15%,rgba(var(--c-gray-99-rgb), 0.07) 15.3% 23%,transparent 23.3%),
      linear-gradient(135deg,var(--c-slate-35) 0%,var(--c-blue-45) 100%)!important;
    box-shadow:0 18px 42px rgba(var(--c-shadow-rgb), 0.16)!important;
  }
  .hero :is(h1,.pg-h1) { color:var(--c-gray-99)!important; font-size:clamp(30px,4vw,48px)!important; letter-spacing:-1.5px!important; line-height:1.08!important; }
  .hero .hero-sub,.hero .hero-eyebrow { color:var(--c-gray-95)!important; }
  .hero-capabilities span {
    background:rgba(var(--c-gray-99-rgb), 0.09)!important;
    border-color:rgba(var(--c-gray-99-rgb), 0.16)!important;
    border-radius:999px!important;
  }

  /* Quiet page headings replace the former dark promotional banners. */
  .hero {
    padding:8px 2px 18px!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid var(--compass-line)!important;
    border-radius:0!important;
    color:var(--compass-ink)!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .hero :is(h1,.pg-h1) {
    margin:6px 0 8px!important;
    font-size:clamp(24px,2.4vw,34px)!important;
    letter-spacing:-.8px!important;
    line-height:1.08!important;
    color:var(--compass-ink)!important;
  }
    .hero .hero-sub {
    max-width:980px!important;
    color:var(--compass-muted)!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
  .hero-capabilities { margin-top:13px!important; gap:7px!important; }
  .hero-capabilities span {
    padding:6px 10px!important;
    border-color:var(--compass-line)!important;
    background:var(--c-gray-99)!important;
    color:var(--compass-muted)!important;
    font-size:11px!important;
  }
  .hero-product-brand { display:none!important; }

  @media (min-width:701px) {
    .hero:has(.hero-product-brand) { min-height:104px; padding-right:245px!important; }
    .hero-product-brand {
      position:absolute!important;
      top:4px!important;
      right:2px!important;
      display:block!important;
      width:210px!important;
      padding:0!important;
      border:0!important;
      background:transparent!important;
      box-shadow:none!important;
      backdrop-filter:none!important;
    }
    .hero-product-brand img { width:100%!important; height:auto!important; }
    .hero-product-brand span { display:none!important; }
  }

  .panel,
  .dash-card,
  .plain-summary,
  .senior-details,
  .footer-tax-details {
    border-color:var(--compass-line)!important;
    border-radius:var(--compass-radius)!important;
  }
  .panel {
    padding:24px!important;
    background:var(--compass-paper)!important;
    box-shadow:var(--compass-shadow)!important;
  }
  .panel+.panel { margin-top:18px!important; }

  .section-title {
    margin-top:32px!important;
    padding:12px 2px!important;
    border-bottom:1px solid var(--compass-line)!important;
  }
  .section-title h2 {
    color:var(--compass-ink)!important;
    font-size:24px!important;
    letter-spacing:-.55px!important;
  }
  .section-title .num {
    min-width:34px!important;
    height:30px!important;
    display:inline-grid!important;
    place-items:center!important;
    padding:0 8px!important;
    border:0!important;
    border-radius:8px!important;
    background:var(--compass-teal-soft)!important;
    color:var(--compass-teal-dark)!important;
    font-size:12px!important;
  }
  .section-icon-wrap {
    background:var(--compass-teal-soft)!important;
    color:var(--compass-teal)!important;
    border-color:transparent!important;
    border-radius:11px!important;
  }
  .section-icon-wrap svg * { stroke:currentColor!important; }
  .section-desc { max-width:780px; color:var(--compass-muted)!important; font-size:15px!important; line-height:1.65!important; }

  .field>label,
  .field>label.has-tip {
    color:var(--compass-ink)!important;
    font-size:13px!important;
    font-weight:650!important;
  }
  .field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .field select,
  textarea {
    min-height:48px!important;
    padding:11px 13px!important;
    border:1px solid var(--c-gray-90)!important;
    border-radius:10px!important;
    background:var(--c-gray-99)!important;
    color:var(--compass-ink)!important;
    font-size:15px!important;
    box-shadow:inset 0 1px 1px rgba(var(--c-shadow-rgb), 0.025)!important;
  }
  .field input:focus,.field select:focus,textarea:focus {
    border-color:var(--compass-teal)!important;
    box-shadow:0 0 0 4px rgba(var(--c-teal-55-rgb), 0.1)!important;
  }
  .field input::placeholder { color:var(--c-sage-70)!important; opacity:1; }
  .rn-field-help,.toggle-hint,.qs-handoff-text { color:var(--compass-muted)!important; font-size:12px!important; line-height:1.55!important; }

  button,
  .qs-secondary-btn,
  .toggle-btn,
  .preset-btn,
  .rn-section-toggle {
    border-radius:10px!important;
    font-weight:650!important;
  }
  .preset-btn,
  .qs-secondary-btn,
  .rn-section-toggle,
  .runbtn:not(#runSimBtn),
  .qs-next-btn {
    border:1px solid var(--c-sage-90)!important;
    background:var(--c-gray-99)!important;
    color:var(--compass-teal-dark)!important;
    box-shadow:none!important;
  }
  .preset-btn:hover,
  .qs-secondary-btn:hover,
  .rn-section-toggle:hover,
  .runbtn:not(#runSimBtn):hover,
  .qs-next-btn:hover {
    border-color:var(--c-sage-85b)!important;
    background:var(--c-gray-95)!important;
    color:var(--compass-teal-dark)!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .toggle-row>.toggle-btn:not(.adv-check-card).active,
  button.toggle-btn.active,
  div.toggle-btn.active,
  .preset-btn.active {
    background:var(--c-gray-95)!important;
    border-color:var(--c-sage-85b)!important;
    color:var(--compass-teal-dark)!important;
  }
  #runSimBtn.runbtn,
  #qsPanel .qs-next-btn.runbtn {
    min-height:54px!important;
    border:0!important;
    border-radius:12px!important;
    background:var(--compass-teal)!important;
    color:var(--c-gray-99)!important;
    box-shadow:0 10px 22px rgba(var(--c-teal-55-rgb), 0.2)!important;
  }
  #runSimBtn.runbtn:hover, #qsPanel .qs-next-btn.runbtn:hover { background:var(--compass-teal-dark)!important; transform:translateY(-1px)!important; }
  /* Quick Start (2026-10-03): Back as tall as Continue, side by side. */
  #qsPanel .rn-guide-controls { align-items:stretch; }
  #qsPanel .rn-guide-controls .qs-secondary-btn { min-height:54px!important; margin:0!important; padding:0 18px!important; display:inline-flex; align-items:center; }
  #qsPanel .rn-guide-controls .qs-next-btn { margin:0!important; flex:1; }
  .qs-open-full-btn { border-color:var(--compass-line)!important; color:var(--compass-teal-dark)!important; background:var(--c-gray-99)!important; }

  #fundBody tr.grp-bond { --rowcolor:var(--c-blue-75)!important; }
  #fundBody tr.grp-us { --rowcolor:var(--c-blue-25)!important; }
  #fundBody tr.grp-foreign { --rowcolor:var(--c-amber-70)!important; }
  #fundBody tr.grp-em { --rowcolor:var(--c-pink-70)!important; }
  #fundBody tr.grp-alt { --rowcolor:var(--c-orange-75)!important; }
  #fundBody tr.grp-single { --rowcolor:var(--c-purple-55)!important; }

  .rn-settings-summary,
  .rn-input-check,
  .rn-year-guide,
  .rn-save-guide p,
  #financialAccuracyNote {
    background:var(--c-gray-99)!important;
    border-color:var(--compass-line)!important;
    border-radius:12px!important;
    color:var(--compass-muted)!important;
  }
  .rn-section-toggle {
    background:var(--compass-teal-soft)!important;
    border:0!important;
    color:var(--compass-teal-dark)!important;
  }

  #resultsPanel>.panel {
    background:var(--c-gray-95)!important;
    border-radius:20px!important;
    box-shadow:0 20px 48px rgba(var(--c-shadow-rgb), 0.13)!important;
  }
  #resultsPanel .dash-banner {
    background:var(--c-gray-99)!important;
    border:1px solid var(--compass-line)!important;
    border-left:5px solid var(--compass-green)!important;
    border-radius:16px!important;
    color:var(--compass-ink)!important;
    box-shadow:0 8px 24px rgba(var(--c-shadow-rgb), 0.065)!important;
  }
  #resultsPanel .dash-banner.ok { border-left-color:var(--compass-green)!important; }
  #resultsPanel .dash-banner.warn { border-left-color:var(--compass-gold)!important; }
  #resultsPanel .dash-banner.risk { border-left-color:var(--compass-danger)!important; }

  #resultsPanel #dashLowPoint { color:var(--c-blue-40)!important; }
  #resultsPanel #dashBadLuck { color:var(--c-red-55b)!important; }
  #resultsPanel #dashGoodLuck { color:var(--c-amber-70)!important; }
  #resultsPanel .dash-card:has(#dashLowPoint) .dash-card-iconwrap { background:var(--c-gray-95)!important; }
  #resultsPanel .dash-card:has(#dashLowPoint) .dash-card-iconwrap svg { stroke:var(--c-blue-40)!important; }
  #resultsPanel .dash-card:has(#dashBadLuck) .dash-card-iconwrap { background:var(--c-gray-95)!important; }
  #resultsPanel .dash-card:has(#dashBadLuck) .dash-card-iconwrap svg { stroke:var(--c-red-55b)!important; }
  #resultsPanel .dash-card:has(#dashGoodLuck) .dash-card-iconwrap { background:var(--c-sand-95b)!important; }
  #resultsPanel .dash-card:has(#dashGoodLuck) .dash-card-iconwrap svg { stroke:var(--c-amber-70)!important; }
  #resultsPanel .dash-card:has(#dashLowPoint) { border-top:3px solid var(--c-blue-40)!important; }
  #resultsPanel .dash-card:has(#dashBadLuck) { border-top:3px solid var(--c-red-55b)!important; }
  #resultsPanel .dash-card:has(#dashGoodLuck) { border-top:3px solid var(--c-amber-70)!important; }
  #resultsPanel .dash-card,
  #resultsPanel .plain-summary,
  #resultsPanel .fan-chart-shell,
  #resultsPanel .plan-diagnostic {
    background:rgba(var(--c-gray-99-rgb), 0.96)!important;
    border-color:var(--c-gray-90)!important;
    border-radius:14px!important;
    box-shadow:0 8px 21px rgba(var(--c-shadow-rgb), 0.055)!important;
  }
  #resultsPanel .dash-card-label { color:var(--compass-muted)!important; border-bottom-color:var(--compass-line)!important; }
  #resultsPanel .dash-card-value { color:var(--compass-ink)!important; }
  #resultsPanel .dash-card-iconwrap { background:var(--compass-teal-soft)!important; box-shadow:none!important; }
  #resultsPanel .dash-card-iconwrap svg { stroke:var(--compass-teal)!important; }

          #resultsPanel .plan-diagnostic {
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:22px!important;
    min-height:0!important;
    margin-top:14px!important;
    padding:18px 20px!important;
    border-left:4px solid var(--compass-teal)!important;
    box-shadow:0 5px 16px rgba(var(--c-shadow-rgb), 0.045)!important;
  }
  #resultsPanel .plan-diagnostic::before,
  #resultsPanel .plan-diagnostic::after { display:none!important; }
  #resultsPanel .plan-diagnostic .diagnostic-intro {
    flex:1 1 auto!important;
    align-items:center!important;
    margin:0!important;
  }
  #resultsPanel .plan-diagnostic .diagnostic-intro-icon {
    color:var(--compass-teal)!important;
    background:var(--compass-teal-soft)!important;
    border-color:var(--c-sage-90)!important;
    box-shadow:none!important;
  }
  #resultsPanel .plan-diagnostic .diagnostic-heading { color:var(--compass-ink)!important; }
    #resultsPanel .plan-diagnostic .diagnostic-subheading { color:var(--compass-muted)!important; }
  #resultsPanel .plan-diagnostic .diagnostic-btn {
    flex:0 0 330px!important;
    min-width:0!important;
    max-width:330px!important;
    background:var(--compass-teal)!important;
    border-color:var(--compass-teal-dark)!important;
    box-shadow:none!important;
  }
  #resultsPanel .plan-diagnostic .diagnostic-btn:hover {
    background:var(--compass-teal-dark)!important;
    box-shadow:0 7px 18px rgba(var(--c-teal-55-rgb), 0.16)!important;
  }
  #resultsPanel .plan-diagnostic .diagnostic-running,
  #resultsPanel .plan-diagnostic [id$="Results"] { flex:1 0 100%; }

  #section03Title {
    min-height:0!important;
    margin:0 0 20px!important;
    padding:8px 2px 16px!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid var(--compass-line)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #section03Title::after { display:none!important; }
  #section03Title h2 { color:var(--compass-ink)!important; font-size:25px!important; }
  #section03Title .section-icon-wrap {
    width:40px!important;
    height:40px!important;
    border:0!important;
    background:var(--compass-teal-soft)!important;
    box-shadow:none!important;
  }
  #section03Title .section-icon-wrap svg * { stroke:var(--compass-teal)!important; }
  #section03Title .num { border:0!important; background:var(--compass-teal-soft)!important; color:var(--compass-teal-dark)!important; }

  #expensePlannerCategories>.panel,
  .rn-expense-category { overflow:hidden; }
  #expensePlannerCategories>.panel>div:first-child,
  .rn-expense-category>summary {
    background:var(--c-gray-99)!important;
    border-color:var(--compass-line)!important;
  }
  #expensePlannerCategories [id^="expCatTotal_"] { color:var(--compass-teal-dark)!important; border-radius:8px!important; }

  #rothView .hero,#expensesView .hero,#cashflowView .hero {
    background:transparent!important;
  }

  #summaryReportContent {
    background:var(--compass-paper)!important;
    border-color:var(--compass-line)!important;
    border-radius:18px!important;
    box-shadow:0 20px 50px rgba(var(--c-shadow-rgb), 0.09)!important;
  }

  table { border-color:var(--compass-line)!important; }
  table thead th,#projTable thead th {
    background:var(--c-gray-95)!important;
    color:var(--compass-ink)!important;
    border-color:var(--compass-line)!important;
  }
  table tbody td { border-color:var(--compass-line)!important; }
  table tbody tr:nth-child(even) td,#projTable tbody tr:nth-child(even) td { background:var(--c-gray-99)!important; }

  #tooltipBubble {
    max-width:min(340px,calc(100vw - 24px))!important;
    padding:13px 15px!important;
    border:1px solid var(--c-sage-85)!important;
    border-radius:11px!important;
    background:var(--c-gray-99)!important;
    color:var(--compass-ink)!important;
    box-shadow:0 14px 36px rgba(var(--c-shadow-rgb), 0.16)!important;
    font-size:13px!important;
    line-height:1.55!important;
  }

  button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
    outline:3px solid rgba(var(--c-amber-75-rgb), 0.78)!important;
    outline-offset:3px!important;
  }

  #mobileMenuToggle { background:var(--compass-navy)!important; color:var(--c-gray-99)!important; border-radius:999px!important; box-shadow:0 10px 24px rgba(var(--c-shadow-rgb), 0.22)!important; }

  @media (max-width:1120px) {
    .global-nav { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
    .rn-website-link { grid-column:auto!important; }
  }

  @media (max-width:700px) {
    body { font-size:16px!important; padding-bottom:84px!important; }
    .wrap { width:100%!important; padding:0 14px 34px!important; }
    .site-header { min-height:66px!important; padding:10px 2px!important; }
    .site-header #siteLogoImg,.site-header .site-logo-link .site-logo { height:34px!important; }

    #mobileMenuToggle {
      position:fixed!important;
      right:14px!important;
      bottom:14px!important;
      z-index:1001!important;
      width:auto!important;
      min-width:112px!important;
      min-height:52px!important;
      padding:12px 18px!important;
    }
    .global-nav {
      display:none!important;
      position:fixed!important;
      inset:auto 10px 76px 10px!important;
      z-index:1000!important;
      max-height:min(72vh,600px)!important;
      overflow-y:auto!important;
      grid-template-columns:1fr!important;
      gap:5px!important;
      padding:10px!important;
      border-radius:17px!important;
      box-shadow:0 20px 55px rgba(var(--c-shadow-rgb), 0.26)!important;
    }
    #mainToolNavigation.mobile-menu-open { display:grid!important; }
        #resultsPanel .plan-diagnostic {
      display:block!important;
      padding:16px!important;
    }
    #resultsPanel .plan-diagnostic .diagnostic-intro { align-items:flex-start!important; margin-bottom:14px!important; }
    #resultsPanel .plan-diagnostic .diagnostic-btn { width:100%!important; max-width:none!important; }
    body .global-nav .global-tab,
    .rn-website-link {
      min-height:52px!important;
      padding:11px 14px!important;
      justify-content:flex-start!important;
      text-align:left!important;
      font-size:14px!important;
    }
    body .global-nav .global-tab.active,
    body .global-nav .global-tab[aria-current="page"] {
      background:var(--compass-teal)!important;
      box-shadow:none!important;
      transform:none;
    }
    #mainToolNavigation .global-tab[aria-current="page"] { box-shadow:none!important; }

    #modeSelector { margin:18px auto!important; padding:22px 16px!important; }
    #modeSelector>div:first-child>div:first-child { font-size:24px!important; }
    #modeSelector>div:nth-child(2) { grid-template-columns:1fr!important; gap:12px!important; }
        #modeIndicator { width:100%!important; border-radius:13px!important; flex-wrap:wrap!important; }

    .hero { padding:6px 0 15px!important; border-radius:0!important; }
    .hero :is(h1,.pg-h1) { font-size:25px!important; }
    .hero .hero-sub { font-size:12.5px!important; line-height:1.45!important; }
    .hero-capabilities { grid-template-columns:1fr 1fr!important; }

    .panel { padding:18px!important; border-radius:14px!important; }
    .section-title { margin-top:25px!important; padding:10px 1px!important; }
    .section-title h2 { font-size:21px!important; }
    .section-desc { font-size:15px!important; }
    .inputs-grid,.qs-inputs-grid { grid-template-columns:1fr!important; gap:14px!important; }
    .field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),.field select,textarea { font-size:16px!important; }

    #resultsPanel>.panel { padding:12px!important; }
    #resultsPanel .dash-grid { grid-template-columns:1fr 1fr!important; }
        #resultsPanel .dash-banner { padding:20px!important; }

                #summaryReportContent { border-radius:14px!important; box-shadow:none!important; }
  }

  @media (max-width:390px) {
    .wrap { padding-left:10px!important; padding-right:10px!important; }
    .hero-capabilities { grid-template-columns:1fr!important; }
    #resultsPanel .dash-grid { grid-template-columns:1fr!important; }
        #modeIndicator .qs-secondary-btn { flex:1 1 auto!important; justify-content:center!important; }
  }

  /* Desktop application shell: real navigation and live tool content. */
  @media (min-width:1001px) {
    body { padding:16px!important; }
    .wrap {
      width:100%!important;
      max-width:1800px!important;
      min-height:calc(100vh - 32px)!important;
      margin:0 auto!important;
      padding:0!important;
      display:grid!important;
      grid-template-columns:260px minmax(0,1fr)!important;
      grid-template-rows:84px minmax(calc(100vh - 116px),auto)!important;
      align-items:stretch!important;
      overflow:visible!important;
      border:1px solid var(--compass-line)!important;
      border-radius:20px!important;
      background:var(--compass-paper)!important;
      box-shadow:0 18px 55px rgba(var(--c-shadow-rgb), 0.09)!important;
    }
    .site-header {
      grid-column:1!important;
      grid-row:1!important;
      min-width:0!important;
      min-height:84px!important;
      margin:0!important;
      padding:18px 22px!important;
      border:0!important;
      border-right:1px solid var(--compass-line)!important;
      border-bottom:1px solid var(--compass-line)!important;
      border-radius:20px 0 0 0!important;
      background:var(--c-gray-99)!important;
    }
    .site-header .site-logo-link { width:100%!important; max-width:none!important; }
    .site-header #siteLogoImg,.site-header .site-logo-link .site-logo {
      width:100%!important;
      height:54px!important;
      max-width:205px!important;
      object-position:left center!important;
    }
    .compass-workspace-header {
      grid-column:2!important;
      grid-row:1!important;
      min-width:0;
      display:flex!important;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:0 34px;
      border-bottom:1px solid var(--compass-line);
      background:var(--c-gray-99);
      border-radius:0 20px 0 0;
    }
    .compass-workspace-header>div { display:flex; align-items:baseline; gap:14px; min-width:0; }
    .compass-workspace-header strong { color:var(--compass-ink); font-size:16px; white-space:nowrap; }
    .compass-workspace-header #compassWorkspaceSection { color:var(--compass-muted); font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .compass-workspace-status { color:var(--compass-muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }

    .global-nav {
      grid-column:1!important;
      grid-row:2!important;
      position:sticky!important;
      top:16px!important;
      z-index:40!important;
      align-self:start!important;
      width:100%!important;
      min-height:calc(100vh - 116px)!important;
      max-height:calc(100vh - 32px)!important;
      margin:0!important;
      padding:26px 18px 22px!important;
      display:flex!important;
      flex-direction:column!important;
      align-items:stretch!important;
      gap:7px!important;
      overflow-y:auto!important;
      border:0!important;
      border-right:1px solid var(--compass-line)!important;
      border-radius:0 0 0 20px!important;
      background:var(--c-gray-99)!important;
      box-shadow:none!important;
      backdrop-filter:none!important;
    }
    .global-nav::before {
      content:"Your workspace";
      display:block;
      margin:0 10px 8px;
      color:var(--compass-muted);
      font-size:10px;
      font-weight:800;
      letter-spacing:.18em;
      text-transform:uppercase;
    }
    .global-tab,.rn-website-link {
      width:100%!important;
      min-height:48px!important;
      padding:11px 12px!important;
      justify-content:flex-start!important;
      text-align:left!important;
      font-size:13px!important;
    }
    .global-tab-num { display:none!important; }
    .global-tab svg { flex:0 0 18px!important; width:18px!important; height:18px!important; }
    .rn-website-link { margin-top:8px!important; border-top:1px solid var(--compass-line)!important; border-radius:0!important; }
    .compass-side-note {
      display:grid;
      gap:11px;
      margin-top:auto;
      padding:17px;
      border:1px solid var(--c-sage-90);
      border-radius:13px;
      background:var(--compass-teal-soft);
      color:var(--compass-ink);
    }
    .compass-side-note strong { font-size:13px; line-height:1.4; }
    .compass-side-note span { color:var(--compass-muted); font-size:12px; line-height:1.5; }

    #toolView:not([style*="display: none"]),
    #toolView[style*="display: block"] {
      display:grid!important;
      grid-template-columns:minmax(0,1fr) 286px!important;
      gap:22px!important;
      align-items:start!important;
    }
    #toolView,
    #resultsView,
    #expensesView,
    #rothView,
    #cashflowView,
    #summaryView,
    #helpView {
      grid-column:2!important;
      grid-row:2!important;
      min-width:0!important;
      margin:0!important;
      padding:32px 34px 54px!important;
      background:var(--compass-canvas)!important;
      border-radius:0 0 20px 0!important;
    }
    .compass-main-flow { min-width:0; }
    .compass-plan-glance { min-width:0; position:sticky; top:30px; display:grid; gap:16px; }
    .compass-glance-card {
      padding:22px;
      border:1px solid var(--compass-line);
      border-radius:15px;
      background:var(--c-gray-99);
      box-shadow:var(--compass-shadow);
    }
    .compass-glance-eyebrow {
      margin-bottom:15px;
      color:var(--compass-muted);
      font-size:10px;
      font-weight:800;
      letter-spacing:.17em;
      text-transform:uppercase;
    }
    .compass-glance-balance { color:var(--compass-ink); font-size:32px; font-weight:750; letter-spacing:-1px; line-height:1.1; }
    .compass-glance-caption { margin:5px 0 10px; color:var(--compass-muted); font-size:12px; }
    .compass-glance-card dl { margin:0; }
    .compass-glance-card dl>div { display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--compass-line); }
    .compass-glance-card dt { color:var(--compass-muted); font-size:12px; }
    .compass-glance-card dd { margin:0; color:var(--compass-ink); font-size:12px; font-weight:750; text-align:right; }
    .compass-mix-track { height:8px; margin-top:17px; overflow:hidden; border-radius:999px; background:var(--c-sage-80); }
    .compass-mix-track span { display:block; width:0; height:100%; background:var(--compass-teal); transition:width .2s ease; }
    .compass-mix-label { display:flex; justify-content:space-between; gap:10px; margin-top:8px; color:var(--compass-muted); font-size:11px; }
    .compass-glance-icon { width:40px; height:40px; display:grid; place-items:center; margin-bottom:15px; border-radius:11px; background:var(--compass-teal-soft); color:var(--compass-teal); }
    .compass-glance-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; }
    .compass-glance-help strong { display:block; font-size:15px; }
    .compass-glance-help p { margin:8px 0 0; color:var(--compass-muted); font-size:12px; line-height:1.55; }
  }

  @media (max-width:1650px) and (min-width:1001px) {
    .wrap { grid-template-columns:220px minmax(0,1fr)!important; }
    #toolView:not([style*="display: none"]),#toolView[style*="display: block"] { grid-template-columns:minmax(0,1fr)!important; }
    .compass-plan-glance { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; } /* the short card keeps its height (2026-10-12) */
    .compass-glance-help { align-self:stretch; }
    .site-header #siteLogoImg,.site-header .site-logo-link .site-logo { max-width:192px!important; }
  }

  /* Four-step setup path from the refreshed Compass mockup. */
  .compass-plan-steps {
    display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0;
    margin:0 0 24px; padding:10px 14px;
    border:1px solid var(--compass-line); border-radius:15px;
    background:var(--c-gray-99); box-shadow:0 5px 18px rgba(var(--c-shadow-rgb), 0.04);
  }
  .compass-plan-step {
    position:relative; min-width:0; min-height:48px; display:flex; align-items:center; gap:10px;
    padding:7px 24px 7px 8px; border:0!important; background:transparent!important;
    color:var(--c-slate-55)!important; box-shadow:none!important;
    font:700 13px/1.25 'Compass Display',sans-serif; text-align:left; cursor:pointer;
  }
  .compass-plan-step::after {
    content:""; position:absolute; left:calc(50% + 42px); right:14px; top:50%;
    height:1px; background:var(--c-gray-90);
  }
  .compass-plan-step:last-child::after { display:none; }
  .compass-step-number {
    position:relative; z-index:1; flex:0 0 34px; width:34px; height:34px;
    display:grid; place-items:center; border:1px solid var(--c-gray-90); border-radius:50%;
    background:var(--c-gray-95); color:var(--c-sage-35); font:700 13px/1 'Compass Display',sans-serif;
    transition:.18s ease;
  }
  .compass-plan-step.is-active { color:var(--compass-ink)!important; }
  .compass-plan-step.is-active .compass-step-number {
    border-color:var(--compass-teal); background:var(--compass-teal); color:var(--c-gray-99);
    box-shadow:0 0 0 5px var(--c-gray-95);
  }
  .compass-plan-step.is-complete { color:var(--compass-ink)!important; }
  .compass-plan-step.is-complete .compass-step-number {
    border-color:var(--c-sage-85b); background:var(--c-sage-95); color:var(--compass-teal-dark);
  }
  .compass-plan-step:focus-visible { outline:3px solid var(--c-sage-85b)!important; outline-offset:2px; }

  /* Selected options use a stronger tint and dark copy for clear contrast. */
  .adv-check-card {
    border-color:var(--c-gray-90)!important; background:var(--c-gray-99)!important; color:var(--c-slate-50b)!important;
    transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
  }
  .adv-check-card:hover { border-color:var(--c-sage-80b)!important; background:var(--c-gray-95)!important; transform:translateY(-1px); }
  .adv-check-card.active {
    border-color:var(--c-teal-75)!important; background:var(--c-sage-85b)!important; color:var(--c-sage-35)!important;
    box-shadow:0 7px 18px rgba(var(--c-shadow-rgb), 0.11)!important;
  }
  .adv-check-card.active>div { color:var(--c-sage-35)!important; opacity:1!important; }

  /* Keep portfolio controls usable while the desktop shell narrows. */
  @media (min-width:1001px) and (max-width:1400px) {
    #fundTable.portfolio-details-hidden td[data-label="Allocation %"] { padding-left:9px!important; padding-right:9px!important; }
    #fundTable.portfolio-details-hidden td[data-label="Allocation %"]>.allocation-control {
      grid-template-columns:38px minmax(70px,1fr) 38px 78px!important;
      gap:6px!important;
    }
    #fundTable.portfolio-details-hidden td[data-label="Allocation %"] button,
    #fundTable.portfolio-details-hidden td[data-label="Allocation %"] .alloc-step-btn,
    #fundTable.portfolio-details-hidden td[data-label="Allocation %"] .desktop-alloc-step {
      width:38px!important;
      height:38px!important;
      min-width:38px!important;
      min-height:38px!important;
      font-size:22px!important;
    }
    #fundTable.portfolio-details-hidden td[data-label="Allocation %"] input[type="number"] {
      width:78px!important;
      min-width:78px!important;
      max-width:78px!important;
      height:38px!important;
      padding:0 6px!important;
    }

    #savedPortfoliosTable { overflow:visible!important; border:0!important; box-shadow:none!important; background:transparent!important; }
    #portfoliosTable,#portfoliosTable tbody { display:block!important; width:100%!important; }
    #portfoliosTable thead { display:none!important; }
    #portfoliosTable tbody tr {
      display:grid!important;
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:0 20px!important;
      width:100%!important;
      margin-bottom:12px!important;
      padding:14px 16px!important;
      border:1px solid var(--compass-line)!important;
      border-radius:13px!important;
      background:var(--c-gray-99)!important;
      box-shadow:0 5px 16px rgba(var(--c-shadow-rgb), 0.045)!important;
    }
    #portfoliosTable tbody td {
      display:flex!important;
      align-items:center!important;
      justify-content:space-between!important;
      gap:14px!important;
      width:100%!important;
      height:auto!important;
      min-width:0!important;
      padding:9px 0!important;
      border:0!important;
      border-bottom:1px solid var(--compass-line)!important;
      text-align:right!important;
    }
    #portfoliosTable tbody td::before {
      content:attr(data-label);
      flex:0 0 auto;
      color:var(--compass-muted);
      font-size:10px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    #portfoliosTable tbody td[data-label="Name"],
    #portfoliosTable tbody td[data-label="Actions"] { grid-column:1/-1!important; }
    #portfoliosTable tbody td[data-label="Actions"] { justify-content:flex-end!important; border-bottom:0!important; }
    #portfoliosTable tbody td[data-label="Actions"]::before { margin-right:auto; }
    #portfoliosTable tbody input,#portfoliosTable tbody select { width:min(260px,65%)!important; min-width:0!important; }
  }

  @media (max-width:1000px) {
    .compass-workspace-header { display:none!important; }
    .compass-side-note { display:none!important; }
    .compass-plan-glance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:20px; align-items:start; }
    .compass-glance-card { padding:18px; border:1px solid var(--compass-line); border-radius:14px; background:var(--c-gray-99); }
    .compass-glance-eyebrow { margin-bottom:10px; color:var(--compass-muted); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
    .compass-glance-balance { font-size:28px; font-weight:750; }
    .compass-glance-caption,.compass-glance-card dt,.compass-glance-card dd,.compass-mix-label,.compass-glance-help p { font-size:12px; }
    .compass-glance-card dl>div { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--compass-line); }
    .compass-glance-card dd { margin:0; font-weight:700; }
    .compass-mix-track { height:8px; margin-top:14px; border-radius:999px; background:var(--c-sage-80); overflow:hidden; }
    .compass-mix-track span { display:block; height:100%; background:var(--compass-teal); }
    .compass-mix-label { display:flex; justify-content:space-between; margin-top:7px; color:var(--compass-muted); }
    .compass-glance-icon { width:38px; height:38px; display:grid; place-items:center; margin-bottom:12px; border-radius:10px; background:var(--compass-teal-soft); color:var(--compass-teal); }
    .compass-glance-icon svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
    .compass-glance-help strong { display:block; }
    .compass-glance-help p { color:var(--compass-muted); }
    .compass-plan-steps { overflow-x:auto; grid-template-columns:repeat(7,minmax(150px,1fr)); padding:8px 10px; scrollbar-width:thin; }
  }

  @media (max-width:560px) {
    .compass-plan-glance { grid-template-columns:1fr; }
    .compass-plan-steps { margin-left:-4px; margin-right:-4px; }
    .compass-plan-step { min-height:44px; padding-right:18px; font-size:12px; }
    .compass-step-number { flex-basis:30px; width:30px; height:30px; }
  }

  /* Final secondary-action tone: reserve the saturated treatment for the main simulation CTA. */
  .expand-btn,
  .detail-toggle-btn,
  #resultsPanel .year-projection-toggle,
  #resultsPanel .plan-diagnostic .diagnostic-btn {
    border:1px solid var(--c-sage-90)!important;
    background:var(--c-gray-99)!important;
    color:var(--compass-teal-dark)!important;
    box-shadow:none!important;
  }
  .expand-btn:hover,
  .detail-toggle-btn:hover,
  #resultsPanel .year-projection-toggle:hover,
  #resultsPanel .plan-diagnostic .diagnostic-btn:hover {
    border-color:var(--c-sage-85b)!important;
    background:var(--c-gray-95)!important;
    color:var(--compass-teal-dark)!important;
    box-shadow:none!important;
    transform:none!important;
  }
  #resultsPanel .plan-diagnostic .diagnostic-btn-icon {
    border-color:var(--c-sage-90)!important;
    background:var(--c-gray-99)!important;
    color:var(--compass-teal)!important;
  }
  #resultsPanel .plan-diagnostic .diagnostic-btn-copy small,
  #resultsPanel .plan-diagnostic .diagnostic-btn-arrow { color:var(--compass-muted)!important; }

  .mobile-plan-tools-toggle,
  .mobile-portfolio-options-toggle,
  .mobile-switch-copy { display:none!important; }

  /* Mobile task flow: reveal primary work first and place utilities behind disclosures. */
  @media (max-width:700px) {
    body {
      padding-bottom:106px!important;
      background:var(--c-gray-99)!important;
    }
    .wrap { padding:0 12px 38px!important; }
    #toolView { padding-bottom:18px!important; }

    .hero {
      margin-bottom:14px!important;
      padding:10px 0 12px!important;
      border-bottom:1px solid var(--compass-line)!important;
    }
    .hero-product-brand { display:none!important; }
        .hero :is(h1,.pg-h1) { margin:0!important; font-size:21px!important; line-height:1.18!important; }
    .hero-capabilities { display:none!important; }

    .mobile-plan-tools-toggle {
      width:100%; min-height:46px; display:flex!important; align-items:center; justify-content:space-between;
      margin:12px 0 0; padding:10px 13px;
      border:1px solid var(--c-sage-90)!important; border-radius:12px!important;
      background:var(--c-gray-99)!important; color:var(--compass-teal-dark)!important;
      box-shadow:none!important; font:700 14px/1.2 'Compass Display',sans-serif;
    }
    .mobile-plan-tools-toggle span,
    .mobile-portfolio-options-toggle span {
      width:26px; height:26px; display:grid; place-items:center; flex:0 0 26px;
      border-radius:50%; background:var(--compass-teal-soft); color:var(--compass-teal-dark);
      font-size:18px; line-height:1;
    }
    .hero .plan-admin-fields,
    .hero .plan-admin-actions { display:none!important; }
    .hero.mobile-tools-open .plan-admin-fields { display:grid!important; margin-top:12px!important; gap:10px!important; }
    .hero.mobile-tools-open .plan-admin-actions { display:grid!important; grid-template-columns:1fr 1fr; gap:9px!important; margin-top:10px!important; }
    .hero.mobile-tools-open .plan-admin-actions .preset-btn {
      width:100%!important; min-width:0!important; min-height:44px!important;
      justify-content:center!important; padding:9px 10px!important; text-align:center!important;
      font-size:12px!important; line-height:1.25!important;
    }
    .hero.mobile-tools-open #autosaveIndicator { grid-column:1/-1; color:var(--compass-muted)!important; opacity:1!important; }
    .hero.mobile-tools-open #clearSavedDataBtn,
    .hero.mobile-tools-open #startFreshBtn { font-size:12px!important; }

    #tocPanel { display:none!important; }
    .compass-plan-steps {
      position:sticky; top:8px; z-index:40;
      width:100%; overflow:visible!important;
      grid-template-columns:repeat(7,minmax(0,1fr))!important;
      margin:0 0 16px!important; padding:7px 5px!important;
      border-radius:13px!important;
      box-shadow:0 7px 20px rgba(var(--c-shadow-rgb), 0.08)!important;
    }
    .compass-plan-step {
      min-width:0!important; min-height:52px!important; flex-direction:column!important;
      justify-content:center!important; gap:4px!important; padding:3px!important;
      font-size:9px!important; line-height:1.05!important; text-align:center!important;
    }
    .compass-plan-step::after { left:68%!important; right:-32%!important; top:20px!important; }
    .compass-step-number {
      flex:0 0 28px!important; width:28px!important; height:28px!important;
      font-size:11px!important;
    }
    .compass-plan-step.is-active .compass-step-number { box-shadow:0 0 0 3px var(--c-gray-95)!important; }

    .section-title {
      gap:9px!important; margin-top:18px!important; padding:8px 0!important;
      border-bottom:1px solid var(--compass-line)!important;
    }
    .section-title>div:first-child,
    .section-icon-wrap { width:36px!important; height:36px!important; }
    .section-title h2 { font-size:20px!important; line-height:1.15!important; }
    .section-title .num { margin-right:6px!important; padding:6px 8px!important; font-size:11px!important; }
    .section-desc { margin:9px 0 13px!important; font-size:13px!important; line-height:1.45!important; }

    .panel {
      margin-bottom:14px!important; padding:14px!important;
      border-radius:13px!important; box-shadow:0 4px 14px rgba(var(--c-shadow-rgb), 0.045)!important;
    }
    .field { margin-bottom:0!important; }
    .field label { margin-bottom:6px!important; font-size:13px!important; line-height:1.3!important; }
    .field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    .field select,
    textarea {
      min-height:48px!important; padding:10px 12px!important;
      border-radius:11px!important; font-size:16px!important;
    }
    .inputs-grid,.qs-inputs-grid { gap:11px!important; }
    .rn-field-help { margin-top:5px!important; font-size:11px!important; line-height:1.4!important; }
    .senior-details { margin:8px 0 12px!important; }
    .senior-details summary { padding:8px 5px!important; font-size:13px!important; }
    .senior-details-body { padding:11px!important; font-size:12px!important; line-height:1.5!important; }
    #addFundFormBlock>.section-desc { display:none!important; }
    #addFundFormBlock>.senior-details { margin-top:0!important; }

    .allocation-overview-row { display:grid!important; grid-template-columns:1fr auto!important; gap:12px!important; margin-top:15px!important; }
    .legend-card { padding:10px!important; gap:7px 12px!important; font-size:11px!important; }
    #allocPieWrap svg { width:68px!important; height:68px!important; }

    .simple-detail-bar { display:block!important; padding:12px!important; }
    .simple-detail-bar>div:first-child { margin-bottom:9px!important; }
    .simple-detail-bar>div:first-child span { display:none!important; }
    .mobile-portfolio-options-toggle {
      width:100%; min-height:42px; display:flex!important; align-items:center; justify-content:space-between;
      padding:8px 10px; border:1px solid var(--c-sage-90)!important; border-radius:10px!important;
      background:var(--c-gray-99)!important; color:var(--compass-teal-dark)!important;
      box-shadow:none!important; font-weight:700;
    }
    .portfolio-secondary-actions { display:none!important; }
    .simple-detail-bar.mobile-options-open .portfolio-secondary-actions {
      display:grid!important; grid-template-columns:1fr!important; gap:8px!important; margin-top:9px!important;
    }
    .simple-detail-bar.mobile-options-open .portfolio-secondary-actions>button {
      width:100%!important; min-width:0!important; min-height:42px!important;
      justify-content:center!important; padding:8px 10px!important; font-size:12px!important;
    }

    #fundTableContainer { border-color:var(--c-sage-85)!important; border-radius:12px!important; }
    #fundTable tbody tr { border-color:var(--c-sage-85)!important; box-shadow:none!important; }
    #savedPortfoliosTable { border:0!important; box-shadow:none!important; background:transparent!important; }
    #portfoliosTable tbody tr { box-shadow:none!important; }

    #mobileMenuToggle {
      right:12px!important; bottom:max(12px,env(safe-area-inset-bottom))!important;
      min-height:48px!important; padding:10px 15px!important; font-size:13px!important;
    }
    .global-nav { inset:auto 8px 72px 8px!important; }

    /* Stronger mobile actions: readable teal controls without competing with Run Simulation. */
    #toolView .preset-btn:not(.active),
    #toolView .detail-toggle-btn,
    #toolView .expand-btn,
    #toolView .mobile-plan-tools-toggle,
    #toolView .mobile-portfolio-options-toggle,
    #toolView .portfolio-quick-switch,
    #toolView .simple-detail-bar .preset-btn {
      border-color:var(--c-teal-65)!important;
      background:var(--c-sage-80b)!important;
      color:var(--c-sage-35)!important;
      box-shadow:none!important;
    }
    #toolView .preset-btn:not(.active):hover,
    #toolView .detail-toggle-btn:hover,
    #toolView .expand-btn:hover,
    #toolView .mobile-plan-tools-toggle:hover,
    #toolView .mobile-portfolio-options-toggle:hover,
    #toolView .portfolio-quick-switch:hover {
      border-color:var(--c-teal-60)!important;
      background:var(--c-sage-75b)!important;
      color:var(--c-sage-30)!important;
    }
    #toolView .preset-btn svg,
    #toolView .detail-toggle-btn svg,
    #toolView .expand-btn svg { stroke:var(--c-sage-35)!important; }
    #toolView #runSimBtn {
      background:var(--compass-teal)!important;
      border-color:var(--compass-teal)!important;
      color:var(--c-gray-99)!important;
    }
    #toolView #runSimBtn svg { stroke:var(--c-gray-99)!important; }
  }

  @media (max-width:430px) {
    .wrap { padding-left:9px!important; padding-right:9px!important; }
    .hero.mobile-tools-open .plan-admin-actions { grid-template-columns:1fr!important; }
    .allocation-overview-row { grid-template-columns:1fr!important; }
    #allocPieWrap { justify-self:center; }
    .legend-card { justify-content:center!important; }
    .compass-plan-step span:last-child { max-width:72px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .section-title h2 { font-size:19px!important; }
  }

  @media print {
    body { background:var(--c-gray-99)!important; font-size:11pt!important; padding:0!important; }
    .site-header,.global-nav,#mobileMenuToggle,.rn-summary-jumps,.compass-workspace-header,.compass-plan-glance { display:none!important; }
    .wrap { max-width:none!important; padding:0!important; }
    #summaryReportContent { border:0!important; box-shadow:none!important; border-radius:0!important; }
    .panel,.dash-card,.plain-summary { box-shadow:none!important; }
  }
}
