diff options
| author | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-05-18 01:35:04 -0700 |
|---|---|---|
| committer | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-05-18 01:35:04 -0700 |
| commit | 49907ef9991d2f13d53bb02fa648c8a06fbfe80a (patch) | |
| tree | feea76eeeb1a8e7ff3bda8016d5a0b694d00eecc /frontend/app/prism-shell.css | |
| parent | fdaef36d7ede89e6711ae65948b7c85d23c8f716 (diff) | |
feat: add ValuationCard component and psm-val-* CSS
Diffstat (limited to 'frontend/app/prism-shell.css')
| -rw-r--r-- | frontend/app/prism-shell.css | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/frontend/app/prism-shell.css b/frontend/app/prism-shell.css index cd0023a..9a37bdd 100644 --- a/frontend/app/prism-shell.css +++ b/frontend/app/prism-shell.css @@ -1289,3 +1289,204 @@ .psm-fin-empty { padding: var(--sp-4); } + +/* ── Valuation tab ──────────────────────────────── */ + +.psm-val-card { + display: flex; + flex-direction: column; + gap: var(--sp-5); +} + +.psm-val-strip { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: var(--sp-3); +} + +.psm-val-chip { + display: flex; + flex-direction: column; + gap: var(--sp-1); + padding: var(--sp-3) var(--sp-4); + background: var(--ink-2); + border-radius: var(--r-2); + border: 1px solid var(--line-1); +} + +.psm-val-chip.accent { + border-color: var(--brass); +} + +.psm-val-chip-label { + font-family: var(--font-sans); + font-size: var(--fs-12); + font-weight: 600; + letter-spacing: var(--tr-wider); + text-transform: uppercase; + color: var(--fg-3); +} + +.psm-val-chip-price { + font-family: var(--font-mono); + font-size: var(--fs-18); + color: var(--fg-1); + font-variant-numeric: tabular-nums; +} + +.psm-val-chip-pct { + font-family: var(--font-mono); + font-size: var(--fs-12); + font-variant-numeric: tabular-nums; +} + +.psm-val-section { + display: flex; + flex-direction: column; + gap: var(--sp-3); + padding-top: var(--sp-4); + border-top: 1px solid var(--line-1); +} + +.psm-val-section-head { + display: flex; + align-items: center; + justify-content: space-between; +} + +.psm-val-wacc-note { + font-family: var(--font-mono); + font-size: var(--fs-12); + color: var(--fg-4); + font-variant-numeric: tabular-nums; +} + +.psm-val-dcf-error { + font-family: var(--font-sans); + font-size: var(--fs-13); + color: var(--warning); + padding: var(--sp-3) var(--sp-4); + background: var(--ink-2); + border-radius: var(--r-2); + border-left: 2px solid var(--warning); +} + +.psm-val-dcf-body { + display: grid; + grid-template-columns: 1fr 1fr; + gap: var(--sp-5); +} + +.psm-val-kv-list { + display: flex; + flex-direction: column; +} + +.psm-val-kv-row { + display: flex; + justify-content: space-between; + align-items: center; + padding: var(--sp-2) 0; + border-bottom: 1px solid var(--ink-2); +} + +.psm-val-kv-row.is-divider { + margin-top: var(--sp-2); + border-top: 1px solid var(--line-1); +} + +.psm-val-kv-row.is-total .psm-val-kv-val { + color: var(--fg-1); + font-weight: 600; +} + +.psm-val-kv-label { + font-family: var(--font-sans); + font-size: var(--fs-13); + color: var(--fg-3); +} + +.psm-val-kv-val { + font-family: var(--font-mono); + font-size: var(--fs-13); + color: var(--fg-2); + font-variant-numeric: tabular-nums; +} + +.psm-val-intrinsic { + display: flex; + flex-direction: column; + gap: var(--sp-2); + padding: var(--sp-4); + background: var(--ink-2); + border-radius: var(--r-2); + border: 1px solid var(--line-1); + align-self: start; +} + +.psm-val-intrinsic-label { + font-family: var(--font-sans); + font-size: var(--fs-12); + font-weight: 600; + letter-spacing: var(--tr-wider); + text-transform: uppercase; + color: var(--fg-3); +} + +.psm-val-intrinsic-price { + font-family: var(--font-mono); + font-size: var(--fs-38); + color: var(--brass); + font-variant-numeric: tabular-nums; + line-height: 1.1; +} + +.psm-val-intrinsic-shares { + font-family: var(--font-mono); + font-size: var(--fs-12); + color: var(--fg-4); + font-variant-numeric: tabular-nums; +} + +.psm-val-mult-list { + display: flex; + flex-direction: column; +} + +.psm-val-mult-row { + display: grid; + grid-template-columns: 1fr 56px 80px 64px; + gap: var(--sp-4); + align-items: center; + padding: var(--sp-3) 0; + border-bottom: 1px solid var(--ink-2); +} + +.psm-val-mult-label { + font-family: var(--font-sans); + font-size: var(--fs-13); + color: var(--fg-2); +} + +.psm-val-mult-x { + font-family: var(--font-mono); + font-size: var(--fs-12); + color: var(--fg-3); + font-variant-numeric: tabular-nums; + text-align: right; +} + +.psm-val-mult-price { + font-family: var(--font-mono); + font-size: var(--fs-13); + color: var(--fg-1); + font-variant-numeric: tabular-nums; + text-align: right; +} + +.psm-val-mult-pct { + font-family: var(--font-mono); + font-size: var(--fs-12); + font-variant-numeric: tabular-nums; + text-align: right; +} |
