Stats row Gagan

Three-column group insight strip showing "this month" spending, "next up" recurring expense, and "top category." Flat typographic style with trend indicators. Sits below the group hero card to surface actionable context without requiring a tap-through.

Default

this mo
โ‚น4.0k โ†‘12%
next up
๐Ÿ Rent ยท 3d
top cat
๐Ÿ›’โ‚น1.6k

Trend variants

Spending up โ€” coral indicator
this mo
โ‚น6.2kโ†‘28%
next up
โœˆ๏ธŽGoa tripยท 5d
top cat
๐Ÿœโ‚น2.4k
Spending down โ€” teal indicator
this mo
โ‚น2.1kโ†“15%
next up
โšกElectricityยท 12d
top cat
๐Ÿ›’โ‚น800

Empty cells

this mo
โ‚น0
next up
none set
top cat
โ€”

When a cell has no data, show a muted em dash (โ€”) or short text like "none set" in --ink-mute mono. Never hide the cell or collapse the layout โ€” the three-column grid must remain stable.

Usage

Do Keep eyebrow labels extremely short โ€” 6 chars max ("this mo", "next up", "top cat"). The mono uppercase style is already compact; longer labels overflow on small screens and break the grid.
Don't Don't use the stats row for individual people balances โ€” that's the settle-row component. Stats row is group-level aggregate data: spending totals, upcoming events, category summaries.
Do Use coral (โ†‘) for spending increase (costs more this month) and teal (โ†“) for spending decrease (costs less). These match the system-wide semantic โ€” coral = negative financial impact, teal = positive.
Don't Don't abbreviate amounts inconsistently. Use โ‚น4.0k for 4,000 and โ‚น1.2L for 1,20,000. Pick one abbreviation style and keep it consistent across all three cells.

Spec

PropertyValueNotes
Layout3 equal flex columns1px separator is --ink-line via gap:1px on background
Cell padding14px 12pxTop/bottom 14, left/right 12
Eyebrow fontJetBrains Mono 9pxUppercase, 0.1em tracking
Value fontJetBrains Mono 700Numbers only; labels use Onest 500
Value size14pxFlex row with baseline alignment
Trend fontJetBrains Mono 600 11pxโ†‘ coral, โ†“ teal
Border radius--r-md (14px)On the outer container

Accessibility

Screen readers Wrap each cell in a <dl>/<dt>/<dd> structure so the eyebrow label and value are paired semantically. Example: <dt>This month</dt><dd>โ‚น4,000, up 12%</dd>. The visible eyebrow can stay abbreviated; the full label belongs in the semantic element.
Trend arrows The โ†‘ and โ†“ arrow glyphs are decorative โ€” the percentage already communicates direction. Add aria-hidden="true" to the trend element and include the direction in the parent dd: "up 12%" or "down 15%."

Code

HTML

<div class="stats-row">
  <div class="stats-row-stat">
    <dt class="stats-row-eyebrow">this mo</dt>
    <dd class="stats-row-val">
      <span class="stats-row-num">โ‚น4.0k</span>
      <span class="stats-row-trend up" aria-hidden="true">โ†‘12%</span>
    </dd>
  </div>
  <div class="stats-row-stat">
    <dt class="stats-row-eyebrow">next up</dt>
    <dd class="stats-row-val">
      <span class="stats-row-ico" aria-hidden="true">๐Ÿ </span>
      <span class="stats-row-label">Rent</span>
      <span class="stats-row-num" style="color:var(--ink-mute); font-weight:400;">ยท 3d</span>
    </dd>
  </div>
  <div class="stats-row-stat">
    <dt class="stats-row-eyebrow">top cat</dt>
    <dd class="stats-row-val">
      <span class="stats-row-ico" aria-hidden="true">๐Ÿ›’</span>
      <span class="stats-row-num">โ‚น1.6k</span>
    </dd>
  </div>
</div>

Design tokens used

TokenValueRole
--ink-line#DDD2B81px separator between columns (via background)
--s-paper#FBF8F0Cell background
--font-monoJetBrains MonoEyebrows and numeric values
--font-bodyOnestNon-numeric labels (event name, category name)
--coral#E76F51Trend up indicator
--teal#0E7C66Trend down indicator
--ink-mute#8A8276Eyebrow text and secondary meta
--r-md14pxContainer border radius

See it in context

Interactive prototype โ€” this component is live below. Tap, swipe, and drag to explore.

The 3-cell stats row sits below the viz carousel in the header card โ€” showing this month total, next up payment, and top spending category.