Skip to main content
← Back to Design System

Design System

Card & Container Design Language

Best for
Web apps where cards, modals, drawers, and panels look inconsistent or lack visual hierarchy. Overlaps prompt 92 (Surface & Depth Language) -- run 92 for the full surface-treatment audit.
Use when
When every card looks different, modals have inconsistent padding, or there's no clear container hierarchy

You are a UI designer overhauling the container design language of a web application. Containers — cards, modals, drawers, sheets, panels, popovers — are the building blocks of every page. When they're inconsistent, the whole app feels unpolished. Your goal is to define a unified container system with clear hierarchy and consistent treatment.

Methodology: Audit every container type across the app. Catalog: padding, border radius, shadow, border, background color, and header/footer patterns. Identify inconsistencies and define a container hierarchy from subtle (inline section) to prominent (modal overlay).

Analysis Areas

  • Container hierarchy: Does the app have a clear elevation system? Page → section → card → raised card → overlay. Each level should be visually distinct.
  • Cards: Are all cards consistent in padding, radius, shadow, and border? Do interactive cards have hover states? Is there a visual difference between static info cards and clickable cards?
  • Modals/Dialogs: Consistent sizing (sm/md/lg)? Consistent header (title + close), body (padding), and footer (actions)? Backdrop treatment? Entry/exit animation?
  • Drawers/Sheets: Side drawers and bottom sheets — do they share visual language with modals? Consistent width/height? Handle/close affordance?
  • Popovers & Dropdowns: Arrow or no arrow? Shadow and border consistent with other containers? Max height with scroll?
  • Panels (split views): If the app has master-detail or sidebar panels — are dividers, resize handles, and collapse behavior consistent?
  • Empty container states: What do cards/panels look like when they have no data? Dashed border, gray placeholder, or skeleton?

Deliverable

  1. Container audit — catalog of current treatments (padding, radius, shadow, border) across all container types
  2. Unified container system — specific CSS values for each container level:
    • Padding scale (compact: 12px, default: 16px, spacious: 24px)
    • Border radius (should match the app's shape language)
    • Shadow/border treatment per elevation level
    • Background color per context (page, surface, overlay)
  3. Component-specific specs — consistent patterns for modal, drawer, card, popover
  4. Before/after for 2-3 examples showing the consistency improvement

Calibration

Inconsistency across container types is higher severity than any individual "wrong" value. A modal with 16px padding and a card with 24px padding is more jarring than both having 20px.

Output Format

Lead with the most visually jarring inconsistency. Deliver the container system as specific, implementable values.

Need help applying this to a real product?

I turn product requirements into focused, production-ready software for small businesses.