export function fmt(value,type = "number"){const n = Number(value);if (isNaN(n)) return value ?? "—";if (!isFinite(n)) return "∞";switch (type){case "currency": return "£" + n.toLocaleString("en-GB",{minimumFractionDigits: 0,maximumFractionDigits: 0});case "percent": return n.toFixed(1) + "%";case "number": return n.toLocaleString("en-GB",{maximumFractionDigits: 1});default:return String(value ?? "—")}}export function coverColor(weeks){if (!isFinite(weeks) || weeks === null) return "#94A3B8";if (weeks < 4) return "#B91C1C";if (weeks < 8) return "#C2410C";if (weeks < 10) return "#0F766E";return "#15803D"}export function coverClass(weeks){if (!isFinite(weeks) || weeks === null) return "cv-0";if (weeks < 4) return "cv-r";if (weeks < 8) return "cv-a";if (weeks < 10) return "cv-t";return "cv-g"}export function shortNum(n){const v = Number(n);if (isNaN(v)) return "—";if (v >= 1_000_000) return "£" + (v / 1_000_000).toFixed(1) + "m";if (v >= 1_000) return (v / 1_000).toFixed(1) + "k";return v.toLocaleString("en-GB")}
