Token overrides, typography, and component notes for the UAL branded experience.
Capture status: Token colors captured from Figma MCP. A frame/asset inventory pass (2026-07-06, per procedure §3.6) found the page carries far more than the token table alone — see Frame & Asset Inventory below. Remaining component-level overrides (card headers, accent fills) and the actual image asset URLs are still not extracted.
The UAL page (node 20657:502) was previously only ever captured for its color/font tokens. A 2026-07-06 investigation found 14-15 top-level frames and 29 image-filled nodes — this was never inventoried before. Full asset URL extraction (via download_assets or imageRef resolution) is still open; this is a structural inventory, not a final asset export.
| Frame | What it looks like |
|---|---|
UAL Home (20785:1418) | Main MEC scaffold screen — main-feed slot + topNav + status bar + navBar-bottom. Tokens only, no unique fills. |
Home-banner demo alt (21324:2955) | Full UAL-branded Home-feed mock showing the banner component instance (D43, PromoBanner) placed in context alongside welcome and card-sm/card-lg instances. Root frame has both SOLID and IMAGE fills — a real image asset is present here, a strong candidate to close Open Item #1 below. |
CLE172, CLE172 Web Search, ERW 005, DCA 011, LAS 153, LAS 153 Roster, Committees, HOTEL COMMITTEE, UPA27 | Per-LEC content example mockups (matches the comms-content.xlsx LECs sheet data) — real content examples, not MEC token/asset material. Likely out of scope for this spec; noted for completeness. |
UAL Media Hub | Present on the UAL page as expected (the mislabeling issue is on the FDX/DAL pages, which carry a stray copy of this same frame — see those specs). |
Frame 1, Frame 2 | Generic/unnamed — not yet identified. |
Branded icon assets found (within the 29 image-filled nodes, mostly on UAL Home): united/committee and united/hotel component instances, each with nested Vector/Union fills, plus several generic img rectangles (likely hero/banner photo placeholders) and i-cal icon instances. Actual image URLs were not resolved this pass — needs download_assets or imageRef resolution, per procedure §3.5.
#002243
Surface/Brand
#0008ce
Border/Action
#bed6fb
Text/On-Brand
#94ebfe
Links / Active
#f7f7f7
Surface/Primary
These values go in the GET /api/theme/{mecId} response for UAL. Only tokens that differ from the ALPA base are shown — all other tokens fall through to base values. See theme-endpoint-contract.html for the full schema.
| Token path | ALPA base | UAL override | Source (Figma) |
|---|---|---|---|
Surface/Brand |
#05273e |
#002243 — United Brand/Blue-800 |
Node 20657:502 |
Surface/Primary |
#efefef |
#f7f7f7 — United Brand/Grey-100 |
Node 20657:502 |
Text/On-Brand D34 — DynamicResource |
#ffffff |
#bed6fb — UAL periwinkle |
Node 20657:502 |
Text/Link |
#007bc2 |
#94ebfe — United Brand/Blue-400 |
Node 20657:502 |
Border/Brand |
#05273e |
#0008ce — United Brand/Blue-500 |
Node 20657:502 |
Icon/On-Brand |
#ffffff |
#ffffff — no change |
— |
Icon/Active |
#007bc2 |
#94ebfe — United Brand/Blue-400 |
Node 20657:502 |
Action/Primary |
#007bc2 |
#0008ce — United Brand/Blue-500 |
Node 20657:502 |
Action/Accent |
#007bc2 |
#94ebfe — United Brand/Blue-400 |
Node 20657:502 |
Nav/Background |
#05273e |
#002243 — tracks Surface/Brand |
Node 20657:502 |
Nav/Active |
#ffffff |
#bed6fb — UAL periwinkle, tracks Text/On-Brand |
Inferred from Text/On-Brand rule |
Font/Heading |
"FuturaPT" |
"LeagueSpartan" |
Figma typography vars node 20657:502 |
Font/Body |
"FuturaPT" |
"LeagueSpartan" |
Figma typography vars node 20657:502 |
UAL replaces both ALPA font slots (heading and body) with League Spartan.
| Slot | ALPA base | UAL override | Weight |
|---|---|---|---|
Font/Heading |
Futura PT Bold (700) | League Spartan Bold | 700 |
Font/Body |
Futura PT Book (400) | League Spartan Regular | 400 |
League Spartan is publicly available via Google Fonts. It has a full weight range — only Regular (400) and Bold (700) are used per D33. UAL also provides font files directly at ual.alpa.org/Admin/File-Management → ALPA App > Branding > Fonts — use these over the Google Fonts CDN so the correct licensed versions are bundled.
Nav/Background → #002243 (United Brand/Blue-800)Nav/Active → #bed6fb (periwinkle — tracks Text/On-Brand)Nav/Inactive → #9ba1a8 (no override; same as ALPA base)Action/Primary → #0008ce (United Brand/Blue-500)Action/PrimaryText → #ffffff (no override)Text/Link usages: #94ebfe (United Brand/Blue-400, light cyan)#94ebfeInterior screens (FTDT, Flight Finder, etc.) stay at bg-main (#f5f7fa) regardless of MEC. The United branded color only applies to the navBar-bottom and branded card headers. Do not apply Surface/Brand to interior page backgrounds.
Text/On-Brand must be a DynamicResource (D34). #bed6fb is the UAL override. If you hardcode #ffffff for text on any UAL-branded surface, the contrast spec will be wrong. Always bind via DynamicResource in XAML or via the --text-on-brand CSS custom property in Blazor.
Condensed — only token overrides from the ALPA base are shown. Pass with a confirmed mecId from the backend team.
{
"mecId": <UAL_MEC_ID>,
"themeVersion": "2026-06-26T00:00:00Z",
"tokens": {
"Surface/Brand": "#002243",
"Surface/Primary": "#f7f7f7",
"Text/On-Brand": "#bed6fb",
"Text/Link": "#94ebfe",
"Border/Brand": "#0008ce",
"Icon/Active": "#94ebfe",
"Action/Primary": "#0008ce",
"Action/Accent": "#94ebfe",
"Nav/Background": "#002243",
"Nav/Active": "#bed6fb",
"Font/Heading": "LeagueSpartan",
"Font/Body": "LeagueSpartan"
}
}
| # | Item | Status |
|---|---|---|
| 1 | UAL hero/background images — Home-banner demo alt (node 21324:2955, found 2026-07-06) is a strong candidate: it has a real IMAGE fill on its root frame, shown in context with the PromoBanner (D43) and Home-feed cards. Actual image URL/asset not yet extracted. | Candidate found — extraction pending |
| 2 | Confirmed mecId for UAL from backend | Pending backend |
| 3 | League Spartan font delivery mechanism — UAL provides files at ual.alpa.org/Admin/File-Management → ALPA App > Branding > Fonts; confirm these are the correct licensed weights (Regular + Bold) and retrieve before the ALPAMobile.Presentation font-bundling pass | Files located — retrieve before build |
| 4 | Action/PrimaryText on UAL action blue — confirm white passes WCAG AA contrast vs #0008ce | Accessibility check pending |