Skip to content

Search

Start typing to search.


Show all pages

Documentation

layout

Auth shell

The frame of a sign-in screen — its layout is one CSS variable, so any arrangement of panel and form is data, not code.

UpdatedCSS onlyPlain classes; no JavaScript in any stack.

Usage

The split layout at a constrained height — panel beside the form once the viewport is 48rem wide, a full sign-in card with SSO and recovery links.

Ground Control

Sign in

Welcome back. Use your workspace account.

or continue with
HTML

Examples

Centered card

The default layout — just the card. Use it for compact screens like password recovery.

Ground Control

Reset your password

We email you a link to choose a new one.

HTML

Other layouts

--ca-auth-template holds the whole grid template — this panel-on-top arrangement is the same markup, one variable different.

Ground Control

Sign in

Welcome back. Use your workspace account.

HTML

Guidance and accessibility

When to use

  • Use an auth shell for sign-in, registration and password recovery screens — the pages before the app.
  • The card layout is the default; add ca-auth-shell--split for a visual panel beside the form on wide screens. Compose the panel with ordinary content: a headline, a checklist, a quote.
  • Put the form inside the card: fields, an alert for errors, a submit button. The footer holds the secondary links.

Layouts are data

Every part owns a named grid area (panel, main), and --ca-auth-template on the root holds the whole grid-template shorthand. The same markup rearranges into any layout by setting the variable — and grid areas follow the document direction, so a panel at the inline start and the inline end mirror automatically in RTL:

CSS
/* Panel at the end, two-thirds to the form */
.my-auth {
  --ca-auth-template: "main panel" 1fr / 3fr 2fr;
}

Including an element shows it — the __panel displays whenever it is in the markup, unless a layout hides it. Extra regions work the same way: name an area in your template and give your element a plain [grid-area:*] utility — no contract class needed:

CSS
/* Banner above the form, footer below — for elements with
   [grid-area:banner] and [grid-area:footer] */
.my-auth {
  --ca-auth-template:
    "banner" auto
    "main" 1fr
    "footer" auto /
    1fr;
}

The ca-auth-shell-wide variant drives the built-in --split at a 48rem viewport; a custom layout picks its own breakpoint with an ordinary media query around the same variable. To hide the panel conditionally instead of removing it, set --ca-auth-panel: none.

Accessibility

  • The main region is a <main> so the form is the landmark; the panel is complementary decoration — keep essential copy out of it.
  • Put ca-auth-shell__panel before ca-auth-shell__main so the reading order matches the visual order.

Classes

Generated from the component contract. Parts use __, modifiers use --.

Classes of the auth-shell component
ClassKindUse it for
ca-auth-shellComponentThe frame; fills the viewport.
ca-auth-shell__panelPartThe visual half of the split layout; the host composes its content. Hidden by the card layout.
ca-auth-shell__mainPartThe form column — centers the card and scrolls when the card is taller than the viewport.
ca-auth-shell__cardPartThe box around the brand and the form.
ca-auth-shell__brandPartThe logo and product name above the title.
ca-auth-shell__titlePartThe page heading, such as "Sign in".
ca-auth-shell__descriptionPartThe line under the title that says what happens next.
ca-auth-shell__footerPartSecondary links under the card, such as sign-up and password recovery.
ca-auth-shell--cardLayoutLayout: the default — the card centered in the viewport.
ca-auth-shell--splitLayoutLayout: a visual panel beside the form column once the viewport is 48rem wide.

Skins

The same markup, dressed by each skin. Structure and behavior stay the same; only the look changes.

Base skin

Neutral grayscale starting point; product skins extend it and change what differs.

Ground Control

Sign in

Welcome back. Use your workspace account.

or continue with

Calaca skin

The Calaca UI brand: hueso paper and tinta ink, cempasúchil marigold, rosa and jade.

Ground Control

Sign in

Welcome back. Use your workspace account.

or continue with

Bloque skin

Example skin pushed far from base: square, heavy, offset shadows, larger targets.

Ground Control

Sign in

Welcome back. Use your workspace account.

or continue with

Pliego skin

Example skin from the press sheet: cool ground, bond-paper sheets, rule-grey hairlines, one red mark.

Ground Control

Sign in

Welcome back. Use your workspace account.

or continue with

Framework notes

Link the prebuilt stylesheet of your skin next to your brand stylesheet. No build step.

HTML
<link rel="stylesheet" href="brand.css" />
<link rel="stylesheet" href="ca-base.css" />