← All layouts · Finance
Payroll run
Pay run with employee rows, totals and a confirm step.
An irreversible action, so the layout ends in a deliberate confirm panel that restates the totals rather than a button sitting under the last table row.
- .ms-sidenav
- .ms-stat
- .ms-card
- .ms-shell
- .ms-btn
- .ms-table
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">Meridian</div>
<ul class="ms-sidenav">
<li class="ms-sidenav__section">Banking</li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#"><span class="material-icons">account_balance</span>Accounts</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link ms-sidenav__link--active" href="#"><span class="material-icons">swap_horiz</span>Payments</a></li>
<li class="ms-sidenav__item"><a class="ms-sidenav__link" href="#"><span class="material-icons">receipt_long</span>Invoices</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">credit_card</span>Cards</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>Payroll</strong>
<span class="ms-toolbar__spacer"></span>
<span class="ms-avatar-sm">SM</span>
</div>
<div class="ms-shell__body">
<div class="ms-toolbar">
<h1 style="margin:0">August pay run</h1>
<span class="ms-badge ms-badge--warning">Not yet submitted</span>
<span class="ms-toolbar__spacer"></span>
<span class="ms-stat__meta">Pay date 28 August 2026</span>
</div>
<div class="ms-stat-row u-mb-4">
<div class="ms-card"><div class="ms-stat">
<span class="ms-stat__label">Employees</span><span class="ms-stat__value">12</span></div></div>
<div class="ms-card"><div class="ms-stat">
<span class="ms-stat__label">Gross</span><span class="ms-stat__value">£38,410</span></div></div>
<div class="ms-card"><div class="ms-stat">
<span class="ms-stat__label">Deductions</span><span class="ms-stat__value">£9,882</span></div></div>
<div class="ms-card"><div class="ms-stat">
<span class="ms-stat__label">Net to pay</span><span class="ms-stat__value">£28,528</span></div></div>
</div>
<div class="ms-card ms-card--flush u-mb-4">
<table class="ms-table ms-table--striped ms-table--compact">
<thead><tr><th>Employee</th><th>Role</th><th class="u-text-right">Gross</th>
<th class="u-text-right">Tax</th><th class="u-text-right">NI</th>
<th class="u-text-right">Net</th></tr></thead>
<tbody>
<tr><td>Ellie Roberts</td><td>Buyer</td><td class="u-text-right">£3,750</td>
<td class="u-text-right">£612</td><td class="u-text-right">£284</td>
<td class="u-text-right">£2,854</td></tr>
<tr><td>James Doyle</td><td>Warehouse</td><td class="u-text-right">£2,410</td>
<td class="u-text-right">£318</td><td class="u-text-right">£178</td>
<td class="u-text-right">£1,914</td></tr>
<tr><td>Priya Kaur</td><td>Design</td><td class="u-text-right">£3,980</td>
<td class="u-text-right">£668</td><td class="u-text-right">£302</td>
<td class="u-text-right">£3,010</td></tr>
</tbody>
</table>
</div>
<div class="ms-card ms-card--accent-danger">
<h2>Submit this run</h2>
<p>Submitting sends £28,528.00 to 12 employees on 28 August and files
an FPS with HMRC. <strong>It cannot be undone from here</strong> —
a correction after submission needs an amended submission.</p>
<label class="ms-checkbox"><input type="checkbox">
I have checked the figures above</label>
<br>
<button class="ms-btn ms-btn--error ms-btn--lg u-mt-4">Submit pay run</button>
</div>
</div>
</div>
</div>