{
  "id": "frost-index-terminal",
  "name": "Reference Terminal",
  "theme": "frost-index",
  "category": "App Shell",
  "description": "An application shell built around a command palette rather than a sidebar, because the people using it know the ticker before they open the page.",
  "layout": "A 44px command bar across the top, a 56px icon-free text rail on the left, and a document pane split into a fixed 240px summary and a scrolling body.",
  "modules": [
    {
      "key": "cmd",
      "name": "Command bar",
      "html": "\n<header class=\"cm\"><span class=\"pr\">&gt;</span><input type=\"text\" value=\"HLMA LN — description\" aria-label=\"Command\"><kbd>⌘K</kbd><span class=\"m\">14:02:11 UTC · delayed 15 min</span></header>"
    },
    {
      "key": "rail",
      "name": "Text rail",
      "html": "\n<nav class=\"rl\"><a class=\"on\" href=\"#\">DES</a><a href=\"#\">GP</a><a href=\"#\">FA</a><a href=\"#\">EE</a><a href=\"#\">DVD</a><a href=\"#\">CN</a><a href=\"#\">RV</a><a href=\"#\">OWN</a></nav>"
    },
    {
      "key": "summary",
      "name": "Summary pane",
      "html": "\n<aside class=\"sm\"><h1>Halma plc</h1><span class=\"m\">HLMA LN · GB0004052071 · Industrials</span>\n<dl>\n  <div><dt>Last</dt><dd>2,884.0</dd></div>\n  <div><dt>Change</dt><dd class=\"s\">(0.62%)</dd></div>\n  <div><dt>Cap</dt><dd>£11,204m</dd></div>\n  <div><dt>P/E</dt><dd>17.2</dd></div>\n  <div><dt>Yield</dt><dd>2.1%</dd></div>\n  <div><dt>Beta</dt><dd>0.84</dd></div>\n  <div><dt>Free float</dt><dd>98.4%</dd></div>\n  <div><dt>Employees</dt><dd>7,850</dd></div>\n</dl></aside>"
    },
    {
      "key": "body",
      "name": "Document body",
      "html": "\n<section class=\"bd\">\n  <h2 class=\"k\">Description</h2>\n  <p>Halma plc is a group of life-saving technology companies operating through three sectors: safety, environmental and analysis, and healthcare. The group acquires and holds small industrial businesses with defensible niches and devolves operating decisions to them.</p>\n  <h2 class=\"k\">Segment revenue, £m</h2>\n  <table><thead><tr><th>Segment</th><th>FY26</th><th>FY25</th><th>FY24</th><th>3y CAGR</th></tr></thead>\n  <tbody>\n    <tr><td>Safety</td><td class=\"n\">844.1</td><td class=\"n\">781.0</td><td class=\"n\">712.4</td><td class=\"n\">8.8</td></tr>\n    <tr><td>Environmental &amp; analysis</td><td class=\"n\">602.8</td><td class=\"n\">571.2</td><td class=\"n\">540.9</td><td class=\"n\">5.6</td></tr>\n    <tr><td>Healthcare</td><td class=\"n\">418.4</td><td class=\"n\">402.1</td><td class=\"n\">388.0</td><td class=\"n\">3.8</td></tr>\n    <tr class=\"tt\"><td>Total</td><td class=\"n\">1,865.3</td><td class=\"n\">1,754.3</td><td class=\"n\">1,641.3</td><td class=\"n\">6.6</td></tr>\n  </tbody></table>\n  <h2 class=\"k\">Recent filings</h2>\n  <ol class=\"fi\"><li><span class=\"dt2\">02 Sep</span>Director/PDMR shareholding</li><li><span class=\"dt2\">28 Aug</span>Total voting rights</li><li><span class=\"dt2\">14 Aug</span>Half-year report</li><li><span class=\"dt2\">01 Aug</span>Block listing six monthly return</li></ol>\n</section>"
    }
  ],
  "moduleCount": 4,
  "reorderable": false,
  "meta": {
    "id": "frost-index-terminal",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-09-01T19:53:43+09:00",
    "updatedAt": "2026-09-01T19:53:43+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/frost-index-terminal.json",
  "structure": "A 44px command bar across the top, a 56px icon-free text rail on the left, and a document pane split into a fixed 240px summary and a scrolling body.",
  "html": "<div class=\"dz dz-frost-index-terminal\" data-design=\"frost-index-terminal\" data-theme=\"frost-index\">\n<section class=\"dz-mod\" data-mod=\"cmd\" aria-label=\"Command bar\">\n<header class=\"cm\"><span class=\"pr\">&gt;</span><input type=\"text\" value=\"HLMA LN — description\" aria-label=\"Command\"><kbd>⌘K</kbd><span class=\"m\">14:02:11 UTC · delayed 15 min</span></header></section><section class=\"dz-mod\" data-mod=\"rail\" aria-label=\"Text rail\">\n<nav class=\"rl\"><a class=\"on\" href=\"#\">DES</a><a href=\"#\">GP</a><a href=\"#\">FA</a><a href=\"#\">EE</a><a href=\"#\">DVD</a><a href=\"#\">CN</a><a href=\"#\">RV</a><a href=\"#\">OWN</a></nav></section><section class=\"dz-mod\" data-mod=\"summary\" aria-label=\"Summary pane\">\n<aside class=\"sm\"><h1>Halma plc</h1><span class=\"m\">HLMA LN · GB0004052071 · Industrials</span>\n<dl>\n  <div><dt>Last</dt><dd>2,884.0</dd></div>\n  <div><dt>Change</dt><dd class=\"s\">(0.62%)</dd></div>\n  <div><dt>Cap</dt><dd>£11,204m</dd></div>\n  <div><dt>P/E</dt><dd>17.2</dd></div>\n  <div><dt>Yield</dt><dd>2.1%</dd></div>\n  <div><dt>Beta</dt><dd>0.84</dd></div>\n  <div><dt>Free float</dt><dd>98.4%</dd></div>\n  <div><dt>Employees</dt><dd>7,850</dd></div>\n</dl></aside></section><section class=\"dz-mod\" data-mod=\"body\" aria-label=\"Document body\">\n<section class=\"bd\">\n  <h2 class=\"k\">Description</h2>\n  <p>Halma plc is a group of life-saving technology companies operating through three sectors: safety, environmental and analysis, and healthcare. The group acquires and holds small industrial businesses with defensible niches and devolves operating decisions to them.</p>\n  <h2 class=\"k\">Segment revenue, £m</h2>\n  <table><thead><tr><th>Segment</th><th>FY26</th><th>FY25</th><th>FY24</th><th>3y CAGR</th></tr></thead>\n  <tbody>\n    <tr><td>Safety</td><td class=\"n\">844.1</td><td class=\"n\">781.0</td><td class=\"n\">712.4</td><td class=\"n\">8.8</td></tr>\n    <tr><td>Environmental &amp; analysis</td><td class=\"n\">602.8</td><td class=\"n\">571.2</td><td class=\"n\">540.9</td><td class=\"n\">5.6</td></tr>\n    <tr><td>Healthcare</td><td class=\"n\">418.4</td><td class=\"n\">402.1</td><td class=\"n\">388.0</td><td class=\"n\">3.8</td></tr>\n    <tr class=\"tt\"><td>Total</td><td class=\"n\">1,865.3</td><td class=\"n\">1,754.3</td><td class=\"n\">1,641.3</td><td class=\"n\">6.6</td></tr>\n  </tbody></table>\n  <h2 class=\"k\">Recent filings</h2>\n  <ol class=\"fi\"><li><span class=\"dt2\">02 Sep</span>Director/PDMR shareholding</li><li><span class=\"dt2\">28 Aug</span>Total voting rights</li><li><span class=\"dt2\">14 Aug</span>Half-year report</li><li><span class=\"dt2\">01 Aug</span>Block listing six monthly return</li></ol>\n</section></section>\n</div>",
  "css": "\n.dz-frost-index-terminal { background: var(--background); color: var(--foreground); font-family: var(--pv-body); display: grid; grid-template-columns: 56px 240px minmax(0, 1fr); grid-template-rows: 44px minmax(0, 1fr); min-height: 520px; }\n.dz-frost-index-terminal .cm { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; padding: 0 14px; border-bottom: var(--pv-bw) solid var(--border); background: var(--card); }\n.dz-frost-index-terminal .pr { font-family: var(--pv-mono); color: var(--primary); font-size: 13px; }\n.dz-frost-index-terminal .cm input { flex: 1; font: inherit; font-family: var(--pv-mono); font-size: 13px; background: transparent; color: var(--foreground); border: 0; padding: 6px 0; }\n.dz-frost-index-terminal .cm input:focus { outline: none; }\n.dz-frost-index-terminal kbd { font-family: var(--pv-mono); font-size: 10.5px; border: var(--pv-bw) solid var(--border); border-radius: var(--pv-radius-sm); padding: 3px 6px; color: var(--muted-foreground); }\n.dz-frost-index-terminal .m { font-size: 11px; color: var(--muted-foreground); }\n.dz-frost-index-terminal .rl { display: flex; flex-direction: column; border-right: var(--pv-bw) solid var(--border); }\n.dz-frost-index-terminal .rl a { font-family: var(--pv-mono); font-size: 11px; text-align: center; padding: 10px 0; color: var(--muted-foreground); text-decoration: none; border-bottom: var(--pv-bw) solid var(--border); transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }\n.dz-frost-index-terminal .rl a:hover { color: var(--foreground); background: var(--card); }\n.dz-frost-index-terminal .rl a.on { color: var(--primary); background: var(--card); }\n.dz-frost-index-terminal .sm { border-right: var(--pv-bw) solid var(--border); padding: 16px 16px 20px; }\n.dz-frost-index-terminal .sm h1 { font-family: var(--pv-display); font-size: 21px; font-weight: 600; margin: 0 0 4px; }\n.dz-frost-index-terminal .sm dl { margin: 18px 0 0; }\n.dz-frost-index-terminal .sm dl div { display: flex; justify-content: space-between; align-items: baseline; height: 28px; border-bottom: var(--pv-bw) solid var(--border); }\n.dz-frost-index-terminal .sm dt { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-foreground); }\n.dz-frost-index-terminal .sm dd { margin: 0; font-family: var(--pv-mono); font-feature-settings: \"tnum\" 1, \"zero\" 1; text-align: right; font-size: 13px; }\n.dz-frost-index-terminal .s { color: var(--primary); }\n.dz-frost-index-terminal .bd { padding: 18px 22px 24px; overflow: auto; }\n.dz-frost-index-terminal .k { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-foreground); display: block; margin: 0 0 8px; }\n.dz-frost-index-terminal .bd h2:not(:first-child) { margin-top: 22px; }\n.dz-frost-index-terminal .bd p { font-size: 13.5px; line-height: 1.62; color: var(--muted-foreground); margin: 0; max-width: 72ch; }\n.dz-frost-index-terminal table { width: 100%; border-collapse: collapse; }\n.dz-frost-index-terminal th { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-foreground); text-align: right; padding: 8px 12px; border-bottom: var(--pv-bw) solid var(--border); }\n.dz-frost-index-terminal th:first-child { text-align: left; }\n.dz-frost-index-terminal td { padding: 0 12px; height: 30px; font-size: 13px; border-bottom: var(--pv-bw) solid var(--border); }\n.dz-frost-index-terminal .n { font-family: var(--pv-mono); font-feature-settings: \"tnum\" 1, \"zero\" 1; text-align: right; }\n.dz-frost-index-terminal .tt td { font-weight: 600; border-top: var(--pv-bw) solid var(--border); }\n.dz-frost-index-terminal .fi { list-style: none; margin: 0; padding: 0; }\n.dz-frost-index-terminal .fi li { display: flex; gap: 14px; height: 30px; align-items: center; font-size: 13px; border-bottom: var(--pv-bw) solid var(--border); }\n.dz-frost-index-terminal .dt2 { font-family: var(--pv-mono); font-size: 11.5px; color: var(--muted-foreground); width: 54px; }\n@media (prefers-reduced-motion: reduce) { .dz-frost-index-terminal *, .dz-frost-index-terminal *::before, .dz-frost-index-terminal *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }",
  "requiredTheme": "/api/v1/themes/frost-index.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap"
}