
    .ds-app-header {
      /* Solid sticky chrome + safe-area so holdings never paint under the status bar */
      position: sticky;
      top: 0;
      z-index: 30;
      background: var(--ds-bg);
      /* Tight bottom so net-worth total sits close under CashSnap / mode tabs */
      padding:
        max(var(--ds-space-3), env(safe-area-inset-top, 0px))
        var(--ds-space-8)
        var(--ds-space-1);
    }
    /*
     * App header bar — $NW left · mode tabs · menu.
     * Mobile: tabs leave via bottom bar, so the row is $NW | hamburger.
     */
    .ds-app-header-bar {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      column-gap: var(--ds-space-3);
      min-width: 0;
      width: 100%;
    }
    .ds-app-tabs--primary {
      grid-column: 2;
      grid-row: 1;
      justify-self: start;
      align-self: center;
      z-index: 2;
      min-width: 0;
    }
    .ds-app-brand {
      grid-column: 1;
      grid-row: 1;
      justify-self: start;
      align-self: center;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      min-width: 0;
      max-width: min(100%, 16rem);
      height: var(--ds-portfolio-hero-band);
      font-size: var(--ds-text-title);
      font-weight: var(--ds-weight-semibold);
      letter-spacing: -0.028em;
      line-height: 1;
      color: var(--ds-brand-hero);
      background: transparent;
      border: none;
      padding: 0;
      cursor: pointer;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
      text-align: left;
    }
    .ds-app-brand:hover { color: var(--ds-brand-secondary); }
