Uktupus Design

Shape and density

Square enough to mean business — with one signature slant.

Radius

Most surfaces use an 8px radius: inputs, cards, dialogs and menus. Small controls use 4px. Avatars, switches and dots use full round.

Slanted controls — primary / outline / ghost buttons, tabs, the active sidebar item, and the floating marketing nav bar — use a 6px radius on the parallelogram.

4px

Checkboxes and small controls

6px · slant

Slanted buttons, tabs, active nav

8px

Inputs, cards, dialogs, menus

Full

Avatars, switches, dots

Slant

The Uktupus signature shape is a parallelogram:

  1. Outer control: transform: skewX(-8deg) and border-radius: 6px
  2. Inner content (label + icons): transform: skewX(8deg) so text stays upright
  3. Focus ring follows the slanted shape

Build it once in the shared helpers (frontend/lib/ui/slant.tsx) and the shared Button component — never hand-roll skew per screen.

Where it applies

SurfaceSlanted?
Primary, outline, ghost buttonsYes
TabsYes
Active sidebar / menu itemYes (only when active)
Module sidebar shellNo — standard sidebar
Marketing floating nav barYes (bar shell; mega panel stays square)
Secondary, destructive, link buttonsNo
Inputs, cards, tables, badgesNo
Checkboxes, switchesNo

Why not cards and tables

The slant is an accent for actions and chrome. Skewing cards or tables would tilt the whole UI and make dense lists harder to scan. Keep reading surfaces square.

Density

Table rows are 36px by default. People who prefer more room can switch to comfortable 44px rows from their user menu.

Albeco DOOEL1,240.00
Tehnomarket1,240.00
Vero Centar1,240.00

Compact · 36px rows

Albeco DOOEL1,240.00
Tehnomarket1,240.00
Vero Centar1,240.00

Comfortable · 44px rows

Spacing

Spacing follows a 4px grid:

SpaceUsed for
8pxBetween an icon and its label, and between buttons in a group
16pxBetween form fields, inside cards, between cards in a grid
24pxBetween sections of a page

Elevation

Cards sit as soft #FCFCFB surfaces on the white canvas — no border, no shadow. Only things that float above the page cast a shadow: menus, popovers, dialogs and toasts.