Welcome Section
0a. Welcome Card
Full-width horizontal card at the top of the Home dashboard. Two-column grid: 376px left (greeting + subtitle + progress) and 1fr right (3-stat grid). No border-right on the left column. Left column uses no divider — only the stat columns use border-left.
| Property | Token | Resolved |
|---|---|---|
| background | --color-bg-surface | #FFFFFF |
| border | --border-default | 1px solid #E2E8F0 |
| border-radius | --radius-lg | 14px |
| box-shadow | --shadow-sm | 0 2px 6px rgba(0,0,0,0.06) |
| padding | --space-5 --space-8 | 20px 32px |
| grid-template-columns | — | 376px 1fr |
| heading font-size | --text-3xl | 24px — Bold |
| subtitle color | --color-text-secondary | #64748B |
| progress track bg | --color-gray-200 | #E2E8F0 |
| progress fill | --color-success-green | #10B981 |
| progress height | — | 6px |
| stat label size | --text-2xs | 10px — Bold, uppercase, tracking-wider |
| stat value size | --text-4xl | 32px — Bold, tabular-nums |
| stat meta size | --text-sm | 12px — color-text-muted |
| stat col border-left | --border-default | first child: none |
Hey, Wojciech!
Here's a snapshot of your student loan portfolio.
Badges & Status
3a. Status Pills
Small uppercase pill badges indicating status. Used on loan rows and activity items.
| Property | Token | Resolved |
|---|---|---|
| padding | --space-1 --space-2 | 4px 8px |
| border-radius | --radius-full | 9999px |
| font-size | --text-2xs | 10px |
| font-weight | --weight-bold | 700 |
| letter-spacing | --tracking-wider | 0.07em |
3b. Payment Card Badge ("On Track")
Status badge inside the payment gradient card indicating the account is current.
| Property | Token | Resolved |
|---|---|---|
| bg | --color-bg-success | #ECFDF5 |
| color | --color-text-success | #047857 |
| padding | --space-1 --space-2 | 4px 8px |
| border-radius | --radius-full | 9999px |
| font-size | --text-2xs | 10px |
3c. Loan Number Badge
Numbered badge identifying each loan in the loans table.
| Property | Token | Resolved |
|---|---|---|
| width/height | --space-8 | 32px |
| border-radius | --radius-sm | 6px |
| bg | --color-bg-brand | #EEF2FF |
| color | --color-text-brand | #1343B8 |
| font-weight | --weight-semibold | 600 |
| font-size | --text-sm | 12px |
Inputs
4a. Search Input
Global search field in the topbar. Contains a leading magnifying glass icon.
| Property | Token | Resolved |
|---|---|---|
| height | --space-10 | 40px |
| width | — | 340px |
| padding | 0 --space-3 0 --space-8 | 0 12px 0 32px |
| background | --color-bg-surface | #FFFFFF |
| border | --border-default | 1px solid #E2E8F0 |
| border-radius | --radius-sm | 6px |
| font-size | --text-sm | 12px |
| Focus border | --color-border-brand | #1A56DB |
| Focus shadow | — | 0 0 0 3px rgba(26,86,219,0.12) |
Panels & Cards
5a. Panel Shell
Base card container used throughout the dashboard. Has a header (title + optional action link) and content area.
| Property | Token | Resolved |
|---|---|---|
| background | --color-bg-surface | #FFFFFF |
| border-radius | --radius-md | 10px |
| box-shadow | --shadow-xs | 0 1px 2px rgba(0,0,0,0.05) |
| header padding | --space-4 --space-5 | 16px 20px |
| header border-bottom | --border-default | 1px solid #E2E8F0 |
| panel-title font-size | --text-xl | 18px |
| panel-title color | --color-brand-900 | #051550 |
| panel-link color | --color-brand-500 | #1A56DB |
5b. Payment Card
Main payment due card using the brand gradient. Two states: Action Required (warning alert pill) and Autopay Enabled (success pill). Buttons shown on a blue background swatch — btn-pay-primary (disabled gray) and btn-pay-ghost (active blue).
| Property | Token | Resolved |
|---|---|---|
| background | --gradient-brand | linear-gradient(29.56deg…) |
| border-radius | --radius-md | 10px |
| padding | --space-8 | 32px |
| width | — | 400px |
| eyebrow font-size | --text-2xs | 10px — Bold, uppercase, tracking-wider |
| eyebrow color | — | rgba(255,255,255,0.8) |
| amount font-size | --text-5xl | 38px — Bold, tabular-nums |
| amount font-family | --font-heading | Inter |
| badge (on track) | --color-bg-success / --color-text-success | pill: success colors |
| alert (action req) | — | rgba(255,255,255,0.12) bg, warning-100 icon |
| autopay-on bg | — | rgba(255,255,255,0.12), border rgba(255,255,255,0.2) |
| btn-pay-primary (disabled) | --color-gray-200 / --color-text-muted | gray bg, muted text |
| btn-pay-ghost (active) | --color-brand-500 / --color-brand-400 | brand bg, brand border |
| button height | --space-10 | 40px |
| button border-radius | --radius-md | 10px |
5c. Simulator Card
Loan simulator promotional card. Light blue background with TOOLS label, title, body, and CTA buttons.
| Property | Token | Resolved |
|---|---|---|
| background | --color-bg-brand | #EEF2FF |
| border-radius | --radius-md | 10px |
| padding | --space-6 --space-7 | 24px 28px |
| title font-size | --text-2xl | 20px |
| title color | --color-gray-800 | #1E293B |
| body color | --color-text-secondary | #64748B |
Explore how extra payments or different repayment plans could reduce your total interest and shorten your loan term.
Loan Rows
6a. Active Loan Row
A single loan entry in the My Loans panel. Shows numbered badge, loan name/APR, balance, and status pill.
| Property | Token | Resolved |
|---|---|---|
| padding | --space-3 --space-5 | 12px 20px |
| gap | --space-3 | 12px |
| border-bottom | --border-subtle | 1px solid #F1F5F9 |
| badge bg | --color-bg-brand | #EEF2FF |
| badge color | --color-text-brand | #1343B8 |
| badge size | --space-8 | 32px |
| name font-size | --text-base | 14px |
| name weight | --weight-medium | 500 |
| meta font-size | --text-sm | 12px |
| meta color | --color-text-secondary | #64748B |
| amount font-size | --text-base | 14px |
Activity Items
7a. Recent Payments Panel
Payment history panel with panel-title-h2 (blue ph-info icon) and three activity item variants: Pending, Received, and default (no status icon bg). Activity right: status pill on the left, amount on the right within a fixed 160px column.
| Property | Token | Resolved |
|---|---|---|
| panel-title-h2 size | --text-xl | 18px — Semibold, color-brand-900 |
| info icon color | --color-brand-500 | #1A56DB |
| activity padding | --space-3 0 | 12px 0 |
| activity border-bottom | --border-subtle | 1px solid #F1F5F9 |
| icon size | --space-8 | 32px circle |
| pending icon bg | --color-warning-50 | #FFFBEB |
| pending icon color | --color-warning-500 | #D97706 |
| received icon bg | --color-success-50 | #ECFDF5 |
| received icon color | --color-success-500 | #059669 |
| date font-size | --text-sm | 12px — color-text-secondary |
| source font-size | --text-base | 14px — Medium, color-text-primary |
| activity-right width | — | 160px — pill left, amount right |
| amount font-size | --text-base | 14px — Medium, tabular-nums |
| status font-size | --text-2xs | 10px — Bold, uppercase, tracking-wider |
Recent Payments
View AllNotifications
Notification Panel
Floating notification panel (400px wide). Header shows title + unread count. A "TODAY" section divider separates temporal groups. Unread items use brand-50 bg; read items use white. Unread dot sits inline with the timestamp. Actions are text links, not buttons. Source: Figma node 112-4404.
| Property | Token | Resolved |
|---|---|---|
| panel shadow | --shadow-lg | 0 8px 24px rgba(0,0,0,.12) |
| panel radius | --radius-md | 10px |
| header padding | --space-4 --space-6 | 16px 24px |
| panel title size | --text-xl | 18px |
| panel title weight | --weight-semibold | 600 |
| count color | --color-text-secondary | #64748B |
| section header bg | --color-bg-subtle | #F1F5F9 |
| section label size | --text-xs | 12px — Bold, uppercase, tracking-wide |
| mark-all color | --color-brand-500 | #1A56DB — Medium weight |
| item padding | --space-4 --space-6 | 16px 24px |
| item gap | --space-3 | 12px |
| unread item bg | --color-bg-brand | #EEF2FF |
| avatar size | --space-9 | 36px — with semantic border |
| avatar (warning) bg | --color-bg-warning | #FFFBEB |
| avatar (warning) border | --color-warning-100 | #FDE68A |
| avatar (danger) bg | --color-bg-danger | #FEF2F2 |
| avatar (danger) border | --color-danger-100 | #FECACA |
| content gap | --space-1 | 4px |
| title size | --text-base | 14px — Semibold, gray-900 |
| time size | --text-2xs | 10px — Regular, text-secondary |
| unread dot size | — | 8px — inline with time, brand-500 |
| body size | --text-sm | 12px — Regular, text-secondary, leading-relaxed |
| action link size | --text-xs | 12px — Semibold, brand-500 — text link, no border |
Auto-Pay hasn't been re-confirmed since the COVID-19 suspension ended. Re-enable to avoid missing a payment.
Your loans are under COVID-19 national emergency forbearance. Payments are suspended and no interest is accruing.
Your Income-Driven Repayment plan renewal is due. Failure to renew may result in significantly higher payments.
Icons
9a. Icon Reference
All Phosphor Icons used in the Neuron portal, shown at three sizes (24px, 20px, 16px). Library: @phosphor-icons/web@2.1.1. Syntax: <i class="ph ph-{name}"></i>
| Icon class | 24px | 20px | 16px |
|---|---|---|---|
| ph-house | 24 |
20 |
16 |
| ph-credit-card | |||
| ph-chart-donut | |||
| ph-files | |||
| ph-wrench | |||
| ph-lifebuoy | |||
| ph-bell | |||
| ph-chat-circle-dots | |||
| ph-user | |||
| ph-caret-down | |||
| ph-magnifying-glass | |||
| ph-info | |||
| ph-warning | |||
| ph-check-circle | |||
| ph-x | |||
| ph-sign-out | |||
| ph-caret-right | |||
| ph-clock-countdown |