Final approved designs for all Pro Plan visual touchpoints. These are the canonical reference for development. Each section shows the approved design with implementation notes.
3-tier badge hierarchy (Standard: no badge, Premium: navy pill, Pro: black+crown pill) plus Pro-only drawer with signal pills.
ResultsCard.vuebg #1a1a1a, border rgba(240,192,64,0.3), crown #F0C040. Premium: bg #283949. Pill border-radius: 24px.4-tier: Pro (black+crown) > Premium (navy) > Std/Free (muted) > Viewed (taupe dimmed). Group markers inherit best tier.
GoogleMap.vuebg #1a1a1a, border 2px #eff1f5, crown #F0C040. Premium: bg #283949. Std/Free: bg #b8c4cc. Viewed: bg #f2ede3, opacity 0.6.Card shown when clicking a map pin. Same pill badges as search cards.
MarkerModal.vue — Same badges as search cards. Standard: no badge.Pro listing: mini badge on thumbnail, Pro-colored plan tag, Analytics link. Premium: navy tag + upgrade button.
ListingCard.vuebg #1a1a1a, color #F0C040. Premium: bg var(--blue400).1.5px solid rgba(240,192,64,0.2). Analytics link for Premium+Pro. Upgrade button for non-Pro only.Standard: choose Premium or Pro. Premium: upgrade to Pro. Pro: ceiling. Current plan shown as gray outline (non-clickable).
Upgrade.vueborder 1.5px var(--taupe200), white bg, muted text. Pro ceiling: stronger border var(--blue200) + crown.Non-Premium/Pro users see blurred teaser with real-looking KPI numbers.
Premium and Pro users get access to health scores, view counts, market comparisons, and actionable tips to improve your listing.
Analytics.vuev-if="!hasAnalyticsAccess" (Premium + Pro). Replaces old isPremium.| Element | Current (Production) | Approved Design | File |
|---|---|---|---|
| Pro badge | Gold #CE9B4D rect | Black #1a1a1a pill, crown #F0C040, border rgba(240,192,64,0.3) | ResultsCard.vue |
| Premium badge | Gold rect + star | Navy #283949 pill, text only | ResultsCard.vue |
| Pro drawer | None | Yellow50 bg, bordered pills, hover tooltips | ResultsCard.vue |
| Card info | Separate avail tag | Dates in specs line. Pro hides “Last updated” | ResultsCard.vue |
| Envelope | 20×16px | 20×16px (matches) | ResultsCard.vue |
| Pro map pin | Gold | Black #1a1a1a + crown | GoogleMap.vue |
| Premium pin | Gold #CE9B4D | Navy #283949 | GoogleMap.vue |
| Std/Free pin | White | Muted #b8c4cc | GoogleMap.vue |
| Viewed pin | N/A | #f2ede3, opacity 0.6 | GoogleMap.vue |
| Group marker | N/A | Inherits best tier | GoogleMap.vue |
| Marker modal | Gold rect | Pro: black+crown. Premium: navy. Std: none | MarkerModal.vue |
| Account tag | Star + text | Pro: #1a1a1a/#F0C040. Premium: navy | ListingCard.vue |
| Upgrade heading | “Upgrade your plan” | “Upgrade for more inquiries” | Upgrade.vue |
| Current plan | Yellow box | Gray outline: 1.5px var(--taupe200) | Upgrade.vue |
| Features format | Prose | Middot-separated | Upgrade.vue |
| Upgrade path | Std → Premium | Std → Prem/Pro, Prem → Pro, Pro = ceiling | Upgrade.vue |
| Analytics gate | isPremium | hasAnalyticsAccess, real KPIs | Analytics.vue |
| Analytics CTA | “Upgrade to Premium” | “Upgrade for more inquiries” | Analytics.vue |