← All layouts · Admin
CRM contacts
List, detail and activity timeline in three panes.
Three panes so a salesperson never loses their place: the list stays, the record fills the middle, the history sits right. Selecting a contact changes one pane, not the whole page.
- .ms-sidenav
- .ms-timeline
- .ms-shell
- .ms-avatar-sm
- .ms-btn
- .ms-card
Live
The layout as it renders, in a frame at its own width. Resize the window to watch it respond — the frame is a real viewport.
How to build it
This is the layout's template, read from disk — the same file the frame
above renders, so it cannot drift out of date. Copy it into your own page
and replace the content; every class in it ships in
mcgowan.css.
<div class="ms-shell">
<aside class="ms-shell__sidebar">
<div class="ms-shell__brand">Northbound</div>
<ul class="ms-sidenav">
<li class="ms-sidenav__section">Manage</li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#"><span class="material-icons">dashboard</span>Overview</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link ms-sidenav__link--active" href="#"><span class="material-icons">group</span>Customers</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#"><span class="material-icons">inventory_2</span>Products</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#"><span class="material-icons">receipt_long</span>Orders</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#"><span class="material-icons">insights</span>Reports</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#"><span class="material-icons">settings</span>Settings</a></li>
</ul>
</aside>
<div class="ms-shell__main">
<div class="ms-shell__bar">
<strong>Customers</strong>
<span class="ms-toolbar__spacer"></span>
<input class="ms-input" placeholder="Search" style="max-width:220px">
<span class="ms-avatar-sm">AM</span>
</div>
<div class="ms-shell__body">
<nav class="ms-breadcrumb"><span class="ms-breadcrumb-item">Home</span>
<span class="ms-breadcrumb-item">Customers</span></nav>
<div class="u-grid u-grid-cols-12">
<div class="u-col-12 u-col-lg-3">
<div class="ms-card ms-card--flush">
<div class="u-p-3"><input class="ms-input" placeholder="Search contacts"></div>
<ul class="ms-sidenav">
<li class="ms-sidenav__item"><a class="ms-sidenav__link ms-sidenav__link--active" href="#">
<span class="ms-avatar-sm">ER</span>Ellie Roberts</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#">
<span class="ms-avatar-sm">JD</span>James Doyle</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#">
<span class="ms-avatar-sm">PK</span>Priya Kaur</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#">
<span class="ms-avatar-sm">TM</span>Tom Mercer</a></li>
</ul>
</div>
</div>
<div class="u-col-12 u-col-lg-6">
<div class="ms-card">
<div class="ms-toolbar">
<span class="ms-avatar-lg">ER</span>
<div>
<h2 style="margin:0">Ellie Roberts</h2>
<p class="ms-stat__meta">Buyer · Fellside Outdoor</p>
</div>
<span class="ms-toolbar__spacer"></span>
<span class="ms-badge ms-badge--success">Active</span>
</div>
<table class="ms-table">
<tr><th>Email</th><td>ellie@fellside.example</td></tr>
<tr><th>Phone</th><td>01539 000000</td></tr>
<tr><th>Account value</th><td>£84,200</td></tr>
<tr><th>Owner</th><td>Sam Mercer</td></tr>
</table>
<div class="ms-toolbar u-mt-4">
<button class="ms-btn ms-btn--primary">Log a call</button>
<button class="ms-btn ms-btn--outline">Add note</button>
</div>
</div>
</div>
<div class="u-col-12 u-col-lg-3">
<div class="ms-card">
<h2>Activity</h2>
<ul class="ms-timeline">
<li class="ms-timeline__item"><span class="ms-timeline__marker"></span>
<span class="ms-timeline__time">Today, 09:14</span>
<div class="ms-timeline__body">Quote sent for autumn order.</div></li>
<li class="ms-timeline__item"><span class="ms-timeline__marker"></span>
<span class="ms-timeline__time">Yesterday</span>
<div class="ms-timeline__body">Call — discussed lead times.</div></li>
<li class="ms-timeline__item"><span class="ms-timeline__marker"></span>
<span class="ms-timeline__time">14 Aug</span>
<div class="ms-timeline__body">Invoice 4471 paid.</div></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>