.rcalc {
      --ink: #16211d;
      --muted: #5d6b65;
      --line: #d8e0dc;
      --panel: #f7faf8;
      --accent: #0f766e;
      --accent-dark: #0b4f49;
      --accent-2: #b45309;
      --good: #15803d;
      --warn: #b45309;
      --shortfall: #ff0000;
      --type-normal: 1rem;
      --type-supporting: 0.95rem;
      --type-compact: 0.9rem;
      --type-kicker: 0.82rem;
      color: var(--ink);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      max-width: 1120px;
      margin: 0 auto;
      padding: 20px;
      background: linear-gradient(135deg, #ffffff 0%, #f8fbfa 100%);
      border: 1px solid #bdd0ca;
      border-radius: 8px;
      box-sizing: border-box;
    }

    .rcalc * {
      box-sizing: border-box;
    }

    .rcalc h2,
    .rcalc h3 {
      margin: 0;
      letter-spacing: 0;
      line-height: 1.2;
    }

    .rcalc h2 {
      color: var(--ink);
      font-size: clamp(1.35rem, 2.2vw, 1.85rem);
      font-weight: 850;
      line-height: 1.15;
    }

    .rcalc h3 {
      font-size: 1rem;
    }

    .rcalc p {
      margin: 0;
      color: var(--muted);
      line-height: 1.5;
    }

    .rcalc__header {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: flex-start;
      margin-bottom: 14px;
      padding: 6px 4px 10px;
      border-bottom: 1px solid rgba(13, 78, 72, 0.12);
    }

    .rcalc__header p {
      max-width: 780px;
      margin-top: 8px;
      font-size: var(--type-normal);
    }

    .rcalc__eyebrow {
      margin: 0 0 8px;
      color: var(--accent-2);
      font-size: var(--type-kicker);
      font-weight: 850;
      letter-spacing: 0.08em;
      line-height: 1;
      text-transform: uppercase;
    }

    .rcalc__badge {
      flex: 0 0 auto;
      padding: 7px 12px;
      border: 1px solid #d8c7f0;
      border-radius: 999px;
      color: #4b3295;
      font-size: var(--type-compact);
      font-weight: 850;
      background: #fff;
      white-space: nowrap;
      text-transform: uppercase;
    }

    .rcalc__grid {
      display: block;
    }

    .rcalc__area + .rcalc__area {
      margin-top: 22px;
    }

    .rcalc__area-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
      padding: 14px 0 8px;
      border-bottom: 1px solid var(--line);
      margin-bottom: 14px;
    }

    .rcalc__area-head h3 {
      font-size: 1.18rem;
    }

    .rcalc__area-head p {
      margin-top: 6px;
      max-width: 780px;
      font-size: var(--type-supporting);
    }



.rcalc__context-note {
  margin: 0 0 18px;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
  border-left: 3px solid var(--accent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--panel) 74%, #fff);
  color: var(--muted);
  font-size: var(--type-supporting);
  line-height: 1.5;
}

.rcalc__context-note strong {
  color: var(--accent);
  font-weight: 800;
}

.rcalc__context-note--clarity {
  margin-top: -4px;
  margin-bottom: 16px;
  background: #f2f9f7;
}

.rcalc__section {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 14px;
      background: #fff;
    }

    .rcalc__step-panel {
      --step-panel-accent: var(--accent);
      box-shadow: inset 5px 0 0 var(--step-panel-accent);
      padding-left: 20px;
    }

    .rcalc__section + .rcalc__section {
      margin-top: 14px;
    }

    .rcalc__section--profile {
      --step-panel-accent: #6d4aa2;
      background: #f8fbff;
      border-color: #cfe1f4;
    }

    .rcalc__section--savings {
      --step-panel-accent: #b7791f;
      background: #f8fcf7;
      border-color: #d1e7cc;
    }

    .rcalc__section--benefits {
      --step-panel-accent: #b91c1c;
      background: #fffaf2;
      border-color: #ead8b7;
    }

    .rcalc__section--assumptions {
      --step-panel-accent: #6d4aa2;
      background: #fbf8ff;
      border-color: #ddcff0;
    }

    .rcalc__section--assets {
      --step-panel-accent: #b7791f;
      background: #f7fbfa;
      border-color: #cde5df;
    }

    .rcalc__section-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      margin-bottom: 14px;
    }

    .rcalc__section-head--sub {
      margin-top: 14px;
      margin-bottom: 0;
    }


.rcalc__stepper {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  margin: 0 0 14px;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfa;
  overflow: hidden;
}

.rcalc__sample-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px;
}

.rcalc__step-tab {
  --step-color: var(--accent);
  --step-tint: #f2f9f7;
  flex: 1 1 0;
  min-width: 0;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 8px 8px 4px 4px;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 650;
  padding: 8px 10px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rcalc__step-tab[data-rgs-pillar="cash-flow"] {
  --step-color: #b91c1c;
  --step-tint: #fff1f1;
}

.rcalc__step-tab[data-rgs-pillar="assets"] {
  --step-color: #b7791f;
  --step-tint: #fff8df;
}

.rcalc__step-tab[data-rgs-pillar="you"] {
  --step-color: #6d4aa2;
  --step-tint: #f7f2ff;
}

.rcalc__scenario-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rcalc__scenario-option {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: var(--type-supporting);
  line-height: 1.45;
}

.rcalc__scenario-option-check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  color: var(--muted);
}

.rcalc__scenario-option-check input {
  margin-top: 3px;
}

.rcalc__scenario-option strong {
    display: block;
    margin-bottom: 3px;
    color: var(--accent-dark);
    font-weight: 820;
  }

  .rcalc__scenario-assumption {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    color: var(--accent-dark);
    font-size: var(--type-compact);
    font-weight: 750;
  }

  .rcalc__scenario-assumption input {
    margin-top: 0;
  }

  .rcalc__scenario-assumption-note {
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: var(--type-supporting);
  }

  .rcalc__scenario-warning {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid #d9a441;
    border-left: 4px solid #a16207;
    border-radius: 6px;
    background: #fff7e6;
    color: #5f4207;
    font-weight: 650;
  }

  .rcalc__scenario-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
  }

  .rcalc__scenario-card {
    border: 1px solid var(--line);
    border-left: 4px solid var(--accent);
    border-radius: 8px;
    padding: 12px 13px;
    background: #f8fbfa;
  }

  .rcalc__scenario-card.is-good {
    border-left-color: #15803d;
    background: #f0f8f2;
  }

  .rcalc__scenario-card.is-shortfall {
    border-left-color: var(--shortfall-red, #ff0000);
    background: #fff5f5;
  }

  .rcalc__scenario-card-kicker {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font-size: var(--type-kicker);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .rcalc__scenario-card h4 {
    margin: 0 0 5px;
    color: var(--accent-dark);
    font-size: 1rem;
  }

  .rcalc__scenario-card > strong {
    display: block;
    margin-bottom: 6px;
    color: var(--ink);
    font-size: 1.02rem;
  }

  .rcalc__scenario-card.is-shortfall > strong {
    color: var(--shortfall-red, #ff0000);
  }

  .rcalc__scenario-card.is-selected {
    box-shadow: inset 0 0 0 2px rgba(15, 118, 110, 0.24);
  }

  .rcalc__scenario-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
  }

  .rcalc__scenario-change-label,
  .rcalc__scenario-table-scenario {
    font-weight: 800;
  }

  .rcalc__scenario-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
  }

  .rcalc__scenario-card dt {
    color: var(--muted);
    font-size: var(--type-compact);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  .rcalc__scenario-card dd {
    margin: 2px 0 0;
    color: var(--ink);
    font-weight: 800;
  }

.rcalc__step-tab span {
  display: block;
  margin-bottom: 2px;
  color: var(--step-color);
  font-size: var(--type-kicker);
  font-weight: 750;
  letter-spacing: 0.04em;
}

.rcalc__step-tab:hover,
.rcalc__step-tab:focus-visible {
  border-color: color-mix(in srgb, var(--step-color) 36%, var(--line));
  color: var(--step-color);
  outline: none;
}

.rcalc__step-tab.is-active {
  flex-grow: 1.25;
  border-color: var(--step-color);
  background: var(--step-tint);
  color: var(--ink);
  font-weight: 650;
  box-shadow: inset 0 4px 0 var(--step-color);
}

  .rcalc__step-panel[hidden] {
    display: none !important;
  }

.rcalc__step-controls {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}

.rcalc__step-controls .rcalc__btn {
  min-width: 116px;
}

.rcalc__step-position {
  color: var(--muted);
  font-size: var(--type-supporting);
  font-weight: 800;
  text-align: center;
}

.rcalc__area--inputs:not(.is-final-step) .rcalc__actions {
  display: none;
}

.rcalc__area--inputs.is-final-step .rcalc__actions {
  display: flex;
}
    .rcalc__fields {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .rcalc label {
      display: grid;
      gap: 6px;
      color: var(--muted);
      font-size: var(--type-supporting);
      font-weight: 650;
    }
    .rcalc__field-groups {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .rcalc__section--profile .rcalc__field-groups,
    .rcalc__section--savings .rcalc__field-groups {
      grid-template-columns: 1fr;
    }

    .rcalc__field-group {
      display: grid;
      gap: 13px;
      min-width: 0;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 14px;
    }

    .rcalc__field-group h4 {
      margin: 0;
      color: var(--ink);
      font-size: 1.05rem;
    }

    .rcalc__field-group p {
      margin: 0;
      color: var(--muted);
      font-size: var(--type-supporting);
      line-height: 1.45;
    }

    .rcalc__field-group-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(92px, 0.8fr));
      gap: 14px 12px;
      align-items: end;
    }

    .rcalc__field-group-grid--two {
      grid-template-columns: minmax(0, 1.2fr) minmax(92px, 0.8fr);
    }

    .rcalc__field-group-grid--four {
      grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    }

    .rcalc__section--profile .rcalc__field-group-grid,
    .rcalc__section--savings .rcalc__field-group-grid--account,
    .rcalc__section--savings .rcalc__field-group-grid--dc {
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), 1fr));
    }

    .rcalc__section--savings .rcalc__field-group-grid--two {
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    }

    .rcalc__field-group--wide {
      grid-column: 1 / -1;
    }

    .rcalc__balance-snapshot {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 10px;
    }

    .rcalc__balance-snapshot div {
      display: grid;
      gap: 4px;
      min-width: 0;
      border: 1px solid rgba(17, 79, 73, 0.12);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.72);
      padding: 10px;
    }

    .rcalc__balance-snapshot span {
      color: var(--muted);
      font-size: var(--type-compact);
    }

    .rcalc__balance-snapshot strong {
      color: var(--accent-dark);
      font-size: 1rem;
      text-align: right;
    }

    .rcalc__field-group--profile-timeline {
      background: #f8fbfe;
      border-color: #cfe1f4;
    }


    .rcalc__field-group-grid--cpp {
      grid-template-columns: minmax(140px, 1fr) repeat(3, minmax(110px, 1fr));
    }
    .rcalc__section--benefits .rcalc__field-groups {
      grid-template-columns: 1fr;
    }

    .rcalc__field-group-grid--cpp,
    .rcalc__field-group-grid--oas {
      grid-template-columns: repeat(2, minmax(180px, 1fr));
      align-items: end;
    }

    .rcalc__field-group-grid--cpp .rcalc__readonly-line,
    .rcalc__field-group-grid--oas .rcalc__readonly-line {
      grid-column: 1 / -1;
    }

    .rcalc__field-note {
      grid-column: 1 / -1;
      margin: 2px 0 0;
      color: var(--muted);
      font-size: var(--type-supporting);
      line-height: 1.4;
    }
    .rcalc__field-group--profile-context {
      background: #f7fbfa;
      border-color: #cde5df;
    }

    .rcalc__field-group--current-assets {
      background: #f2f9f9;
      border-color: #cce5e2;
    }

    .rcalc__field-group--cpp {
      background: #f8fcf7;
      border-color: #d1e7cc;
    }

    .rcalc__field-group--oas {
      background: #fffaf2;
      border-color: #ead8b7;
    }

    .rcalc__field-group--db-pension {
      background: #fbf8ff;
      border-color: #ddcff0;
    }

    .rcalc__field-group--tfsa {
      background: #f7fbfa;
      border-color: #cde5df;
    }

    .rcalc__field-group--rrsp {
      background: #f8fbfe;
      border-color: #cfe1f4;
    }

    .rcalc__field-group--other-savings {
      background: #fffaf2;
      border-color: #ead8b7;
    }

    .rcalc__field-group--windfall {
      background: #fbf8ff;
      border-color: #ddcff0;
    }

    .rcalc input,
    .rcalc select {
      width: 100%;
      min-height: 40px;
      border: 1px solid var(--line);
      border-radius: 6px;
      color: var(--ink);
      background: #fff;
      padding: 8px 10px;
      font: inherit;
    }

.rcalc input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.rcalc input[type="number"]::-webkit-outer-spin-button,
.rcalc input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.rcalc input[inputmode="decimal"],
.rcalc input[inputmode="numeric"] {
  text-align: right;
  padding-right: 18px;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.2;
}

.rcalc__input-suffix input {
  padding-right: 48px;
}

.rcalc__money-field {
  position: relative;
  display: block;
}

.rcalc__money-field::before {
  content: "$";
  position: absolute;
  left: 12px;
  bottom: 10px;
  color: var(--muted);
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.2;
  pointer-events: none;
}

.rcalc__money-field input {
  padding-left: 32px;
}

.rcalc__asset-row .rcalc__money-field {
  width: 100%;
}

    .rcalc input:focus,
    .rcalc select:focus {
      outline: 3px solid rgba(15, 118, 110, 0.16);
      border-color: var(--accent);
    }
    .rcalc label.is-invalid input,
    .rcalc label.is-invalid select,
    .rcalc label.is-invalid .rcalc__money-field input,
    .rcalc label.is-invalid .rcalc__input-suffix input {
      border-color: var(--warn);
      box-shadow: 0 0 0 3px rgba(180, 83, 9, 0.14);
    }

    .rcalc label.is-invalid {
      color: var(--warn);
    }

    .rcalc__input-suffix {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: stretch;
    }

    .rcalc__input-suffix input {
      border-bottom-right-radius: 0;
      border-top-right-radius: 0;
      padding-right: 12px;
    }

    .rcalc__input-suffix span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 42px;
      border: 1px solid var(--line);
      border-left: 0;
      border-radius: 0 6px 6px 0;
      background: #f7faf8;
      color: var(--muted);
      font-size: 1rem;
      font-weight: 650;
      line-height: 1.2;
      pointer-events: none;
    }

    .rcalc__readonly-group,
    .rcalc__asset-total-panel {
      margin-top: 14px;
    }

    .rcalc__readonly-lines,
    .rcalc__asset-total-panel {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .rcalc__readonly-line {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 16px;
      align-items: center;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .rcalc__readonly-line span {
      color: var(--muted);
    }

    .rcalc__readonly-line strong {
      text-align: right;
      color: var(--ink);
      font-weight: 800;
    }

    .rcalc__readonly-line--subtotal,
    .rcalc__readonly-line--grand {
      grid-column: 1 / -1;
      background: var(--panel);
    }

    .rcalc__readonly-line--grand strong {
      color: var(--accent-dark);
      font-size: 1.05rem;
    }
    .rcalc__section-subhead {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 12px;
      margin: 18px 0 10px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
    }

    .rcalc__section-subhead:first-of-type {
      margin-top: 6px;
      padding-top: 0;
      border-top: 0;
    }

    .rcalc__section-subhead h4 {
      margin: 0;
      color: var(--accent-dark);
      font-size: 1.05rem;
    }

    .rcalc__section-subhead p {
      margin: 4px 0 0;
      color: var(--muted);
      font-size: var(--type-supporting);
      line-height: 1.4;
    }

    .rcalc__planning-asset-table {
      display: grid;
      gap: 8px;
    }

    .rcalc__planning-asset-row,
    .rcalc__planning-asset-head {
      display: grid;
      grid-template-columns: minmax(104px, 1fr) minmax(100px, 1fr) minmax(100px, 1fr) minmax(96px, 0.9fr) 36px;
      gap: 8px;
      align-items: center;
    }

    .rcalc__planning-asset-head {
      color: var(--muted);
      font-size: var(--type-compact);
      font-weight: 800;
      text-transform: uppercase;
    }

    .rcalc__details--compact table {
      min-width: 0;
      table-layout: fixed;
    }

    .rcalc__details--compact th[data-column-kind],
    .rcalc__details--compact td[data-column-kind] {
      min-width: 0;
      white-space: normal;
    }
    .rcalc__asset-table {
      display: grid;
      gap: 8px;
    }

    .rcalc__asset-row,
    .rcalc__asset-head {
      display: grid;
      grid-template-columns: minmax(94px, 0.85fr) minmax(105px, 0.85fr) minmax(150px, 1.35fr) 36px;
      gap: 8px;
      align-items: center;
    }

    .rcalc__asset-head {
      color: var(--muted);
      font-size: var(--type-compact);
      font-weight: 800;
      text-transform: uppercase;
    }

    .rcalc__icon-btn,
    .rcalc__btn {
      border: 1px solid var(--line);
      background: #fff;
      color: var(--ink);
      border-radius: 6px;
      min-height: 40px;
      cursor: pointer;
      font: inherit;
      font-weight: 800;
    }

    .rcalc__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-width: 128px;
      padding: 9px 12px;
      text-align: center;
    }

    .rcalc__btn--primary {
      border-color: var(--accent);
      background: var(--accent);
      color: #fff;
    }

    .rcalc__btn:hover,
    .rcalc__icon-btn:hover {
      filter: brightness(0.97);
    }

    .rcalc__actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 14px;
    }

    .rcalc__calc-message {
      margin-top: 10px;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel);
      color: var(--muted);
      font-size: var(--type-supporting);
      font-weight: 700;
    }

    .rcalc__calc-message.is-stale {
      border-color: rgba(180, 83, 9, 0.35);
      background: #fff7ed;
      color: var(--warn);
    }
    .rcalc__calc-message.is-error {
      border-color: rgba(180, 83, 9, 0.45);
      background: #fff7ed;
      color: var(--warn);
    }

    .rcalc__calc-message:empty {
      display: none;
    }

    .rcalc__results {
      position: static;
      margin-top: 18px;
    }

    .rcalc__summary {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin-top: 12px;
    }

    .rcalc__layer-label {
      margin: 0 0 4px;
      color: var(--accent-2);
      font-size: var(--type-kicker);
      font-weight: 850;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .rcalc__answer-card {
      display: grid;
      gap: 10px;
      margin-top: 12px;
      padding: 18px;
      border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
      border-left: 6px solid var(--accent);
      border-radius: 8px;
      background: linear-gradient(135deg, #f3fbf9 0%, #ffffff 100%);
    }

    .rcalc__answer-label {
      margin: 0;
      color: var(--accent-2);
      font-size: var(--type-kicker);
      font-weight: 850;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .rcalc__answer-prose {
      display: grid;
      gap: 8px;
      margin-top: 12px;
      color: var(--muted);
      font-size: var(--type-normal);
      line-height: 1.55;
    }

    .rcalc__answer-card .rcalc__answer-prose {
      margin-top: 0;
    }

    .rcalc__answer-prose p {
      margin: 0;
      color: var(--muted);
    }

    .rcalc__answer-prose strong {
      color: var(--ink);
      font-weight: 760;
    }

    .rcalc__answer-note {
      font-size: var(--type-supporting);
    }

    .rcalc__result-layer--essential {
      border-color: #c9d8d4;
      background: #f7fbfa;
    }

    .rcalc__essential-text {
      color: var(--ink);
      font-size: var(--type-normal);
      line-height: 1.55;
    }

    .rcalc__result-layer--supporting {
      background: #fbfcfb;
    }

    .rcalc__results > .rcalc__section:not(.rcalc__result-layer--answer):not(.rcalc__result-layer--essential) {
      padding: 18px 0 0;
      border: 0;
      border-top: 1px solid var(--line);
      border-radius: 0;
      background: transparent;
    }

    .rcalc__projection-detail-control {
      margin-top: 18px;
      padding: 0 0 0 14px;
      border-left: 4px solid var(--accent);
    }

    .rcalc__projection-detail-control label {
      display: grid;
      gap: 8px;
      margin: 0;
      padding: 12px;
      border: 1px solid #b9d7d2;
      border-radius: 8px;
      background: #f3fbf9;
    }

    .rcalc__projection-detail-control span {
      color: var(--muted);
      font-size: 1rem;
      font-weight: 650;
    }

    .rcalc__projection-detail-control select {
      min-height: 48px;
      border-color: #7fb8b1;
      background-color: #ffffff;
      color: var(--accent-dark);
      font-size: 1rem;
      font-weight: 800;
    }

    .rcalc__selected-scenario-prose {
      color: var(--muted);
      font-size: 1rem;
      line-height: 1.5;
    }

    .rcalc__selected-scenario-prose strong {
      color: var(--accent-dark);
      font-weight: 760;
    }

    .rcalc__metric {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 12px;
      background: var(--panel);
      min-height: 92px;
    }

    .rcalc__metric--primary {
      border-left: 4px solid var(--accent);
      background: #f3fbf9;
    }

    .rcalc__metric span {
      display: block;
      color: var(--muted);
      font-size: var(--type-compact);
      font-weight: 800;
      text-transform: uppercase;
    }

    .rcalc__metric strong {
      display: block;
      margin-top: 6px;
      font-size: clamp(1.2rem, 2.2vw, 1.65rem);
      line-height: 1.1;
      overflow-wrap: anywhere;
    }

    .rcalc__metric small {
      display: block;
      margin-top: 6px;
      color: var(--muted);
      line-height: 1.35;
    }

    .rcalc__chart-wrap {
      margin-top: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 12px;
      background: #fff;
    }

    .rcalc__chart-controls {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 10px;
    }

    .rcalc__details {
      margin-top: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      overflow: hidden;
      background: #fff;
    }

    .rcalc__details table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
      font-size: 1rem;
    }

    .rcalc__details th,
    .rcalc__details td {
      padding: 9px 8px;
      border-bottom: 1px solid var(--line);
      text-align: right;
      overflow-wrap: anywhere;
      white-space: normal;
    }

    .rcalc__details th:first-child,
    .rcalc__details td:first-child {
      text-align: left;
      background: #fff;
    }

    .rcalc__details th {
      color: var(--muted);
      background: var(--panel);
      font-weight: 720;
      text-transform: none;
      font-size: 1rem;
      line-height: 1.25;
      white-space: normal;
      overflow-wrap: normal;
      word-break: normal;
      hyphens: none;
    }

    .rcalc__details th:first-child {
      background: var(--panel);
    }

    .rcalc__details td[data-column-kind="currency"],
    .rcalc__details td[data-column-kind="number"],
    .rcalc__details td[data-column-kind="percent"],
    .rcalc__details td[data-column-kind="rate"],
    .rcalc__details td[data-column-kind="age"],
    .rcalc__details td[data-column-kind="year"] {
      text-align: right;
      white-space: nowrap;
    }

    .rcalc__details td[data-column-kind="age"],
    .rcalc__details td[data-column-kind="year"] {
      width: 4.5rem;
    }

    .rcalc__details td[data-column-kind="currency"] {
      min-width: 6.25rem;
    }

    .rcalc__details th[data-column-kind="status"],
    .rcalc__details td[data-column-kind="status"] {
      min-width: 7rem;
      overflow-wrap: normal;
      word-break: normal;
      hyphens: none;
    }

    .rcalc__details tr:last-child td {
      border-bottom: 0;
    }

    .rcalc__scenario-summary-table {
      margin-top: 0;
    }

    .rcalc__scenario-summary-table table {
      min-width: 0;
      table-layout: fixed;
    }

    .rcalc__scenario-summary-table th,
    .rcalc__scenario-summary-table td {
      text-align: left;
      vertical-align: top;
      white-space: normal;
    }

    .rcalc__scenario-summary-table td[data-column-kind="status"] {
      font-weight: 800;
    }

    .rcalc__scenario-summary-table .is-shortfall {
      color: var(--shortfall-red, #ff0000);
    }

    .rcalc__scenario-summary-table .is-good {
      color: var(--good);
    }

    #rgs-scenario-table th:first-child,
    #rgs-scenario-table td:first-child {
      width: 16%;
      overflow-wrap: normal;
      word-break: normal;
      hyphens: none;
    }

    #rgs-scenario-table th:nth-child(2),
    #rgs-scenario-table td:nth-child(2) {
      width: 22%;
    }

    #rgs-scenario-table th:nth-child(3),
    #rgs-scenario-table td:nth-child(3) {
      width: 15%;
    }

    #rgs-scenario-table th:nth-child(4),
    #rgs-scenario-table td:nth-child(4) {
      width: 10%;
    }

    #rgs-scenario-table th:nth-child(5),
    #rgs-scenario-table td:nth-child(5),
    #rgs-scenario-table th:nth-child(6),
    #rgs-scenario-table td:nth-child(6) {
      width: 18.5%;
    }

    .rcalc__details .surplus {
      color: var(--good);
      font-weight: 800;
    }

    .rcalc__details .shortfall {
      color: var(--shortfall);
      font-weight: 800;
    }

    .rcalc__details .neutral {
      color: var(--muted);
      font-weight: 650;
    }

    .rcalc canvas {
      display: block;
      width: 100%;
      height: 260px;
    }

    .rcalc__notes {
      display: grid;
      gap: 8px;
      margin-top: 12px;
      color: var(--muted);
      font-size: var(--type-supporting);
      line-height: 1.45;
    }

    .rcalc__disclosure {
      margin-top: 4px;
      padding-top: 12px;
      border-top: 1px solid var(--line);
      color: var(--ink);
    }

    .rcalc__disclosure h4,
    .rcalc__disclosure h5 {
      margin: 0;
      color: var(--ink);
      line-height: 1.25;
    }

    .rcalc__disclosure h4 {
      font-size: 1.05rem;
    }

    .rcalc__disclosure h5 {
      margin-top: 14px;
      font-size: var(--type-compact);
      font-weight: 800;
      text-transform: uppercase;
      color: var(--muted);
    }

    .rcalc__disclosure ul {
      margin: 6px 0 0;
      padding-left: 18px;
      color: var(--muted);
    }

    .rcalc__disclosure li + li {
      margin-top: 4px;
    }

    .rcalc__key-assumptions {
      display: grid;
      gap: 6px;
      margin: 8px 0 0;
      padding-left: 20px;
      color: var(--muted);
      font-size: var(--type-supporting);
      line-height: 1.45;
    }

    .rcalc__key-assumptions li::marker {
      color: var(--accent);
    }

    .rcalc__recommendations {
      display: grid;
      gap: 6px;
      margin-top: 2px;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: var(--muted);
      font-size: var(--type-supporting);
      line-height: 1.45;
    }

    .rcalc__recommendations strong {
      display: block;
      margin-bottom: 0;
      color: var(--ink);
      font-weight: 760;
    }

    .rcalc__recommendations span {
      display: block;
      margin-top: 0;
    }

    .rcalc__status {
      margin-top: 0;
      padding: 0;
      border-radius: 8px;
      border: 0;
      background: transparent;
      color: var(--ink);
      font-size: clamp(1.32rem, 3vw, 2.15rem);
      font-weight: 850;
      line-height: 1.15;
    }

    .rcalc__status.good {
      color: var(--good);
    }

    .rcalc__status.warn {
      color: var(--warn);
    }

    .rcalc__status.bad {
      color: var(--shortfall);
    }

    .rcalc .is-shortfall {
      color: var(--shortfall);
    }

    .rcalc .is-shortfall strong,
    .rcalc strong.is-shortfall {
      color: var(--shortfall);
    }

    .rcalc__metric--shortfall {
      border-color: rgba(255, 0, 0, 0.45);
      background: #fff5f5;
    }

    .rcalc__accumulation-overview {
      display: grid;
      grid-template-columns: minmax(430px, 1.15fr) minmax(280px, 0.85fr);
      gap: 14px;
      align-items: stretch;
      margin-top: 12px;
    }

    .rcalc__accumulation-total {
      display: grid;
      align-content: start;
      min-height: 0;
    }

    .rcalc__allocation-mix {
      display: grid;
      grid-template-columns: 148px minmax(0, 1fr);
      gap: 16px;
      align-items: center;
      margin-top: 14px;
    }

    .rcalc__allocation-pie {
      width: 148px;
      aspect-ratio: 1;
      border-radius: 50%;
      background: conic-gradient(
        #2563eb 0deg var(--registered-deg, 0deg),
        #0f766e var(--registered-deg, 0deg) var(--tfsa-deg, 0deg),
        #b45309 var(--tfsa-deg, 0deg) 360deg
      );
      border: 1px solid var(--line);
      box-shadow: inset 0 0 0 10px #fff;
    }

    .rcalc__allocation-pie.is-empty {
      background: #edf2f0;
    }

    .rcalc__allocation-legend {
      display: grid;
      gap: 8px;
      color: var(--muted);
      line-height: 1.35;
    }

    .rcalc__allocation-row {
      display: grid;
      grid-template-columns: 10px minmax(0, 1fr) auto;
      align-items: center;
      column-gap: 10px;
      row-gap: 2px;
    }

    .rcalc__metric .rcalc__allocation-label {
      color: var(--muted);
      font-size: var(--type-supporting);
      font-weight: 400;
      line-height: 1.25;
      text-align: left;
      text-transform: none;
    }

    .rcalc__metric .rcalc__allocation-legend strong {
      display: block;
      margin: 0;
      color: var(--ink);
      font-size: var(--type-normal);
      font-weight: 400;
      line-height: 1.1;
      text-align: right;
      white-space: nowrap;
    }

    .rcalc__legend-dot {
      width: 10px;
      height: 10px;
      flex: 0 0 auto;
      border-radius: 999px;
    }

    .rcalc__legend-dot--registered {
      background: #2563eb;
    }

    .rcalc__legend-dot--tfsa {
      background: #0f766e;
    }

    .rcalc__legend-dot--taxable {
      background: #b45309;
    }

    .rcalc__accumulation-prose {
      display: grid;
      align-content: start;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--muted);
      font-size: var(--type-normal);
      line-height: 1.55;
    }

    .rcalc__accumulation-prose strong {
      color: var(--ink);
      font-weight: 760;
    }

    .rcalc__expandable {
      margin-top: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .rcalc__section.rcalc__expandable {
      padding: 0;
    }

    .rcalc__expandable > summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 14px;
      color: var(--accent-dark);
      cursor: pointer;
      font-size: var(--type-normal);
      font-weight: 800;
      list-style: none;
    }

    .rcalc__expandable > summary::-webkit-details-marker {
      display: none;
    }

    .rcalc__expandable > summary::after {
      content: "+";
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      flex: 0 0 22px;
      border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line));
      border-radius: 999px;
      color: var(--accent-dark);
      font-weight: 850;
      line-height: 1;
    }

    .rcalc__expandable[open] > summary {
      border-bottom: 1px solid var(--line);
    }

    .rcalc__expandable[open] > summary::after {
      content: "-";
    }

    .rcalc__expandable .rcalc__details {
      margin-top: 0;
      border: 0;
      border-radius: 0;
    }

    .rcalc__expandable .rcalc__notes {
      padding: 0 14px 14px;
    }

    @media (max-width: 1320px) {
      .rcalc__details [data-column-priority="4"],
      .rcalc__details [data-column-priority="5"],
      .rcalc__details [data-column-priority="optional"],
      .rcalc__details [data-column-priority="detail"],
      .rcalc__details [data-column-priority="metadata"] {
        display: none !important;
      }
    }

    @media (max-width: 900px) {
      .rcalc__details [data-column-priority="5"],
      .rcalc__details [data-column-priority="detail"],
      .rcalc__details [data-column-priority="metadata"] {
        display: none !important;
      }
    }

    @media (max-width: 860px) {
      .rcalc {
        padding: 16px;
      }

      .rcalc__header,
      .rcalc__grid {
        display: block;
      }

      .rcalc__header {
        padding: 4px 2px 10px;
      }

      .rcalc h2 {
        font-size: clamp(1.3rem, 6vw, 1.7rem);
      }

      .rcalc__area-head {
        display: block;
      }

      .rcalc__badge {
        display: inline-flex;
        margin-top: 12px;
      }

      .rcalc__results {
        position: static;
        margin-top: 14px;
      }

      .rcalc__scenario-cards {
        grid-template-columns: 1fr;
      }

    }

    @media (max-width: 740px) {
      .rcalc__details [data-column-priority="3"],
      .rcalc__details [data-column-priority="4"],
      .rcalc__details [data-column-priority="supporting"],
      .rcalc__details [data-column-priority="optional"] {
        display: none !important;
      }

      .rcalc__details table {
        table-layout: fixed;
      }

      .rcalc__details th[data-column-kind],
      .rcalc__details td[data-column-kind] {
        min-width: 0;
        white-space: normal;
      }

      #rgs-scenario-table th:first-child,
      #rgs-scenario-table td:first-child {
        width: 20%;
      }

      #rgs-scenario-table th:nth-child(2),
      #rgs-scenario-table td:nth-child(2) {
        width: 24%;
      }

      #rgs-scenario-table th:nth-child(3),
      #rgs-scenario-table td:nth-child(3) {
        width: 17%;
      }

      #rgs-scenario-table th:nth-child(5),
      #rgs-scenario-table td:nth-child(5),
      #rgs-scenario-table th:nth-child(6),
      #rgs-scenario-table td:nth-child(6) {
        width: 19.5%;
      }
    }

    @media (max-width: 620px) {
      .rcalc {
        padding: 12px;
      }

      .rcalc__projection-detail-control {
        padding-left: 10px;
        border-left-width: 3px;
      }

      .rcalc__projection-detail-control label {
        padding: 10px;
      }

      .rcalc__header {
        padding: 2px 0 10px;
      }

      .rcalc__header p {
        font-size: var(--type-supporting);
      }

      .rcalc__stepper {
        gap: 3px;
        padding: 5px;
      }

      .rcalc__step-tab {
        min-height: 44px;
        padding: 7px 8px;
        font-size: var(--type-compact);
      }

      .rcalc__step-tab span {
        font-size: 0.78rem;
      }

      .rcalc__details th,
      .rcalc__details td {
        padding: 8px 7px;
      }
      .rcalc__fields,
      .rcalc__field-groups,
      .rcalc__field-group-grid,
      .rcalc__field-group-grid--two,
      .rcalc__field-group-grid--four,
      .rcalc__field-group-grid--account,
      .rcalc__field-group-grid--dc,
      .rcalc__summary,
      .rcalc__answer-card,
      .rcalc__accumulation-overview {
        grid-template-columns: 1fr;
      }

      .rcalc__allocation-mix {
        grid-template-columns: 116px minmax(0, 1fr);
      }

      .rcalc__allocation-pie {
        width: 116px;
      }

      .rcalc__readonly-lines,
      .rcalc__asset-total-panel {
        grid-template-columns: 1fr;
      }
      .rcalc__balance-snapshot {
        grid-template-columns: 1fr;
      }

      .rcalc__asset-row {
        grid-template-columns: minmax(0, 1fr) 44px;
        gap: 10px;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #fff;
      }

      .rcalc__asset-row .rgs-asset-type,
      .rcalc__asset-row .rgs-asset-value {
        grid-column: 1 / -1;
      }

      .rcalc__asset-row .rgs-asset-allocation {
        grid-column: 1;
      }

      .rcalc__asset-row .rcalc__icon-btn {
        grid-column: 2;
        justify-self: end;
        width: 44px;
        min-width: 44px;
      }

      .rcalc__asset-head {
        display: none;
      }

      .rcalc__section-subhead {
        align-items: stretch;
        flex-direction: column;
      }

      .rcalc__planning-asset-row {
        grid-template-columns: minmax(0, 1fr) 44px;
        gap: 10px;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #fff;
      }

      .rcalc__planning-asset-row .rgs-planning-asset-type,
      .rcalc__planning-asset-row .rcalc__money-field,
      .rcalc__planning-asset-row .rcalc__input-suffix {
        grid-column: 1 / -1;
      }

      .rcalc__planning-asset-row .rcalc__icon-btn {
        grid-column: 2;
        justify-self: end;
        width: 44px;
        min-width: 44px;
      }

      .rcalc__planning-asset-head {
        display: none;
      }
    }

    @media (max-width: 560px) {
      .rcalc__details [data-column-priority="2"],
      .rcalc__details [data-column-priority="3"],
      .rcalc__details [data-column-priority="supporting"] {
        display: none !important;
      }

      #rgs-scenario-table th:first-child,
      #rgs-scenario-table td:first-child {
        width: 34%;
      }

      #rgs-scenario-table th:nth-child(3),
      #rgs-scenario-table td:nth-child(3) {
        width: 26%;
      }

      #rgs-scenario-table th:nth-child(5),
      #rgs-scenario-table td:nth-child(5) {
        width: 40%;
      }
    }

    @media (max-width: 480px) {
      .rcalc__details [data-column-priority="2"] {
        display: none !important;
      }
    }

    @media (max-width: 390px) {
      .rcalc__details th,
      .rcalc__details td {
        padding: 7px 5px;
      }

      .rcalc__details table {
        font-size: 0.9rem;
      }

      .rcalc__step-controls .rcalc__btn {
        min-width: 96px;
      }
    }

.rcalc__export-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.rcalc__export-panel p,
.rcalc__feedback p {
  color: var(--muted);
  font-size: var(--type-supporting);
  line-height: 1.5;
}

.rcalc__export-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rcalc__export-actions .rcalc__btn {
  min-width: 176px;
}

.rcalc__feedback {
  margin-top: 14px;
  background: #fff;
}

.rcalc__feedback .rcalc__section-head {
  margin-bottom: 8px;
}

.rgs-print-report {
  display: none;
}

@media print {
  @page {
    margin: 0.6in;
  }

  body {
    background: #fff;
    color: #17201b;
  }

  body.retirement-printing .rcalc {
    display: none !important;
  }

  body:not(.retirement-printing) .rgs-print-report {
    display: none !important;
  }

  body.retirement-printing .rgs-print-report {
    display: block !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #17201b;
    font-size: 11pt;
    line-height: 1.4;
  }

  .rgs-print-header {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #cfd9d4;
  }

  .rgs-print-logo {
    width: 118px;
    height: auto;
    display: block;
  }

  .rgs-print-brand {
    margin: 0 0 2px;
    color: #0d4e48;
    font-size: 14pt;
    font-weight: 850;
  }

  .rgs-print-slogan,
  .rgs-print-homepage {
    margin: 0 0 4px;
    color: #42544d;
    font-size: 10pt;
  }

  .rgs-print-homepage {
    justify-self: end;
    padding-right: 10pt;
    color: #0d4e48;
    font-weight: 700;
  }

  .rgs-print-center p:not(.rgs-print-brand) {
    margin-top: 2px;
  }

  .rgs-print-report h1 {
    margin: 0 0 6px;
    font-size: 22pt;
  }

  .rgs-print-framework {
    max-width: 90ch;
    margin: 0 0 10px;
    color: #42544d;
  }



  .rgs-print-limitation-note {
    margin: 8px 0 12px;
    padding: 8px 10px;
    border-left: 3px solid #b45309;
    background: #fffaf2;
    color: #42544d;
    font-size: 9.5pt;
    line-height: 1.45;
  }

  .rgs-print-limitation-note strong {
    color: #17201b;
  }

  .rgs-print-report h2 {
    margin: 22px 0 8px;
    font-size: 13pt;
    color: #0d4e48;
    break-after: avoid;
  }

  .rgs-print-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 18px;
    margin: 14px 0 18px;
    padding: 12px 0;
    border-top: 1px solid #cfd9d4;
    border-bottom: 1px solid #cfd9d4;
  }

  .rgs-print-section {
    break-inside: auto;
    margin-top: 16px;
  }

  .rgs-print-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    padding: 4px 0;
    border-bottom: 1px solid #eef3ef;
  }

  .rgs-print-row span:last-child {
    text-align: right;
  }

  .rgs-print-disclosure {
    margin-top: 22px;
    padding-top: 12px;
    border-top: 1px solid #cfd9d4;
  }
}

@media print {
  .rgs-print-section--executive {
    margin-top: 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid #cfd9d4;
  }

  .rgs-print-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 10px 0 12px;
  }

  .rgs-print-metric {
    break-inside: avoid;
    padding: 9px 10px;
    border: 1px solid #d8e0dc;
    border-radius: 6px;
    background: #f7faf8;
  }

  .rgs-print-metric span,
  .rgs-print-metric small {
    display: block;
    color: #5d6b65;
  }

  .rgs-print-metric span {
    margin-bottom: 3px;
    font-size: 8.5pt;
    font-weight: 750;
  }

  .rgs-print-metric strong {
    display: block;
    color: #17201b;
    font-size: 12pt;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .rgs-print-metric small {
    margin-top: 3px;
    font-size: 7.6pt;
    line-height: 1.25;
  }

  .rgs-print-interpretation,
  .rgs-print-note,
  .rgs-print-table-note {
    margin: 8px 0 0;
    color: #42544d;
    font-size: 9.5pt;
    line-height: 1.45;
  }

  .rgs-print-interpretation {
    padding: 8px 10px;
    border-left: 3px solid #0d4e48;
    background: #f7faf8;
  }

  .rgs-print-interpretation--shortfall {
    border-left-color: #ff0000;
  }

  .rgs-print-interpretation--near {
    border-left-color: #b45309;
  }

  .rgs-print-two-column {
    column-count: 2;
    column-gap: 18px;
    margin-top: 6px;
  }

  .rgs-print-two-column .rgs-print-section {
    display: inline-block;
    width: 100%;
    break-inside: avoid;
    margin-top: 14px;
  }

  .rgs-print-subtotal {
    margin-top: 6px;
    border-top: 1px solid #cfd9d4;
    font-weight: 800;
  }

  .rgs-print-projection-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 8px;
    font-size: 8.4pt;
  }

  .rgs-print-projection-table th,
  .rgs-print-projection-table td {
    padding: 6px 7px;
    border-bottom: 1px solid #e8efeb;
    text-align: right;
    vertical-align: top;
  }

  .rgs-print-projection-table th:first-child,
  .rgs-print-projection-table td:first-child {
    text-align: left;
  }

  .rgs-print-scenario-table td:first-child {
    font-weight: 800;
  }

  .rgs-print-projection-table th {
    color: #42544d;
    background: #f7faf8;
    font-size: 7.5pt;
    font-weight: 850;
  }

  .rgs-print-projection-table tbody tr:nth-child(even) td {
    background: #fbfdfb;
  }

  .rgs-print-negative {
    color: #ff0000;
    font-weight: 800;
  }

  .rgs-print-warning-list {
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid #ead8b7;
    border-radius: 6px;
    background: #fffaf2;
  }

  .rgs-print-warning-list h3,
  .rgs-print-disclosure h3 {
    margin: 0 0 6px;
    color: #17201b;
    font-size: 10pt;
  }

  .rgs-print-warning-list p,
  .rgs-print-disclosure p {
    margin: 0 0 7px;
    color: #42544d;
  }

  .rgs-print-section--table {
    break-inside: auto;
  }
}
