5.7 KiB
Design System Specification: The Architectural Approval Engine
1. Overview & Creative North Star: "Precision Ethereal"
The "Precision Ethereal" North Star moves beyond the standard "boxes-on-grey" look of enterprise software. For this OA approval system, we reject the industrial coldness of traditional automation in favor of an interface that feels like high-end architectural drafting: precise, layered, and deceptively simple.
We break the "template" look by utilizing intentional asymmetry—where navigation and content areas don't always align to a rigid center, creating a sense of forward momentum. By combining the authoritative weight of manrope typography with a "No-Line" spatial philosophy, we create a signature identity that feels like a premium digital concierge rather than a bureaucratic tool.
2. Colors & Surface Philosophy
Our color strategy is rooted in Tonal Depth. Instead of using lines to separate ideas, we use light.
The Palette
- Primary (The Executive Core):
primary(#003da6) andprimary_container(#0052d9). Use these for high-intent actions. - Semantic Accents:
secondary(#006c46) for Approvals.tertiary(#733500) for Pending/Warning states.error(#ba1a1a) for Rejections.
- Neutrals: A sophisticated range from
surface(#faf8ff) tosurface_container_highest(#e1e2ed).
The "No-Line" Rule
Explicit Instruction: Do not use 1px solid borders for sectioning or grouping.
Boundaries must be defined through background color shifts. A surface_container_low card sitting on a surface background provides enough contrast for the human eye to perceive a boundary without adding visual noise.
The "Glass & Gradient" Rule
To elevate CTAs and Hero sections, use subtle Linear Gradients (e.g., primary to primary_container at 135 degrees). For floating elements like header bars or mobile navigation, apply Glassmorphism:
- Background:
surfaceat 70% opacity. - Effect:
backdrop-blur: 20px. - This ensures the UI feels like it’s floating in a cohesive 3D space rather than being "pasted" on.
3. Typography: The Editorial Hierarchy
We utilize a dual-font strategy to balance character with utility.
| Level | Token | Font | Size | Intent |
|---|---|---|---|---|
| Display | display-lg |
Manrope | 3.5rem | High-impact dashboard stats. |
| Headline | headline-md |
Manrope | 1.75rem | Approval titles and section headers. |
| Title | title-md |
Inter | 1.125rem | Card titles and form groupings. |
| Body | body-md |
Inter | 0.875rem | Standard data and descriptions. |
| Label | label-sm |
Inter | 0.6875rem | Micro-copy and status indicators. |
Style Note: Headlines in Manrope provide an "Editorial" feel, conveying authority. Body text in Inter ensures maximum legibility in dense approval forms.
4. Elevation & Depth: Tonal Layering
Traditional drop shadows are forbidden unless an object is physically "active" or "hovered."
- The Layering Principle: Stack
surface-containertiers to create depth.- Base:
surface - Section:
surface_container_low - Individual Card:
surface_container_lowest(Pure white #ffffff)
- Base:
- Ambient Shadows: For floating modals or dropdowns, use a "Tinted Ambient Shadow":
box-shadow: 0 12px 40px rgba(25, 27, 35, 0.06);(Using theon_surfacecolor as the shadow base).
- The Ghost Border: If high-contrast accessibility is required, use a "Ghost Border":
outline_variantat 15% opacity. Never use 100% opaque borders.
5. Components & Interface Objects
Buttons (The Action Set)
- Primary: Gradient fill (
primarytoprimary_container),DEFAULT(8px) rounding, no border. - Secondary:
surface_container_highbackground withon_surfacetext. - States: On hover, increase the elevation through a subtle 4% opacity white overlay rather than changing the base hex code.
The "Paper-Stack" Approval Cards
- Rule: Forbid divider lines within cards.
- Structure: Use
body-lgfor the requestor's name andlabel-mdfor the timestamp. Separate the "Approve/Reject" actions using a 24px vertical gutter (from the Spacing Scale) rather than a horizontal line. - Status Chips: Use
secondary_containerfor "Approved" anderror_containerfor "Rejected." The text should always be the correspondingon_token for contrast compliance.
Form Inputs
- Style: Use "Soft Fields." Background is
surface_container_highestwith anoneborder. - Focus State: Transition the background to
surface_container_lowestand apply a 1px "Ghost Border" usingprimary.
Navigation Rails
Instead of a standard sidebar, use a "Floating Rail" with Glassmorphism. The background of the rail should be surface at 80% opacity with a heavy backdrop blur, creating a sense of transparency and lightness.
6. Do’s and Don'ts
Do:
- Embrace Whitespace: Use the spacing scale to create "breathing room" around complex approval workflows.
- Use Nested Surfaces: Put high-priority data on a
surface_container_lowestcard to make it "pop" naturally. - Editorial Alignment: Align large headlines to the left, but allow supporting stats to sit asymmetrically to create visual interest.
Don’t:
- Don’t use 1px Dividers: They clutter the UI. Use a 16px or 24px gap instead.
- Don’t use Pure Black Shadows: Always tint your shadows with the
on_surfaceblue-grey hue to maintain a "high-end" look. - Don’t use standard System Fonts: Stick strictly to the Manrope/Inter pairing to protect the brand persona.
- Don't crowd the margins: Professionalism is defined by the space you don't fill.