// ============================================================ // auth-style-b.jsx — Dark split-hero auth (Vercel / Stripe school). // Two-column: marketing/storytelling on the left, form on the right. // Inverts gracefully for onboarding (single dark surface, full width). // ============================================================ const b = { bg: "#0a0a0a", left: "#0f0f14", surface: "#101015", surface2: "#16161d", border: "#1f1f25", borderStrong: "#2a2a32", text: "#fafafa", subtext: "#a8a8b0", muted: "#6a6a72", accent: "#ffffff", accentText: "#0a0a0a", brandA: "#5e5cff", brandB: "#b15bff", }; const fontB = "'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif"; // Local icon helper (kept independent of other auth files) const IcnB = ({ d, size = 16, sw = 1.6 }) => ( {d} ); const PB = { check: , eye: <>, arrow: , bolt: , spark: , star: , }; const MarkB = ({ size = 22 }) => ( ); const BField = ({ label, value, placeholder, type, icon, hint, optional, autofocus }) => (
{label && (
{label} {optional && optional}
)}
{icon && {icon}} {value || placeholder} {type === "password" && }
{hint &&
{hint}
}
); const BSocial = ({ children, glyph }) => ( ); const BPrimary = ({ children, full = true }) => ( ); // LEFT hero panel — short storytelling const HeroPanel = ({ headline, sub, badge }) => (
{/* Decorative grid + glow */}
{/* Brand */}
Lattice
{/* Mid */}
{badge && (
NEW {badge}
)}

{headline}

{sub}

{/* Trust row */}
Used by teams at
Halcyon·Kestrel ·Mossbank·Verra
{/* Bottom quote */}

"Replaced three tools in our first week. Lattice is what every CRM should have been."

DP
Devi Patel
Head of Sales, Halcyon
); // 2-col shell: hero on left, form on right const BSplitShell = ({ hero, children }) => (
{hero}
Need help? support
{children}
PrivacyTermsSecurity v4.2.1
); const BSignIn = () => ( }>

Sign in to Lattice

Welcome back. Pick how you'd like to continue.

}>Continue with Google }>Continue with Microsoft }>Continue with Apple
or with email
Password Forgot?
••••••••••
Sign in
SAML / SSO for your company? Use SSO →
New here? Create an account
); const BSignUp = () => ( }>

Create your account

You'll set up your workspace in the next step.

}>Continue with Google }>Continue with Microsoft
or with email
I agree to the Terms and{" "} Privacy Policy.
Create account
Already have an account? Sign in
); const BOnboarding = () => { // Full-bleed dark onboarding screen (workspace customization step) const Step = ({ n, label, state }) => (
{state === "done" ? : n}
{label}
); const ColorSwatch = ({ color, selected }) => (
); const Template = ({ title, sub, icon, selected, color }) => (
{icon}
{title}
{sub}
{selected && (
)}
); return (
{/* Decorative aurora */}
{/* Top stepper bar */}
Lattice
Step 3 of 5 · Personalise

Pick a template to get going.

We'll pre-fill your workspace with the right objects, views and fields. Everything is editable later.

{/* Template grid */}