Coconut Design System v3.11.0
home Home

Layout

The structural foundation: topbar, sidebar, content area, grid system, and responsive breakpoints.

Page Structure

Dashboard Shell
Dashboard
v3.10
MENU
Home
Systems
Infra
Settings
Page Title
Description text here
STAT
1,247
STAT
99.97%
STAT
Active

Layout Tokens

TokenValueUsage
--topbar-h56pxFixed topbar height. Blur backdrop, 1px border-bottom.
--sidebar-w240pxFixed sidebar width. White bg, 1px border-right.
--radius12pxDefault border radius for cards, inputs, containers.
--radius-lg16pxLarge radius for modals, feature cards.
Main padding1.5rem 2remContent area padding. Reduced on mobile.
Grid gap0.75remDefault gap for all card/stat grids.

Topbar Anatomy

56px fixed, backdrop-filter: blur(12px)
Dashboard v3.10
admin@example.com
notifications
dark_mode
translate
logout
.topbar { height: var(--topbar-h); /* 56px */ backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); position: fixed; top: 0; left: var(--sidebar-w); right: 0; z-index: 50; } /* Left: Logo (22px) + Divider + Title + Version badge */ /* Right: Email (mono) + Bell (30x30) + Theme + Lang + Logout */

Grid System

CSS Grid with auto-responsive columns
4 Columns — Stat Cards
1fr
1fr
1fr
1fr
3 Columns — Standard
1fr
1fr
1fr
2:1 — Main + Side Panel
Main Content
Side
.grid { display: grid; gap: 0.75rem; } .grid-2 { grid-template-columns: 1fr 1fr; } .grid-3 { grid-template-columns: 1fr 1fr 1fr; } .grid-4 { grid-template-columns: 1fr 1fr 1fr 1fr; } /* Responsive: auto-fit for stat cards */ .stats-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

Responsive Breakpoints

BreakpointWidthChanges
Desktop> 1200pxFull layout: sidebar visible, all grid columns
Small Desktop901–1200pxgrid-4 → 2-col, grid-3 → 2-col
Tablet≤ 900pxSidebar hidden → hamburger overlay, topbar compact
Small Tablet≤ 600pxHide email, compact topbar actions
Phone≤ 480pxSingle column, smaller padding, reduced font sizes
@media (max-width: 900px) { .sidebar { display: none; } .main-content { margin-left: 0; } .hamburger { display: flex; } } @media (max-width: 480px) { .stats-grid { grid-template-columns: 1fr; } .main-content { padding: 1rem; } }