Meetroom Design System Reference
Meetroom is a video conferencing platform with bold Bloom blue, custom Happy Face + Almaden typography, and a clean two-tier design for marketing and app surfaces.
Website Colors
Meetroom's marketing website uses a bold blue-dominant brushwork anchored by "Bloom" blue and "Midnight" navy.
Primary
Secondary / Accent
Neutrals
Gradients
Website Typography
Two font families: "Happy Face Semi Bold" for display/headings and "Almaden Sans" for body/UI text.
Website Buttons
Rounded 12px buttons with semibold weight and slight negative letter-spacing. Hover reduces opacity to 0.8.
Website Cards
Cards use 20px border-radius with hover elevation animation (translateY and box-shadow).
Website Tabs
Pill-shaped toggle tabs with sliding active indicator.
Hero Section
Full-width radial gradient hero with centered text and dual CTA buttons.
Find out what's possible when work connects
Whether you're chatting with teammates or supporting customers, Meetroom makes it easier to connect, collaborate, and reach goals.
Carousel
Carousel with dot indicators and circular nav buttons.
App / Portal Colors
The Meetroom web portal uses a slightly different brushwork with darker grays and a distinct blue (#0065F2).
Primary
Status Colors
Backgrounds
App Typography
The portal uses "Internacional" for headings and "Almaden Sans" for body/UI text with smaller base sizes.
App Buttons
App portal uses similar rounded buttons with slightly different sizing and weights.
App Inputs
Form inputs with 8px radius, 1px solid borders, and floating-style label pattern.
Sign In Page
Split-panel layout with promotional content on the left and form on the right.
Beyond friction in collaboration
Get a first look at Meetroom's latest innovations in AI and orchestration.
Sign in
Pricing Cards
Vertical pricing cards with plan name, price display, CTA, and feature checklist.
- 40 minutes per meeting
- 100 participants per meeting
- Team Chat
- 30 hours per meeting
- 100 participants per meeting
- AI Companion
- Cloud storage
- 30 hours per meeting
- 300 participants per meeting
- Managed domains
Status Badges
Pill-shaped status badges with paired background/text colors.
Alerts
Full-width alert banners with icon, message, and semantic color pairing.
Toggle / Switch
Used for billing period selection and settings toggles.
Modal / Dialog
Centered dialog with 16px radius, drop shadow, and action buttons.
Spacing Scale
4px base unit spacing scale.
Border Radius
Shadows
Motion & Transitions
| Element | Property | Duration | Easing |
|---|---|---|---|
| Button hover | opacity | 0.3s | ease |
| Card hover | transform, box-shadow | 0.3s | ease-in-out |
| Carousel nav | all | 0.8s | ease-in-out |
| Tab slider | transform | 0.3s | ease-in-out |
| Tab content | fadeInScale | 0.75s | ease-in-out |
| Tab switch | all | 0.3s | ease-in |
| Input focus | border-color | 0.2s | ease |
| Toggle | background, transform | 0.2s | ease |
Breakpoints
| Name | Range | Notes |
|---|---|---|
| Mobile | max-width: 481px | Single column, stacked layout |
| Tablet | 482px - 1024px | Reduced headings, collapsed carousel |
| Desktop | min-width: 1025px | Full layout, hover states enabled |
| Container | Value |
|---|---|
| Max content width | 87.5rem (1400px) |
| Content area | 56.375rem (902px) |
| Nomina section | 1150px |
| Sign-in form | 360px |
CSS Custom Properties
Ready-to-paste CSS custom properties block extracted from .
:root {
/* Primary Colors */
--primary-bloom: #0B5CFF;
--primary-midnight: #00053D;
--primary-white: #FFFFFF;
/* Secondary Colors */
--deep-navy: #00031D;
--royal-blue: #02145D;
--bright-blue: #1281F8;
--violet: #8D5DF7;
--lavender: #C7C5FD;
--pink: #FB327E;
/* Neutrals */
--neutrals-light-grey: #F3F8FF;
--neutrals-medium: #D1DEF2;
--neutrals-dark-gray: #696B6E;
--neutrals-pale: #F3F3F3;
--carousel-blue: #E6F0FF;
/* App Colors */
--app-blue: #0065F2;
--app-text-primary: #131619;
--app-text-secondary: #232333;
--app-text-tertiary: #747487;
--app-link: #0956B5;
--app-bg-dark: #39394D;
--app-input-border: #6E7680;
--app-divider: #EAEAEA;
/* Status Colors */
--success: #1C7E41;
--success-bg: #E4F7EB;
--error: #B22424;
--error-bg: #FFE8E8;
--error-accent: #E8173D;
--warning: #B36200;
--warning-bg: #FFF9F2;
/* Typography */
--font-display: 'Happy Face Semi Bold', Helvetica, Arial, sans-serif;
--font-body: 'Almaden Sans', Helvetica, Arial, sans-serif;
--font-app-heading: Internacional, Helvetica, Arial;
/* Headline Sizes */
--headline-xxxl: 3.875rem;
--headline-xxl: 3.38rem;
--headline-xl: 2.875rem;
--headline-s: 1.25rem;
--body-l: 1.125rem;
--body-m: 1rem;
--caption: 0.75rem;
/* Spacing */
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-5: 20px;
--space-6: 24px;
--space-8: 32px;
--space-10: 40px;
--space-12: 48px;
/* Border Radius */
--radius-sm: 8px;
--radius-md: 12px;
--radius-lg: 20px;
--radius-pill: 62.4375rem;
--radius-round: 50%;
}
Tailwind Mapping
The paired JSON export now includes a tailwind section with theme extensions and component recipes. Use these mappings instead of default Tailwind tokens when recreating this system.
// tailwind.config.js
import designSystem from './design-system.json';
export default {
theme: {
extend: designSystem.tailwind.website.theme.extend,
},
};
// Swap to designSystem.tailwind.app.theme.extend for app/portal surfaces.
| Scope | Primary | Body Font | Radius | Shadow | Breakpoint |
|---|---|---|---|---|---|
| Website | — | — | — | — | — |
| App / Portal | — | — | — | — | — |
| Scope | Recipe | Class Pattern | Notes |
|---|---|---|---|
| Website | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-md bg-brand-primary text-text-inverse shadow-sm px-4 py-2 font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| Website | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| Website | inputField | rounded-md border border-border-subtle bg-surface-base text-text-primary px-3 py-2 focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |
| App / Portal | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-md bg-brand-primary text-text-inverse shadow-sm px-4 py-2 text-body font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| App / Portal | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| App / Portal | inputField | rounded-md border border-border-subtle bg-surface-base text-text-primary px-3 py-2 text-body focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |