{
  "id": "ultra-civic-performance",
  "name": "Performance Report",
  "theme": "ultra-civic",
  "category": "Data & Reports",
  "description": "A published performance report in two colours, where a target being missed is shown by a bar crossing a 2px line rather than by turning a different colour.",
  "layout": "A two-column report where each measure is an outlined block containing a horizontal bar and a target rule, so failure is a spatial fact rather than a colour change.",
  "modules": [
    {
      "key": "head",
      "name": "Report header",
      "html": "\n<header class=\"hd\"><span class=\"k\">Published quarterly under the Local Government Transparency Code</span><h1>Service performance, Q3 2026</h1><span class=\"m\">Northfield Council · Housing &amp; Council Tax · published 4 September 2026</span></header>"
    },
    {
      "key": "measures",
      "name": "Measures",
      "html": "\n<section class=\"ms\">\n  <article><span class=\"k\">Applications decided within 11 working days</span><b>94<i>%</i></b><div class=\"br\"><i style=\"--w:94%\"></i><span class=\"tg\" style=\"--t:90%\"></span></div><span class=\"m\">Target 90% · met</span></article>\n  <article class=\"miss\"><span class=\"k\">Calls answered within 3 minutes</span><b>68<i>%</i></b><div class=\"br\"><i style=\"--w:68%\"></i><span class=\"tg\" style=\"--t:85%\"></span></div><span class=\"m\">Target 85% · not met</span></article>\n  <article><span class=\"k\">Appeals concluded within 8 weeks</span><b>81<i>%</i></b><div class=\"br\"><i style=\"--w:81%\"></i><span class=\"tg\" style=\"--t:80%\"></span></div><span class=\"m\">Target 80% · met</span></article>\n  <article class=\"miss\"><span class=\"k\">Correspondence answered within 10 days</span><b>72<i>%</i></b><div class=\"br\"><i style=\"--w:72%\"></i><span class=\"tg\" style=\"--t:95%\"></span></div><span class=\"m\">Target 95% · not met</span></article>\n</section>"
    },
    {
      "key": "table",
      "name": "Quarterly table",
      "html": "\n<table>\n  <thead><tr><th>Measure</th><th>Q3</th><th>Q2</th><th>Q1</th><th>Q4 2025</th><th>Target</th></tr></thead>\n  <tbody>\n    <tr><td>Applications decided in 11 days</td><td class=\"n\">94</td><td class=\"n\">92</td><td class=\"n\">89</td><td class=\"n\">88</td><td class=\"n\">90</td></tr>\n    <tr><td>Calls answered in 3 minutes</td><td class=\"n\">68</td><td class=\"n\">74</td><td class=\"n\">79</td><td class=\"n\">81</td><td class=\"n\">85</td></tr>\n    <tr><td>Appeals concluded in 8 weeks</td><td class=\"n\">81</td><td class=\"n\">80</td><td class=\"n\">77</td><td class=\"n\">75</td><td class=\"n\">80</td></tr>\n    <tr><td>Correspondence in 10 days</td><td class=\"n\">72</td><td class=\"n\">70</td><td class=\"n\">84</td><td class=\"n\">91</td><td class=\"n\">95</td></tr>\n  </tbody>\n</table>"
    },
    {
      "key": "note",
      "name": "Explanation",
      "html": "\n<footer class=\"nt\"><span class=\"k\">Where we are failing</span><p>Two measures were not met. Call answering has fallen for three consecutive quarters following the closure of the Kirkstall contact centre in December. Two additional officers start in October; we expect the measure to recover by Q1 and we will report whether it did.</p></footer>"
    }
  ],
  "moduleCount": 4,
  "reorderable": true,
  "meta": {
    "id": "ultra-civic-performance",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-09-01T20:01:13+09:00",
    "updatedAt": "2026-09-01T20:01:13+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/ultra-civic-performance.json",
  "structure": "A two-column report where each measure is an outlined block containing a horizontal bar and a target rule, so failure is a spatial fact rather than a colour change.",
  "html": "<div class=\"dz dz-ultra-civic-performance\" data-design=\"ultra-civic-performance\" data-theme=\"ultra-civic\">\n<section class=\"dz-mod\" data-mod=\"head\" aria-label=\"Report header\">\n<header class=\"hd\"><span class=\"k\">Published quarterly under the Local Government Transparency Code</span><h1>Service performance, Q3 2026</h1><span class=\"m\">Northfield Council · Housing &amp; Council Tax · published 4 September 2026</span></header></section>\n<section class=\"dz-mod\" data-mod=\"measures\" aria-label=\"Measures\">\n<section class=\"ms\">\n  <article><span class=\"k\">Applications decided within 11 working days</span><b>94<i>%</i></b><div class=\"br\"><i style=\"--w:94%\"></i><span class=\"tg\" style=\"--t:90%\"></span></div><span class=\"m\">Target 90% · met</span></article>\n  <article class=\"miss\"><span class=\"k\">Calls answered within 3 minutes</span><b>68<i>%</i></b><div class=\"br\"><i style=\"--w:68%\"></i><span class=\"tg\" style=\"--t:85%\"></span></div><span class=\"m\">Target 85% · not met</span></article>\n  <article><span class=\"k\">Appeals concluded within 8 weeks</span><b>81<i>%</i></b><div class=\"br\"><i style=\"--w:81%\"></i><span class=\"tg\" style=\"--t:80%\"></span></div><span class=\"m\">Target 80% · met</span></article>\n  <article class=\"miss\"><span class=\"k\">Correspondence answered within 10 days</span><b>72<i>%</i></b><div class=\"br\"><i style=\"--w:72%\"></i><span class=\"tg\" style=\"--t:95%\"></span></div><span class=\"m\">Target 95% · not met</span></article>\n</section></section>\n<section class=\"dz-mod\" data-mod=\"table\" aria-label=\"Quarterly table\">\n<table>\n  <thead><tr><th>Measure</th><th>Q3</th><th>Q2</th><th>Q1</th><th>Q4 2025</th><th>Target</th></tr></thead>\n  <tbody>\n    <tr><td>Applications decided in 11 days</td><td class=\"n\">94</td><td class=\"n\">92</td><td class=\"n\">89</td><td class=\"n\">88</td><td class=\"n\">90</td></tr>\n    <tr><td>Calls answered in 3 minutes</td><td class=\"n\">68</td><td class=\"n\">74</td><td class=\"n\">79</td><td class=\"n\">81</td><td class=\"n\">85</td></tr>\n    <tr><td>Appeals concluded in 8 weeks</td><td class=\"n\">81</td><td class=\"n\">80</td><td class=\"n\">77</td><td class=\"n\">75</td><td class=\"n\">80</td></tr>\n    <tr><td>Correspondence in 10 days</td><td class=\"n\">72</td><td class=\"n\">70</td><td class=\"n\">84</td><td class=\"n\">91</td><td class=\"n\">95</td></tr>\n  </tbody>\n</table></section>\n<section class=\"dz-mod\" data-mod=\"note\" aria-label=\"Explanation\">\n<footer class=\"nt\"><span class=\"k\">Where we are failing</span><p>Two measures were not met. Call answering has fallen for three consecutive quarters following the closure of the Kirkstall contact centre in December. Two additional officers start in October; we expect the measure to recover by Q1 and we will report whether it did.</p></footer></section>\n</div>",
  "css": "\n.dz-ultra-civic-performance { background: var(--background); color: var(--foreground); font-family: var(--pv-body); padding: 0 28px 32px; }\n.dz-ultra-civic-performance .hd { padding: 30px 0 22px; border-bottom: 2px solid var(--foreground); }\n.dz-ultra-civic-performance .k { font-size: 12.5px; display: block; }\n.dz-ultra-civic-performance .hd h1 { font-family: var(--pv-display); text-transform: uppercase; font-weight: 700; letter-spacing: -.02em; font-size: 48px; margin: 8px 0 8px; }\n.dz-ultra-civic-performance .m { font-size: 13.5px; }\n.dz-ultra-civic-performance .ms { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 24px 0; }\n.dz-ultra-civic-performance .ms article { border: 2px solid var(--foreground); border-radius: 0; padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; }\n.dz-ultra-civic-performance .miss { border-color: var(--primary); border-left-width: 8px; }\n.dz-ultra-civic-performance .ms b { font-family: var(--pv-mono); font-size: 44px; font-weight: 700; line-height: 1; }\n.dz-ultra-civic-performance .ms b i { font-size: 20px; font-style: normal; }\n.dz-ultra-civic-performance .br { position: relative; height: 18px; background: var(--muted); }\n.dz-ultra-civic-performance .br i { display: block; height: 18px; width: var(--w); background: var(--primary); }\n.dz-ultra-civic-performance .tg { position: absolute; left: var(--t); top: -5px; bottom: -5px; width: 2px; background: var(--foreground); }\n.dz-ultra-civic-performance table { width: 100%; border-collapse: collapse; }\n.dz-ultra-civic-performance th { font-family: var(--pv-display); text-transform: uppercase; font-weight: 700; letter-spacing: -.02em; font-size: 14px; text-align: right; padding: 11px 14px; border-bottom: 2px solid var(--foreground); border-top: 2px solid var(--foreground); }\n.dz-ultra-civic-performance th:first-child { text-align: left; }\n.dz-ultra-civic-performance td { padding: 11px 14px; font-size: 14.5px; border-bottom: 2px solid var(--foreground); }\n.dz-ultra-civic-performance .n { font-family: var(--pv-mono); text-align: right; font-feature-settings: \"tnum\" 1; }\n.dz-ultra-civic-performance .nt { padding-top: 24px; max-width: 66ch; }\n.dz-ultra-civic-performance .nt p { font-size: 15.5px; line-height: 1.62; margin: 6px 0 0; }\n@media (prefers-reduced-motion: reduce) { .dz-ultra-civic-performance *, .dz-ultra-civic-performance *::before, .dz-ultra-civic-performance *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }",
  "requiredTheme": "/api/v1/themes/ultra-civic.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Azeret+Mono:wght@400;500;600;700&display=swap"
}