Financial workbench standards
Scope first. Evidence beside the value. Tables that support comparison. The shared shell, controls and states every route composes from; version 0.3 of the design guide.
Hierarchy and financial typography
24px page titles, 16px section headings, 14px working data and 12px supporting context. Tabular figures, explicit currency and consistent precision. Identifiers and file names use the monospace stack.
Reported value · USD
$15,875,000.00
Latest available marks
Zero balance · USD
$0.00
Zero is a known value
Signed amount · USD
-$1,250.50
Leading minus before the currency symbol
Stable asset colors
Color identifies an asset class. It never implies investment performance or replaces a text label, and it does not change when a table is sorted or filtered.
- Cash
- Public equity
- Fixed income
- Private funds
- Direct investments
- Real assets
Fields, controls and focus
Label above the control, hint beneath, error last and tied to the control. Controls are 44px tall with a 4px radius; compact controls inside table rows are 32px. Tab through this surface to inspect the shared focus ring.
Scope applies to totals, holdings and allocation together.
Enter a decimal amount with up to four places, for example 250000.0000.
Notices and status
A notice describes the data or the outcome of a request; a badge names a record's state. Tone is carried by a rule and text color and always accompanied by words.
Batch published
Earlier marks
2 row problems; nothing was imported
- line 4: amount is not a signed decimal
- line 9: unknown instrument identifier
| Investment / Account | Valuation date | Status | |
|---|---|---|---|
| Example investment with a deliberately long descriptive name | Earlier mark | Published | $3,200,000 |
| Known zero | Published | $0 | |
| Missing value | No valuation date | Staged | Value unavailable |
Sorting is live on the portfolio overview and uses raw typed values. Missing and negative examples specify presentation only; they do not widen the nonnegative, required-value holdings contract.
Honest data states
Loading, empty, no match and failure are distinct. None of them is ever rendered as a zero-value portfolio.
Loading
Frame first; figures only when real.
Empty
Nothing to show, and why.
No matching holdings
Try an investment name, account or asset class.
Failure
A failed query is never an empty portfolio.
Portfolio unavailable
No balances have been substituted.
