
    /*
     * Overview hierarchy ledger: label left · amount right, full-width table.
     * Combined with focused holdings under the pie. NW $ is in the navbar.
     */
    .ds-portfolio-header-ledger {
      display: none;
      margin: 0;
      min-width: 0;
      max-width: none;
      width: 100%;
      flex-direction: column;
      justify-content: start;
      align-items: stretch;
      gap: 0;
      border: none;
      background: transparent;
    }
    /* Only when expanded (JS removes [hidden] + adds --expanded). Beat bare display:none. */
    .portfolio-mode-overview .ds-portfolio-header-ledger.portfolio-mode-overview-only.ds-overview-ledger--expanded:not([hidden]) {
      display: flex;
    }
    .portfolio-mode-overview .ds-portfolio-header-ledger.portfolio-mode-overview-only[hidden],
    .portfolio-mode-overview .ds-portfolio-header-ledger.portfolio-mode-overview-only.hidden {
      display: none !important;
    }
    .ds-portfolio-header-ledger .ds-summary-total-row,
    .ds-portfolio-header-ledger .ds-overview-category-row,
    .ds-portfolio-header-ledger .ds-overview-nw-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      column-gap: var(--ds-space-3);
      align-items: baseline;
      width: 100%;
      margin: 0;
      padding: 0.5rem var(--ds-space-3);
      min-height: 2.75rem;
      border: none;
      border-radius: var(--ds-radius-sm);
      background: transparent;
      color: inherit;
      font: inherit;
      text-align: left;
      cursor: pointer;
      box-sizing: border-box;
    }
    /* $ lives in the navbar — keep the row as a JS sink, never paint it. */
    .ds-portfolio-header-ledger .ds-overview-nw-row,
    #overview-ledger-net-worth {
      display: none !important;
    }
    .ds-portfolio-header-ledger .ds-overview-nw-row .ds-summary-total-card-value,
    .ds-portfolio-header-ledger .ds-overview-nw-row .ds-summary-total-card-label {
      font-size: var(--ds-text-headline);
      font-weight: var(--ds-weight-semibold);
      letter-spacing: -0.02em;
      line-height: 1.15;
      color: var(--ds-brand-hero);
    }
    .ds-portfolio-header-ledger .ds-overview-nw-row:hover .ds-summary-total-card-value,
    .ds-portfolio-header-ledger .ds-overview-nw-row:hover .ds-summary-total-card-label {
      color: var(--ds-brand-secondary, var(--ds-brand-hero));
    }
    .ds-portfolio-header-ledger .ds-overview-nw-row:focus-visible {
      outline: 2px solid var(--ds-accent, var(--ds-brand-hero));
      outline-offset: 1px;
    }
    .ds-portfolio-header-ledger .ds-overview-category-row:hover {
      background: var(--ds-surface-section, rgb(0 0 0 / 0.04));
    }
    .ds-portfolio-header-ledger .ds-overview-category-row:focus-visible {
      outline: 2px solid var(--ds-accent, var(--ds-brand-hero));
      outline-offset: 1px;
    }
    .ds-portfolio-header-ledger .ds-overview-category-row--selected {
      background: rgb(var(--ds-brand-hero-rgb, 47 158 120) / 0.1);
    }
    .ds-portfolio-header-ledger .ds-overview-category-row--selected .ds-summary-total-card-label {
      color: var(--ds-text);
      font-weight: var(--ds-weight-medium);
    }
    /* Debt classes (Mortgages/LOC/Cards) use red-tinted selected state, not green */
    .ds-portfolio-header-ledger .ds-overview-debt-class-row.ds-overview-category-row--selected {
      background: rgb(var(--ds-amount-negative-rgb, 181 69 61) / 0.1);
    }
    /* Liabilities parent row also uses red-tinted selected state */
    .ds-portfolio-header-ledger [data-overview-category="liabilities"].ds-overview-category-row--selected {
      background: rgb(var(--ds-amount-negative-rgb, 181 69 61) / 0.1);
    }
    /* O4 traditional: no peer Real estate category (property under Assets, mortgages under L). */
    [data-presentation-mode="traditional"] .ds-overview-category-row--re,
    [data-presentation-mode="traditional"] [data-overview-category="re"] {
      display: none !important;
    }
    /* Equity: Property is not an Assets class child (RE peer owns property/mortgage). */
    [data-presentation-mode="equity"] #overview-asset-class-rows [data-overview-asset-focus="re"] {
      display: none !important;
    }
    .ds-portfolio-header-ledger .ds-summary-total-card-label {
      font-size: var(--ds-text-body);
      font-weight: var(--ds-weight-regular);
      color: var(--ds-text-secondary);
      padding: 0.1rem 0;
      min-width: 0;
      text-align: left;
      justify-self: start;
      grid-column: 1;
    }
    .ds-portfolio-header-ledger .ds-summary-total-card-value {
      font-size: var(--ds-text-body);
      font-weight: var(--ds-weight-regular);
      color: var(--ds-text);
      text-align: right;
      justify-self: end;
      width: auto;
      padding: 0.1rem 0;
      font-variant-numeric: tabular-nums;
      grid-column: 2;
    }
    /* Asset / debt classes nested under Assets or Liabilities when selected */
    .ds-overview-class-rows,
    .ds-overview-asset-class-rows,
    .ds-overview-debt-class-rows {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin: 0;
      padding: 0;
      border: none;
    }
    .ds-overview-class-rows[hidden],
    .ds-overview-asset-class-rows[hidden],
    .ds-overview-debt-class-rows[hidden] {
      display: none !important;
    }
    /* Indent labels only so amount column stays aligned with parent categories */
    .ds-portfolio-header-ledger .ds-overview-class-row .ds-summary-total-card-label,
    .ds-portfolio-header-ledger .ds-overview-asset-class-row .ds-summary-total-card-label,
    .ds-portfolio-header-ledger .ds-overview-debt-class-row .ds-summary-total-card-label {
      padding-left: var(--ds-space-3);
    }
    /* Class group containers for breakdown expansion */
    .ds-overview-class-group {
      display: flex;
      flex-direction: column;
      width: 100%;
    }
