United Airlines (UAL) — MEC Brand Spec

Token overrides, typography, and component notes for the UAL branded experience.

Figma file: gpO3masyyNNHxjvRtdcRo7 · Node: 20657:502 (UAL page) · Status: Partial — tokens + frame/asset inventory captured; image extraction pending · Last updated: 2026-07-06

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.

Frame & Asset Inventory (added 2026-07-06)

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.

FrameWhat 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, UPA27Per-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 HubPresent 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 2Generic/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.

Brand Color Preview

#002243
Surface/Brand

#0008ce
Border/Action

#bed6fb
Text/On-Brand

#94ebfe
Links / Active

#f7f7f7
Surface/Primary

Theme Endpoint Token Overrides

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 pathALPA baseUAL overrideSource (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

Typography

UAL replaces both ALPA font slots (heading and body) with League Spartan.

SlotALPA baseUAL overrideWeight
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.

Component Notes

Primary Buttons

Interior Page Background

Interior 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.

Theme Endpoint Payload (UAL)

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"
  }
}

Open Items

#ItemStatus
1UAL 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
2Confirmed mecId for UAL from backendPending backend
3League 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 passFiles located — retrieve before build
4Action/PrimaryText on UAL action blue — confirm white passes WCAG AA contrast vs #0008ceAccessibility check pending