Skip to main content
Flowra
PricingCommunityFAQ
JoinStart with Flowra
  • PricingPlans, seats and payment
  • Frequently asked questionsEverything you have asked, in one place
  • Contact usWrite to the right team
  • CommunityKaro Studio, who make Flowra

For your team

  • Marketing teamsCampaigns from brief to launch
  • Product and dev teamsFeatures and bugs with full context
  • Design and content teamsBrief, files and delivery side by side
  • Operations teamsWork, documents and costs you can track
  • Sales and services teamsFrom meeting to contract and payment
  • Remote teamsOnline meeting to delivery, on your time

For your role

  • Project managersAction stories instead of chasing the team
  • Freelancers and consultantsFrom brief to contract and settlement

For your workflow

  • Meeting to actionMeeting decisions as trackable work
  • Actions with financial contextCosts next to the work that caused them
  • Actions with contract contextEvery commitment as trackable work
  • Brief to project deliveryEvery project step, one complete action
See all solutionsStart with FlowraJoin
++
Flowra design system

Fundamentals

PrinciplesVoice and writingCopy rules for each surfaceGlossaryRTL and languagesNumbers and datesAccessibility

Foundations

ColorDark modePrintingTypographySpacing and layoutRadius and shadowLayersMotionNotification soundKeyboard shortcutsIconsService logos

Components

ButtonsText fieldPickerDate and timeCheckboxRadioKeySegmented controlSliderMenu and sheetDialogCard and listTables and data listsBadge, pill, and switchTabs and filtersAvatarEmpty and loading statesProgress and stepsToastFloating helpNavigationPage headerAssistants

Patterns

Connector pageList, filter, and searchForm layoutCreation flowUpgrade promptConfirmation and irreversible actionsPhone layoutFixed bars and scrolling

Brand

Flowra brandMark and logoBrand colorBrand typographyMisuse

Design system/Foundations

Spacing and layout

One 740px column, three breakpoints, and a short ruler of spacing values. Layout starts on the phone and opens up on larger screens.

In codeapp/globals.csslib/use-phone.ts

On this page

  1. Spacing ruler
  2. Page column
  3. Breakpoints
  4. Rules
  5. Spacing at each breakpoint

Spacing ruler

Spacing comes from a small set, and most values are multiples of 4 or 2. Small gaps keep things that belong together close, and large gaps separate groups.

Live example
4Gap between icon and counter; adjacent buttons in a stepper
6Gap between icon and label in a button; gap between a menu and its field
8Gap between pills in a row; page header buttons on phones
10Inner padding of menu rows and sidebar items
12Gap between columns in a list row
16Page side margin on phones and card inner padding
20Dialog and dialog header inner padding
24Page margin on desktop and gap between the column and the sidebar
32Confirmation dialog inner padding

Page column

Most internal app pages have a centered column with max-w-185, which is 740px (--page-col). On phones the side margin is 16px, and on desktop it's 24. The public site has a wider column.

When the sidebar is open, the body shifts only as far as the sidebar actually reaches into the column, not the full sidebar width, so the page is still centered at 1600px. A strip that needs to break out of the column, like board columns, starts exactly at the sidebar edge with .bleed-to-nav.

Internal page column740pxmax-w-185 · --page-col
Phone margin16pxpx-4
Desktop margin24pxsm:px-6
Sidebar services column84px--side-rail-w
Sidebar second column220px (200–440)--side-panel-w

Breakpoints

The same number in CSS and JavaScript: PHONE_QUERY in lib/use-phone.ts is the same max-width: 640px the stylesheet uses, so they never disagree at the edge. Code is written for phones first, and sm: or min-width restores the desktop size.

Live example
640900
Phone≤ 640pxMenus become bottom sheets, dialogs slide up from the bottom, the dock handles navigation, and btn-sm grows to 40px.
Tablet641 – 899pxStill the dock; the two-column sidebar needs about 300px that a tablet doesn't have.
Desktop≥ 900pxThe two-column sidebar replaces the dock, and the page column stays centered.
Documentation≥ 1000pxThe docs sidebar and this page's table of contents stay fixed beside the text.

Resize the window; the indicator shows the current width.

Rules

Do

useIsPhone() for decisions CSS can't make.

Don't

window.innerWidth with a different number; it disagrees with CSS at the edge.

Do

A flex child that needs to fit has flex-1 and min-w-0.

Don't

A flex child without flex-1; it shrinks to zero and only its icon remains.

Spacing at each breakpoint

Page header action rowgap 8px · mt 12pxPhone: each pill flex 1 1 auto
Page header with leadinggap 12px
Dockstart 20px · bottom 20pxPhone: bottom max(16px, safe-area) + 24px
Toastbottom max(22px, safe-area)Width up to 100vw − 32px
Panel gap from the field6pxFloating gap; 8px from the screen edge
Dialog from the edgepadding 20px.modal-overlay on desktop
List rowgap 12px · 16px × 10pxPhone gap 8px
  • The device safe area is accounted for with env(safe-area-inset-bottom) at the bottom of sheets, the phone dialog, the dock, and toasts.
  • On phones, scrolling down moves the dock down 150px and fades it out (0.35 seconds) so the text underneath can be read.

Do

Side padding with px-4 sm:px-6.

Don't

A fixed 24px padding on a 360px phone.

Do

Account for the safe area at the bottom of anything pinned to the edge.

Don't

A bare bottom: 0; it slides under the iPhone home bar.

Related pages

NavigationThe sidebar appears from 900px and pushes the column aside.Phone layoutEverything that changes below 640px.Card and listCards and rows are built with these same spacing values.Radius and shadowSpacing and radius are sized together.
PreviousTypographyNextRadius and shadow

Related pages

  • PageBrand kitThe Flowra mark and logo, colors, typography, clear space and minimum size, and the brand kit files to download.
  • PageDocumentationThe complete Flowra guide: actions, calendar, meetings, knowledge, files, Folio, chat, network, finance, connectors, settings and AI, each with its connections.
  • PageChangelogWhat each release added to Flowra, what got better, and what’s coming next.
  • PageContact usReach the right team: support, sales and plans, partnerships, careers, or security and privacy.
Flowra

Flowra is an all-in-one workspace for managing tasks, projects, finances, meetings, and teamwork, powered by AI to keep everything organized in one place.

Solutions for teams

  • Marketing teams
  • Product and dev teams
  • Design and content teams
  • Operations teams
  • Sales and services teams
  • Remote teams

Roles and flows

  • Project managers
  • Freelancers and consultants
  • Meeting to action
  • Actions with financial context
  • Actions with contract context
  • Brief to project delivery

With Flowra

  • All solutions
  • Pricing
  • Frequently asked questions
  • Documentation
  • Contact us
  • Brand kit
  • Design system
Crafted by Karo Studio
SecurityPrivacyTermsCookies
Version 0.16.0