P12 Apple Certificate
A professional Apple P12 certificate provisioning platform serving Vietnamese iOS developers. The design emphasizes trust, clarity, and technical precision through a clean, accessible interface with strategic use of Apple-inspired blues and professional grays.
Colors
Typography
- display
- fontFamily: Inter · fontSize: 60px · fontWeight: 700 · lineHeight: 68px · letterSpacing: -0.04em
- headline-lg
- fontFamily: Inter · fontSize: 40px · fontWeight: 600 · lineHeight: 48px · letterSpacing: -0.02em
- headline-md
- fontFamily: Inter · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: -0.01em
- title-lg
- fontFamily: Inter · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
- body-lg
- fontFamily: Inter · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0.02em
- body-md
- fontFamily: Inter · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0.01em
- label-md
- fontFamily: Inter · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
- label-sm
- fontFamily: Inter · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.03em
Design guidance
Overview
P12 Apple Certificate is a professional provisioning platform designed for Vietnamese iOS developers seeking secure, reliable Apple certificate management. The brand serves a technically sophisticated audience requiring both clarity and trustworthiness in a high-stakes development workflow. The aesthetic is 'Technical Minimalism'—combining Apple's design language (clean typography, generous whitespace, precise color hierarchy) with professional service credibility. The interface evokes calm competence: users feel they're interacting with a system that understands their technical needs and respects their time. Voice: direct, knowledgeable, reassuring. Example: 'Your P12 certificate is ready for immediate use—no delays, full support 24/7.'
Colors
The color system centers on Apple-inspired blues as the primary accent, reinforcing trust and technical authority. Primary (#0077be) is deployed on all call-to-action buttons, critical links, and interactive focus states—it's the color users click to provision certificates or access support. Secondary (#003697) anchors the brand identity, used in logos, headers, and premium tier indicators. Tertiary (#4361ee) provides a supporting accent for secondary actions, badges, and informational highlights. The surface stack uses a light, neutral palette (surface #f5f5f7, surface-bright #ffffff, surface-dim #ececf1) that mirrors Apple's iOS design, ensuring legibility and reducing cognitive load. On-surface text (#1d1d1f) maintains high contrast (WCAG AAA) for accessibility. Error red (#d32f2f) is r
Typography
The type system uses Inter exclusively, a humanist sans-serif that balances technical precision with approachability—essential for a platform serving developers. Display (60px, 700 weight, -0.04em tracking) is reserved for hero headlines and major section breaks; it commands attention without aggression. Headline-lg (40px, 600 weight) anchors page sections and modal titles. Headline-md (28px, 600 weight) introduces subsections and card headers. Title-lg (20px, 600 weight) labels feature groups and form sections. Body-lg (18px, 400 weight, 0.02em tracking) is used for hero copy and prominent descriptions—the slightly increased letter-spacing (0.02em) improves scannability. Body-md (16px, 400 weight) is the default paragraph text, optimized for 1.5x line-height (24px) to ensure comfortable r
Layout
The layout uses a fixed 12-column grid with a max-width of 900px, centered on the viewport with 24px gutters on mobile and tablet. This constraint ensures text remains readable (optimal line length ~60–80 characters) and prevents the interface from feeling sparse on large displays. The spacing scale follows a 8px base unit: xs (4px) for micro-adjustments, sm (12px) for compact grouping, md (24px) for standard section separation, lg (40px) for major section breaks, and xl (64px) for hero-to-content transitions. Cards and containers use md (24px) padding internally; section margins use lg (40px) vertically. The container-max-width of 900px reflects the platform's focus on dense, information-rich layouts—pricing tables, certificate details, and support documentation all benefit from this cons
Elevation & Depth
Depth is conveyed through a restrained shadow system that mimics Apple's iOS design language. Level 1 (Base): no shadow; surface-bright (#ffffff) cards sit flush on surface (#f5f5f7) backgrounds. Level 2 (Standard Card): box-shadow: 0 4px 8px rgba(0,0,0,0.08); used for default cards, input fields, and inactive buttons. This subtle shadow (8px blur, 4px offset, 8% black opacity) creates just enough separation to indicate interactivity without visual heaviness. Level 3 (Elevated/Hover): box-shadow: 0 8px 16px rgba(0,0,0,0.12); applied on button hover, card hover, and modal overlays. The increase
Shapes
The shape philosophy is 'Precise Accessibility'—rounded corners are used judiciously to soften the technical aesthetic while maintaining clarity. Buttons and primary interactive elements use rounded.lg (1rem / 16px), creating a friendly, approachable feel without sacrificing professional appearance. Cards and containers use rounded.xl (1.5rem / 24px), a slightly more generous radius that echoes iOS app design and signals that these are content containers, not chrome. Input fields use rounded.DEFAULT (0.5rem / 8px), a subtle radius that indicates interactivity without drawing attention away fro
Components
Action Elements Buttons are the primary interaction mechanism. Button-primary uses primary (#0077be) background with white text, 48px height, 14px vertical padding, 24px horizontal padding, and rounded.lg (16px). On hover, the background shifts to #0056b3 (darker, more saturated) and the shadow elevates to 0 8px 16px rgba(0,0,0,0.12), signaling interactivity. On active/pressed, the background becomes #003d7a with no shadow change. Transitions use 200ms cubic-bezier(0.4, 0, 0.2, 1) for smooth, snappy feedback. Button-secondary uses surface-container-high (#dcdce2) background with on-surface text (#1d1d1f), a 1px outline-variant border, and the same padding/height as primary. On hover, the background shifts to surface-container-highest (#d0d0d8). Button-ghost is transparent with a 1px pr
Do's and Don'ts
**Do**
- Do use primary (#0077be) exclusively for call-to-action buttons, critical links, and focus states—never dilute the primary color by overusing it on secondary elements.
- Do maintain the 900px container max-width on desktop to ensure text remains readable and the interface feels intentional, not stretched.
- Do apply the 8px spacing scale consistently: use md (24px) for card padding and section margins, lg (40px) for major breaks, ensuring visual rhythm feels predictable.
- Do use Inter exclusively for all typography—never mix typefaces. The humanist sans-serif is essential to the brand's technical-yet-approachable voice.
- Do apply elevation shadows (not color shifts) for depth: use elevation.sm for default cards, elevation.md for hover, elevation.lg for modals.
- Do ensure all interactive elements have a minimum 44px touch target and visible focus states (border color shift + focus ring) for accessibility.
**Don't**
- Don't use secondary (#003697) or tertiary (#4361ee) as primary CTA colors—they are supporting accents only. Primary (#0077be) is the only color for main actions.
- Don't add gradients, textures, or blur effects to card backgrounds—the system relies on solid colors and shadows for clarity and performance.
- Don't exceed the 900px container max-width; wider layouts dilute the visual hierarchy and make text harder to scan.
- Don't use rounded corners smaller than rounded.DEFAULT (8px) on interactive elements; smaller radii feel harsh and reduce perceived affordance.
- Don't apply text-shadow or drop-shadow to body text; use it only on small labels (12px or smaller) over busy backgrounds to maintain legibility.
- Don't mix font weights arbitrarily—use 400 for body text, 500 for labels, 600 for headlines, 700 for display. Inconsistent weights create visual noise.
Edit, then copy or download.