1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,66958,e=>{"use strict";e.s(["AuditDataProvider",()=>n,"useAuditData",()=>l,"useIsComplete",()=>i]);var t=e.i(43476),a=e.i(71645);let r=(0,a.createContext)(null),s=(0,a.createContext)(!1);function n(e){let{value:a,complete:n=!1,children:i}=e;return(0,t.jsx)(s.Provider,{value:n,children:(0,t.jsx)(r.Provider,{value:a,children:i})})}function i(){return(0,a.useContext)(s)}function l(){let e=(0,a.useContext)(r);if(null===e)throw Error("useAuditData must be used within an <AuditDataProvider>. Wrap the report tree (e.g. in app/v2/page.tsx or the live report page) with <AuditDataProvider value={auditData}>.");return e}},88203,e=>{"use strict";e.s(["Nav",()=>n]);var t=e.i(43476),a=e.i(71645),r=e.i(7670);let s=[{id:"hero",label:"Overview"},{id:"working",label:"What's Working"},{id:"gaps",label:"The 3 Gaps"},{id:"website",label:"Website"},{id:"seo",label:"SEO & Content"},{id:"local",label:"Local Visibility"},{id:"reputation",label:"Reviews & Reputation"},{id:"aisearch",label:"AI Search Visibility"},{id:"social",label:"Social Media"},{id:"afterhours",label:"After-Hours Coverage"},{id:"directories",label:"Directory Accuracy"},{id:"competitive",label:"Competitors"},{id:"roi",label:"Patients You're Missing"},{id:"plan",label:"90-Day Plan"},{id:"cta",label:"Let's Talk"}];function n(){let[e,n]=(0,a.useState)("hero");return(0,a.useEffect)(()=>{let e=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&n(t.target.id)},{rootMargin:"-40% 0px -55% 0px",threshold:0});for(let{id:t}of s){let a=document.getElementById(t);a&&e.observe(a)}return()=>e.disconnect()},[]),(0,t.jsx)("nav",{className:"fixed left-8 top-1/2 hidden -translate-y-1/2 lg:block",children:(0,t.jsx)("ul",{className:"space-y-2.5",children:s.map(a=>{let{id:s,label:n}=a;return(0,t.jsx)("li",{children:(0,t.jsxs)("a",{href:"#".concat(s),className:(0,r.default)("group flex items-center gap-3 text-[10px] uppercase tracking-[0.14em] transition-colors",e===s?"text-msp-blue":"text-msp-muted hover:text-msp-ink"),children:[(0,t.jsx)("span",{className:(0,r.default)("h-px transition-all",e===s?"w-10 bg-msp-blue":"w-4 bg-msp-muted group-hover:w-6")}),(0,t.jsx)("span",{className:(0,r.default)("transition-opacity",e===s?"opacity-100":"opacity-0 group-hover:opacity-100"),children:n})]})},s)})})})}},64668,63750,30868,52912,36410,83900,25709,9833,e=>{"use strict";e.s(["SectionPending",()=>r],64668);var t=e.i(43476),a=e.i(66958);function r(e){let{title:r,note:s,unavailableNote:n}=e;return(0,a.useIsComplete)()?(0,t.jsx)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-10 shadow-card",children:(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[(0,t.jsx)("span",{className:"mt-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-msp-border text-msp-muted","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 20 20",className:"h-3 w-3",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,t.jsx)("path",{d:"M5 10h10",strokeLinecap:"round"})})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-msp-muted",children:"Not available"}),(0,t.jsx)("h3",{className:"mt-2 text-xl font-bold tracking-tight text-msp-ink",children:r}),(0,t.jsx)("p",{className:"mt-2 max-w-xl text-sm leading-relaxed text-msp-muted",children:null!=n?n:"We couldn't pull enough public data on this for your practice â so it's left out here, and it isn't counted against your score."})]})]})}):(0,t.jsx)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-10 shadow-card",children:(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[(0,t.jsxs)("span",{className:"relative mt-1 flex h-3 w-3 shrink-0","aria-hidden":!0,children:[(0,t.jsx)("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-msp-blue/40"}),(0,t.jsx)("span",{className:"relative inline-flex h-3 w-3 rounded-full bg-msp-blue"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-msp-blue",children:"Still analyzing"}),(0,t.jsx)("h3",{className:"mt-2 text-xl font-bold tracking-tight text-msp-ink",children:r}),(0,t.jsx)("p",{className:"mt-2 max-w-xl text-sm leading-relaxed text-msp-muted",children:null!=s?s:"We're still pulling this part of your report. It will appear here automatically the moment it's ready â no need to refresh."}),(0,t.jsxs)("div",{className:"mt-6 space-y-3",children:[(0,t.jsx)("div",{className:"h-3 w-3/4 animate-pulse rounded-full bg-msp-border"}),(0,t.jsx)("div",{className:"h-3 w-1/2 animate-pulse rounded-full bg-msp-border"}),(0,t.jsx)("div",{className:"h-3 w-2/3 animate-pulse rounded-full bg-msp-border"})]})]})]})})}function s(e){let{eyebrow:a,title:r,subtitle:s,align:n="left"}=e;return(0,t.jsxs)("header",{className:"center"===n?"mb-12 text-center":"mb-12",children:[(0,t.jsxs)("div",{className:"mb-4 flex items-center gap-3 ".concat("center"===n?"justify-center":""),children:[(0,t.jsx)("span",{className:"h-px w-10 bg-msp-blue"}),(0,t.jsx)("span",{className:"eyebrow",children:a})]}),(0,t.jsx)("h2",{className:"max-w-3xl text-4xl font-bold leading-[1.08] tracking-tight text-msp-ink md:text-5xl",children:r}),s&&(0,t.jsx)("p",{className:"mt-5 max-w-2xl text-lg leading-relaxed text-msp-muted ".concat("center"===n?"mx-auto":""),children:s})]})}e.s([],9833),e.s(["SectionHeader",()=>s],63750),e.s(["Gauge",()=>d],52912);var n=e.i(46932);e.s(["InsightChip",()=>c],30868);var i=e.i(7670);let l={critical:"bg-msp-danger/10 text-msp-danger ring-msp-danger/20",warning:"bg-msp-warning/10 text-msp-warning ring-msp-warning/20",notice:"bg-msp-blue/10 text-msp-blue ring-msp-blue/20",good:"bg-msp-success/10 text-msp-success ring-msp-success/20",neutral:"bg-msp-ink/5 text-msp-ink ring-msp-ink/10"},o={critical:"bg-msp-danger",warning:"bg-msp-warning",notice:"bg-msp-blue",good:"bg-msp-success",neutral:"bg-msp-muted"};function c(e){let{tone:a="notice",icon:r="dot",children:s,size:n="md"}=e;return(0,t.jsxs)("span",{className:(0,i.default)("inline-flex items-center gap-1.5 rounded-full font-semibold ring-1 ring-inset","sm"===n?"px-2 py-0.5 text-[10px]":"px-2.5 py-1 text-xs",l[a]),children:["dot"===r&&(0,t.jsx)("span",{className:(0,i.default)("h-1.5 w-1.5 rounded-full",o[a])}),"arrow-up"===r&&(0,t.jsx)("svg",{viewBox:"0 0 12 12",className:"h-3 w-3 fill-current","aria-hidden":!0,
1children:(0,t.jsx)("path",{d:"M6 2l4 5H2z"})}),"arrow-down"===r&&(0,t.jsx)("svg",{viewBox:"0 0 12 12",className:"h-3 w-3 fill-current","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M6 10L2 5h8z"})}),"alert"===r&&(0,t.jsx)("svg",{viewBox:"0 0 12 12",className:"h-3 w-3 fill-current","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M6 1l5.2 9H.8z"})}),"sparkle"===r&&(0,t.jsx)("svg",{viewBox:"0 0 12 12",className:"h-3 w-3 fill-current","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M6 0l1.5 4.5L12 6l-4.5 1.5L6 12l-1.5-4.5L0 6l4.5-1.5z"})}),s]})}function d(e){let{value:a,max:r=100,label:s,statusText:i,size:l=280}=e,o=Math.max(0,Math.min(r,a)),d=l/2-22,u=Math.PI*d,m=o/r*u,p=l/2,h=l/2,x=o<40?{text:"Needs Immediate Work",tone:"critical"}:o<60?{text:"Needs Work",tone:"warning"}:o<80?{text:"Room to Grow",tone:"notice"}:{text:"Great",tone:"good"},g=null!=i?i:x.text,f="critical"===x.tone?"#dc2626":"warning"===x.tone?"#f59e0b":"notice"===x.tone?"#3555ff":"#10b981",b=Math.PI+o/r*Math.PI,v=p+d*Math.cos(b),y=h+d*Math.sin(b);return(0,t.jsxs)("div",{className:"flex flex-col items-center",children:[(0,t.jsxs)("svg",{width:l,height:l/2+30,viewBox:"0 0 ".concat(l," ").concat(l/2+30),className:"overflow-visible",children:[(0,t.jsx)("path",{d:"M ".concat(p-d," ").concat(h," A ").concat(d," ").concat(d," 0 0 1 ").concat(p+d," ").concat(h),fill:"none",stroke:"#eceef0",strokeWidth:20,strokeLinecap:"round"}),(0,t.jsx)(n.motion.path,{d:"M ".concat(p-d," ").concat(h," A ").concat(d," ").concat(d," 0 0 1 ").concat(p+d," ").concat(h),fill:"none",stroke:f,strokeWidth:20,strokeLinecap:"round",strokeDasharray:u,initial:{strokeDashoffset:u},animate:{strokeDashoffset:u-m},transition:{duration:1.4,ease:"easeOut"}}),(0,t.jsx)(n.motion.g,{initial:{opacity:0,scale:0},animate:{opacity:1,scale:1},transition:{delay:1.2,duration:.3},style:{transformOrigin:"".concat(v,"px ").concat(y,"px")},children:(0,t.jsx)("polygon",{points:"".concat(v,",").concat(y-10," ").concat(v+8,",").concat(y+6," ").concat(v-8,",").concat(y+6),fill:"#dc2626"})})]}),(0,t.jsxs)("div",{className:"-mt-16 flex flex-col items-center",children:[(0,t.jsx)(n.motion.div,{className:"stat-hero",initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.4,duration:.6},children:o}),(0,t.jsx)(n.motion.div,{className:"mt-3",initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{delay:.8,duration:.5},children:(0,t.jsx)(c,{tone:x.tone,icon:"alert",children:g})}),s&&(0,t.jsx)("div",{className:"mt-3 text-xs font-semibold uppercase tracking-[0.18em] text-msp-muted",children:s})]})]})}function u(e){let{data:a,color:r="#3555ff",width:s=80,height:n=28,gradient:i=!0}=e;if(a.length<2)return null;let l=Math.min(...a),o=Math.max(...a)-l||1,c=s/(a.length-1),d=a.map((e,t)=>{let a=n-(e-l)/o*n;return"".concat(t*c,",").concat(a)}).join(" "),u="spark-".concat(Math.random().toString(36).slice(2,9)),m="M ".concat(d.replace(/ /g," L ")),p="".concat(m," L ").concat(s,",").concat(n," L 0,").concat(n," Z");return(0,t.jsxs)("svg",{width:s,height:n,className:"overflow-visible",children:[i&&(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:u,x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:r,stopOpacity:.25}),(0,t.jsx)("stop",{offset:"100%",stopColor:r,stopOpacity:0})]})}),i&&(0,t.jsx)("path",{d:p,fill:"url(#".concat(u,")")}),(0,t.jsx)("path",{d:m,fill:"none",stroke:r,strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round"})]})}e.s(["StatPanel",()=>h],36410);let m={critical:"border-msp-danger/25 bg-gradient-to-br from-msp-danger/[0.03] to-transparent",warning:"border-msp-warning/30 bg-gradient-to-br from-msp-warning/[0.03] to-transparent",notice:"border-msp-blue/20 bg-gradient-to-br from-msp-blue/[0.03] to-transparent",good:"border-msp-success/25 bg-gradient-to-br from-msp-success/[0.03] to-transparent",neutral:"border-msp-border bg-msp-surface"},p={md:"stat-md",lg:"stat-lg",hero:"stat-hero"};function h(e){var a;let{eyebrow:r,value:s,trend:n,insight:l,sparkline:o,severity:d="neutral",size:h="md",icon:x}=e;return(0,t.jsxs)("div",{className:(0,i.default)("relative overflow-hidden rounded-2xl border p-6 shadow-card transition-all",m[d]),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsx)("span",{className:"eyebrow",children:r}),x&&(0,t.jsx)("div",{className:"text-msp-muted",children:x})]}),(0,t.jsxs)("div",{className:"mt-4 flex items-end justify-between gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:(0,i.default)(p[h],String(s).replace(/\s+/g,"").length>4&&"stat-long"),children:s}),n&&(0,t.jsx)("div",{className:"mt-2",children:(0,t.jsx)(c,{tone:null!=(a=n.tone)?a:"up"===n.direction?"good":"down"===n.direction?"critical":"neutral",icon:"up"===n.direction?"arrow-up":"down"===n.direction?"arrow-down":"dot",size:"sm",children:n.label})})]}),o&&(0,t.jsx)("div",{className:"flex-shrink-0",children:(0,t.jsx)(u,{data:o.data,color:o.color})})]}),l&&(0,t.jsx)("p",{className:"mt-4 text-sm leading-relaxed text-msp-muted",children:l})]})}function x(e){let{yourLabel:a,yourValue:r,competitorLabel:s,competitorValue:n,valueFormatter:l=e=>
1e.toLocaleString(),yourColor:o,competitorColor:c,highlight:d="you",insight:u,className:m}=e,p=Math.max(r,n)||1;return(0,t.jsxs)("div",{className:(0,i.default)("space-y-5",m),children:[(0,t.jsx)(g,{label:a,value:r,pct:r/p*100,color:null!=o?o:"you"===d?"#dc2626":"#3555ff",formatter:l,isYou:!0}),(0,t.jsx)(g,{label:s,value:n,pct:n/p*100,color:null!=c?c:"you"===d?"#3555ff":"#dc2626",formatter:l}),u&&(0,t.jsx)("p",{className:"text-sm italic leading-relaxed text-msp-muted",children:u})]})}function g(e){let{label:a,value:r,pct:s,color:n,formatter:l,isYou:o=!1}=e;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex items-baseline justify-between text-sm",children:[(0,t.jsxs)("span",{className:(0,i.default)("font-medium",o?"text-msp-ink":"text-msp-muted"),children:[a,o&&(0,t.jsx)("span",{className:"ml-2 text-xs font-semibold uppercase tracking-wide text-msp-muted",children:"You"})]}),(0,t.jsx)("span",{className:"text-xl font-bold tabular-nums text-msp-ink",children:l(r)})]}),(0,t.jsx)("div",{className:"h-3.5 w-full overflow-hidden rounded-full bg-msp-paper",children:(0,t.jsx)("div",{className:"h-full rounded-full transition-all duration-1000 ease-out",style:{width:"".concat(s,"%"),backgroundColor:n}})})]})}function f(e){let{eyebrow:a,title:r,subtitle:s,yourLabel:n,yourValue:i,competitorLabel:l,competitorValue:o,valueFormatter:d,insight:u,insightTone:m,insightChipText:p,highlight:h="you",children:g}=e;return(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsxs)("div",{className:"mb-6 flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[a&&(0,t.jsx)("div",{className:"eyebrow mb-2",children:a}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:r}),s&&(0,t.jsx)("p",{className:"mt-1 text-sm text-msp-muted",children:s})]}),p&&m&&(0,t.jsx)(c,{tone:m,icon:"alert",children:p})]}),(0,t.jsx)(x,{yourLabel:n,yourValue:i,competitorLabel:l,competitorValue:o,valueFormatter:d,highlight:h}),u&&(0,t.jsx)("p",{className:"mt-6 text-sm italic leading-relaxed text-msp-muted",children:u}),g&&(0,t.jsx)("div",{className:"mt-6",children:g})]})}function b(e){let{eyebrow:a,title:r,subtitle:s,legend:n,insight:l,children:o,className:c,actions:d}=e;return(0,t.jsxs)("div",{className:(0,i.default)("rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",c),children:[(0,t.jsxs)("div",{className:"mb-5 flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{className:"flex-1",children:[a&&(0,t.jsx)("div",{className:"eyebrow mb-2",children:a}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:r}),s&&(0,t.jsx)("p",{className:"mt-1 text-sm text-msp-muted",children:s})]}),d&&(0,t.jsx)("div",{children:d})]}),n&&n.length>0&&(0,t.jsx)("div",{className:"mb-4 flex flex-wrap items-center gap-x-5 gap-y-2",children:n.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:"text-xs font-medium text-msp-muted",children:e.label})]},e.label))}),(0,t.jsx)("div",{children:o}),l&&(0,t.jsx)("p",{className:"mt-5 text-sm italic leading-relaxed text-msp-muted",children:l})]})}e.s(["VersusCard",()=>f],83900),e.s(["ChartCard",()=>b],25709)},89265,e=>{"use strict";e.s(["Hero",()=>n]);var t=e.i(43476),a=e.i(66958),r=e.i(64668);e.i(9833);var s=e.i(52912);function n(){var e,n,o,c,d,u,m,p,h,x,g;let f=(0,a.useAuditData)(),{practice:b,healthScore:v}=f;if(!b||"number"!=typeof v)return(0,t.jsx)("section",{id:"hero",className:"relative overflow-hidden pt-36 pb-24",children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(r.SectionPending,{title:"Digital Health Audit"})})});let y=null!=(p=f.reportDate)?p:"",j=null!=(h=null==(e=b.name)?void 0:e.trim())?h:"",w=f.verdict||"You've built something real. Let's make sure the right patients can find it.",N="number"==typeof b.yearsInBusiness&&b.yearsInBusiness>
10,k=null!=(x=null==(n=b.services)?void 0:n.filter(Boolean))?x:[],P="number"==typeof b.starRating&&"number"==typeof b.reviewCount?"".concat(b.starRating,"â
from ").concat(b.reviewCount," reviews"):void 0,S=null==(o=f.local)?void 0:o.averageRank,A=null==(c=f.website)?void 0:c.lcpSeconds,I=null!=(g=null==(d=f.reputation)?void 0:d.totalReviews)?g:b.reviewCount,O=[];return"number"==typeof S&&O.push({label:"Local rank",value:S.toLocaleString("en-US",{maximumFractionDigits:1}),tone:S>5?"critical":S>3?"warning":"good"}),"number"==typeof A&&O.push({label:"Mobile load",value:"".concat(A,"s"),tone:A>4?"critical":A>2.5?"warning":"good"}),"number"==typeof I&&O.push({label:"Reviews",value:I.toLocaleString("en-US"),tone:I<50?"warning":I<150?"notice":"good"}),(0,t.jsx)("section",{id:"hero",className:"relative overflow-hidden pt-36 pb-24",children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsxs)("div",{className:"mb-5 flex items-center gap-3",children:[(0,t.jsx)("span",{className:"h-px w-10 bg-msp-blue"}),(0,t.jsx)("span",{className:"eyebrow",children:"Digital Health Audit"})]}),(0,t.jsxs)("div",{className:"grid gap-12 lg:grid-cols-[1.15fr_1fr]",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("h1",{className:"text-5xl font-bold leading-[1.02] tracking-tight text-msp-ink md:text-6xl",children:[j?"".concat(j," â"):"Here's your audit â",(0,t.jsx)("br",{}),(0,t.jsx)("span",{className:"text-msp-blue",children:"here's what we found."})]}),(0,t.jsx)("p",{className:"mt-7 max-w-xl text-lg leading-relaxed text-msp-muted",children:w}),(0,t.jsxs)("div",{className:"mt-10 grid grid-cols-2 gap-6 border-t border-msp-border pt-7",children:[(0,t.jsx)(i,{label:"Practice",value:b.name,sub:[(null==(u=f.auditedLocation)?void 0:u.city)||b.city,(null==(m=f.auditedLocation)?void 0:m.state)||b.state].filter(Boolean).join(", ")||void 0}),N&&(0,t.jsx)(i,{label:"In business",value:"".concat(b.yearsInBusiness," years"),sub:P}),y&&(0,t.jsx)(i,{label:"Report date",value:y,sub:"Refreshed monthly"}),k.length>0&&(0,t.jsx)(i,{label:"Services",value:k.slice(0,3).join(" · "),sub:k.length>3?"+".concat(k.length-3," more"):void 0}),(0,t.jsx)(i,{label:"Prepared by",value:"My Social Practice"})]})]}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-8",children:[(0,t.jsx)(s.Gauge,{value:v,label:"Digital Health Score",size:300}),O.length>0&&(0,t.jsx)("div",{className:"grid w-full gap-3 ".concat(1===O.length?"grid-cols-1":2===O.length?"grid-cols-2":"grid-cols-3"),children:O.map(e=>(0,t.jsx)(l,{label:e.label,value:e.value,tone:e.tone},e.label))})]})]})]})})}function i(e){let{label:a,value:r,sub:s}=e;return(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-msp-muted",children:a}),(0,t.jsx)("div",{className:"mt-1 font-semibold text-msp-ink",children:r}),s&&(0,t.jsx)("div",{className:"mt-0.5 text-xs text-msp-muted",children:s})]})}function l(e){let{label:a,value:r,tone:s}=e;return(0,t.jsxs)("div",{className:"rounded-xl border ".concat({critical:"border-msp-danger/25 bg-msp-danger/[0.04]",warning:"border-msp-warning/30 bg-msp-warning/[0.04]",notice:"border-msp-blue/25 bg-msp-blue/[0.04]",good:"border-msp-success/25 bg-msp-success/[0.04]"}[s]," p-4"),children:[(0,t.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-msp-muted",children:a}),(0,t.jsx)("div",{className:"mt-1 text-2xl font-bold tabular-nums text-msp-ink",children:r})]})}},2981,e=>{"use strict";e.s(["WhatsWorking",()=>o]);var t=e.i(43476),a=e.i(66958),r=e.i(64668);e.i(9833);var s=e.i(63750),n=e.i(30868),i=e.i(73195);let l={star:"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2 9.19 8.62 2 9.24l5.46 4.73L5.82 21z",users:"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z","trending-up":"M16 6l2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z"};function o(){let{strengths:e,practice:o}=(0,a.useAuditData)();return o&&e&&0!==e.length?(0,t.jsx)("section",{id:"working",className:"py-24",children:(0,t.jsx)(i.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(s.SectionHeader,{eyebrow:"What's Working",title:"You're not starting from zero.",subtitle:"Before we show you where the gaps are, let's talk about what you've built. The
1se are the things patients already love."}),(0,t.jsx)("div",{className:"grid gap-5 md:grid-cols-3",children:e.map((e,a)=>{var r;let s=null!=(r=l[e.icon])?r:l.star;return(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-success/25 bg-gradient-to-br from-msp-mint/[0.06] via-msp-surface to-transparent p-7 shadow-card",children:[(0,t.jsxs)("div",{className:"mb-5 flex items-center gap-3",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-msp-success/12",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-5 w-5 fill-msp-success","aria-hidden":!0,children:(0,t.jsx)("path",{d:s})})}),(0,t.jsx)(n.InsightChip,{tone:"good",icon:"dot",size:"sm",children:"Strength"})]}),(0,t.jsx)("h3",{className:"text-lg font-semibold text-msp-ink",children:e.label}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-msp-muted",children:e.detail})]},"".concat(e.label,"-").concat(a))})}),(0,t.jsx)("p",{className:"mt-10 max-w-2xl text-base italic leading-relaxed text-msp-muted",children:"This audit isn't about what's broken. It's about making sure the practice you've built is the one patients can actually find."})]})})}):(0,t.jsx)("section",{id:"working",className:"py-24",children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(r.SectionPending,{title:"What's Working"})})})}},94836,e=>{"use strict";e.s(["ThreeGaps",()=>c]);var t=e.i(43476),a=e.i(66958),r=e.i(64668);e.i(9833);var s=e.i(63750),n=e.i(30868),i=e.i(73195);let l={critical:"critical",warning:"warning",notice:"notice",good:"good"},o={critical:"alert",warning:"alert",notice:"dot",good:"dot"};function c(){let e=(0,a.useAuditData)(),c=e.gaps;return c&&0!==c.length?(0,t.jsx)("section",{id:"gaps",className:"py-24",children:(0,t.jsx)(i.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(s.SectionHeader,{eyebrow:"The Gaps",title:"The things quietly holding you back.",subtitle:"Every dental practice we audit has its own story. These are the strategic gaps that matter most for yours â and each one maps directly to how we can help."}),(0,t.jsx)("div",{className:"grid gap-5 ".concat(c.length>=3?"md:grid-cols-3":2===c.length?"md:grid-cols-2":"md:grid-cols-1"),children:c.map((a,r)=>{var s,i;let c=null!=(s=l[a.severity])?s:"notice",d=function(e,t){var a,r,s,n,i,l,o,c,d,u,m,p,h,x;let g=e.title.toLowerCase();if(g.includes("ai")||g.includes("chatgpt")||g.includes("llm")){let e=null==(a=t.aiSearch)?void 0:a.mentionRate;return{bigNumber:"number"==typeof e?"".concat(Math.round(e),"%"):null,trend:"mention rate across ChatGPT, Gemini, Perplexity",chipText:"Maps to AI SEO / GEO",anchor:"#aisearch"}}if(g.includes("local")||g.includes("map")||g.includes("rank")){let e=null==(r=t.local)?void 0:r.averageRank;return{bigNumber:"number"==typeof e?"#".concat(e):null,trend:"average rank across your service area",chipText:"Maps to Local SEO",anchor:"#local"}}if(g.includes("call")||g.includes("hour")||g.includes("phone")){let e=null==(s=t.afterHours)?void 0:s.totalMissedCallsPerMonth;return{bigNumber:"number"==typeof e?"".concat(e):null,trend:"calls per month go to voicemail",chipText:"Maps to Annie AI",anchor:"#afterhours"}}if(g.includes("website")||g.includes("site")||g.includes("speed")||g.includes("slow")){let e=null==(n=t.website)?void 0:n.lcpSeconds;return{bigNumber:"number"==typeof e?"".concat(e,"s"):null,trend:"mobile load time",chipText:"Maps to Website",anchor:"#website"}}if(g.includes("review")||g.includes("reputation")){let e=null!=(o=null==(i=t.reputation)?void 0:i.totalReviews)?o:null==(l=t.practice)?void 0:l.reviewCount;return{bigNumber:"number"==typeof e?"".concat(e):null,trend:"Google reviews vs. your top competitor",chipText:"Maps to Reputation",anchor:"#reputation"}}if(g.includes("seo")||g.includes("content")||g.includes("authority")){let e=null==(c=t.seo)?void 0:c.domainAuthority;return{bigNumber:"number"==typeof e?"".concat(e):null,trend:"domain authority out of 100",chipText:"Maps to SEO",anchor:"#seo"}}if(g.includes("social")){let e=[null==(m=t.social)||null==(u=m.platforms)||null==(d=u.instagram)?void 0:d.followers,null==(x=t.social)||null==(h=x.platforms)||null==(p=h.facebook)?void 0:p.followers].filter(e=>"number"==typeof e),a=e.length?e.reduce((e,t)=>
1e+t,0):null;return{bigNumber:null!=a?a.toLocaleString():null,trend:"followers across your social platforms",chipText:"Maps to Social",anchor:"#social"}}return{bigNumber:null,trend:null,chipText:"Strategic gap",anchor:"#gaps"}}(a,e),u="Gap ".concat(String(r+1).padStart(2,"0")," · ").concat(a.title),m="good"===c?"text-msp-success":"text-msp-danger";return(0,t.jsxs)("a",{href:d.anchor,className:"group rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card transition-all hover:-translate-y-1 hover:border-msp-blue/40 hover:shadow-lg",children:[(0,t.jsx)("div",{className:"eyebrow mb-4",children:u}),d.bigNumber?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"stat-hero ".concat(m," ").concat(String(d.bigNumber).replace(/\s+/g,"").length>4?"stat-long":""),children:d.bigNumber}),d.trend&&(0,t.jsx)("div",{className:"mt-2 text-sm text-msp-muted",children:d.trend})]}):(0,t.jsx)("div",{className:"text-2xl font-bold leading-snug text-msp-ink",children:a.headline}),(0,t.jsx)("div",{className:"mt-5",children:(0,t.jsx)(n.InsightChip,{tone:c,icon:null!=(i=o[a.severity])?i:"dot",size:"sm",children:d.chipText})}),(0,t.jsx)("p",{className:"mt-4 text-sm leading-relaxed text-msp-muted",children:a.detail}),(0,t.jsx)("span",{className:"mt-6 inline-flex items-center gap-1 text-sm font-semibold text-msp-blue transition-transform group-hover:translate-x-0.5",children:"See the details â"})]},"".concat(a.title,"-").concat(r))})})]})})}):(0,t.jsx)("section",{id:"gaps",className:"py-24",children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(r.SectionPending,{title:"The Gaps"})})})}},3472,e=>{"use strict";function t(e){var t;let a=(null==(t=e.searchNoun)?void 0:t.trim())||"dentist";return{noun:a,nounPlural:a.endsWith("s")?a:"".concat(a,"s"),article:/^[aeiou]/i.test(a)?"an":"a"}}e.s(["nounOf",()=>t])},62913,e=>{"use strict";e.s(["Website",()=>d]);var t=e.i(43476),a=e.i(66958),r=e.i(3472),s=e.i(64668);e.i(9833);var n=e.i(63750),i=e.i(52912),l=e.i(36410),o=e.i(30868),c=e.i(73195);function d(){var e,d,u,m,p;let h=(0,a.useAuditData)(),{nounPlural:x}=(0,r.nounOf)(h),g=h.website,f=null==(e=h.practice)?void 0:e.name;if(!g)return(0,t.jsx)("section",{id:"website",className:"py-24",children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(s.SectionPending,{title:"Website Performance"})})});let b=null!=(d=g.competitorLoadTimes)?d:[],v=g.lcpSeconds,y="number"==typeof v,j=y&&v>0?v/2.5:null,w=j&&j>1?"".concat(j.toFixed(1),"à slower"):null,N=y&&v<=2.5,k="number"==typeof g.mobileScore&&g.mobileScore>=50,P=N&&k,S=P?"Mobile is where dental patients search â and your site loads fast".concat(y?" (".concat(v,"s vs Google's ").concat(2.5,"s threshold)"):"",". That's an edge most practices don't have; the goal is keeping it as you grow."):y?"Mobile is where dental patients search. Google's threshold for a fast site is ".concat(2.5," seconds. Yours takes ").concat(v,"s."):"Mobile is where dental patients search. Google's threshold for a fast site is 2.5 seconds.";return(0,t.jsx)("section",{id:"website",className:"py-24",children:(0,t.jsx)(c.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(n.SectionHeader,{eyebrow:"01 · Website Performance",title:P?"Your site is fast â a real edge worth protecting.":"Your site is slow â and patients are leaving before it loads.",subtitle:S}),(0,t.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[auto_1fr]",children:[(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-8 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-2",children:"Mobile PageSpeed"}),(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(i.Gauge,{value:null!=(u=g.mobileScore)?u:0,label:"out of 100",size:260})})]}),(0,t.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-1",children:[(0,t.jsx)(l.StatPanel,{eyebrow:"Largest Contentful Paint",value:y?"".concat(v,"s"):"â",severity:N?"good":"critical",size:"lg",trend:{label:"".concat(2.5,"s target"),direction:N?"up":"down",tone:N?"good":"critical"},insight:N?(0,t.jsxs)(t.Fragment,{children:["Under Google's ",(0,t.jsxs)("b",{children:[2.5,"s"]})," threshold â your pages paint fast on mobile."]}):(0,t.jsxs)(t.Fragment,{children:["Google's threshold is ",(0,t.jsxs)("b",{children:["under ",2.5,"s"]}),".",w?(0,t.jsxs)(t.Fragment,{children:[" ","Yours is ",(0,t.jsx)("b",{children:w}),"."]}):null]})}),null!=g.fidMs&&g.fidMs>100&&(0,t.jsx)(l.StatPanel,{eyebrow:"Interaction to Next Paint",value:"".concat(g.fi
1dMs,"ms"),severity:"warning",size:"lg",trend:{label:"100ms target",direction:"down",tone:"warning"},insight:(0,t.jsx)(t.Fragment,{children:"Interaction lag makes your booking form feel broken on mobile."})}),null!=g.cls&&(0,t.jsx)(l.StatPanel,{eyebrow:"Cumulative Layout Shift",value:g.cls.toFixed(2),severity:g.cls<=.1?"good":"warning",size:"lg",trend:{label:"0.10 target",direction:"flat",tone:g.cls<=.1?"good":"warning"},insight:g.cls<=.1?(0,t.jsx)(t.Fragment,{children:"Rock-solid layout â nothing shifts as the page loads. One thing your site gets right."}):(0,t.jsx)(t.Fragment,{children:"Elements jump around as the page loads, frustrating mobile users."})})]})]}),(0,t.jsxs)("div",{className:"mt-6 rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-2",children:"How you compare"}),(0,t.jsxs)("h3",{className:"text-xl font-bold text-msp-ink",children:["Mobile load time vs. 3 local ",x]}),(0,t.jsx)("p",{className:"mt-1 text-sm text-msp-muted",children:"Lower is better. Every extra second on mobile drops bookings ~20%."}),(0,t.jsx)("div",{className:"mt-6 space-y-5",children:b.map(e=>{let a=Math.max(...b.map(e=>e.seconds),e.seconds),r=a>0?e.seconds/a*100:0,s=null!=f&&e.name===f;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex items-baseline justify-between text-sm",children:[(0,t.jsxs)("span",{className:s?"font-semibold text-msp-ink":"text-msp-muted",children:[e.name,s&&(0,t.jsx)("span",{className:"ml-2 text-[10px] font-semibold uppercase tracking-wide text-msp-danger",children:"You"})]}),(0,t.jsxs)("span",{className:"text-xl font-bold tabular-nums text-msp-ink",children:[e.seconds.toFixed(1),"s"]})]}),(0,t.jsx)("div",{className:"h-3 w-full overflow-hidden rounded-full bg-msp-paper",children:(0,t.jsx)("div",{className:"h-full rounded-full transition-all duration-1000",style:{width:"".concat(r,"%"),backgroundColor:s?"#dc2626":"#3555ff"}})})]},e.name)})})]}),(null!=(m=g.issues)?m:[]).length>0&&(0,t.jsxs)("div",{className:"mt-6 rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-4",children:"Diagnostic · what's slowing you down"}),(0,t.jsx)("ul",{className:"space-y-3",children:(null!=(p=g.issues)?p:[]).map(e=>(0,t.jsxs)("li",{className:"flex items-start gap-3 text-sm text-msp-ink",children:[(0,t.jsx)("span",{className:"mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-msp-danger"}),e]},e))})]}),(0,t.jsxs)("div",{className:"mt-8 flex items-start gap-3",children:[(0,t.jsx)(o.InsightChip,{tone:"good",icon:"sparkle",children:"Good news"}),(0,t.jsx)("p",{className:"text-base italic leading-relaxed text-msp-muted",children:P?"Your speed is already a competitive edge â most local practices aren't this fast. We'll keep it that way as we build out the rest of your growth plan.":"A website speed overhaul is usually a 2-week job. It's one of the fastest, most measurable wins we can deliver for your practice."})]})]})})})}},34883,e=>{"use strict";e.s(["SEO",()=>c]);var t=e.i(43476),a=e.i(66958),r=e.i(64668);e.i(9833);var s=e.i(63750),n=e.i(36410),i=e.i(30868),l=e.i(73195);function o(e){return null==e?{color:"#dc2626",label:"Not ranked"}:e<=10?{color:"#10b981",label:"#".concat(e)}:e<=30?{color:"#f59e0b",label:"#".concat(e)}:{color:"#dc2626",label:"#".concat(e)}}function c(){var e,c,d,u,m;let p=(0,a.useAuditData)(),h=p.seo,x=(null==(e=p.searchNoun)?void 0:e.trim())||"dentist",g=x.endsWith("s")?x:"".concat(x,"s");if(!h)return(0,t.jsx)("section",{id:"seo",className:"py-24",children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(r.SectionPending,{title:"SEO & Content"})})});let f=null!=(c=h.competitorDA)?c:[],b=null!=(d=h.competitorPageCounts)?d:[],v=null!=(u=h.keywords)?u:[],y=f.length>0?Math.round(f.reduce((e,t)=>{var a;return e+(null!=(a=t.da)?a:0)},0)/f.length):0,j=f.length>0?"Competitors: ".concat(f.filter(e=>e.name&&"number"==typeof e.da).map(e=>"".concat(e.name," ").concat(e.da)).join(" · ")):void 0,w=b.length>0?Math.round(b.reduce((e,t)=>{var a;return e+(null!=(a=t.pages)?a:0)}
1,0)/b.length):null,N=e=>"number"==typeof e&&Number.isFinite(e),k=N(h.domainAuthority)&&f.length>0?h.domainAuthority<y?"warning":"good":"neutral",P=N(h.pageCount)&&null!=w?h.pageCount<w?"warning":"good":"neutral",S=N(h.duplicateContentPercent)?h.duplicateContentPercent:null,A=null==S?"neutral":S>=30?"critical":S>=10?"warning":"good",I=N(h.monthsSinceLastPost)?h.monthsSinceLastPost:null,O=null!=I&&I>=3?"When patients search for ".concat("dentist"===x?"a":"an"," ").concat(x," near you, fresh content is how you climb. Your site hasn't published a new page in ").concat(I," month").concat(1===I?"":"s"," â while competitors keep publishing."):"When patients search for ".concat("dentist"===x?"a":"an"," ").concat(x," near you, fresh, original content is how ").concat(g," climb the rankings."),C=h.keywordIntent,E=N(h.rankedKeywordsTotal)?h.rankedKeywordsTotal:null,M=C&&N(C.analyzed)?C.analyzed:0,T=!!C&&M>0,L=T?Math.round(C.commercial/M*100):0,R=T?M-C.commercial:0;return(0,t.jsx)("section",{id:"seo",className:"py-24",children:(0,t.jsx)(l.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(s.SectionHeader,{eyebrow:"02 · SEO & Content",title:"You're invisible for the searches that matter.",subtitle:O}),(0,t.jsxs)("div",{className:"mb-8 grid gap-5 md:grid-cols-3",children:[N(h.domainAuthority)&&(0,t.jsx)(n.StatPanel,{eyebrow:"Domain Authority",value:h.domainAuthority,severity:k,size:"lg",trend:f.length>0?{label:"vs. competitors avg ".concat(y),direction:h.domainAuthority<y?"down":"up",tone:k}:void 0,insight:j}),(0,t.jsx)(n.StatPanel,{eyebrow:"Total pages indexed",value:null!=(m=h.pageCount)?m:"â",severity:P,size:"lg",trend:null!=I&&I>=3?{label:"".concat(I," month").concat(1===I?"":"s"," since a new page"),direction:"flat",tone:"warning"}:void 0,insight:null!=w?"Competitors average ".concat(w," indexed pages."):void 0}),null!=S&&(0,t.jsx)(n.StatPanel,{eyebrow:"Duplicate content",value:"".concat(S,"%"),severity:A,size:"lg",trend:S>=10?{label:"template copy flagged",direction:"down",tone:A}:void 0,insight:S>=10?"Google can't tell you apart from other dental sites â so it picks someone else.":"Your content is original â good. Keep publishing unique pages."})]}),T&&(0,t.jsxs)("div",{className:"mb-8 rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-2",children:"Keyword intent"}),(0,t.jsxs)("h3",{className:"text-xl font-bold leading-snug text-msp-ink",children:["You rank for ",(null!=E?E:M).toLocaleString()," keyword",(null!=E?E:M)===1?"":"s"," â"," ",(0,t.jsxs)("span",{className:"text-msp-blue",children:["but only ",C.commercial," (",L,"%) are high-intent commercial."]})]}),(0,t.jsxs)("p",{className:"mt-2 max-w-2xl text-sm text-msp-muted",children:[R," of your top ",M," rankings are branded, informational, or low-intent terms that rarely book a new patient. The high-intent commercial searches that do â like the ones below â are where youâre invisible."]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,t.jsxs)(i.InsightChip,{tone:"good",size:"sm",icon:"dot",children:[C.commercial," high-intent commercial"]}),(0,t.jsxs)(i.InsightChip,{tone:"neutral",size:"sm",icon:"dot",children:[C.branded," branded (your own name)"]}),(0,t.jsxs)(i.InsightChip,{tone:"neutral",size:"sm",icon:"dot",children:[C.informational," informational / blog"]}),C.other>0&&(0,t.jsxs)(i.InsightChip,{tone:"neutral",size:"sm",icon:"dot",children:[C.other," other"]})]})]}),v.length>0&&(0,t.jsxs)("div",{className:"overflow-hidden rounded-2xl border border-msp-border bg-msp-surface shadow-card",children:[(0,t.jsxs)("div",{className:"border-b border-msp-border px-7 py-5",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Keyword rankings"}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:"What patients search · and where you rank"})]}),(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-msp-paper text-[10px] uppercase tracking-[0.14em] text-msp-muted",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-7 py-3 text-left font-semibold",children:"Keyword"}),(0,t.jsx)("th",{className:"px-3 py-3 text-right font-semibold",children:"Volume"}),(0,t.jsx)("th",{className:"bg-msp-blue/[0.06] px-5 py-3 text-right font-semibold text-msp-blue",children:"Your rank"}),(0,t.jsx)("th",{className:"px-5 py-3 text-right font-semibold",children:"Top competitor"})]})}),(0,t.jsx)("tbody",{children:v.map((e,a)=>{var r,s,n;let i=o(e.yourRank),l=o(e.bestCompetitorRank);return(0,t.jsxs)("tr",{className:"border-t border-msp-border transition-colors hover:bg-msp-paper/60",children:[(0,t.jsx)("td",{className:"px-7 py-4 font-medium text-msp-ink",children:null!=(r=e.term)?r:"â"}),(0,t.jsx)("td",{className:"px-3 py-4 text-right tabular-nums text-msp-muted",children:(null!=(s=e.searchVolume)?s:0).toLocaleStr
1ing()}),(0,t.jsx)("td",{className:"bg-msp-blue/[0.04] px-5 py-4 text-right",children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-2 font-semibold tabular-nums text-msp-ink",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full",style:{backgroundColor:i.color}}),i.label]})}),(0,t.jsx)("td",{className:"px-5 py-4 text-right",children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-2 font-semibold tabular-nums text-msp-ink",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full",style:{backgroundColor:l.color}}),l.label]})})]},null!=(n=e.term)?n:a)})})]})]}),(0,t.jsxs)("div",{className:"mt-8 flex items-start gap-3",children:[(0,t.jsx)(i.InsightChip,{tone:"notice",icon:"sparkle",children:"Strategy"}),(0,t.jsxs)("p",{className:"text-base italic leading-relaxed text-msp-muted",children:["Every week you don't publish new content, a competitor adds more distance. Fresh, original content is how ",g," climb these rankings â it's what we do for you every month."]})]})]})})})}},67585,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let r=e.r(32061);function s(e){let{reason:t,children:a}=e;if("undefined"==typeof window)throw Object.defineProperty(new r.BailoutToCSRError(t),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}},9885,(e,t,a)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"encodeURIPath",{enumerable:!0,get:function(){return r}})},52157,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"PreloadChunks",{enumerable:!0,get:function(){return l}});let r=e.r(43476),s=e.r(74080),n=e.r(63599),i=e.r(9885);function l(e){let{moduleIds:t}=e;if("undefined"!=typeof window)return null;let a=n.workAsyncStorage.getStore();if(void 0===a)return null;let l=[];if(a.reactLoadableManifest&&t){let e=a.reactLoadableManifest;for(let a of t){if(!e[a])continue;let t=e[a].files;l.push(...t)}}return 0===l.length?null:(0,r.jsx)(r.Fragment,{children:l.map(e=>{let t=a.assetPrefix+"/_next/"+(0,i.encodeURIPath)(e);return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style"},e):((0,s.preload)(t,{as:"script",fetchPriority:"low"}),null)})})}},69093,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return c}});let r=e.r(43476),s=e.r(71645),n=e.r(67585),i=e.r(52157);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},a=(0,s.lazy)(()=>t.loader().then(l)),c=t.loading;function d(e){let l=c?(0,r.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,d=o?s.Suspense:s.Fragment,u=t.ssr?(0,r.jsxs)(r.Fragment,{children:["undefined"==typeof window?(0,r.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(a,{...e})]}):(0,r.jsx)(n.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(a,{...e})});return(0,r.jsx)(d,{...o?{fallback:l}:{},children:u})}return d.displayName="LoadableComponent",d}},70703,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return s}});let r=e.r(55682)._(e.r(69093));function s(e,t){var a;let s={};"function"==typeof e&&(s.loader=e);let n={...s,...t};return(0,r.default)({...n,modules:null==(a=n.loadableGenerated)?void 0:a.modules})}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},76603,e=>{"use strict";e.s(["LocalVisibility",()=>g],76603);var t=e.i(43476),a=e.i(66958),r=e.i(3472),s=e.i(64668);e.i(9833);var n=e.i(63750),i=e.i(36410),l=e.i(30868),o=e.i(71645);function c(e){return e<=3?"#10b981":e<=10?"#f59e0b":"#dc2626"}function d(e){return Number.isFinite(e.lat)&&Number.isFinite(e.lng)}
1let u=(0,e.i(70703).default)(()=>e.A(84975),{loadableGenerated:{modules:[98979]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"flex h-[420px] w-full items-center justify-center rounded-lg bg-msp-paper text-sm text-msp-muted",children:"Loading mapâ¦"})});function m(e){let{cells:a,label:r="Your practice"}=e,[s,n]=(0,o.useState)(null);if(!a||0===a.length)return null;let i=a.filter(d),l=a.length>0&&i.length>=Math.ceil(a.length/2);return(0,t.jsxs)("div",{className:"rounded-xl border border-msp-border bg-msp-surface p-6 shadow-card",children:[(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-msp-muted",children:r}),(0,t.jsx)("p",{className:"mt-1 text-lg font-semibold text-msp-ink",children:"Current visibility"}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-msp-muted",children:l?"Google Maps rank across ".concat(i.length," search points near the office"):"Google Maps rank across ".concat(a.length||0," search points near the office")})]}),l?(0,t.jsx)(u,{cells:i,view:"current",rankColor:c}):(0,t.jsx)(p,{cells:a,hovered:s,setHovered:n}),(0,t.jsxs)("div",{className:"mt-6 flex flex-wrap items-center justify-center gap-4 text-xs text-msp-muted",children:[(0,t.jsx)("span",{className:"font-semibold uppercase tracking-wide",children:"Rank"}),(0,t.jsx)(h,{color:"#10b981",label:"Top 3"}),(0,t.jsx)(h,{color:"#f59e0b",label:"4â10"}),(0,t.jsx)(h,{color:"#dc2626",label:"11+"})]})]})}function p(e){let{cells:a,hovered:r,setHovered:s}=e,n=Math.max(a.reduce((e,t)=>Math.max(e,t.row),0),a.reduce((e,t)=>Math.max(e,t.col),0))+1||1,i=Math.floor(n/2),l=420/n;return(0,t.jsxs)("div",{className:"relative mx-auto",style:{width:420,height:420},children:[(0,t.jsx)("svg",{width:420,height:420,children:a.map(e=>{let a=e.col*l,n=e.row*l,o=e.rank,d=e.row===i&&e.col===i;return(0,t.jsxs)("g",{"data-heatmap-cell":!0,children:[(0,t.jsx)("rect",{x:a+2,y:n+2,width:l-4,height:l-4,rx:4,fill:c(o),opacity:r===e?1:.85,style:{transition:"fill 0.6s ease, opacity 0.2s ease"},onMouseEnter:()=>s(e),onMouseLeave:()=>s(null)}),(0,t.jsx)("text",{x:a+l/2,y:n+l/2+5,textAnchor:"middle",className:"pointer-events-none fill-white font-bold",style:{fontSize:14},children:o}),d&&(0,t.jsx)("circle",{cx:a+l/2,cy:n+l/2,r:l/2-4,fill:"none",stroke:"white",strokeWidth:2,className:"pointer-events-none"})]},"".concat(e.row,"-").concat(e.col))})}),r&&(0,t.jsxs)("div",{className:"pointer-events-none absolute left-1/2 top-full mt-3 -translate-x-1/2 rounded-lg bg-msp-ink px-4 py-2 text-xs text-white shadow-lg",children:["Rank #",r.rank," · ",r.distanceMiles," mi from office"]})]})}function h(e){let{color:a,label:r}=e;return(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"h-3 w-3 rounded",style:{backgroundColor:a}}),(0,t.jsx)("span",{children:r})]})}var x=e.i(73195);function g(){var e,o,c,d,u,p,h,g,b,v;let y=(0,a.useAuditData)(),{local:j,primaryCompetitorName:w}=y,{noun:N,nounPlural:k}=(0,r.nounOf)(y);if(!j)return(0,t.jsx)("section",{id:"local",className:"py-24",children:(0,t.jsx)(x.Reveal,{children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(s.SectionPending,{title:"Local Visibility & Reputation"})})})});let P=j.competitor,S=null!=(d=null==(e=y.practice)?void 0:e.name)?d:"Your practice",A=null!=(u=null!=w?w:null==P?void 0:P.name)?u:null,I=!!A&&(null!=(p=null==P||null==(o=P.heatMap)?void 0:o.length)?p:0)>0,O=null!=(h=null==(c=j.heatMap)?void 0:c.length)?h:0,C=null!=j.averageRank&&null!=j.projectedAverageRank?Math.round((j.averageRank-j.projectedAverageRank)*10)/10:null,E=null!=j.outsideTop20&&j.outsideTop20>50?"over half your grid":"of your service area",M=(()=>{var e;let t=null!=(e=j.heatMap)?e:[];return t.length?Math.round(t.filter(e=>null!=e.projectedRank&&e.projectedRank<=3).length/t.length*100):null})(),{localTitle:T,localSubtitle:L}=(()=>{let e=j.topThreeCoverage,t=j.averageRank;if("number"==typeof e&&"number"==typeof t){if(e<=5&&t>=12)return{localTitle:"Patients searching nearby can't find you on the map.",localSubtitle:"Google Maps is where dental patients decide â and across your service area y
1ou're not landing in the local 3-pack. This is exactly where MSP's local SEO specialty begins."};if(e>=60)return{localTitle:"You own your local map â now let's defend it.",localSubtitle:"You rank in the top 3 across most of your service area. The opportunity is to extend that lead and convert the visibility into booked patients."}}return{localTitle:"You're winning at your front door. Then you disappear.",localSubtitle:"Google Maps is where dental patients decide. Your ranking shifts dramatically once patients move just a mile away. This is where MSP's local SEO specialty begins."}})(),R=(null!=(g=j.topThreeCoverage)?g:0)!==0||(null!=M?M:0)!==0;return(0,t.jsx)("section",{id:"local",className:"py-24",children:(0,t.jsx)(x.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(n.SectionHeader,{eyebrow:"03 · Local Visibility & Reputation",title:T,subtitle:L}),(0,t.jsxs)("div",{className:"mb-6 grid gap-6 ".concat(I?"lg:grid-cols-2":"grid-cols-1"),children:[(0,t.jsx)(m,{cells:null!=(b=j.heatMap)?b:[],label:S}),I&&(0,t.jsx)(m,{cells:null!=(v=null==P?void 0:P.heatMap)?v:[],label:"".concat(null!=A?A:"your top competitor"," (top competitor)")})]}),(null!=j.projectedAverageRank||null!=M)&&(0,t.jsx)("div",{className:"mb-12 rounded-2xl border border-msp-blue/25 bg-gradient-to-br from-msp-blue/[0.06] to-transparent p-7",children:(0,t.jsxs)("div",{className:"flex flex-col gap-6 md:flex-row md:items-center md:justify-between",children:[(0,t.jsxs)("div",{className:"max-w-md",children:[(0,t.jsx)("div",{className:"eyebrow mb-1 text-msp-blue",children:"Where MSP takes your map"}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:"Working with MSP, here's the growth we project across your service area."}),(0,t.jsxs)("p",{className:"mt-2 text-sm leading-relaxed text-msp-muted",children:[null!=C&&C>0?"A ".concat(C,"-point average-rank improvement is the target we build toward."):"Holding the top spots across your whole service area is the target we build toward."," It's a modeled 6-month target from the local-SEO playbook we've run for hundreds of practices â where we'd aim to move your Google Maps presence."]})]}),(0,t.jsxs)("div",{className:"grid shrink-0 gap-4 ".concat(R?"grid-cols-2":"grid-cols-1"),children:[(0,t.jsx)(f,{label:"Avg Maps rank",from:j.averageRank,to:j.projectedAverageRank}),R&&(0,t.jsx)(f,{label:"Top-3 coverage",from:j.topThreeCoverage,to:M,suffix:"%"})]})]})}),(0,t.jsxs)("div",{className:"mb-12 grid gap-5 md:grid-cols-3",children:[(0,t.jsx)(i.StatPanel,{eyebrow:"Your average rank",value:null!=j.averageRank?j.averageRank.toFixed(1):"â",severity:"critical",size:"lg",trend:{label:O>0?"across ".concat(O,"-point grid"):"across local grid",direction:"flat",tone:"critical"}}),(0,t.jsx)(i.StatPanel,{eyebrow:"Top-3 coverage",value:null!=j.topThreeCoverage?"".concat(j.topThreeCoverage,"%"):"â",severity:"critical",size:"lg",trend:"number"==typeof(null==P?void 0:P.topThreeCoverage)?{label:"competitor: ".concat(P.topThreeCoverage,"%"),direction:"down",tone:"critical"}:void 0}),(0,t.jsx)(i.StatPanel,{eyebrow:"Outside top 20",value:null!=j.outsideTop20?"".concat(j.outsideTop20,"%"):"â",severity:"critical",size:"lg",trend:{label:E,direction:"up",tone:"critical"},insight:"Patients searching here see competitors first."})]}),(0,t.jsxs)("div",{className:"mt-8 flex items-start gap-3",children:[(0,t.jsx)(l.InsightChip,{tone:"notice",icon:"sparkle",children:"Priority 01"}),(0,t.jsxs)("p",{className:"text-base italic leading-relaxed text-msp-muted",children:["Local visibility is the single biggest lever for ","dentist"===N?"a dental practice":"".concat(k[0].toUpperCase()).concat(k.slice(1)).toLowerCase(),". We've built local search strategies for hundreds of practices â and this is where we'd move first."]})]})]})})})}function f(e){let{label:a,from:r,to:s,suffix:n=""}=e,i=e=>null==e?"â":"".concat(Number.isInteger(e)?e:e.toFixed(1)).concat(n);return(0,t.jsxs)("div",{className:"rounded-xl border border-msp-border bg-msp-surface px-4 py-3 text-center shadow-card",children:[(0,t.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-msp-muted",children:a}),(0,t.jsxs)("div",{className:"mt-1.5 flex items-center justify-center gap-2",children:[(0,t.jsx)("span",{className:"text-base font-semibold tabular-nums text-msp-muted",children:i(r)}),(0,t.jsx)("span",{className:"text-msp-muted","aria-hidden":!0,
1children:"â"}),(0,t.jsx)("span",{className:"text-2xl font-bold tabular-nums text-msp-blue",children:i(s)})]})]})}},18256,(e,t,a)=>{"use strict";Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),a.isPlainObject=function(e){if("object"!=typeof e||null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){var t;let a=e[Symbol.toStringTag];return null!=a&&!!(null==(t=Object.getOwnPropertyDescriptor(e,Symbol.toStringTag))?void 0:t.writable)&&e.toString()==="[object ".concat(a,"]")}let a=e;for(;null!==Object.getPrototypeOf(a);)a=Object.getPrototypeOf(a);return Object.getPrototypeOf(e)===a}},7328,(e,t,a)=>{t.exports=e.r(18256).isPlainObject},57365,59987,34163,e=>{"use strict";e.s([],57365);var t,a,r,s,n,i=e.i(43476),l=e.i(71645),o=e.i(25949),c=(e.i(33369),l),d=e.i(7670),u=e.i(97865),m=e.i(69212),p=e.i(86031),h=e.i(94395),x=e.i(81977),g=e.i(79812),f=e.i(41818),b=e.i(844);e.i(42696);var v=e.i(27241),y=e.i(15549),j=["children"],w=(0,l.createContext)({data:[],xAxisId:"xAxis-0",yAxisId:"yAxis-0",dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0});function N(e){var{children:t}=e,a=function(e,t){if(null==e)return{};var a,r,s=function(e,t){if(null==e)return{};var a={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}(e,j);return l.createElement(w.Provider,{value:a},t)}var k=e.i(59798),P=e.i(46710),S=e.i(75337),A=e.i(61849),I=e.i(92860),O=e.i(61764),C=(e,t,a,r)=>(0,O.selectAxisWithScale)(e,"xAxis",t,r),E=(e,t,a,r)=>(0,O.selectTicksOfGraphicalItem)(e,"xAxis",t,r),M=(e,t,a,r)=>(0,O.selectAxisWithScale)(e,"yAxis",a,r),T=(e,t,a,r)=>(0,O.selectTicksOfGraphicalItem)(e,"yAxis",a,r),L=(0,A.createSelector)([P.selectChartLayout,C,M,E,T],(e,t,a,r,s)=>(0,g.isCategoricalAxis)(e,"xAxis")?(0,g.getBandSizeOfAxis)(t,r,!1):(0,g.getBandSizeOfAxis)(a,s,!1));function R(e){return"line"===e.type}var D=(0,A.createSelector)([O.selectUnfilteredCartesianItems,(e,t,a,r,s)=>s],(e,t)=>e.filter(R).find(e=>e.id===t)),z=(0,A.createSelector)([P.selectChartLayout,C,M,E,T,D,L,I.selectChartDataWithIndexesIfNotInPanoramaPosition4],(e,t,a,r,s,n,i,l)=>{var o,{chartData:c,dataStartIndex:d,dataEndIndex:u}=l;if(null!=n&&null!=t&&null!=a&&null!=r&&null!=s&&0!==r.length&&0!==s.length&&null!=i&&("horizontal"===e||"vertical"===e)){var{dataKey:m,data:p}=n;if(null!=(o=null!=p&&p.length>0?p:null==c?void 0:c.slice(d,u+1)))return function(e){var{layout:t,xAxis:a,yAxis:r,xAxisTicks:s,yAxisTicks:n,dataKey:i,bandSize:l,displayedData:o}=e;return o.map((e,o)=>{var c=(0,g.getValueByDataKey)(e,i);if("horizontal"===t){var d=(0,g.getCateCoordinateOfLine)({axis:a,ticks:s,bandSize:l,entry:e,index:o}),u=(0,h.isNullish)(c)?null:r.scale.map(c);return{x:d,y:null!=u?u:null,value:c,payload:e}}var m=(0,h.isNullish)(c)?null:a.scale.map(c),p=(0,g.getCateCoordinateOfLine)({axis:r,ticks:n,bandSize:l,entry:e,index:o});return null==m||null==p?null:{x:m,y:p,value:c,payload:e}}).filter(Boolean)}({layout:e,xAxis:t,yAxis:a,xAxisTicks:r,yAxisTicks:s,dataKey:m,bandSize:i,displayedData:o})}}),B=e.i(95146),W=e.i(40657),G=e.i(51883),Y=e.i(52734),F=e.i(91187),V=e.i(57999),K=e.i(66576),H=e.i(43404),_=e.i(81583),U=e.i(7328),Z=e.i(29905),q=e.i(92887),X=e.i(36536);function J(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function $(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?J(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):J(Object(a)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function Q(){return(Q=Object.assign.bind()).apply(null,arguments)}function ee(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var et=(e,i,l,o,c)=>{var d=l-o;return(0,X.roundTemplateLiteral)(t||(t=ee(["M ",",",""])),e,i)+(0,X.roundTemplateLiteral)(a||(a=ee(["L ",",",""])),e+l,i)+(0,X.roundTemplateLiteral)(r||(r=ee(["L ",",",""])),e+l-d/2,i+c)+(0,X.roundTemplateLiteral)(s||(s=ee(["L ",",",""])),e+l-d/2-o,i+c)+(0,X.roundTemplateLiteral)(n||(n=ee(["L ",","," Z"])),e,i)},ea={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},er=e=>{var t=(0,G.resolveDefaultProps)(e,ea),{x:a,y:r,upperWidth:s,lowerWidth:n,height:i,className:o}=t,{animationEasing:c,animationDuration:u,animationBegin:m,isUpdateAnimationActive:p}=t,x=(0,l.useRef)(null),[g,f]=(0,l.useState)(-1),b=(0,l.useRef)(s),v=(0,l.useRef)(n),y=(0,l.useRef)(i),j=(0,l.useRef)(a),w=(0,l.useRef)(r),N=(0,W.useAnimationId)(e,"trapezoid-");if((0,l.useEffect)(()=>{if(x.current&&x.current.getTotalLength)try{var e=x.current.getTotalLength();e&&f(e)}catch(e){}},[]),a!==+a||r!==+r||s!==+s||n!==+n||i!==+i||0===s&&0===n||0===i)return null;var k=(0,d.clsx)("recharts-trapezoid",o);if(!p)return l.createElement("g",null,l.createElement("path",Q({},(0,H.svgPropertiesAndEvents)(t),{className:k,d:et(a,r,s,n,i)})));var P=b.current,S=v.current,A=y.current,I=j.current,O=w.current,C="0px ".concat(-1===g?1:g,"px"),E="".concat(g,"px ").concat(g,"px"),M=(0,q.getTransitionVal)(["strokeDasharray"],u,c);return l.createElement(K.JavascriptAnimate,{animationId:N,key:N,canBegin:g>0,duration:u,easing:c,isActive:p,begin:m},e=>{var o=(0,h.interpolate)(P,s,e),c=(0,h.interpolate)(S,n,e),d=(0,h.interpolate)(A,i,e),u=(0,h.interpolate)(I,a,e),m=(0,h.interpolate)(O,r,e);x.current&&(b.current=o,v.current=c,y.current=d,j.current=u,w.current=m);var p=e>0?{transition:M,strokeDasharray:E}:{strokeDasharray:C};return l.createElement("path",Q({},(0,H.svgPropertiesAndEvents)(t),{className:k,d:et(u,m,o,c,d),ref:x,style:$($({},p),t.style)}
1))})},es=e.i(39425),en=e.i(13659),ei=e.i(72733),el=["option","shapeType","activeClassName","inActiveClassName"];function eo(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function ec(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?eo(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):eo(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function ed(e){var{shapeType:t,elementProps:a}=e;switch(t){case"rectangle":return l.createElement(Z.Rectangle,a);case"trapezoid":return l.createElement(er,a);case"sector":return l.createElement(es.Sector,a);case"symbols":if("symbols"===t)return l.createElement(en.Symbols,a);break;case"curve":return l.createElement(ei.Curve,a);default:return null}}function eu(e){var t,{option:a,shapeType:r,activeClassName:s="recharts-active-shape",inActiveClassName:n="recharts-shape"}=e,i=function(e,t){if(null==e)return{};var a,r,s=function(e,t){if(null==e)return{};var a={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}(e,el);if((0,l.isValidElement)(a))t=(0,l.cloneElement)(a,ec(ec({},i),(0,l.isValidElement)(a)?a.props:a));else if("function"==typeof a)t=a(i,i.index);else if((0,U.default)(a)&&"boolean"!=typeof a){var o=ec(ec({},i),a);t=l.createElement(ed,{shapeType:r,elementProps:o})}else t=l.createElement(ed,{shapeType:r,elementProps:i});return i.isActive?l.createElement(u.Layer,{className:s},t):l.createElement(u.Layer,{className:n},t)}var em=e.i(29601),ep=e.i(18457),eh=e.i(20135),ex=["id"],eg=["type","layout","connectNulls","needClip","shape"],ef=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function eb(){return(eb=Object.assign.bind()).apply(null,arguments)}function ev(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function ey(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ev(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ev(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function ej(e,t){if(null==e)return{};var a,r,s=function(e,t){if(null==e)return{};var a={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}var ew=c.memo(e=>{var{dataKey:t,data:a,stroke:r,strokeWidth:s,fill:n,name:i,hide:l,unit:o,tooltipType:d,id:u}=e,m={dataDefinedOnItem:a,getPosition:h.noop,settings:{stroke:r,strokeWidth:s,fill:n,dataKey:t,nameKey:void 0,name:(0,g.getTooltipNameProp)(i,t),hide:l,type:d,color:r,unit:o,graphicalItemId:u}};return c.createElement(b.SetTooltipEntrySettings,{tooltipEntrySettings:m})}),eN=(e,t)=>"".concat(t,"px ").concat(e,"px");function ek(e){var{clipPathId:t,points:a,props:r}=e,{dot:s,dataKey:n,needClip:i}=r,{id:l}=r,o=ej(r,ex),d=(0,V.svgPropertiesNoEvents)(o);return c.createElement(p.Dots,{points:a,dot:s,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:n,baseProps:d,needClip:i,clipPathId:t})}function eP(e){var{showLabels:t,children:a,points:r}=e,s=(0,c.useMemo)(()=>null==r?void 0:r.map(e=>{var t,a,r={x:null!=(t=e.x)?t:0,y:null!=(a=e.y)?a:0,width:0,lowerWidth:0,upperWidth:0,height:0};return ey(ey({},r),{},{value:e.value,payload:e.payload,viewBox:r,parentViewBox:void 0,fill:void 0})}),[r]);return c.createElement(m.CartesianLabelListContextProvider,{value:t?s:void 0},a)}function eS(e){var{clipPathId:t,pathRef:a,points:r,strokeDasharray:s,props:n}=e,{type:i,layout:l,connectNulls:o,needClip:d,shape:u}=n,m=ej(n,eg),p=ey(ey({},(0,H.svgPropertiesAndEvents)(m)),{},{fill:"none",className:"recharts-line-curve",clipPath:d?"url(#clipPath-".concat(t,")"):void 0,points:r,type:i,layout:l,connectNulls:o,strokeDasharray:null!=s?s:n.strokeDasharray});return c.createElement(c.Fragment,null,(null==r?void 0:r.length)>1&&c.createElement(eu,eb({shapeType:"curve",option:u},p,{pathRef:a}
1)),c.createElement(ek,{points:r,clipPathId:t,props:n}))}function eA(e){var{clipPathId:t,props:a,pathRef:r,previousPointsRef:s,longestAnimatedLengthRef:n}=e,{points:i,strokeDasharray:l,isAnimationActive:o,animationBegin:d,animationDuration:u,animationEasing:p,animateNewValues:x,width:g,height:f,onAnimationEnd:b,onAnimationStart:v}=a,y=s.current,j=(0,W.useAnimationId)(i,"recharts-line-"),w=(0,c.useRef)(j),[N,k]=(0,c.useState)(!1),P=(0,c.useCallback)(()=>{"function"==typeof b&&b(),k(!1)},[b]),S=(0,c.useCallback)(()=>{"function"==typeof v&&v(),k(!0)},[v]),A=function(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch(e){return 0}}(r.current),I=(0,c.useRef)(0);w.current!==j&&(I.current=n.current,w.current=j);var O=I.current;return c.createElement(eP,{points:i,showLabels:!N},a.children,c.createElement(K.JavascriptAnimate,{animationId:j,begin:d,duration:u,isActive:o,easing:p,onAnimationEnd:P,onAnimationStart:S,key:j},e=>{var d,u=Math.min((0,h.interpolate)(O,A+O,e),A);if(d=o?l?((e,t,a)=>{var r=a.reduce((e,t)=>e+t,0);if(!r)return eN(t,e);for(var s=Math.floor(e/r),n=e%r,i=[],l=0,o=0;l<a.length;o+=null!=(c=a[l])?c:0,++l){var c,d=a[l];if(null!=d&&o+d>n){i=[...a.slice(0,l),n-o];break}}var u=i.length%2==0?[0,t]:[t];return[...function(e,t){for(var a=e.length%2!=0?[...e,0]:e,r=[],s=0;s<t;++s)r.push(...a);return r}(a,s),...i,...u].map(e=>"".concat(e,"px")).join(", ")})(u,A,"".concat(l).split(/[,\s]+/gim).map(e=>parseFloat(e))):eN(A,u):null==l?void 0:String(l),e>0&&A>0&&(s.current=i,n.current=Math.max(n.current,u)),y){var m=y.length/i.length,p=1===e?i:i.map((t,a)=>{var r=Math.floor(a*m);if(y[r]){var s=y[r];return ey(ey({},t),{},{x:(0,h.interpolate)(s.x,t.x,e),y:(0,h.interpolate)(s.y,t.y,e)})}return x?ey(ey({},t),{},{x:(0,h.interpolate)(2*g,t.x,e),y:(0,h.interpolate)(f/2,t.y,e)}):ey(ey({},t),{},{x:t.x,y:t.y})});return s.current=p,c.createElement(eS,{props:a,points:p,clipPathId:t,pathRef:r,strokeDasharray:d})}return c.createElement(eS,{props:a,points:i,clipPathId:t,pathRef:r,strokeDasharray:d})}),c.createElement(m.LabelListFromLabelProp,{label:a.label}))}function eI(e){var{clipPathId:t,props:a}=e,r=(0,c.useRef)(null),s=(0,c.useRef)(0),n=(0,c.useRef)(null);return c.createElement(eA,{props:a,clipPathId:t,previousPointsRef:r,longestAnimatedLengthRef:s,pathRef:n})}var eO=(e,t)=>{var a,r;return{x:null!=(a=e.x)?a:void 0,y:null!=(r=e.y)?r:void 0,value:e.value,errorVal:(0,g.getValueByDataKey)(e.payload,t)}};class eC extends c.Component{render(){var{hide:e,dot:t,points:a,className:r,xAxisId:s,yAxisId:n,top:i,left:l,width:o,height:m,id:p,needClip:h,zIndex:g}=this.props;if(e)return null;var b=(0,d.clsx)("recharts-line",r),{r:v,strokeWidth:y}=(0,_.getRadiusAndStrokeWidthFromDot)(t),j=(0,x.isClipDot)(t),w=2*v+y,P=h?"url(#clipPath-".concat(j?"":"dots-").concat(p,")"):void 0;return c.createElement(em.ZIndexLayer,{zIndex:g},c.createElement(u.Layer,{className:b},h&&c.createElement("defs",null,c.createElement(k.GraphicalItemClipPath,{clipPathId:p,xAxisId:s,yAxisId:n}),!j&&c.createElement("clipPath",{id:"clipPath-dots-".concat(p)},c.createElement("rect",{x:l-w/2,y:i-w/2,width:o+w,height:m+w}))),c.createElement(N,{xAxisId:s,yAxisId:n,data:a,dataPointFormatter:eO,errorBarOffset:0},c.createElement(eI,{props:this.props,clipPathId:p}))),c.createElement(f.ActivePoints,{activeDot:this.props.activeDot,points:a,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:P}))}}var eE={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:ep.DefaultZIndexes.line,type:"linear"};function eM(e){var t=(0,G.resolveDefaultProps)(e,eE),{activeDot:a,animateNewValues:r,animationBegin:s,animationDuration:n,animationEasing:i,connectNulls:l,dot:o,hide:d,isAnimationActive:u,label:m,legendType:p,xAxisId:h,yAxisId:x,id:g}=t,f=ej(t,ef),{needClip:b}=(0,k.useNeedsClip)(h,x),y=(0,Y.usePlotArea)(),j=(0,P.useChartLayout)(),w=(0,S.useIsPanorama)(),N=(0,v.useAppSelector)(e=>z(e,h,x,w,g));if("horizontal"!==j&&"vertical"!==j||null==N||null==y)return null;var{height:A,width:I,x:O,y:C}=y;return c.createElement(eC,eb({},f,{id:g,connectNulls:l,dot:o,activeDot:a,animateNewValues:r,animationBegin:s,animationDuration:n,animationEasing:i,isAnimationActive:u,hide:d,label:m,legendType:p,xAxisId:h,yAxisId:x,points:N,layout:j,height:A,width:I,left:O,top:C,needClip:b}))}c.memo(function(e){var t=(0,G.resolveDefaultProps)(e,eE),a=(0,S.useIsPanorama)();return c.createElement(y.RegisterGraphicalItemId,{id:t.id,type:"line"},e=>c.createElement(c.Fragment,null,c.createElement(B.SetLegendPayload,{legendPayload:(e=>{var{dataKey:t,name:a,stroke:r,legendType:s,hide:n}=e;return[{inactive:n,dataKey:t,type:s,color:r,value:(0,g.getTooltipNameProp)(a,t),payload:e}]})(t)}),c.createElement(ew,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:e}),c.createElement(F.SetCartesianGraphicalItem,{type:"line",id:e,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:a}),c.createElement(eM,eb({},t,{id:e}))))},eh.propsAreEqual).displayName="Line";var eT=e.i(85183),eL=e.i(93230),eR=e.i(72526),eD=e.i(34239),ez=e.i(31195);let eB={backgroundColor:"#0a0a0a",border:"none",borderRadius:10,padding:"10px 14px",fontSize:12,fontWeight:500,color:"white",boxShadow:"0 10px 30px rgba(10,10,10,0.15)"},eW={color:"rgba(255,255,255,0.7)",fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:4},eG={strokeDasharray:"3 3",stroke:"#eceef0",vertical:!1}
1,eY={stroke:"#94a3b8",fontSize:11,tickLine:!1,axisLine:!1,tick:{fill:"#94a3b8"}};e.s(["BrandAreaChart",()=>eK],59987);var eF=e.i(1725),eV=e.i(237);function eK(e){let{data:t,xKey:a,series:r,height:s=220,yFormatter:n,stacked:l=!1}=e;return(0,i.jsx)(ez.ResponsiveContainer,{width:"100%",height:s,children:(0,i.jsxs)(eF.AreaChart,{data:t,margin:{top:10,right:10,left:0,bottom:0},children:[(0,i.jsx)("defs",{children:r.map(e=>(0,i.jsxs)("linearGradient",{id:e.gradientId,x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,i.jsx)("stop",{offset:"0%",stopColor:e.color,stopOpacity:.32}),(0,i.jsx)("stop",{offset:"100%",stopColor:e.color,stopOpacity:0})]},e.gradientId))}),(0,i.jsx)(eR.CartesianGrid,{...eG}),(0,i.jsx)(eT.XAxis,{dataKey:a,...eY}),(0,i.jsx)(eL.YAxis,{...eY,tickFormatter:n}),(0,i.jsx)(eD.Tooltip,{cursor:{stroke:"#e5e5e5",strokeWidth:1},contentStyle:eB,labelStyle:eW,formatter:e=>n?n(Number(e)):String(e)}),r.map(e=>{var t;return(0,i.jsx)(eV.Area,{type:"monotone",dataKey:e.dataKey,stroke:e.color,strokeWidth:null!=(t=e.strokeWidth)?t:2.5,fill:"url(#".concat(e.gradientId,")"),stackId:l?"stack":void 0},e.dataKey)})]})})}var eH=l,e_=e=>null;e_.displayName="Cell";var eU=e.i(73393);function eZ(){return(eZ=Object.assign.bind()).apply(null,arguments)}function eq(e){return l.createElement(eu,eZ({shapeType:"rectangle",activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"},e))}e.i(47167);var eX=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(a,r)=>{if((0,h.isNumber)(e))return e;var s=(0,h.isNumber)(a)||(0,h.isNullish)(a);return s?e(a,r):(s||function(e,t){if(!e)throw Error("Invariant failed")}(!1,"minPointSize callback function received a value with type of ".concat(typeof a,". Currently only numbers or null/undefined are supported.")),t)}},eJ=e.i(98982),e$=(e,t,a)=>{var r=(0,v.useAppDispatch)();return(s,n)=>i=>{null==e||e(s,n,i),r((0,eJ.setActiveMouseOverItemIndex)({activeIndex:String(n),activeDataKey:t,activeCoordinate:s.tooltipPosition,activeGraphicalItemId:a}))}},eQ=e=>{var t=(0,v.useAppDispatch)();return(a,r)=>s=>{null==e||e(a,r,s),t((0,eJ.mouseLeaveItem)())}},e0=(e,t,a)=>{var r=(0,v.useAppDispatch)();return(s,n)=>i=>{null==e||e(s,n,i),r((0,eJ.setActiveClickItemIndex)({activeIndex:String(n),activeDataKey:t,activeCoordinate:s.tooltipPosition,activeGraphicalItemId:a}))}},e1=e.i(41088),e2=e.i(77320),e5=e.i(10439),e6=(e,t,a)=>{var r=null!=a?a:e;if(!(0,h.isNullish)(r))return(0,h.getPercentValue)(r,t,0)},e3=e.i(22075);function e4(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function e7(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?e4(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):e4(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var e8=e.i(91526),e9=e.i(42221),te=(0,A.createSelector)([O.selectUnfilteredCartesianItems,(e,t)=>t],(e,t)=>e.filter(e=>"bar"===e.type).find(e=>e.id===t)),tt=(0,A.createSelector)([te],e=>null==e?void 0:e.maxBarSize),ta=(0,A.createSelector)([P.selectChartLayout,O.selectUnfilteredCartesianItems,e9.selectXAxisIdFromGraphicalItemId,e9.selectYAxisIdFromGraphicalItemId,(e,t,a)=>a],(e,t,a,r,s)=>t.filter(t=>"horizontal"===e?t.xAxisId===a:t.yAxisId===r).filter(e=>e.isPanorama===s).filter(e=>!1===e.hide).filter(e=>"bar"===e.type)),tr=(0,A.createSelector)([ta,e2.selectRootBarSize,(e,t)=>{var a=(0,P.selectChartLayout)(e),r=(0,e9.selectXAxisIdFromGraphicalItemId)(e,t),s=(0,e9.
1selectYAxisIdFromGraphicalItemId)(e,t);if(null!=r&&null!=s)return"horizontal"===a?(0,O.selectCartesianAxisSize)(e,"xAxis",r):(0,O.selectCartesianAxisSize)(e,"yAxis",s)}],(e,t,a)=>{var r=e.filter(e5.isStacked),s=e.filter(e=>null==e.stackId);return[...Object.entries(r.reduce((e,t)=>{var a=e[t.stackId];return null==a&&(a=[]),a.push(t),e[t.stackId]=a,e},{})).map(e=>{var r,[s,n]=e;return{stackId:s,dataKeys:n.map(e=>e.dataKey),barSize:e6(t,a,null==(r=n[0])?void 0:r.barSize)}}),...s.map(e=>({stackId:void 0,dataKeys:[e.dataKey].filter(e=>null!=e),barSize:e6(t,a,e.barSize)}))]}),ts=(e,t,a)=>{var r,s,n=(0,P.selectChartLayout)(e),i=(0,e9.selectXAxisIdFromGraphicalItemId)(e,t),l=(0,e9.selectYAxisIdFromGraphicalItemId)(e,t);if(null!=i&&null!=l)return"horizontal"===n?(r=(0,O.selectAxisWithScale)(e,"xAxis",i,a),s=(0,O.selectTicksOfGraphicalItem)(e,"xAxis",i,a)):(r=(0,O.selectAxisWithScale)(e,"yAxis",l,a),s=(0,O.selectTicksOfGraphicalItem)(e,"yAxis",l,a)),(0,g.getBandSizeOfAxis)(r,s)},tn=(0,A.createSelector)([tr,e2.selectRootMaxBarSize,e2.selectBarGap,e2.selectBarCategoryGap,(e,t,a)=>{var r,s,n,i,l=te(e,t);if(null==l)return 0;var o=(0,e9.selectXAxisIdFromGraphicalItemId)(e,t),c=(0,e9.selectYAxisIdFromGraphicalItemId)(e,t);if(null==o||null==c)return 0;var d=(0,P.selectChartLayout)(e),u=(0,e2.selectRootMaxBarSize)(e),{maxBarSize:m}=l,p=(0,h.isNullish)(m)?u:m;return"horizontal"===d?(n=(0,O.selectAxisWithScale)(e,"xAxis",o,a),i=(0,O.selectTicksOfGraphicalItem)(e,"xAxis",o,a)):(n=(0,O.selectAxisWithScale)(e,"yAxis",c,a),i=(0,O.selectTicksOfGraphicalItem)(e,"yAxis",c,a)),null!=(r=null!=(s=(0,g.getBandSizeOfAxis)(n,i,!0))?s:p)?r:0},ts,tt],(e,t,a,r,s,n,i)=>{var l=function(e,t,a,r,s){var n,i,l=r.length;if(!(l<1)){var o=(0,h.getPercentValue)(e,a,0,!0),c=[];if((0,e3.isWellBehavedNumber)(null==(n=r[0])?void 0:n.barSize)){var d=!1,u=a/l,m=r.reduce((e,t)=>e+(t.barSize||0),0);(m+=(l-1)*o)>=a&&(m-=(l-1)*o,o=0),m>=a&&u>0&&(d=!0,u*=.9,m=l*u);var p={offset:((a-m)/2|0)-o,size:0};i=r.reduce((e,t)=>{var a,r={stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:p.offset+p.size+o,size:d?u:null!=(a=t.barSize)?a:0}},s=[...e,r];return p=r.position,s},c)}else{var x=(0,h.getPercentValue)(t,a,0,!0);a-2*x-(l-1)*o<=0&&(o=0);var g=(a-2*x-(l-1)*o)/l;g>1&&(g>>=0);var f=(0,e3.isWellBehavedNumber)(s)?Math.min(g,s):g;i=r.reduce((e,t,a)=>[...e,{stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:x+(g+o)*a+(g-f)/2,size:f}}],c)}return i}}(a,r,s!==n?s:n,e,(0,h.isNullish)(i)?t:i);return s!==n&&null!=l&&(l=l.map(e=>e7(e7({},e),{},{position:e7(e7({},e.position),{},{offset:e.position.offset-s/2})}))),l}),ti=(0,A.createSelector)([tn,te],(e,t)=>{if(null!=e&&null!=t){var a=e.find(e=>e.stackId===t.stackId&&null!=t.dataKey&&e.dataKeys.includes(t.dataKey));if(null!=a)return a.position}}),tl=(0,A.createSelector)([(e,t,a)=>{var r=(0,P.selectChartLayout)(e),s=(0,e9.selectXAxisIdFromGraphicalItemId)(e,t),n=(0,e9.selectYAxisIdFromGraphicalItemId)(e,t);if(null!=s&&null!=n)return"horizontal"===r?(0,O.selectStackGroups)(e,"yAxis",n,a):(0,O.selectStackGroups)(e,"xAxis",s,a)},te],(e,t)=>{var a=(0,e8.getStackSeriesIdentifier)(t);if(!e||null==a||null==t)return;var{stackId:r}=t;if(null!=r){var s=e[r];if(s){var{stackedData:n}=s;if(n)return n.find(e=>e.key===a)}}}),to=(0,A.createSelector)([e1.selectChartOffsetInternal,e1.selectAxisViewBox,(e,t,a)=>{var r=(0,e9.selectXAxisIdFromGraphicalItemId)(e,t);if(null!=r)return(0,O.selectAxisWithScale)(e,"xAxis",r,a)},(e,t,a)=>{var r=(0,e9.selectYAxisIdFromGraphicalItemId)(e,t);if(null!=r)return(0,O.selectAxisWithScale)(e,"yAxis",r,a)},(e,t,a)=>{var r=(0,e9.selectXAxisIdFromGraphicalItemId)(e,t);if(null!=r)return(0,O.selectTicksOfGraphicalItem)(e,"xAxis",r,a)},(e,t,a)=>{var r=(0,e9.selectYAxisIdFromGraphicalItemId)(e,t);if(null!=r)return(0,O.selectTicksOfGraphicalItem)(e,"yAxis",r,a)},ti,P.selectChartLayout,I.selectChartDataWithIndexesIfNotInPanoramaPosition3,ts,tl,te,(e,t,a,r)=>r],(e,t,a,r,s,n,i,l,o,c,d,u,m)=>{var p,{chartData:x,dataStartIndex:f,dataEndIndex:b}=o;if(null!=u&&null!=i&&null!=t&&("horizontal"===l||"vertical"===l)&&null!=a&&null!=r&&null!=s&&null!=n&&null!=c){var{data:v}=u;if(null!=(p=null!=v&&v.length>0?v:null==x?void 0:x.slice(f,b+1)))return function(e){var{layout:t,barSettings:{dataKey:a,minPointSize:r,hasCustomShape:s},pos:n,bandSize:i,xAxis:l,yAxis:o,xAxisTicks:c,yAxisTicks:d,stackedData:u,displayedData:m,offset:p,cells:x,parentViewBox:f,dataStartIndex:b}=e,v="horizontal"===t?o:l,y=u?v.scale.domain():null,j=(0,g.getBaseValueOfBar)({numericAxis:v}),w=v.scale.map(j);return m.map((e,m)=>{if(u){var v=u[m+b];
1if(null==v)return null;k=(0,g.truncateByDomain)(v,y)}else Array.isArray(k=(0,g.getValueByDataKey)(e,a))||(k=[j,k]);var N=eX(r,0)(k[1],m);if("horizontal"===t){var k,P,S,A,I,O,C,E=o.scale.map(k[0]),M=o.scale.map(k[1]);if(null==E||null==M)return null;P=(0,g.getCateCoordinateOfBar)({axis:l,ticks:c,bandSize:i,offset:n.offset,entry:e,index:m}),S=null!=(C=null!=M?M:E)?C:void 0,A=n.size;var T=E-M;if(I=(0,h.isNan)(T)?0:T,O={x:P,y:p.top,width:A,height:p.height},Math.abs(N)>0&&Math.abs(I)<Math.abs(N)){var L=(0,h.mathSign)(I||N)*(Math.abs(N)-Math.abs(I));S-=L,I+=L}}else{var R=l.scale.map(k[0]),D=l.scale.map(k[1]);if(null==R||null==D)return null;if(P=R,S=(0,g.getCateCoordinateOfBar)({axis:o,ticks:d,bandSize:i,offset:n.offset,entry:e,index:m}),A=D-R,I=n.size,O={x:p.left,y:S,width:p.width,height:I},Math.abs(N)>0&&Math.abs(A)<Math.abs(N)){var z=(0,h.mathSign)(A||N)*(Math.abs(N)-Math.abs(A));A+=z}}return null!=P&&null!=S&&null!=A&&null!=I&&(s||0!==A&&0!==I)?tS(tS({},e),{},{stackedBarStart:w,x:P,y:S,width:A,height:I,value:u?k:k[1],payload:e,background:O,tooltipPosition:{x:P+A/2,y:S+I/2},parentViewBox:f,originalDataIndex:m},x&&x[m]&&x[m].props):null}).filter(Boolean)}({layout:l,barSettings:u,pos:i,parentViewBox:t,bandSize:c,xAxis:a,yAxis:r,xAxisTicks:s,yAxisTicks:n,stackedData:d,displayedData:p,offset:e,cells:m,dataStartIndex:f})}}),tc=e.i(76735),td=(e.i(19346),(e,t)=>t),tu=(e,t,a)=>a,tm=(0,A.createSelector)([td,O.selectUnfilteredCartesianItems,tu],(e,t,a)=>t.filter(e=>"bar"===e.type).filter(t=>t.stackId===e).filter(e=>e.isPanorama===a).filter(e=>!e.hide)),tp=(0,A.createSelector)([tm],e=>e.map(e=>e.id)),th=(0,A.createSelector)([e=>e,td,tu],(e,t,a)=>{var r=tp(e,t,a),s=[];return r.forEach(t=>{var r=to(e,t,a,void 0);null==r||r.forEach(e=>{var t=e.originalDataIndex;s[t]=((e,t)=>{if(!e)return t;if(!t)return e;var a=Math.min(e.x,e.x+e.width,t.x,t.x+t.width),r=Math.min(e.y,e.y+e.height,t.y,t.y+t.height);return{x:a,y:r,width:Math.max(e.x,e.x+e.width,t.x,t.x+t.width)-a,height:Math.max(e.y,e.y+e.height,t.y,t.y+t.height)-r}})(s[t],e)})}),s}),tx=["index"];function tg(){return(tg=Object.assign.bind()).apply(null,arguments)}var tf=(0,l.createContext)(void 0),tb=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),tv=e=>{var{index:t}=e,a=function(e,t){if(null==e)return{};var a,r,s=function(e,t){if(null==e)return{};var a={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}(e,tx),r=(e=>{var t=(0,l.useContext)(tf);if(null!=t){var{stackId:a}=t;return"url(#".concat(tb(a,e),")")}})(t);return l.createElement(u.Layer,tg({className:"recharts-bar-stack-layer",clipPath:r},a))};eh.propsAreEqual;var ty=["onMouseEnter","onMouseLeave","onClick"],tj=["value","background","tooltipPosition"],tw=["id"],tN=["onMouseEnter","onClick","onMouseLeave"];function tk(){return(tk=Object.assign.bind()).apply(null,arguments)}function tP(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function tS(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?tP(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):tP(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function tA(e,t){if(null==e)return{};var a,r,s=function(e,t){if(null==e)return{};var a={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}var tI=eH.memo(e=>{var{dataKey:t,stroke:a,strokeWidth:r,fill:s,name:n,hide:i,unit:l,tooltipType:o,id:c}=e,d={dataDefinedOnItem:void 0,getPosition:h.noop,settings:{stroke:a,strokeWidth:r,fill:s,dataKey:t,nameKey:void 0,name:(0,g.getTooltipNameProp)(n,t),hide:i,type:o,color:s,unit:l,graphicalItemId:c}};return eH.createElement(b.SetTooltipEntrySettings,{tooltipEntrySettings:d})});function tO(e){var t,a=(0,v.useAppSelector)(tc.selectActiveTooltipIndex),{data:r,dataKey:s,background:n,allOtherBarProps:i}=e,{onMouseEnter:l,onMouseLeave:o,onClick:c}=i,d=tA(i,ty),u=e$(l,s,i.id),m=eQ(o),p=e0(c,s,i.id);if(!n||null==r)return null;var h=(0,V.svgPropertiesNoEventsFromUnknown)(n);return eH.createElement(em.ZIndexLayer,{zIndex:(t=ep.DefaultZIndexes.barBackgroun
1d,n&&"object"==typeof n&&"zIndex"in n&&"number"==typeof n.zIndex&&(0,e3.isWellBehavedNumber)(n.zIndex)?n.zIndex:t)},r.map((e,t)=>{var{value:r,background:i,tooltipPosition:l}=e,o=tA(e,tj);if(!i)return null;var c=u(e,t),x=m(e,t),g=p(e,t),f=tS(tS(tS(tS(tS({option:n,isActive:String(t)===a},o),{},{fill:"#eee"},i),h),(0,eU.adaptEventsOfChild)(d,e,t)),{},{onMouseEnter:c,onMouseLeave:x,onClick:g,dataKey:s,index:t,className:"recharts-bar-background-rectangle"});return eH.createElement(eq,tk({key:"background-bar-".concat(t)},f))}))}function tC(e){var{showLabels:t,children:a,rects:r}=e,s=null==r?void 0:r.map(e=>{var t={x:e.x,y:e.y,width:e.width,lowerWidth:e.width,upperWidth:e.width,height:e.height};return tS(tS({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return eH.createElement(m.CartesianLabelListContextProvider,{value:t?s:void 0},a)}function tE(e){var t,{shape:a,activeBar:r,baseProps:s,entry:n,index:i,dataKey:l}=e,o=(0,v.useAppSelector)(tc.selectActiveTooltipIndex),c=(0,v.useAppSelector)(tc.selectActiveTooltipDataKey),d=r&&String(n.originalDataIndex)===o&&(null==c||l===c),[u,m]=(0,eH.useState)(!1),[p,h]=(0,eH.useState)(!1);(0,eH.useEffect)(()=>{var e;return d?(m(!0),e=requestAnimationFrame(()=>{h(!0)})):h(!1),()=>{cancelAnimationFrame(e)}},[d]);var x=(0,eH.useCallback)(()=>{d||m(!1)},[d]),g=d&&p,f=d||u;t=d?!0===r?a:r:a;var b=eH.createElement(eq,tk({},s,{name:String(s.name)},n,{isActive:g,option:t,index:i,dataKey:l,onTransitionEnd:x}));return f?eH.createElement(em.ZIndexLayer,{zIndex:ep.DefaultZIndexes.activeBar},eH.createElement(tv,{index:n.originalDataIndex},b)):b}function tM(e){var{shape:t,baseProps:a,entry:r,index:s,dataKey:n}=e;return eH.createElement(eq,tk({},a,{name:String(a.name)},r,{isActive:!1,option:t,index:s,dataKey:n}))}function tT(e){var t,{data:a,props:r}=e,s=null!=(t=(0,V.svgPropertiesNoEvents)(r))?t:{},{id:n}=s,i=tA(s,tw),{shape:l,dataKey:o,activeBar:c}=r,{onMouseEnter:d,onClick:u,onMouseLeave:m}=r,p=tA(r,tN),h=e$(d,o,n),x=eQ(m),g=e0(u,o,n);return a?eH.createElement(eH.Fragment,null,a.map((e,t)=>eH.createElement(tv,tk({index:e.originalDataIndex,key:"rectangle-".concat(null==e?void 0:e.x,"-").concat(null==e?void 0:e.y,"-").concat(null==e?void 0:e.value,"-").concat(t),className:"recharts-bar-rectangle"},(0,eU.adaptEventsOfChild)(p,e,t),{onMouseEnter:h(e,t),onMouseLeave:x(e,t),onClick:g(e,t)}),c?eH.createElement(tE,{shape:l,activeBar:c,baseProps:i,entry:e,index:t,dataKey:o}):eH.createElement(tM,{shape:l,baseProps:i,entry:e,index:t,dataKey:o})))):null}function tL(e){var{props:t,previousRectanglesRef:a}=e,{data:r,layout:s,isAnimationActive:n,animationBegin:i,animationDuration:l,animationEasing:o,onAnimationEnd:c,onAnimationStart:d}=t,p=a.current,x=(0,W.useAnimationId)(t,"recharts-bar-"),[g,f]=(0,eH.useState)(!1),b=(0,eH.useCallback)(()=>{"function"==typeof c&&c(),f(!1)},[c]),v=(0,eH.useCallback)(()=>{"function"==typeof d&&d(),f(!0)},[d]);return eH.createElement(tC,{showLabels:!g,rects:r},eH.createElement(K.JavascriptAnimate,{animationId:x,begin:i,duration:l,isActive:n,easing:o,onAnimationEnd:b,onAnimationStart:v,key:x},e=>{var n=1===e?r:null==r?void 0:r.map((t,a)=>{var r=p&&p[a];if(r)return tS(tS({},t),{},{x:(0,h.interpolate)(r.x,t.x,e),y:(0,h.interpolate)(r.y,t.y,e),width:(0,h.interpolate)(r.width,t.width,e),height:(0,h.interpolate)(r.height,t.height,e)});if("horizontal"===s){var n=(0,h.interpolate)(0,t.height,e),i=(0,h.interpolate)(t.stackedBarStart,t.y,e);return tS(tS({},t),{},{y:i,height:n})}var l=(0,h.interpolate)(0,t.width,e),o=(0,h.interpolate)(t.stackedBarStart,t.x,e);return tS(tS({},t),{},{width:l,x:o})});return(e>0&&(a.current=null!=n?n:null),null==n)?null:eH.createElement(u.Layer,null,eH.createElement(tT,{props:t,data:n}))}),eH.createElement(m.LabelListFromLabelProp,{label:t.label}),t.children)}function tR(e){var t=(0,eH.useRef)(null);return eH.createElement(tL,{previousRectanglesRef:t,props:e})}var tD=(e,t)=>{var a=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:a,errorVal:(0,g.getValueByDataKey)(e,t)}};class tz extends eH.PureComponent{render(){var{hide:e,data:t,dataKey:a,className:r,xAxisId:s,yAxisId:n,needClip:i,background:l,id:o}=this.props;if(e||null==t)return null;var c=(0,d.clsx)("recharts-bar",r);return eH.createElement(u.Layer,{className:c,id:o},i&&eH.createElement("defs",null,eH.createElement(k.GraphicalItemClipPath,{clipPathId:o,xAxisId:s,yAxisId:n})),eH.createElement(u.Layer,{className:"recharts-bar-rectangles",clipPath:i?"url(#clipPath-".concat(o,")"):void 0},eH.createElement(tO,{data:t,dataKey:a,background:l,allOtherBarProps:this.props}),eH.createElement(tR,this.props)))}}var tB={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendT
1ype:"rect",minPointSize:0,xAxisId:0,yAxisId:0,zIndex:ep.DefaultZIndexes.bar};function tW(e){var t,{xAxisId:a,yAxisId:r,hide:s,legendType:n,minPointSize:i,activeBar:l,animationBegin:o,animationDuration:c,animationEasing:d,isAnimationActive:u}=e,{needClip:m}=(0,k.useNeedsClip)(a,r),p=(0,P.useChartLayout)(),h=(0,S.useIsPanorama)(),g=(0,x.findAllByType)(e.children,e_),f=(0,v.useAppSelector)(t=>to(t,e.id,h,g));if("vertical"!==p&&"horizontal"!==p)return null;var b=null==f?void 0:f[0];return t=null==b||null==b.height||null==b.width?0:"vertical"===p?b.height/2:b.width/2,eH.createElement(N,{xAxisId:a,yAxisId:r,data:f,dataPointFormatter:tD,errorBarOffset:t},eH.createElement(tz,tk({},e,{layout:p,needClip:m,data:f,xAxisId:a,yAxisId:r,hide:s,legendType:n,minPointSize:i,activeBar:l,animationBegin:o,animationDuration:c,animationEasing:d,isAnimationActive:u})))}eH.memo(function(e){var t,a,r=(0,G.resolveDefaultProps)(e,tB),s=(t=r.stackId,null!=(a=(0,l.useContext)(tf))?a.stackId:null!=t?(0,g.getNormalizedStackId)(t):void 0),n=(0,S.useIsPanorama)();return eH.createElement(y.RegisterGraphicalItemId,{id:r.id,type:"bar"},e=>eH.createElement(eH.Fragment,null,eH.createElement(B.SetLegendPayload,{legendPayload:(e=>{var{dataKey:t,name:a,fill:r,legendType:s,hide:n}=e;return[{inactive:n,dataKey:t,type:s,color:r,value:(0,g.getTooltipNameProp)(a,t),payload:e}]})(r)}),eH.createElement(tI,{dataKey:r.dataKey,stroke:r.stroke,strokeWidth:r.strokeWidth,fill:r.fill,name:r.name,hide:r.hide,unit:r.unit,tooltipType:r.tooltipType,id:e}),eH.createElement(F.SetCartesianGraphicalItem,{type:"bar",id:e,data:void 0,xAxisId:r.xAxisId,yAxisId:r.yAxisId,zAxisId:0,dataKey:r.dataKey,stackId:s,hide:r.hide,barSize:r.barSize,minPointSize:r.minPointSize,maxBarSize:r.maxBarSize,isPanorama:n,hasCustomShape:null!=r.shape}),eH.createElement(em.ZIndexLayer,{zIndex:r.zIndex},eH.createElement(tW,tk({},r,{id:e})))))},eh.propsAreEqual).displayName="Bar",e.s(["BrandDonut",()=>aY],34163);var tG=e.i(70778),tY=e.i(98596),tF=e.i(22273),tV=e.i(62327),tK=e.i(49776),tH=e.i(73310);function t_(e){var t=(0,v.useAppDispatch)();return(0,l.useEffect)(()=>{t((0,tH.updatePolarOptions)(e))},[t,e]),null}var tU=e.i(48973),tZ=e.i(73257),tq=["layout"];function tX(){return(tX=Object.assign.bind()).apply(null,arguments)}function tJ(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}var t$=function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?tJ(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):tJ(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({accessibilityLayer:!0,stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index",layout:"radial",responsive:!1,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"},tZ.initialEventSettingsState),tQ=(0,l.forwardRef)(function(e,t){var a,r=(0,G.resolveDefaultProps)(e.categoricalChartProps,t$),{layout:s}=r,n=function(e,t){if(null==e)return{};var a,r,s=function(e,t){if(null==e)return{};var a={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}(r,tq),{chartName:i,defaultTooltipEventType:o,validateTooltipEventTypes:c,tooltipPayloadSearcher:d}=e;return l.createElement(tG.RechartsStoreProvider,{preloadedState:{options:{chartName:i,defaultTooltipEventType:o,val
1idateTooltipEventTypes:c,tooltipPayloadSearcher:d,eventEmitter:void 0}},reduxStoreName:null!=(a=r.id)?a:i},l.createElement(tY.ChartDataContextProvider,{chartData:r.data}),l.createElement(tF.ReportMainChartProps,{layout:s,margin:r.margin}),l.createElement(tK.ReportEventSettings,{throttleDelay:r.throttleDelay,throttledEvents:r.throttledEvents}),l.createElement(tV.ReportChartProps,{baseValue:void 0,accessibilityLayer:r.accessibilityLayer,barCategoryGap:r.barCategoryGap,maxBarSize:r.maxBarSize,stackOffset:r.stackOffset,barGap:r.barGap,barSize:r.barSize,syncId:r.syncId,syncMethod:r.syncMethod,className:r.className,reverseStackOrder:r.reverseStackOrder}),l.createElement(t_,{cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius}),l.createElement(tU.CategoricalChart,tX({},n,{ref:t})))});function t0(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function t1(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?t0(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):t0(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var t2=["item"],t5=t1(t1({},t$),{},{layout:"centric",startAngle:0,endAngle:360}),t6=(0,l.forwardRef)((e,t)=>{var a=(0,G.resolveDefaultProps)(e,t5);return l.createElement(tQ,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:t2,tooltipPayloadSearcher:o.arrayTooltipSearcher,categoricalChartProps:a,ref:t})}),t3=e.i(92068),t4=e.i(73962),t7=e.i(91561),t8=e.i(90555),t9=e=>e.graphicalItems.polarItems,ae=(0,A.createSelector)([t4.pickAxisType,t7.pickAxisId],O.itemAxisPredicate),at=(0,A.createSelector)([t9,O.selectBaseAxis,ae],O.combineGraphicalItemsSettings),aa=(0,A.createSelector)([at],O.combineGraphicalItemsData),ar=(0,A.createSelector)([aa,I.selectChartDataAndAlwaysIgnoreIndexes],O.combineDisplayedData),as=(0,A.createSelector)([ar,O.selectBaseAxis,at],O.combineAppliedValues);(0,A.createSelector)([ar,O.selectBaseAxis,at],(e,t,a)=>a.length>0?e.flatMap(e=>a.flatMap(a=>{var r;return{value:(0,g.getValueByDataKey)(e,null!=(r=t.dataKey)?r:a.dataKey),errorDomain:[]}})).filter(Boolean):(null==t?void 0:t.dataKey)!=null?e.map(e=>({value:(0,g.getValueByDataKey)(e,t.dataKey),errorDomain:[]})):e.map(e=>({value:e,errorDomain:[]})));var an=()=>void 0,ai=(0,A.createSelector)([ar,O.selectBaseAxis,at,O.selectAllErrorBarSettings,t4.pickAxisType,I.selectChartDataSliceIgnoringIndexes],O.combineDomainOfAllAppliedNumericalValuesIncludingErrorValues),al=(0,A.createSelector)([O.selectBaseAxis,O.selectDomainDefinition,O.selectDomainFromUserPreference,an,ai,an,P.selectChartLayout,t4.pickAxisType],O.combineNumericalDomain),ao=(0,A.createSelector)([O.selectBaseAxis,P.selectChartLayout,ar,as,e2.selectStackOffsetType,t4.pickAxisType,al],O.combineAxisDomain),ac=(0,A.createSelector)([ao,O.selectRenderableAxisSettings,O.selectRealScaleType],O.combineNiceTicks),ad=(0,A.createSelector)([O.selectBaseAxis,ao,ac,t4.pickAxisType],O.combineAxisDomainWithNiceTicks);function au(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function am(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?au(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):au(Object(a)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}(0,A.createSelector)([O.selectRealScaleType,ad],t8.combineCheckedDomain);var ap=(0,A.createSelector)([t9,(e,t)=>t],(e,t)=>e.filter(e=>"pie"===e.type).find(e=>e.id===t)),ah=[],ax=(e,t,a)=>(null==a?void 0:a.length)===0?ah:a,ag=(0,A.createSelector)([I.selectChartDataAndAlwaysIgnoreIndexes,ap,ax],(e,t,a)=>{var r,{chartData:s}=e;if(null!=t&&((r=(null==t?void 0:t.data)!=null&&t.data.length>0?t.data:s)&&r.length||null==a||(r=a.map(e=>am(am({},t.presentationProps),e.props))),null!=r))return r}),af=(0,A.createSelector)([ag,ap,ax],(e,t,a)=>{if(null!=e&&null!=t)return e.map((e,r)=>{var s,n,i=(0,g.getValueByDataKey)(e,t.nameKey,t.name);return n=null!=a&&null!=(s=a[r])&&null!=(s=s.props)&&s.fill?a[r].props.fill:"object"==typeof e&&null!=e&&"fill"in e?e.fill:t.fill,{value:(0,g.getTooltipNameProp)(i,t.dataKey),color:n,payload:e,type:t.legendType}})}),ab=(0,A.createSelector)([ag,ap,ax,e1.selectChartOffsetInternal],(e,t,a,r)=>{if(null!=t&&null!=e)return function(e){var t,a,r,{pieSettings:s,displayedData:n,cells:i,offset:l}=e,{cornerRadius:o,startAngle:c,endAngle:d,dataKey:u,nameKey:m,tooltipType:p}=s,x=Math.abs(s.minAngle),f=(0,h.mathSign)(d-c)*Math.min(Math.abs(d-c),360),b=Math.abs(f),v=n.length<=1?0:null!=(t=s.paddingAngle)?t:0,y=n.filter(e=>0!==(0,g.getValueByDataKey)(e,u,0)).length,j=n.reduce((e,t)=>{var a=(0,g.getValueByDataKey)(t,u,0);return e+((0,h.isNumber)(a)?a:0)},0),w=x>0&&j>0&&n.some(e=>{var t=(0,g.getValueByDataKey)(e,u,0),a=((0,h.isNumber)(t)?t:0)/j;return 0!==t&&a*b<x})?x:0,N=b-y*w-(b>=360?y:y-1)*v;return j>0&&(a=n.map((e,t)=>{var a,n=(0,g.getValueByDataKey)(e,u,0),d=(0,g.getValueByDataKey)(e,m,t),x=((e,t,a)=>{let r,s,n;var{top:i,left:l,width:o,height:c}=t,d=(0,ay.getMaxRadius)(o,c),u=l+(0,h.getPercentValue)(e.cx,o,o/2),m=i+(0,h.getPercentValue)(e.cy,c,c/2),p=(0,h.getPercentValue)(e.innerRadius,d,0);return{cx:u,cy:m,innerRadius:p,outerRadius:(r=a,s=e.outerRadius,n=d,"function"==typeof s?(0,h.getPercentValue)(s(r),n,.8*n):(0,h.getPercentValue)(s,n,.8*n)),maxRadius:e.maxRadius||Math.sqrt(o*o+c*c)/2}})(s,l,e),b=((0,h.isNumber)(n)?n:0)/j,y=aC(aC({},e),i&&i[t]&&i[t].props),k=null!=y&&"fill"in y&&"string"==typeof y.fill?y.fill:s.fill,P=(a=t?r.endAngle+(0,h.mathSign)(f)*v*(0!==n):c)+(0,h.mathSign)(f)*((0!==n?w:0)+b*N),S=(a+P)/2,A=(x.innerRadius+x.outerRadius)/2,I=[{name:d,value:n,payload:y,dataKey:u,type:p,color:k,fill:k,graphicalItemId:s.id}],O=(0,ay.polarToCartesian)(x.cx,x.cy,A,S);return r=aC(aC(aC(aC({},s.presentationProps),{},{percent:b,cornerRadius:"string"==typeof o?parseFloat(o):o,name:d,tooltipPayload:I,midAngle:S,middleRadius:A,tooltipPosition:O},y),x),{},{value:n,dataKey:u,startAngle:a,endAngle:P,payload:y,paddingAngle:0!==n?(0,h.mathSign)(f)*v:0})})),a}({offset:r,pieSettings:t,displayedData:e,cells:a})}),av=e.i(9516),ay=e.i(68970),aj=e.i(94810),aw=e.i(51161),aN=["key"],ak=["onMouseEnter","onClick","onMouseLeave"],aP=["id"],aS=["id"];function aA(){return(aA=Object.assign.bind()).apply(null,arguments)}function aI(e,t){if(null==e)return{};var a,r,s=function(e,t){if(null==e)return{};var a={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],-1===t.indexOf(a)&&({}).propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}function aO(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function aC(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?aO(Object(a),!0).forEach(function(t){var r,s,n;r=e,s=t,n=a[t],(s=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(s))in r?Object.defineProperty(r,s,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[s]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):aO(Object(a)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function aE(e){var t=(0,l.useMemo)(()=>(0,x.findAllByType)(e.children,e_),[e.children]),a=(0,v.useAppSelector)(a=>af(a,e.id,t));return null==a?null:l.createElement(B.SetPolarLegendPayload,{legendPayload:a})}var aM=l.memo(e=>{var{dataKey:t,nameKey:a,sectors:r,stroke:s,strokeWidth:n,fill:i,name:o,hide:c,tooltipType:d,id:u,activeShape:m}=e,p=function(e){if(null!=e&&"boolean"!=typeof e&&"function"!=typeof e){if(l.isValidElement(e)){var t,a=null==(t=e.props)?void 0:t.fill;return"string"==typeof a?a:void 0}var{fill:r}=e;return"string"==typeof r?r:void 0}}(m),h={dataDefinedOnItem:r.map(e=>{var t=e.tooltipPayload;return null==p||null==t?t:t.map(e=>aC(aC({},e),{},{color:p,fill:p}))}),getPosition:e=>{var t;return null==(t=r[Number(e)])?void 0:t.tooltipPosition},settings:{stroke:s,strokeWidth:n,fill:i,dataKey:t,nameKey:a,name:(0,g.getTooltipNameProp)(o,t),hide:c,type:d,color:i,unit:"",graphicalItemId:u}};return l.createElement(b.SetTooltipEntrySettings,{tooltipEntrySettings:h})});function aT(e){var{sectors:t,props:a,showLabels:r}=e,{label:s,labelLine:n,dataKey:i}=a;if(!r||!s||!t)return null;var o=(0,V.svgPropertiesNoEvents)(a),c=(0,V.svgPropertiesNoEventsFromUnknown)(s),m=(0,V.svgPropertiesNoEventsFromUnknown)(n),p="object"==typeof s&&"offsetRadius"in s&&"number"==typeof s.offsetRadius&&s.offsetRadius||20,h=t.map((e,t)=>{var a,r,h=(e.startAngle+e.endAngle)/2,x=(0,ay.polarToCartesian)(e.cx,e.cy,e.outerRadius+p,h),f=aC(aC(aC(aC({},o),e),{},{stroke:"none"},c),{},{index:t,textAnchor:(a=x.x)>(r=e.cx)?"start":a<r?"end":"middle"},x),b=aC(aC(aC(aC({},o),e),{},{fill:"none",stroke:e.fill},m),{},{index:t,points:[(0,ay.polarToCartesian)(e.cx,e.cy,e.outerRadius,h),x],key:"line"});return l.createElement(em.ZIndexLayer,{zIndex:ep.DefaultZIndexes.label,key:"label-".concat(e.startAngle,"-").concat(e.endAngle,"-").concat(e.midAngle,"-").concat(t)},l.createElement(u.Layer,null,n&&((e,t)=>{if(l.isValidElement(e))return l.cloneElement(e,t);if("function"==typeof e)return e(t);var a=(0,d.clsx)("recharts-pie-label-line","boolean"!=typeof e?e.className:""),{key:r}=t,s=aI(t,aN);return l.createElement(ei.Curve,aA({},s,{type:"linear",className:a}))})(n,b),((e,t,a)=>{if(l.isValidElement(e))return l.cloneElement(e,t);var r=a;if("function"==typeof e&&(r=e(t),l.isValidElement(r)))return r;var s=(0,d.clsx)("recharts-pie-label-text",(0,aw.getClassNameFromUnknown)(e));return l.createElement(av.Text,aA({},t,{alignmentBaseline:"middle",className:s}),r)})(s,f,(0,g.getValueByDataKey)(e,i))))});return l.createElement(u.Layer,{className:"recharts-pie-labels"},h)}function aL(e){var{sectors:t,props:a,showLabels:r}=e,{label:s}=a;return"object"==typeof s&&null!=s&&"position"in s?l.createElement(m.LabelListFromLabelProp,{label:s}):l.createElement(aT,{sectors:t,props:a,showLabels:r})}function aR(e){var{sectors:t,activeShape:a,inactiveShape:r,allOtherPieProps:s,shape:n,id:i}=e,o=(0,v.useAppSelector)(tc.selectActiveTooltipIndex),c=(0,v.useAppSelector)(tc.selectActiveTooltipDataKey),d=(0,v.useAppSelector)(tc.selectActiveTooltipGraphicalItemId),{onMouseEnter:m,onClick:p,onMouseLeave:h}=s,x=aI(s,ak),g=e$(m,s.dataKey,i),f=eQ(h),b=e0(p,s.dataKey,i);return null==t||0===t.length?null:l.createElement(l.Fragment,null,t.map((e,m)=>{if((null==e?void 0:e.startAngle)===0&&(null==e?void 0:e.endAngle)===0&&1!==t.length)return null;var p=null==d||d===i,h=String(m)===o&&(null==c||s.dataKey===c)&&p,v=a&&h?a:o?r:null,y=aC(aC({},e),{},{stroke:e.stroke,tabIndex:-1,[aj.DATA_ITEM_INDEX_ATTRIBUTE_NAME]:m,[aj.DATA_ITEM_GRAPHICAL_ITEM_ID_ATTRIBUTE_NAME]:i});return l.createElement(u.Layer,aA({key:"sector-".concat(null==e?void 0:e.startAngle,"-").concat(null==e?void 0:e.endAngle,"-").concat(e.midAngle,"-").concat(m),tabIndex:-1,className:"recharts-pie-sector"},(0,eU.adaptEventsOfChild)(x,e,m),{onMouseEnter:g(e,m),onMouseLeave:f(e,m),onClick:b(e,m)}),l.createElement(eu,aA({option:null!=n?n:v,index:m,shapeType:"sector",isActive:h},y)))}))}function aD(e){var{showLabels:t,sectors:a,children:r}=e,s=(0,l.useMemo)(()=>t&&a?a.map(e=>({value:e.value,payload:e.payload,clockWise:!1,parentViewBox:void 0,viewB
1ox:{cx:e.cx,cy:e.cy,innerRadius:e.innerRadius,outerRadius:e.outerRadius,startAngle:e.startAngle,endAngle:e.endAngle,clockWise:!1},fill:e.fill})):[],[a,t]);return l.createElement(m.PolarLabelListContextProvider,{value:t?s:void 0},r)}function az(e){var{props:t,previousSectorsRef:a,id:r}=e,{sectors:s,isAnimationActive:n,animationBegin:i,animationDuration:o,animationEasing:c,activeShape:d,inactiveShape:m,onAnimationStart:p,onAnimationEnd:x}=t,g=(0,W.useAnimationId)(t,"recharts-pie-"),f=a.current,[b,v]=(0,l.useState)(!1),y=(0,l.useCallback)(()=>{"function"==typeof x&&x(),v(!1)},[x]),j=(0,l.useCallback)(()=>{"function"==typeof p&&p(),v(!0)},[p]);return l.createElement(aD,{showLabels:!b,sectors:s},l.createElement(K.JavascriptAnimate,{animationId:g,begin:i,duration:o,isActive:n,easing:c,onAnimationStart:j,onAnimationEnd:y,key:g},e=>{var n,i=[],o=s&&s[0],c=null!=(n=null==o?void 0:o.startAngle)?n:0;return null==s||s.forEach((t,a)=>{var r=f&&f[a],s=a>0?(0,t3.default)(t,"paddingAngle",0):0;if(r){var n=(0,h.interpolate)(r.endAngle-r.startAngle,t.endAngle-t.startAngle,e),l=aC(aC({},t),{},{startAngle:c+s,endAngle:c+n+s});i.push(l),c=l.endAngle}else{var{endAngle:o,startAngle:d}=t,u=(0,h.interpolate)(0,o-d,e),m=aC(aC({},t),{},{startAngle:c+s,endAngle:c+u+s});i.push(m),c=m.endAngle}}),a.current=i,l.createElement(u.Layer,null,l.createElement(aR,{sectors:i,activeShape:d,inactiveShape:m,allOtherPieProps:t,shape:t.shape,id:r}))}),l.createElement(aL,{showLabels:!b,sectors:s,props:t}),t.children)}var aB={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:ep.DefaultZIndexes.area};function aW(e){var{id:t}=e,a=aI(e,aP),{hide:r,className:s,rootTabIndex:n}=e,i=(0,l.useMemo)(()=>(0,x.findAllByType)(e.children,e_),[e.children]),o=(0,v.useAppSelector)(e=>ab(e,t,i)),c=(0,l.useRef)(null),m=(0,d.clsx)("recharts-pie",s);return r||null==o?(c.current=null,l.createElement(u.Layer,{tabIndex:n,className:m})):l.createElement(em.ZIndexLayer,{zIndex:e.zIndex},l.createElement(aM,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:o,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,id:t,activeShape:e.activeShape}),l.createElement(u.Layer,{tabIndex:n,className:m},l.createElement(az,{props:aC(aC({},a),{},{sectors:o}),previousSectorsRef:c,id:t})))}var aG=function(e){var t=(0,G.resolveDefaultProps)(e,aB),{id:a}=t,r=aI(t,aS),s=(0,V.svgPropertiesNoEvents)(r);return l.createElement(y.RegisterGraphicalItemId,{id:a,type:"pie"},e=>l.createElement(l.Fragment,null,l.createElement(F.SetPolarGraphicalItem,{type:"pie",id:e,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:s,maxRadius:t.maxRadius}),l.createElement(aE,aA({},r,{id:e})),l.createElement(aW,aA({},r,{id:e}))))};function aY(e){let{data:t,height:a=220,innerRadius:r=58,outerRadius:s=90,valueFormatter:n,showCenterLabel:l}=e;return(0,i.jsxs)("div",{className:"relative",children:[(0,i.jsx)(ez.ResponsiveContainer,{width:"100%",height:a,children:(0,i.jsxs)(t6,{children:[(0,i.jsx)(aG,{data:t,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",innerRadius:r,outerRadius:s,paddingAngle:2,stroke:"none",children:t.map((e,t)=>(0,i.jsx)(e_,{fill:e.color},t))}),(0,i.jsx)(eD.Tooltip,{contentStyle:eB,labelStyle:eW,formatter:e=>n?n(Number(e)):String(e)})]})}),l&&(0,i.jsxs)("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center",children:[(0,i.jsx)("span",{className:"text-xs font-semibold uppercase tracking-widest text-msp-muted",children:l.label}),(0,i.jsx)("span",{className:"mt-1 text-3xl font-bold text-msp-ink tabular-nums",children:l.value})]})]})}aG.displayName="Pie"},77459,e=>{"use strict";e.s(["Reputation",()=>u]);var t=e.i(43476),a=e.i(66958),r=e.i(64668);e.i(9833);var s=e.i(63750),n=e.i(83900),i=e.i(25709),l=e.i(52912),o=e.i(30868);e.i(57365);var c=e.i(59987),d=e.i(73195);function u(){var e,u,m,p,h;
1let x=(0,a.useAuditData)(),{reputation:g,local:f,primaryCompetitorName:b}=x;if(!g)return(0,t.jsx)("section",{id:"reputation",className:"py-24",children:(0,t.jsx)(d.Reveal,{children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(r.SectionPending,{title:"Reviews & Reputation"})})})});let v=null!=(u=null==(e=x.practice)?void 0:e.name)?u:"Your practice",y=null!=b?b:"your top competitor",j=null==f?void 0:f.reviews,w=(null!=(m=null==j?void 0:j.velocityMonthly)?m:[]).map((e,t)=>{var a,r;return{month:function(e){let t=new Date;return new Date(t.getFullYear(),t.getMonth()-(11-e),1).toLocaleDateString("en-US",{month:"short"})}(t),yours:null!=e?e:0,competitor:null!=(r=null==j||null==(a=j.competitorVelocityMonthly)?void 0:a[t])?r:0}}),N=null!=(p=g.starDistribution)?p:[],k=null!=(h=g.recentReviewSnippets)?h:[],P=Math.max(1,...N.map(e=>{var t;return null!=(t=e.count)?t:0})),S=g.totalReviews,A=g.competitorReviews,I="number"==typeof S&&"number"==typeof A,O=I&&S>0?(A/S).toFixed(1):null,C="number"==typeof g.responseRate;return(0,t.jsx)("section",{id:"reputation",className:"py-24",children:(0,t.jsx)(d.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(s.SectionHeader,{eyebrow:"Reviews & Reputation",title:"number"==typeof g.averageRating?"Your ".concat(g.averageRating," stars are real. Your volume isn't keeping up."):"Your rating is real. Your volume isn't keeping up.",subtitle:"Review rating isn't your problem â it's already great. Review volume, velocity, and response rate are.".concat(b?" Here's what patients see when they compare you to ".concat(b,"."):"")}),I&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsx)(n.VersusCard,{eyebrow:"Total reviews",title:"Review count vs. your top competitor",yourLabel:v,yourValue:S,competitorLabel:y,competitorValue:A,insight:O?"Your top competitor has ".concat(O,"à more reviews than you. Google's local algorithm weights review volume almost as heavily as rating â and the gap compounds over time."):"Google's local algorithm weights review volume almost as heavily as rating â and the gap compounds over time.",insightTone:"critical",insightChipText:O?"".concat(O,"à gap"):void 0})}),(N.length>0||C)&&(0,t.jsxs)("div",{className:"mb-6 grid gap-6 lg:grid-cols-[1.3fr_1fr]",children:[N.length>0&&(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Star distribution"}),(0,t.jsx)("h3",{className:"mb-1 text-xl font-bold text-msp-ink",children:"number"==typeof g.averageRating?"Your ".concat(g.averageRating,"-star average is excellent."):"Your star rating is excellent."}),(0,t.jsx)("p",{className:"mb-6 text-sm text-msp-muted",children:"But a great rating means nothing if patients can't find you. You need more total reviews, not better ones."}),(0,t.jsx)("div",{className:"space-y-3",children:N.map(e=>{var a,r;let s=(null!=(a=e.count)?a:0)/P*100;return(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex w-14 items-center gap-1 text-sm font-semibold text-msp-ink",children:[e.stars,(0,t.jsx)("svg",{viewBox:"0 0 16 16",className:"h-3 w-3 fill-msp-warning","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M8 1l2.4 4.8L16 6.7l-4 3.9L13 16l-5-2.6L3 16l1-5.4L0 6.7l5.6-.9z"})})]}),(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)("div",{className:"h-2.5 w-full overflow-hidden rounded-full bg-msp-paper",children:(0,t.jsx)("div",{className:"h-full rounded-full transition-all duration-1000",style:{width:"".concat(s,"%"),backgroundColor:e.stars>=4?"#10b981":3===e.stars?"#f59e0b":"#dc2626"}})})}),(0,t.jsx)("div",{className:"w-10 text-right text-sm font-bold tabular-nums text-msp-ink",children:null!=(r=e.count)?r:0})]},e.stars)})})]}),C&&(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Response rate"}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:"You're not replying."}),(0,t.jsx)("div",{className:"mt-4 flex justify-center",children:(0,t.jsx)(l.Gauge,{value:g.responseRate,label:"responded",size:220})}),(0,t.jsxs)("div",{className:"mt-2 text-center text-xs text-msp-muted",children:["Industry best: 95%.","number"==typeof g.avgResponseTimeDays&&(0,t.jsxs)(t.Fragment,{children:[" ","Avg reply time: ",g.avgResponseTimeDays," days","number"==typeof g.industryBestResponseTimeDays&&" (target: ".concat(g.industryBestResponseTimeDays," day)")]})]})]})]}),w.length>0&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsx)(i.ChartCard,{eyebrow:"Review velocity · 12 months",title:"New reviews per month",legend:[{label:v,color:"#dc2626"},{label:y,color:"#3555ff"}],insight:"".concat(y," adds new reviews consistently while you trail behind. Every month the gap compounds."),children:(0,t.jsx)(c.BrandAreaChart,{data:w,xKey:"month",series:[{dataKey:"yours",color:"#dc2626",gradientId:"rep-you"},{dataKey:"competitor",color:"#3555ff",gradientId:"rep-comp"}],height:220})})}),k.length>0&&(0,t.jsxs)("div",{className:"mb-6 rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Recent reviews"}),(0,t.jsx)("h3",{className:"mb-1 text-xl font-bold text-msp-ink",children:"What patients are saying right now"}),(0,t.jsx)("p",{className:"mb-6 text-sm text-msp-muted",children:"A few of the most recent reviews patients see when they research you."}),(0,t.jsx)("div",{className:"grid gap-4 md:grid-cols-2",children:k.map((e,a)=>{var r,s;let n=null!=(r=e.stars)?r:0;return(0,t.jsxs)("div",{className:"rounded-xl border p-5 ".concat(n>0&&n<=2?"border-msp-danger/30 bg-msp-danger/[0.03]":"border-msp-border bg-msp-paper/50"),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-semibold text-msp-ink",children:null!=(s=e.author)?s:"Patient"}),(0,t.jsx)("div",{className:"flex gap-0.5",children:Array.from({length:5}).map((e,a)=>(0,t.jsx)("svg",{viewBox:"0 0 16 16",className:"h-3 w-3 ".concat(a<n?"fill-msp-warning":"fill-msp-border"),"aria-hidden":!0,
1children:(0,t.jsx)("path",{d:"M8 1l2.4 4.8L16 6.7l-4 3.9L13 16l-5-2.6L3 16l1-5.4L0 6.7l5.6-.9z"})},a))})]}),"number"==typeof e.days&&(0,t.jsxs)("span",{className:"text-xs text-msp-muted",children:[e.days,"d ago"]})]}),e.text&&(0,t.jsxs)("p",{className:"text-sm leading-relaxed text-msp-ink",children:['"',e.text,'"']}),(0,t.jsx)("div",{className:"mt-3",children:e.responded?(0,t.jsx)(o.InsightChip,{tone:"good",icon:"dot",size:"sm",children:"Responded"}):(0,t.jsx)(o.InsightChip,{tone:"critical",icon:"alert",size:"sm",children:"No response"})})]},a)})})]}),(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-blue/25 bg-gradient-to-br from-msp-blue/[0.05] to-transparent p-7",children:[(0,t.jsx)("div",{className:"mb-3 flex items-center gap-3",children:(0,t.jsx)(o.InsightChip,{tone:"notice",icon:"sparkle",children:"Maps to Reputation Management"})}),(0,t.jsxs)("p",{className:"text-base leading-relaxed text-msp-ink",children:["Our ",(0,t.jsx)("b",{children:"Review Engine"})," adds 10-15 new reviews every month on autopilot, responds to every review within 24 hours, and flags negative sentiment before it damages your rating. Clients see their review count double in 4-6 months."]})]})]})})})}},1450,e=>{"use strict";e.s(["AISearchVisibility",()=>j],1450);var t=e.i(43476),a=e.i(66958),r=e.i(3472),s=e.i(64668);e.i(9833);var n=e.i(63750),i=e.i(36410),l=e.i(30868),o=e.i(73195);function c(e){let{className:a}=e;return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,fill:"#0d0d0d","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.1419.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"})})}function d(e){let{className:a}=e;return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,fill:"#d97757","aria-hidden":!0,children:(0,t.jsx)("path",{d:"m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.
10182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"})})}function u(e){let{className:a}=e;return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",className:a,"aria-hidden":!0,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"msp-gemini-grad",x1:"0",y1:"0",x2:"1",y2:"1",children:[(0,t.jsx)("stop",{offset:"0",stopColor:"#4285F4"}),(0,t.jsx)("stop",{offset:".5",stopColor:"#9B72CB"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#D96570"})]})}),(0,t.jsx)("path",{fill:"url(#msp-gemini-grad)",d:"M12 24A14.304 14.304 0 0 0 0 12 14.304 14.304 0 0 0 12 0a14.305 14.305 0 0 0 12 12 14.305 14.305 0 0 0-12 12Z"})]})}function m(e){let{className:a}=e;return(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:a,fill:"#20808d","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M22.3977 7.0896h-2.3106V.0676l-7.5094 6.3542V.1577h-1.1554v6.1966L4.4904 0v7.0896H1.6023v10.3976h2.8882V24l6.932-6.3591v6.2005h1.1554v-6.0469l6.9318 6.1807v-6.4879h2.8882V7.0896zm-3.4657-4.531v4.531h-5.355l5.355-4.531zm-13.2862.0676 4.8691 4.4634H5.6458V2.6262zM2.7576 16.332V8.245h7.8476l-6.1149 6.1147v1.9723H2.7576zm2.8882 5.0404v-3.8852h.0001v-2.6488l5.7763-5.7764v7.0111l-5.7764 5.2993zm12.7086.0248-5.7766-5.1509V9.0618l5.7766 5.7766v6.5588zm2.8882-5.0652h-1.733v-1.9723L13.3948 8.245h7.8478v8.087z"})})}function p(e){let{name:a,className:r="h-5 w-5"}=e;switch(a){case"ChatGPT":return(0,t.jsx)(c,{className:r});case"Claude":return(0,t.jsx)(d,{className:r});case"Gemini":return(0,t.jsx)(u,{className:r});case"Perplexity":return(0,t.jsx)(m,{className:r});default:return null}}let h={ChatGPT:{headerBg:"#f7f7f8",nameColor:"#0d0d0d"},Claude:{headerBg:"#f6f1ea",nameColor:"#a23f23"},Gemini:{headerBg:"#f3f7ff",nameColor:"#3367d6"},Perplexity:{headerBg:"#eef6f7",nameColor:"#147785"}},x={headerBg:"#f1f5f9",nameColor:"#475569"},g=e=>"number"==typeof e&&Number.isFinite(e),f=["You're missing from the third-party sources engines trust â the \"best dentist in your city\" lists, directories, and local press they pull recommendations from. If those pages don't name you, the engine has nothing to cite.","Your Google reviews aren't deep or recent enough to register as a trusted local authority â review volume and freshness are a primary signal engines weigh before naming a business.","Your site lacks the structured data (LocalBusiness + FAQ schema) that lets an engine confidently parse who you are, what you treat, and where â so it skips you for a competitor it can read cleanly.","Your pages don't answer the conversational questions patients ask AI (\"who's the best dentist for kids near me?\"), so there's no clean passage for an engine to lift a direct answer from.","Your practice isn't a consistent entity across the web â mismatched name/address/phone and few brand mentions make it hard for an engine to disambiguate and recommend you by name."],b=RegExp("\\[([^\\]]+)\\]\\((?:[^)]*)\\)|\\*\\*([^*]+)\\*\\*|__([^_]+)__|(?<![\\w])_([^_]+)_(?![\\w])|(?<![\\w*])\\*([^*\\n]+)\\*(?![\\w*])","g");function v(e,a){let r,s=[],n=0,i=0,l=new RegExp(b.source,b.flags);for(;null!==(r=l.exec(e));){var o,c;if(r.index>n&&s.push((0,t.jsx)("span",{children:e.slice(n,r.index)},"".concat(a,"-t").concat(i))),void 0!==r[1])s.push((0,t.jsx)("span",{className:"font-semibold text-msp-ink underline decoration-msp-border decoration-1 underline-offset-2",children:r[1]},"".concat(a,"-a").concat(i)));else if(void 0!==r[2]||void 0!==r[3]){let e=null!=(o=r[2])?o:r[3];s.push((0,t.jsx)("strong",{className:"font-semibold text-msp-ink",children:v(e,"".concat(a,"-b").concat(i))},"".concat(a,"-b").concat(i)))}else{let e=null!=(c=r[4])?c:r[5];s.push((0,t.jsx)("em",{className:"text-msp-ink/90",children:v(e,"".concat(a,"-i").concat(i))},"".concat(a,"-i").concat(i)))}n=r.index+r[0].length,i++}return n<e.length&&s.push((0,t.jsx)("span",{children:e.slice(n)},"".concat(a,"-tEnd"))),s}function y(e){let{text:a}=e,r=a.replace(/\r\n/g,"\n").split("\n"),s=[],n=[],i=[],l=!1,o=()=>{n.length&&(s.push((0,t.jsx)("p",{className:"text-sm leading-relaxed text-msp-ink",children:v(n.join(" "),"p".concat(s.length))},"p-".concat(s.length))),n=[])},c=()=>
1{if(!i.length)return;let e="l-".concat(s.length),a=i.map((a,r)=>(0,t.jsx)("li",{children:v(a,"".concat(e,"-").concat(r))},r));s.push(l?(0,t.jsx)("ol",{className:"list-decimal space-y-1.5 pl-5 text-sm leading-relaxed text-msp-ink marker:text-msp-muted",children:a},e):(0,t.jsx)("ul",{className:"list-disc space-y-1.5 pl-5 text-sm leading-relaxed text-msp-ink marker:text-msp-muted",children:a},e)),i=[]};for(let e of r){let a=e.trim();if(!a){o(),c();continue}let r=a.match(/^#{1,4}\s+(.*)$/),d=a.match(/^\d+[.)]\s+(.*)$/),u=a.match(/^[-*â¢]\s+(.*)$/);r?(o(),c(),s.push((0,t.jsx)("p",{className:"text-sm font-semibold text-msp-ink",children:v(r[1],"h".concat(s.length))},"h-".concat(s.length)))):d?(o(),i.length&&!l&&c(),l=!0,i.push(d[1])):u?(o(),i.length&&l&&c(),l=!1,i.push(u[1])):(c(),n.push(a))}return o(),c(),(0,t.jsx)("div",{className:"space-y-3",children:s})}function j(){var e,c,d,u,m,p,h;let x,b,v=(0,a.useAuditData)(),{aiSearch:y,practice:j}=v,{noun:k,article:P}=(0,r.nounOf)(v),S=(null==j||null==(e=j.name)?void 0:e.trim())||"Your practice";if(!y)return(0,t.jsx)("section",{id:"aisearch",className:"py-24",children:(0,t.jsx)(o.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(n.SectionHeader,{eyebrow:"AI Search Visibility",title:"You're missing the patients asking ChatGPT.",subtitle:"More patients are skipping Google and asking AI who the best ".concat(k," is. We asked ChatGPT, Gemini, Perplexity, and Claude to recommend ").concat("dentist"===k?"a":"an"," ").concat(k," near you. Here's what they said.")}),(0,t.jsx)(s.SectionPending,{title:"AI Search Visibility"})]})})});let A=null!=(c=y.responses)?c:[],I=new Map;for(let e of A){if(!(null==e?void 0:e.llm))continue;let t=I.get(e.llm);(!t||(null!=(m=null==(d=e.response)?void 0:d.length)?m:0)>(null!=(p=null==(u=t.response)?void 0:u.length)?p:0))&&I.set(e.llm,e)}let O=["ChatGPT","Claude","Gemini","Perplexity"].map(e=>I.get(e)).filter(e=>!!e).slice(0,3),C=null!=(h=y.whyList)?h:[];return(0,t.jsx)("section",{id:"aisearch",className:"py-24",children:(0,t.jsx)(o.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(n.SectionHeader,{eyebrow:"AI Search Visibility",title:"You're missing the patients asking ChatGPT.",subtitle:"More patients are skipping Google and asking AI who the best ".concat(k," is. We asked the engines they actually use â ChatGPT, Claude, and Gemini â to recommend ").concat("dentist"===k?"a":"an"," ").concat(k," near you. Here's what they said.")}),(0,t.jsxs)("div",{className:"mb-10 grid gap-5 md:grid-cols-2 lg:grid-cols-4",children:[(0,t.jsx)(i.StatPanel,{eyebrow:"Mention rate",value:g(x=y.mentionRate)?"".concat(x,"%"):"â",severity:"critical",size:"lg",trend:g(y.totalQueries)?{label:"of ".concat(y.totalQueries," queries tested"),direction:"down",tone:"critical"}:void 0}),(0,t.jsx)(i.StatPanel,{eyebrow:"You appeared",value:g(y.yourMentions)?"".concat(y.yourMentions,"Ã"):"â",severity:"critical",size:"lg",insight:"Across every engine we tested â and only as an afterthought."}),(0,t.jsx)(i.StatPanel,{eyebrow:"Competitors appeared",value:g(y.competitorMentionsTotal)?"".concat(y.competitorMentionsTotal,"Ã"):"â",severity:"critical",size:"lg",insight:"Your local competitors dominated the recommendations."}),(0,t.jsx)(i.StatPanel,{eyebrow:"Citation sources",value:g(b=y.citationSources)?String(b):"â",severity:"critical",size:"lg",insight:"LLMs need external sources to trust you. You barely have any."})]}),(0,t.jsxs)("div",{className:"mb-10",children:[(0,t.jsx)("div",{className:"eyebrow mb-3",children:"Live AI answers"}),(0,t.jsx)("h3",{className:"mb-2 text-2xl font-bold text-msp-ink",children:"Here's what patients actually see."}),(0,t.jsx)("p",{className:"mb-6 text-sm text-msp-muted",children:"Real prompts, real answers from each engine â the practices they recommended are the ones patients call. Yours is barely mentioned."}),(0,t.jsx)("div",{className:"space-y-5",children:O.length>0?O.map(e=>(0,t.jsx)(w,{response:e,practiceName:S},e.llm)):(0,t.jsx)("p",{className:"rounded-2xl border border-msp-border bg-msp-surface p-7 text-sm text-msp-muted shadow-card",children:"We're still capturing live AI answers for your practice. They'll appear here automatically once ready."})})]}),(0,t.jsxs)("div",{className:"mb-10 rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Mention rate comparison"}),(0,t.jsx)("h3",{className:"mb-5 text-xl font-bold text-msp-ink",children:"How often LLMs recommend you vs. your top competitor"}),(0,t.jsxs)("div",{className:"space-y-5",children:[(0,t.jsx)(N,{label:"Your practice",value:y.mentionRate,max:100,color:"#dc2626",isYou:!0,formatter:e=>"".concat(e,"% mention rate")}),g(y.competitorMentionRate)?(0,t.jsx)(N,{label:"Your top competitor",value:y.competitorMentionRate,max:100,color:"#10b981",formatter:e=>"".concat(e,"% mention rate")}):(0,t.jsx)("p",{className:"text-sm text-msp-muted",children:"Competitor mention rate is still being analyzed."})]})]}),(0,t.jsxs)("div",{className:"mb-10 rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Diagnostic · Generative Engine Optimization"}),(0,t.jsx)("h3",{className:"mb-2 text-xl font-bold text-msp-ink",children:"Why the engines aren't recommending you"}),(0,t.jsxs)("p",{className:"mb-5 max-w-2xl text-sm leading-relaxed text-msp-muted",children:["AI engines don't pick at random. They name the practices that are"," ",(0,t.jsx)("span",{className:"font-semibold text-msp-ink",children:"cited by trusted third-party sources"}),", backed by ",(0,t.jsx)("span",{className:"font-semibold text-msp-ink",children:"recent reviews"}),", marked up with"," ",(0,t.jsx)("span",{className:"font-semibold text-msp-ink",children:"structured data"})," they can parse, and recognized as a real ",(0,t.jsx)("span",{className:"font-semibold text-msp-ink",children:"entity"})," across the web. Here's where you fall short:"]}),(0,t.jsx)("ul",{className:"space-y-3",children:(C.length>0?C:f).map((e,a)=>(0,t.jsxs)("li",{className:"flex items-start gap-3 text-sm text-msp-ink",children:[(0,t.jsx)("span",{className:"mt-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-msp-danger/10 text-xs font-bold text-msp-danger",children:a+1}),e]},a))})]}),(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-blue/25 bg-gradient-to-br from-msp-blue/[0.05] to-transparent p-7",children:[(0,t.jsx)("div",{className:"mb-3 flex items-center gap-3",children:(0,t.jsx)(l.InsightChip,{tone:"notice",icon:"sparkle",children:"Maps to AI SEO / GEO"})}),(0,t.jsxs)("p",{className:"text-base leading-relaxed text-msp-ink",children:["This is ",(0,t.jsx)("b",{children:"fixable in 60-90 days"}),". We'll add schema markup, publish long-form content LLMs can parse, build authoritative citations, and optimize for conversational queries. Within 3 months, your practice is in the conversation. Within 6, you're a top recommendation."]})]})]})})})}function w(e){var a,r,s;let{response:n,practiceName:i}=e,o=null!=(a=h[n.llm])?a:x,c=(0,t.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-white shadow-sm ring-1 ring-black/5",children:(0,t.jsx)(p,{name:n.llm,className:"h-[18px] w-[18px]"})});return(0,t.jsxs)("div",{className:"overflow-hidden rounded-2xl border border-msp-border bg-msp-surface shadow-card",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-msp-border px-5 py-3",style:{backgroundColor:o.headerBg},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[c,(0,t.jsxs)("div",{className:"leading-tight",children:[(0,t.jsx)("div",{className:"text-sm font-semibold",style:{color:o.nameColor},children:null!=(r=n.llm)?r:"AI"}),n.timestamp&&(0,t.jsx)("div",{className:"text-[11px] text-msp-muted",children:n.timestamp})]})]}),n.mentionsYou?(0,t.jsx)(l.InsightChip,{tone:"warning",icon:"dot",size:"sm",children:"Mentioned (barely)"}):(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-msp-danger px-3 py-1.5 text-[11px] font-bold uppercase tracking-wide text-white shadow-sm",children:[(0,t.jsx)("svg",{viewBox:"0 0 16 16",className:"h-3 w-3",fill:"
1currentColor","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M8 1.5 0.5 14.5h15L8 1.5Zm0 4.2c.5 0 .8.4.8.9l-.2 3.1a.6.6 0 0 1-1.2 0l-.2-3.1c0-.5.3-.9.8-.9Zm0 6.9a.85.85 0 1 1 0-1.7.85.85 0 0 1 0 1.7Z"})}),"Not mentioned"]})]}),(0,t.jsxs)("div",{className:"px-5 py-4",children:[n.prompt&&(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)("div",{className:"max-w-[85%] rounded-2xl rounded-br-sm bg-msp-paper px-4 py-2.5 text-sm text-msp-ink",children:n.prompt})}),(0,t.jsxs)("div",{className:"mt-4 flex items-start gap-2.5",children:[c,(0,t.jsx)("div",{className:"min-w-0 flex-1 rounded-2xl rounded-tl-sm border border-msp-border bg-white px-5 py-4",children:n.response?(0,t.jsx)(y,{text:n.response}):(0,t.jsx)("span",{className:"text-sm italic text-msp-muted",children:"No response captured."})})]}),!n.mentionsYou&&(0,t.jsxs)("div",{className:"mt-4 flex items-center gap-3 rounded-xl border-l-4 border-msp-danger bg-msp-danger/[0.07] px-4 py-3.5",children:[(0,t.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-msp-danger text-sm font-bold text-white",children:"â"}),(0,t.jsxs)("p",{className:"text-sm font-semibold text-msp-danger",children:[i," isn't named anyw
1here in this answer â every practice"," ",null!=(s=n.llm)?s:"the engine"," recommended is a competitor."]})]})]})]})}function N(e){let{label:a,value:r,max:s,color:n,isYou:i=!1,formatter:l}=e,o=Math.max(0,Math.min(100,(g(r)?r:0)/(g(s)&&s>0?s:100)*100));return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex items-baseline justify-between text-sm",children:[(0,t.jsxs)("span",{className:i?"font-semibold text-msp-ink":"text-msp-muted",children:[a,i&&(0,t.jsx)("span",{className:"ml-2 text-[10px] font-semibold uppercase tracking-wide text-msp-danger",children:"You"})]}),(0,t.jsx)("span",{className:"text-lg font-bold tabular-nums text-msp-ink",children:g(r)?l(r):"â"})]}),(0,t.jsx)("div",{className:"h-3 w-full overflow-hidden rounded-full bg-msp-paper",children:(0,t.jsx)("div",{className:"h-full rounded-full transition-all duration-1000",style:{width:"".concat(o,"%"),backgroundColor:n}})})]})}},44957,e=>{"use strict";e.s(["SocialMedia",()=>y]);var t=e.i(43476),a=e.i(71645),r=e.i(7670),s=e.i(66958),n=e.i(64668);e.i(9833);var i=e.i(63750),l=e.i(36410),o=e.i(83900),c=e.i(25709),d=e.i(30868);e.i(57365);var u=e.i(34163),m=e.i(73195);let p=e=>"number"==typeof e&&Number.isFinite(e),h=e=>p(e)?e.toLocaleString():"â",x=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return p(e)?"".concat(e.toFixed(t),"%"):"â"},g={instagram:"Instagram",facebook:"Facebook",tiktok:"TikTok",youtube:"YouTube",linkedin:"LinkedIn"},f=["instagram","facebook"];function b(e){if(!e)return!1;let t=p(e.reels)?e.reels:0,a=p(e.stories)?e.stories:0,r=p(e.carousels)?e.carousels:0,s=p(e.static)?e.static:0;return t+a+r>0||s>0&&s<100}function v(e){let{line:a,label:r="Too little to chart"}=e;return(0,t.jsxs)("div",{className:"flex h-[220px] flex-col items-center justify-center gap-2 text-center",children:[(0,t.jsx)("span",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-msp-muted",children:r}),(0,t.jsx)("p",{className:"mx-auto max-w-xs text-sm leading-relaxed text-msp-muted",children:a})]})}function y(){var e,l,o;let c=(0,s.useAuditData)(),d=null==(e=c.social)?void 0:e.platforms,u=f.filter(e=>{var t;return!!(t=null==d?void 0:d[e])&&(p(t.followers)||p(t.lastPostDaysAgo)||p(t.postsPerMonth)||p(t.engagementRate))}),[h,x]=(0,a.useState)(null!=(o=u[0])?o:"instagram"),b=u.includes(h)?h:u[0],v=b?null==d?void 0:d[b]:void 0;return(0,t.jsx)("section",{id:"social",className:"py-24",children:(0,t.jsx)(m.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(i.SectionHeader,{eyebrow:"04 · Social Media",title:"Your patients are on social every day. You aren't in the conversation.",subtitle:"62% of dental patients check social before they book. This is where they decide if your practice feels like somewhere they'd bring their kids. Right now, they can't find you."}),0===u.length?(0,t.jsx)(n.SectionPending,{title:"Social Media",unavailableNote:"We couldn't find an established public social presence (Instagram or Facebook) to analyze for your practice â which is itself the opportunity."}):(0,t.jsxs)(t.Fragment,{children:[u.length>1&&(0,t.jsx)("div",{className:"mb-8 flex flex-wrap gap-2",children:u.map(e=>(0,t.jsx)("button",{onClick:()=>x(e),className:(0,r.default)("rounded-full border px-5 py-2 text-sm font-semibold transition-all",b===e?"border-msp-blue bg-msp-blue text-white shadow-lg shadow-msp-blue/25":"border-msp-border bg-msp-surface text-msp-muted hover:border-msp-ink hover:text-msp-ink"),children:g[e]},e))}),v?(0,t.jsx)(j,{platform:v,competitorName:c.primaryCompetitorName,city:(null==(l=c.auditedLocation)?void 0:l.city)||c.practice.city,searchNoun:c.searchNoun},b):(0,t.jsx)(n.SectionPending,{title:"Social Media",unavailableNote:"We couldn't find an established public social presence (Instagram or Facebook) to analyze for your practice â which is itself the opportunity."})]})]})})})}function j(e){var a,r,s,n,i,m,f,y,j,w;let{platform:N,competitorName:k,city:P,searchNoun:S}=e,A=(null==S?void 0:S.trim())||"dentist",I=A.endsWith("s")?A:"".concat(A,"s"),O="".concat(I.charAt(0).toUpperCase()).concat(I.slice(1)),C=null!=(a=N.competitor)?a:null,E=null!=(s=null!=(r=null==C?void 0:C.name)?r:k)?s:"your top competitor";null==C||C.name;let M=null!=C&&p(C.followers),T=null==(n=N.competitorChecked)||n,L=p(N.lastPostDaysAgo)&&N.lastPostDaysAgo>=0?N.lastPostDaysAgo:null,R=null!==L&&L>=30,D=(null!=(i=N.contentThemes)?i:[]).length>0,z=T&&null!=C,B=p(N.followers)&&N.followers>0,W=null!=(m=N.followersMeasured)?m:p(N.followers);if(!B&&!W)return(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-12 text-center",children:[(0,t.jsx)(d.InsightChip,{tone:"neutral",icon:"alert",children:"Not measured"}),(0,t.jsxs)("h3",{className:"mt-6 text-3xl font-bold tracking-tight text-msp-ink md:text-4xl",children:["We found your ",g[N.platform]," profile."]}),(0,t.jsx)("p",{className:"mt-4 mx-auto max-w-lg text-base text-msp-muted",children:"We couldn't pull its follower count and post history in this pass, so there's nothing here we can honestly grade yet."})]});if(!B)return(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-danger/40 bg-gradient-to-br from-msp-danger/[0.05] to-transparent p-12 text-center",children:[(0,t.jsx)(d.InsightChip,{tone:"critical",icon:"alert",children:"Critical gap"}),(0,t.jsx)("h3",{className:"mt-6 text-3xl font-bold tracking-tight text-msp-ink md:text-4xl",children:"You have no presence here."}),M?(0,t.jsxs)("p",{className:"mt-4 mx-auto max-w-lg text-base text-msp-muted",children:[E," has ",h(null==C?void 0:C.followers)," followers on"," ",g[N.platform],p(null==C?void 0:C.postsPerMonth)?" and posts ".concat(null==C?void 0:C.postsPerMonth," times a month"):"",". Every day you're absent, they own this audie
1nce alone."]}):(0,t.jsxs)("p",{className:"mt-4 mx-auto max-w-lg text-base text-msp-muted",children:["You have no presence on ",g[N.platform],". Every day you're absent, your local competitors own this audience alone."]})]});let G=null!=(f=N.contentMix)?f:null,Y=b(G)?[{name:"Reels / Video",value:G.reels,color:"#3555ff"},{name:"Static posts",value:G.static,color:"#94a3b8"},{name:"Stories",value:G.stories,color:"#38bdf8"},{name:"Carousels",value:G.carousels,color:"#a78bfa"}].filter(e=>p(e.value)&&e.value>0):[],F=null!=(y=null==C?void 0:C.contentMix)?y:null,V=b(F)?[{name:"Reels / Video",value:F.reels,color:"#10b981"},{name:"Static posts",value:F.static,color:"#94a3b8"},{name:"Stories",value:F.stories,color:"#38bdf8"},{name:"Carousels",value:F.carousels,color:"#a78bfa"}].filter(e=>p(e.value)&&e.value>0):[],K=M&&p(N.followers)&&N.followers>0?C.followers/N.followers:null,H=null!=K&&K>1?K.toFixed(1):null;return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-4",children:[(0,t.jsx)(l.StatPanel,{eyebrow:"Followers",value:h(N.followers),severity:"critical",size:"lg",trend:M?{label:"vs ".concat(h(null==C?void 0:C.followers)),direction:"down",tone:"critical"}:void 0}),(0,t.jsx)(l.StatPanel,{eyebrow:"Last post",value:null!==L?"".concat(L,"d"):"â",severity:null===L?"neutral":R?"critical":"warning",size:"lg",trend:null!==L?{label:"ago",direction:"flat",tone:R?"critical":"warning"}:void 0,insight:R?"Patients assume you closed.":null!==L?"Consistency is what patients read as an active practice.":"We couldn't verify recent posting activity on this account."}),(0,t.jsx)(l.StatPanel,{eyebrow:"Posts / month",value:p(N.postsPerMonth)?N.postsPerMonth:"â",severity:"critical",size:"lg",trend:null!=C&&p(C.postsPerMonth)?{label:"competitor: ".concat(C.postsPerMonth),direction:"down",tone:"critical"}:void 0}),(0,t.jsx)(l.StatPanel,{eyebrow:"Engagement rate",value:x(N.engagementRate),severity:"warning",size:"lg",trend:null!=C&&p(C.engagementRate)?{label:"competitor: ".concat(x(C.engagementRate)),direction:"down",tone:"warning"}:void 0})]}),M?(0,t.jsx)(o.VersusCard,{eyebrow:"Follower gap",title:"You vs. your top competitor",yourLabel:"You",yourValue:N.followers,competitorLabel:E,competitorValue:C.followers,insight:H?"".concat(E," has ").concat(H,"Ã more followers. Closing this gap takes 6-12 months of consistent posting."):void 0}):(0,t.jsxs)("div",{className:z?"rounded-2xl border border-msp-success/30 bg-gradient-to-br from-msp-success/[0.05] to-transparent p-7":"rounded-2xl border border-msp-border bg-msp-surface p-7",children:[(0,t.jsx)(d.InsightChip,{tone:z?"good":"neutral",icon:"sparkle",children:z?"Open lane":"Worth owning"}),(0,t.jsx)("h3",{className:"mt-4 text-xl font-bold text-msp-ink",children:z?"No one owns ".concat(g[N.platform]," in your market yet."):"".concat(g[N.platform]," is worth owning in your market.")}),(0,t.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-msp-muted",children:z?"We looked for ".concat(E," on ").concat(g[N.platform]," too and couldn't find an active, established profile. That's the opportunity â the first practice to post consistently becomes the one patients follow."):"Consistent ".concat(g[N.platform]," posting is still rare among local ").concat(A," practices, and it compounds â the practices that show up every week are the ones patients recognize when they're choosing.")})]}),(0,t.jsxs)("div",{className:"grid gap-6 md:grid-cols-2",children:[(0,t.jsx)(c.ChartCard,{eyebrow:"Your content mix",title:"What you're posting",legend:Y.length>0?Y.map(e=>({label:e.name,color:e.color})):void 0,children:Y.length>0?(0,t.jsx)(u.BrandDonut,{data:Y,height:220,valueFormatter:e=>"".concat(e,"%")}):(0,t.jsx)(v,{line:"You're not posting enough for us to break down a content mix â and that's exactly the gap. Practices that grow post 3â5Ã a week across reels, before/afters, and team posts."})}),(0,t.jsx)(c.ChartCard,{eyebrow:"".concat(E,"'s mix"),title:"What they're posting",legend:V.length>0?V.map(e=>({label:e.name,color:e.color})):void 0,children:V.length>0?(0,t.jsx)(u.BrandDonut,{data:V,height:220,valueFormatter:e=>"".concat(e,"%")}):(0,t.jsx)(v,{line:null!=C?"".concat(E," doesn't post enough for a content breakdown either â more proof this channel is open for whoever shows up first."):"We didn't resolve a local competitor's profile on this channel, so there's no competing content mix to show here."})})]}),(0,t.jsx)(c.ChartCard,{eyebrow:"Content themes",title:"What you're posting about",subtitle:D?"".concat(O," that grow on social lead with before/after transformations, team faces, and patient stories. Yours doesn't."):"".concat(O," that grow on social lead with before/after transformations, team faces, and patient stories. We couldn't read enough posts on this account to break yours down."),children:(0,t.jsx)("div",{className:"space-y-3",children:(null!=(j=N.contentThemes)?j:[]).length>0?(null!=(w=N.contentThemes)?w:[]).map(e=>{let a=p(e.percent)?e.percent:0;return(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("div",{className:"w-36 text-sm text-msp-muted",children:e.theme}),(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)("div",{className:"h-2 w-full overflow-hidden rounded-full bg-msp-paper",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-msp-blue transition-all duration-700",style:{width:"".concat(a,"%")}})})}),(0,t.jsxs)("div",{className:"w-12 text-right text-sm font-bold tabular-nums text-msp-ink",children:[a,"%"]})]},e.theme)}):(0,t.jsx)("p",{className:"py-6 text-center text-sm text-msp-muted",children:"No content themes to analyze yet."})})}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-4",children:[(0,t.jsx)(l.StatPanel,{eyebrow:"Brand consistency",value:p(N.brandConsistencyScore)?"".concat(N.brandConsistencyScore,"/100"):"â",severity:p(N.brandConsistencyScore)?N.brandConsistencyScore<50?"warning":"good":"neutral",size:"md",insight:"Visual cohesion of your feed"}),(0,t.jsx)(l.StatPanel,{eyebrow:"Local hashtags",value:"boolean"==typeof N.usesLocalHashtags?N.usesLocalHashtags?"Yes":"No":"â",severity:"boolean"!=typeof N.usesLocalHashtags?"neutral":N.usesLocalHashtags?"good":"critical",size:"md",insight:P?"e.g. #".concat(P.toLowerCase().replace(/[^a-z0-9]/g,"")).concat(A.toLowerCase().replace(/[^a-z0-9]/g,"")):"e.g. a #{city}".concat(A.replace(/[^a-z]/g,"")," tag")}),(0,t.jsx)(l.StatPanel,{eyebrow:"Before/after posts",value:p(N.beforeAfterPosts)?N.beforeAfterPosts:"â",severity:p(N.beforeAfterPosts)?0===N.beforeAfterPosts?"critical":"good":"neutral",size:"md",insight:"The #1 convert
1ing dental content"}),(0,t.jsx)(l.StatPanel,{eyebrow:"".concat(A.charAt(0).toUpperCase()).concat(A.slice(1)," on camera"),value:x(N.dentistOnCameraPercent,0),severity:p(N.dentistOnCameraPercent)?N.dentistOnCameraPercent<20?"critical":"good":"neutral",size:"md",insight:"Patients connect with faces, not logos"})]}),(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(d.InsightChip,{tone:"notice",icon:"sparkle",children:"Our specialty"}),(0,t.jsx)("p",{className:"text-base italic leading-relaxed text-msp-muted",children:"Social is the single biggest thing we do differently than other dental marketing agencies. We don't hand you a content calendar and wish you luck. We build the strategy, produce the content, and run the platform. Your competitors have had a head start. We know how to close it."})]})]})}},98551,e=>{"use strict";e.s(["AfterHoursCoverage",()=>d]);var t=e.i(43476),a=e.i(66958),r=e.i(64668);e.i(9833);var s=e.i(63750),n=e.i(36410),i=e.i(30868),l=e.i(73195);function o(e){return"number"==typeof e&&Number.isFinite(e)?e.toLocaleString("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0}):"â"}function c(e){return"number"==typeof e&&Number.isFinite(e)?e.toLocaleString("en-US"):"â"}function d(){var e,d;let m=(0,a.useAuditData)(),{afterHours:p}=m,h=m.primaryCompetitorName;if(!p)return(0,t.jsx)("section",{id:"afterhours",className:"py-24",children:(0,t.jsx)(l.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(s.SectionHeader,{eyebrow:"After-Hours Coverage",title:"Patients call after 5pm. Your phone doesn't answer.",subtitle:"We analyze your published hours, estimate inbound call volume, and calculate what's walking to competitors every night and weekend."}),(0,t.jsx)(r.SectionPending,{title:"After-Hours Coverage"})]})})});let x=null!=(e=p.weeklySchedule)?e:[],g=null!=(d=p.patientJourney)?d:[],f=m.auditedLocation;return(0,t.jsx)("section",{id:"afterhours",className:"py-24",children:(0,t.jsx)(l.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(s.SectionHeader,{eyebrow:"After-Hours Coverage",title:"Patients call after 5pm. Your phone doesn't answer.",subtitle:h?"We analyzed your published hours, estimated inbound call volume, and calculated what's walking straight to ".concat(h," every night and weekend."):"We analyzed your published hours, estimated inbound call volume, and calculated what's walking straight to competitors every night and weekend."}),(0,t.jsxs)("div",{className:"mb-10 grid gap-5 md:grid-cols-2",children:[(0,t.jsx)(n.StatPanel,{eyebrow:"Missed calls per month",value:"~".concat(c(p.totalMissedCallsPerMonth)),severity:"critical",size:"lg",trend:{label:"from new patients",direction:"down",tone:"critical"}}),(0,t.jsx)(n.StatPanel,{eyebrow:"Annual revenue walking away",value:o(p.annualRevenueLost),severity:"critical",size:"lg",trend:{label:"".concat(c(p.lostPatientsPerMonth)," lost patients/mo à ").concat(o(p.firstYearValuePerPatient)),direction:"down",tone:"critical"}})]}),(0,t.jsxs)("div",{className:"mb-10 overflow-hidden rounded-2xl border border-msp-border bg-msp-surface shadow-card",children:[(0,t.jsxs)("div",{className:"border-b border-msp-border px-7 py-5",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Your published hours"}),f?(0,t.jsxs)("p",{className:"mb-1 text-xs text-msp-muted",children:["Hours shown for your ",f.city,f.state?", ".concat(f.state):""," location"]}):null,(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:"When your phone actually rings through"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-msp-muted",children:"Highlighted rows = completely closed. Monday morning is your worst time â patients wake up with weekend toothaches and call someone who's actually open."})]}),(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-msp-paper text-[10px] uppercase tracking-[0.14em] text-msp-muted",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-7 py-3 text-left font-semibold",children:"Day"}),(0,t.jsx)("th",{className:"px-4 py-3 text-left font-semibold",children:"Open hours"}),(0,t.jsx)("th",{className:"px-4 py-3 text-right font-semibold",children:"Hours closed"}),(0,t.jsx)("th",{className:"px-7 py-3 text-right font-semibold",children:"Est. missed calls"})]})}),(0,t.jsxs)("tbody",{children:[x.map(e=>{let a="Closed"===e.openHours;return(0,t.jsxs)("tr",{className:"border-t border-msp-border ".concat(a?"bg-msp-danger/[0.04]":""),children:[(0,t.jsx)("td",{className:"px-7 py-4 font-semibold text-msp-ink",children:e.day}),(0,t.jsx)("td",{className:"px-4 py-4",children:a?(0,t.jsx)(i.InsightChip,{tone:"critical",icon:"alert",size:"sm",children:"Closed"}):(0,t.jsx)("span",{className:"text-msp-ink",children:e.openHours})}),(0,t.jsxs)("td",{className:"px-4 py-4 text-right tabular-nums text-msp-muted",children:[e.closedHoursCount,"h"]}),(0,t.jsx)("td",{className:"px-7 py-4 text-right font-bold tabular-nums text-msp-danger",children:e.missedCalls})]},e.day)}),(0,t.jsxs)("tr",{className:"border-t-2 border-msp-border bg-msp-paper",children:[(0,t.jsx)("td",{className:"px-7 py-4 text-[11px] font-semibold uppercase tracking-[0.14em] text-msp-muted",children:"Weekly total"}),(0,t.jsxs)("td",{className:"px-4 py-4 text-sm text-msp-muted",children:[p.totalOpenHoursPerWeek,"h open"]}),(0,t.jsxs)("td",{className:"px-4 py-4 text-right text-sm font-bold tabular-nums text-msp-ink",children:[p.totalClosedHoursPerWeek,"h"]}),(0,t.jsxs)("td",{className:"px-7 py-4 text-right text-lg font-bold tabular-nums text-msp-danger",children:["~",c("number"==typeof p.totalMissedCallsPerMonth?Math.round(p.totalMissedCallsPerMonth/4):void 0),"/wk"]})]})]})]})]}),(0,t.jsxs)("div",{className:"mb-10 rounded-2xl border border-msp-danger/25 bg-msp-danger/[0.03] p-7",children:[(0,t.jsxs)("div",{className:"mb-5 flex items-center gap-3",children:[(0,t.jsx)(i.InsightChip,{tone:"critical",icon:"alert",children:"Today"}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:"What happens every night"})]}),(0,t.jsx)("ol",{className:"space-y-4",children:g.map((e,a)=>(0,t.jsxs)("li",{className:"flex items-start gap-4",children:[(0,t.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-msp-danger/10 text-xs font-bold text-msp-danger",children:a+1}),(0,t.jsx)("span",{className:"pt-0.5 text-base text-msp-ink",children:e})]},a))})]}),(0,t.jsxs)("div",{className:"mb-10",children:[(0,t.jsxs)("div",{className:"mb-5",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"With Annie AI"}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:"The same patient, answered."}),(0,t.jsx)("p",{className:"mt-1 text-sm text-msp-muted",children:"This is exactly what Annie AI does â every night, every weekend, every lunch hour. She books the patient before they google someone else."})]}),p.annieDemo?(0,t.jsx)(u,{demo:p.annieDemo}):(0,t.jsx)("p",{className:"py-10 text-center text-sm text-msp-muted",children:"The Annie AI call demo is still being prepared for your report."})]}),(0,t.jsxs)("div",{className:"mb-10 grid gap-5 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-danger/30 bg-msp-danger/[0.03] p-7",children:[(0,t.jsx)("div",{className:"eyebrow mb-2 text-msp-danger",children:"Without Annie"}),(0,t.jsx)("div",{className:"stat-lg text-msp-danger",children:o(p.annualRevenueLost)}),(0,t.jsx)("div",{className:"mt-2 text-sm text-msp-muted",children:"walking to competitors every year"}),(0,t.jsxs)("ul",{className:"mt-5 space-y-2 text-sm text-msp-ink",children:[(0,t.jsxs)("li",{className:"flex items-start gap-2",children:[(0,t.jsx)("span",{className:"mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-msp-danger"}),p.totalMissedCallsPerMonth," missed calls/month"]}),(0,t.jsxs)("li",{className:"flex items-start gap-2",children:[(0,t.jsx)("span",{className:"mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-msp-danger"}),p.lostPatientsPerMonth," lost new patients/month"]}),(0,t.jsxs)("li",{className:"flex items-start gap-2",children:[(0,t.jsx)("span",{className:"mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-msp-danger"}),"Weekends and evenings go unanswered"]})]})]}),(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-success/30 bg-gradient-to-br from-msp-success/[0.05] to-transparent p-7",children:[(0,t.jsx)("div",{className:"eyebrow mb-2 text-msp-success",children:"With Annie AI"}),(0,t.jsxs)("div",{className:"stat-lg text-msp-success",children:["+",o(p.annualRevenueLost)]}),(0,t.jsxs)("div",{className:"mt-2 text-sm text-msp-muted",children:["recovered â the same ",o(p.annualRevenueLost),", kept instead of lost"]}),(0,t.jsx)("p",{className:"mt-1 text-xs text-msp-muted/80",children:"Assumes Annie answers the missed calls above; it is the same figure, not a second one."}),(0,t.jsxs)("ul",{className:"mt-5 space-y-2 text-sm text-msp-ink",children:[(0,t.jsxs)("li",{className:"flex items-start gap-2",children:[(0,t.jsx)("span",{className:"mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-msp-success"}),"100% call coverage, 24/7"]}),(0,t.jsxs)("li",{className:"flex items-start gap-2",children:[(0,t.jsx)("span",{className:"mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-msp-success"}),"Books directly into your calendar"]}),(0,t.jsxs)("li",{className:"flex items-start gap-2",children:[(0,t.jsx)("span",{className:"mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-msp-success"}),"Zero new ops cost or hiring"]})]})]})]}),(0,t.jsx)("div",{className:"rounded-2xl border border-msp-blue/25 bg-gradient-to-br from-msp-blue/[0.05] to-transparent p-7",children:(0,t.jsxs)("p",{className:"text-base leading-relaxed text-msp-ink",children:["This is exactly what ",(0,t.jsx)("b",{children:"Annie AI"})," was built for. She picks up every call your team can't, answers patient questions in your brand voice, and books directly into your calendar. Setup takes 48 hours. Recovery begins immediately."]})})]})})})}function u(e){var a;let{demo:r}=e,s=null!=(a=r.transcript)?a:[];return(0,t.jsxs)("div",{className:"mx-auto max-w-md overflow-hidden rounded-[28px] border border-msp-border bg-msp-surface shadow-xl",children:[(0,t.jsxs)("div",{className:"border-b border-msp-border bg-msp-paper px-5 py-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-msp-muted",children:"Incoming call"}),(0,t.jsx)("div",{className:"text-[10px] text-msp-muted",children:r.callTime})]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-3",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-msp-blue/10",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-5 w-5 fill-msp-blue","aria-hidden":!0,
1children:(0,t.jsx)("path",{d:"M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM19 12h2c0-4.97-4.03-9-9-9v2c3.87 0 7 3.13 7 7zm-4 0h2c0-2.76-2.24-5-5-5v2c1.66 0 3 1.34 3 3z"})})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-msp-ink",children:r.callerName}),(0,t.jsx)("div",{className:"text-xs text-msp-muted",children:r.phoneNumber})]})]})]}),(0,t.jsx)("div",{className:"space-y-3 px-5 py-5",children:s.map((e,a)=>{let r="annie"===e.from;return(0,t.jsx)("div",{className:"flex ".concat(r?"justify-start":"justify-end"),children:(0,t.jsxs)("div",{className:"max-w-[82%] rounded-2xl px-4 py-2.5 text-sm leading-relaxed ".concat(r?"rounded-bl-sm bg-msp-blue text-white":"rounded-br-sm bg-msp-paper text-msp-ink"),children:[r&&(0,t.jsx)("div",{className:"mb-0.5 text-[10px] font-semibold uppercase tracking-wide text-white/70",children:"Annie"}),e.text]})},a)})}),(0,t.jsxs)("div",{className:"flex items-center justify-between border-t border-msp-border bg-msp-paper px-5 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-msp-muted",children:[(0,t.jsx)("span",{className:"flex h-2 w-2 items-center justify-center",children:(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-msp-success"})}),"Call ended · ",r.duration]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold text-msp-success",children:[(0,t.jsx)("svg",{viewBox:"0 0 16 16",className:"h-3.5 w-3.5 fill-msp-success","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M13.5 4.5L6 12 2.5 8.5 4 7l2 2 6-6z"})}),r.outcome]})]})]})}},81890,e=>{"use strict";e.s(["DirectoryAccuracy",()=>c]);var t=e.i(43476),a=e.i(66958),r=e.i(64668);e.i(9833);var s=e.i(63750),n=e.i(36410),i=e.i(30868),l=e.i(73195);let o={correct:{bg:"bg-msp-success/5",border:"border-msp-success/25",dot:"bg-msp-success",text:"text-msp-ink",label:"Accurate"},inconsistent:{bg:"bg-msp-warning/5",border:"border-msp-warning/30",dot:"bg-msp-warning",text:"text-msp-ink",label:"Inaccurate"},missing:{bg:"bg-msp-danger/5",border:"border-msp-danger/25",dot:"bg-msp-danger",text:"text-msp-ink",label:"Missing"}};function c(){var e,c,u,m;let{directories:p}=(0,a.useAuditData)();if(!p)return(0,t.jsx)("section",{id:"directories",className:"py-24",children:(0,t.jsx)(l.Reveal,{children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(r.SectionPending,{title:"Google Business Profile Accuracy"})})})});let h=null!=(e=p.entries)?e:[],x=h.filter(e=>"correct"!==e.status),g=null!=(c=p.totalChecked)?c:h.length,f=null!=(u=p.inconsistent)?u:h.filter(e=>"inconsistent"===e.status).length,b=null!=(m=p.missing)?m:h.filter(e=>"missing"===e.status).length,v=f+b,y=o.missing,j="number"==typeof p.napConsistencyScore?p.napConsistencyScore:null;return(0,t.jsx)("section",{id:"directories",className:"py-24",children:(0,t.jsx)(l.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(s.SectionHeader,{eyebrow:"Google Business Profile Accuracy",title:0===v&&(null==j||j>=95)?"Your Google Business Profile is complete and accurate â keep it that way.":"Your Google Business Profile is the front door to your practice â and it's incomplete.",subtitle:"We checked ".concat(g," fields on your Google Business Profile â categories, hours, phone, website, photos, and your name and address. ").concat(v>0?"".concat(v," of them are wrong, outdated, or missing."):"Everything's filled in and consistent."," Google rewards complete, accurate profiles with better map-pack rankings.")}),(0,t.jsxs)("div",{className:"mb-10 grid gap-5 md:grid-cols-3 lg:grid-cols-4",children:[(0,t.jsx)(n.StatPanel,{eyebrow:"Profile accuracy score",value:null!=j?"".concat(j,"/100"):"â",severity:null==j?"neutral":j>=95?"good":j>=75?"warning":"critical",size:"lg",trend:null==j?void 0:j>=95?{label:"beats the 95+ local benchmark",direction:"up",tone:"good"}:{label:"top local practices: 95+",direction:"down",tone:"critical"}}),(0,t.jsx)(n.StatPanel,{eyebrow:"Profile fields checked",value:g,severity:"neutral",size:"lg"}),(0,t.jsx)(n.StatPanel,{eyebrow:"Inaccurate fields",value:f,severity:f>0?"warning":"good",size:"lg",insight:"Wrong category, outdated hours, old phone"}),(0,t.jsx)(n.StatPanel,{eyebrow:"Missing fields",value:b,severity:b>
10?"critical":"good",size:"lg",insight:"Not filled in at all"})]}),h.length>0&&(0,t.jsxs)("div",{className:"mb-10 rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsxs)("div",{className:"mb-5 flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"eyebrow mb-1",children:["All ",h.length," profile fields"]}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:"What's complete and what's not"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4 text-xs",children:[(0,t.jsx)(d,{color:"bg-msp-success",label:"Accurate"}),(0,t.jsx)(d,{color:"bg-msp-warning",label:"Inaccurate"}),(0,t.jsx)(d,{color:"bg-msp-danger",label:"Missing"})]})]}),(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-4",children:h.map(e=>{var a;let r=null!=(a=o[e.status])?a:y;return(0,t.jsxs)("div",{className:"flex items-center gap-2.5 rounded-lg border ".concat(r.border," ").concat(r.bg," px-3 py-2.5"),title:e.issue,children:[(0,t.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full ".concat(r.dot)}),(0,t.jsx)("span",{className:"truncate text-sm font-medium ".concat(r.text),children:e.name})]},e.name)})})]}),x.length>0&&(0,t.jsxs)("div",{className:"mb-10 overflow-hidden rounded-2xl border border-msp-border bg-msp-surface shadow-card",children:[(0,t.jsxs)("div",{className:"border-b border-msp-border px-7 py-5",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"What's wrong on your profile"}),(0,t.jsxs)("h3",{className:"text-xl font-bold text-msp-ink",children:["The ",x.length," ",1===x.length?"field":"fields"," that need",1===x.length?"s":""," attention"]})]}),(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-msp-paper text-[10px] uppercase tracking-[0.14em] text-msp-muted",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-7 py-3 text-left font-semibold",children:"Profile field"}),(0,t.jsx)("th",{className:"px-4 py-3 text-left font-semibold",children:"Status"}),(0,t.jsx)("th",{className:"px-7 py-3 text-left font-semibold",children:"Issue"})]})}),(0,t.jsx)("tbody",{children:x.map(e=>{var a,r;let s=null!=(a=o[e.status])?a:y;return(0,t.jsxs)("tr",{className:"border-t border-msp-border",children:[(0,t.jsx)("td",{className:"px-7 py-3.5 font-semibold text-msp-ink",children:e.name}),(0,t.jsx)("td",{className:"px-4 py-3.5",children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full ".concat(s.dot)}),(0,t.jsx)("span",{className:"text-xs font-medium text-msp-muted",children:s.label})]})}),(0,t.jsx)("td",{className:"px-7 py-3.5 text-msp-muted",children:null!=(r=e.issue)?r:"Not filled in"})]},e.name)})})]})]}),(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-blue/25 bg-gradient-to-br from-msp-blue/[0.05] to-transparent p-7",children:[(0,t.jsx)("div",{className:"mb-3 flex items-center gap-3",children:(0,t.jsx)(i.InsightChip,{tone:"notice",icon:"sparkle",children:"Maps to Reputation Management"})}),(0,t.jsxs)("p",{className:"text-base leading-relaxed text-msp-ink",children:["A complete, accurate Google Business Profile is a ",(0,t.jsx)("b",{children:"direct Google local ranking factor"}),". Every wrong category, outdated hour, or missing photo sends a trust signal that hurts your map pack visibility â and gives patients a reason to book the practice next door. We fix every field in the first 30 days and keep your profile accurate every month after."]})]})]})})})}function d(e){let{color:a,label:r}=e;return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full ".concat(a)}),(0,t.jsx)("span",{className:"text-msp-muted",children:r})]})}},87883,e=>{"use strict";e.s(["Competitive",()=>d]);var t=e.i(43476),a=e.i(66958),r=e.i(3472),s=e.i(64668);e.i(9833);var n=e.i(63750),i=e.i(30868),l=e.i(73195);let o=e=>"number"==typeof e&&Number.isFinite(e),c=e=>o(e)?e:0;function d(){var e,d,m,p,h,x,g,f,b,v,y,j,w,N,k,P,S,A;let I=(0,a.useAuditData)(),{nounPlural:O}=(0,r.nounOf)(I),C=(0,a.useIsComplete)(),{competitive:E}=I,M=null==E?void 0:E.rows,T=null!=(d=null==(e=I.practice)?void 0:e.name)?d:"Your practice";if(!E||!M||M.length<2)return C?null:(0,t.jsx)("section",{id:"competitive",className:"py-24",children:(0,t.jsx)(l.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(n.SectionHeader,{eyebrow:"05 · The Competitive Picture",title:"The ".concat(O," competing for your patients."),subtitle:"Here's how y
1ou stack up against the practices competing for the same searches."}),(0,t.jsx)(s.SectionPending,{title:"The Competitive Picture"})]})})});let L=M[0],R=M.slice(1).reduce((e,t)=>c(t.domainAuthority)>c(e.domainAuthority)?t:e,M[1]),D=[{label:"Domain authority",format:e=>String(e),you:null!=(m=L.domainAuthority)?m:null,best:null!=(p=R.domainAuthority)?p:null,higherIsBetter:!0},{label:"Total reviews",format:e=>e.toLocaleString(),you:null!=(h=L.reviewCount)?h:null,best:null!=(x=R.reviewCount)?x:null,higherIsBetter:!0},{label:"Pages indexed",format:e=>String(e),you:null!=(g=L.pageCount)?g:null,best:null!=(f=R.pageCount)?f:null,higherIsBetter:!0},{label:"Instagram followers",format:e=>e.toLocaleString(),you:null!=(b=L.igFollowers)?b:null,best:null!=(v=R.igFollowers)?v:null,higherIsBetter:!0},{label:"Avg local rank",format:e=>e.toFixed(1),you:null!=(y=L.averageLocalRank)?y:null,best:null!=(j=R.averageLocalRank)?j:null,higherIsBetter:!1},{label:"Mobile PageSpeed",format:e=>String(e),you:null!=(w=L.pageSpeedMobile)?w:null,best:null!=(N=R.pageSpeedMobile)?N:null,higherIsBetter:!0},{label:"New content / month",format:e=>String(e),you:null!=(k=L.newContentPerMonth)?k:null,best:null!=(P=R.newContentPerMonth)?P:null,higherIsBetter:!0}].filter(e=>o(e.you)||o(e.best)),z=D.filter(e=>o(e.you)&&o(e.best)),B=z.filter(e=>e.higherIsBetter?e.best>e.you:e.best<e.you).length,W=0===z.length?"Here's the side-by-side on the metrics patients feel.":0===B?"You hold your own across all ".concat(z.length," measured dimensions â let's extend the lead."):B===z.length?"Your top competitor leads on every measured dimension.":"Your top competitor leads on ".concat(B," of ").concat(z.length," measured dimensions.");return(0,t.jsx)("section",{id:"competitive",className:"py-24",children:(0,t.jsx)(l.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(n.SectionHeader,{eyebrow:"05 · The Competitive Picture",title:"Three practices inside 3 miles are quietly taking your patients.",subtitle:"Here's how you stack up against the ".concat(O," competing for the same local searches. Every row is a gap you feel every month.")}),(0,t.jsxs)("div",{className:"mb-8 grid gap-8 lg:grid-cols-[1.4fr_1fr]",children:[(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Metric-by-metric"}),(0,t.jsxs)("h3",{className:"text-xl font-bold text-msp-ink",children:[null!=(S=L.name)?S:"You"," vs. ",null!=(A=R.name)?A:"your top competitor"]}),(0,t.jsx)("p",{className:"mt-1 text-sm text-msp-muted",children:W}),(0,t.jsx)("div",{className:"mt-6 space-y-5",children:D.map(e=>{var a;let r=o(e.you),s=o(e.best),n=!!r&&!!s&&(e.higherIsBetter?e.you<e.best:e.you>e.best),l=Math.max(c(e.you),c(e.best))||1,d=r?c(e.you)/l*100:0,u=s?c(e.best)/l*100:0;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-2 flex items-baseline justify-between",children:[(0,t.jsx)("span",{className:"text-sm font-semibold text-msp-ink",children:e.label}),n&&(0,t.jsx)(i.InsightChip,{tone:"critical",icon:"arrow-down",size:"sm",children:"Behind"})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"w-24 text-[11px] font-semibold uppercase tracking-wide text-msp-muted",children:"You"}),(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)("div",{className:"h-2.5 w-full overflow-hidden rounded-full bg-msp-paper",children:(0,t.jsx)("div",{className:"h-full rounded-full transition-all duration-1000",style:{width:"".concat(d,"%"),backgroundColor:"#dc2626"}})})}),(0,t.jsx)("div",{className:"w-20 text-right text-sm font-bold tabular-nums text-msp-ink",children:r?e.format(e.you):"â"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"w-24 text-[11px] font-semibold uppercase tracking-wide text-msp-muted",children:null!=(a=R.name)?a:"Top competitor"}),(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)("div",{className:"h-2.5 w-full overflow-hidden rounded-full bg-msp-paper",children:(0,t.jsx)("div",{className:"h-full rounded-full transition-all duration-1000",style:{width:"".concat(u,"%"),backgroundColor:"#10b981"}})})}),(0,t.jsx)("div",{className:"w-20 text-right text-sm font-bold tabular-nums text-msp-ink",children:s?e.format(e.best):"â"})]})]})]},e.label)})})]}),(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsx)("div",{className:"eyebrow mb-1",children:"Market overview"}),(0,t.jsx)("h3",{className:"text-xl font-bold text-msp-ink",children:"You vs. best in class"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-msp-muted",children:"Six axes. One story."}),(0,t.jsx)("div",{className:"mt-4",children:E.radarYou&&E.radarBest?(0,t.jsx)(u,{you:E.radarYou,best:E.radarBest}):(0,t.jsx)("p",{className:"py-10 text-center text-sm text-msp-muted",children:"Market overview is still being analyzed."})}),(0,t.jsxs)("div",{className:"mt-5 flex flex-wrap justify-center gap-x-5 gap-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-msp-danger"}),(0,t.jsx)("span",{className:"text-xs text-msp-muted",children:T})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-msp-blue"}),(0,t.jsx)("span",{className:"text-xs text-msp-muted",children:"Best in class"})]})]})]})]}),(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(i.InsightChip,{tone:"notice",icon:"sparkle",children:"Strategy"}),(0,t.jsx)("p",{className:"text-base italic leading-relaxed text-msp-muted",children:"This isn't about outspending them. It's about being strategic in the channels where you have the most to gain. That's the plan we'd build with you."})]})]})})})}function u(e){let{you:a,best:r}=e,s=[{key:"localRank",label:"Local rank"},{key:"reviews",label:"Reviews"},{key:"socialEngagement",label:"Social"},{key:"siteSpeed",label:"Site speed"},{key:"contentVolume",label:"Content"},{key:"gbpCompleteness",label:"GBP"}],n=e=>2*Math.PI*e/s.length-Math.PI/2;function i(e){return s.map((t,a)=>{let r=null==e?void 0:e[t.key],s=("number"==typeof r&&Number.isFinite(r)?r:0)/100*118;return"".concat(160+s*Math.cos(n(a)),",").concat(160+s*Math.sin(n(a)))}).join(" ")}return(0,t.jsxs)("svg",{width:320,height:320,className:"mx-auto",children:[[.25,.5,.75,1].map(e=>(0,t.jsx)("polygon",{points:s.map((t,a)=>{let r=118*e;return"".concat(160+r*Math.cos(n(a)),",").concat(160+r*Math.sin(n(a)))}).join(" "),fill:"none",stroke:"#eceef0"},e)),s.map((e,a)=>(0,t.jsx)("line",{x1:160,y1:160,x2:160+118*Math.cos(n(a)),y2:160+118*Math.sin(n(a)),stroke:"#eceef0"},e.key)),(0,t.jsx)("polygon",{points:i(r),fill:"#3555ff",fillOpacity:.18,stroke:"#3555ff",strokeWidth:2}),(0,t.jsx)("polygon",{points:i(a),fill:"#dc2626",fillOpacity:.22,stroke:"#dc2626",strokeWidth:2}),s.map((e,a)=>{let r=160+140*Math.cos(n(a)),s=160+140*Math.sin(n(a));return(0,t.jsx)("text",{x:r,y:s,textAnchor:"middle",className:"fill-msp-muted text-[10px] font-semibold uppercase tracking-wide",children:e.label},e.key)})]})}},92870,e=>{"use strict";e.s(["ROICalculator",()=>m,"calculateImpact",()=>c,"lifestyleCopy",()=>d]);var t=e.i(43476),a=e.i(71645),r=e.i(66958),s=e.i(64668);e.i(9833);var n=e.i(63750),i=e.i(36410),l=e.i(30868),o=e.i(73195);function c(e){let{newPatientsPerMonth:t,firstYearValue:a}=e,r=t*a,s=12*r;return{monthlyRevenue:r,annualFirstYear:s,fiveYearLtv:3.5*s}}function d(e){return 0===e?"Imagine what even one more patient a month would mean.":e<3?"That's enough to reinvest in better equipment or a Saturday a month off.":e<8?"That's enough to hire a part-time hygienist or assistant.":e<13?"That's enough to bring on a full-time hygienist.":e<18?"That's enough to hire an associate dentist.":e<23?"That's the start of a second operatory â or a second location.":"That's a second full practice worth of revenue."}
1function u(e){return e.toLocaleString("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0})}function m(){var e;let{roi:m}=(0,r.useAuditData)(),[x,g]=(0,a.useState)(9),[f,b]=(0,a.useState)(null!=(e=null==m?void 0:m.defaultFirstYearValue)?e:1500),v=c({newPatientsPerMonth:x,firstYearValue:f}),y=m&&"number"==typeof m.estimatedLostPatientsPerMonth?m.estimatedLostPatientsPerMonth:null;return m?(0,t.jsx)("section",{id:"roi",className:"py-24",children:(0,t.jsx)(o.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(n.SectionHeader,{eyebrow:"The Patients You're Missing",title:"Let's talk about what this is actually costing you.",subtitle:null!=y?"Based on the gaps above, we estimate your practice is losing ~".concat(y," potential new patients every month to competitors who rank where you don't. Drag the sliders below to see what recovering even a fraction of that is worth."):"Based on the gaps above, your practice is losing potential new patients every month to competitors who rank where you don't. Drag the sliders below to see what recovering even a fraction of that is worth."}),(0,t.jsx)("div",{className:"rounded-3xl border border-msp-blue/25 bg-gradient-to-br from-msp-blue/[0.05] via-msp-surface to-transparent p-8 shadow-card md:p-12",children:(0,t.jsxs)("div",{className:"grid gap-10 lg:grid-cols-[1fr_1.1fr]",children:[(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(l.InsightChip,{tone:"notice",icon:"sparkle",children:"Interactive"})}),(0,t.jsx)(p,{label:"How many more new patients per month?",value:x,min:0,max:25,step:1,suffix:" patients",onChange:g}),(0,t.jsx)(p,{label:"Average new patient first-year value",value:f,min:500,max:3e3,step:100,prefix:"$",onChange:b}),(0,t.jsxs)("div",{className:"rounded-xl border border-msp-blue/25 bg-white p-5",children:[(0,t.jsx)("div",{className:"eyebrow mb-1.5",children:"What this means for you"}),(0,t.jsx)("p",{className:"text-base leading-relaxed text-msp-ink",children:d(x)})]})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(i.StatPanel,{eyebrow:"Additional monthly revenue",value:u(v.monthlyRevenue),severity:"notice",size:"lg"}),(0,t.jsx)(i.StatPanel,{eyebrow:"Additional first-year revenue",value:u(v.annualFirstYear),severity:"notice",size:"lg"}),(0,t.jsx)(h,{label:"5-year lifetime value",value:u(v.fiveYearLtv)})]})]})}),(0,t.jsxs)("p",{className:"mt-8 text-base italic leading-relaxed text-msp-muted",children:["These numbers assume we help you close just ",x,null!=y?" of the ~".concat(y):""," patients you're currently losing every month. That's the baseline. Most of the practices we work with do better."]})]})})}):(0,t.jsx)("section",{id:"roi",className:"py-24",children:(0,t.jsx)(o.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(n.SectionHeader,{eyebrow:"The Patients You're Missing",title:"Let's talk about what this is actually costing you.",subtitle:"We're calculating what recovering even a fraction of your missed patients is worth."}),(0,t.jsx)(s.SectionPending,{title:"The Patients You're Missing"})]})})})}function p(e){let{label:a,value:r,min:s,max:n,step:i,prefix:l,suffix:o,onChange:c}=e;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-3 flex items-baseline justify-between gap-4",children:[(0,t.jsx)("label",{className:"text-sm font-semibold text-msp-ink",children:a}),(0,t.jsxs)("span",{className:"stat-md text-msp-blue",children:[l,r.toLocaleString(),o]})]}),(0,t.jsx)("input",{type:"range",min:s,max:n,step:i,value:r,onChange:e=>c(Number(e.target.value)),className:"w-full accent-msp-blue"}),(0,t.jsxs)("div",{className:"mt-1 flex justify-between text-xs text-msp-muted",children:[(0,t.jsxs)("span",{children:[l,s.toLocaleString(),o]}),(0,t.jsxs)("span",{children:[l,n.toLocaleString(),o]})]})]})}function h(e){let{label:a,value:r}=e;return(0,t.jsxs)("div",{className:"rounded-2xl bg-msp-ink p-7 text-white shadow-card",children:[(0,t.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-white/60",children:a}),(0,t.jsx)("div",{className:"stat-hero mt-3 text-white",children:r}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-xs text-white/70",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-msp-mint"}),"Compounds year over year"]})]})}},81166,e=>{"use strict";e.s(["GrowthPlan",()=>l]);var t=e.i(43476),a=e.i(66958),r=e.i(64668);e.i(9833);var s=e.i(63750),n=e.i(30868),i=e.i(73195);function l(){var e,l;let o=(0,a.useAuditData)().plan,c=null!=(e=null==o?void 0:o.initiatives)?e:[],d=null!=(l=null==o?void 0:o.outcomes)?l:[];
1return o&&0!==c.length?(0,t.jsx)("section",{id:"plan",className:"py-24",children:(0,t.jsx)(i.Reveal,{children:(0,t.jsxs)("div",{className:"mx-auto max-w-report px-6",children:[(0,t.jsx)(s.SectionHeader,{eyebrow:"Your 90-Day Growth Plan",title:"Here's exactly what we'd do in the first 90 days.",subtitle:"This isn't a pitch deck. This is the plan we'd build with you and execute starting next Monday."}),(0,t.jsx)("div",{className:"space-y-5",children:c.map((e,a)=>{var r,s,i,l,o,c;let d=null!=(i=null==(r=e.weeks)?void 0:r[0])?i:1,u=null!=(l=null==(s=e.weeks)?void 0:s[1])?l:d,m=(d-1)/12*100,p=(u-d+1)/12*100;return(0,t.jsxs)("div",{className:"rounded-2xl border border-msp-border bg-msp-surface p-7 shadow-card",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-6",children:[(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-msp-blue/10 text-sm font-bold text-msp-blue",children:a+1}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"eyebrow",children:["Priority ",a+1]}),(0,t.jsx)("h3",{className:"mt-0.5 text-xl font-bold text-msp-ink",children:e.title})]})]})}),(0,t.jsxs)(n.InsightChip,{tone:"neutral",size:"sm",icon:"none",children:["Weeks ",d,"â",u]})]}),(0,t.jsxs)("div",{className:"mt-6",children:[(0,t.jsxs)("div",{className:"mb-1.5 flex justify-between text-[10px] font-semibold uppercase tracking-wide text-msp-muted",children:[(0,t.jsx)("span",{children:"Week 1"}),(0,t.jsx)("span",{children:"Week 6"}),(0,t.jsx)("span",{children:"Week 12"})]}),(0,t.jsx)("div",{className:"relative h-2 w-full rounded-full bg-msp-paper",children:(0,t.jsx)("div",{className:"absolute h-full rounded-full bg-gradient-to-r from-msp-blue to-msp-sky",style:{left:"".concat(m,"%"),width:"".concat(p,"%")}})})]}),(0,t.jsx)("ul",{className:"mt-6 grid gap-2 md:grid-cols-2",children:(null!=(o=e.bullets)?o:[]).map((e,a)=>(0,t.jsxs)("li",{className:"flex items-start gap-3 text-sm text-msp-ink",children:[(0,t.jsx)("span",{className:"mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-msp-blue"}),e]},"".concat(null!=e?e:"bullet","-").concat(a)))})]},null!=(c=e.title)?c:a)})}),d.length>0&&(0,t.jsxs)("div",{className:"mt-10 rounded-3xl border border-msp-blue/25 bg-gradient-to-br from-msp-blue/[0.06] via-msp-surface to-transparent p-8 md:p-10",children:[(0,t.jsxs)("div",{className:"mb-6 flex items-center gap-3",children:[(0,t.jsx)(n.InsightChip,{tone:"good",icon:"sparkle",children:"90-day forecast"}),(0,t.jsx)("span",{className:"eyebrow",children:"Projected outcomes"})]}),(0,t.jsx)("div",{className:"grid gap-x-8 gap-y-7 ".concat(d.length>=3?"sm:grid-cols-3":2===d.length?"sm:grid-cols-2":""),children:d.map((e,a)=>{var r;return(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-msp-muted",children:e.label}),null!=e.from&&(0,t.jsx)("div",{className:"mt-2 text-sm font-medium text-msp-muted line-through",children:e.from}),(0,t.jsxs)("div",{className:"mt-1.5 flex items-start gap-1.5",children:[(0,t.jsx)("svg",{viewBox:"0 0 16 16",className:"mt-1 h-3.5 w-3.5 shrink-0 fill-msp-blue","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M8 2l-1.4 1.4L11.2 8 6.6 12.6 8 14l6-6z"})}),(0,t.jsx)("span",{className:"text-xl font-bold leading-snug text-msp-blue",children:e.to})]})]},null!=(r=e.label)?r:a)})})]}),(0,t.jsx)("p",{className:"mt-8 text-base italic leading-relaxed text-msp-muted",children:"We'll show you the detailed execution plan on our next call â the specific content calendar, the local citation list, the technical fixes, the timeline. For now, this is the shape of it."})]})})}):(0,t.jsx)("section",{id:"plan",className:"py-24",children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsx)(r.SectionPending,{title:"Your 90-Day Growth Plan",note:"We're still mapping out your custom 90-day plan."})})})}},64833,e=>{"use strict";e.s(["CTA",()=>l],64833);var t=e.i(43476),a=e.i(22016),r=e.i(7670);
1function s(e){let{variant:s="primary",darkBg:n=!1,className:i,children:l,...o}=e;return(0,t.jsx)(a.default,{...o,className:(0,r.default)("inline-flex items-center justify-center rounded-full px-8 py-4 text-base font-semibold transition-all","primary"===s?n?"bg-white text-msp-ink shadow-lg shadow-white/10 hover:-translate-y-0.5 hover:shadow-xl hover:shadow-white/20":"bg-msp-blue text-white shadow-lg shadow-msp-blue/25 hover:-translate-y-0.5 hover:shadow-xl hover:shadow-msp-blue/30":n?"border border-white/20 text-white hover:border-white hover:bg-white/10":"border border-msp-border text-msp-ink hover:border-msp-blue hover:text-msp-blue",i),children:l})}var n=e.i(73195),i=e.i(66958);function l(){var e,a;let r=(0,i.useAuditData)(),l=(null==(e=r.auditedLocation)?void 0:e.city)||(null==(a=r.practice)?void 0:a.city);return(0,t.jsx)("section",{id:"cta",className:"py-32",children:(0,t.jsx)(n.Reveal,{children:(0,t.jsx)("div",{className:"mx-auto max-w-report px-6",children:(0,t.jsxs)("div",{className:"relative overflow-hidden rounded-[32px] bg-msp-ink p-12 text-white md:p-16",children:[(0,t.jsx)("div",{className:"pointer-events-none absolute -right-20 -top-20 h-72 w-72 rounded-full bg-msp-blue/30 blur-3xl","aria-hidden":!0}),(0,t.jsx)("div",{className:"pointer-events-none absolute -bottom-24 -left-16 h-72 w-72 rounded-full bg-msp-lavender/20 blur-3xl","aria-hidden":!0}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("div",{className:"mb-5 flex items-center gap-3",children:[(0,t.jsx)("span",{className:"h-px w-10 bg-white/40"}),(0,t.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-white/70",children:"Let's Get to Work"})]}),(0,t.jsxs)("h2",{className:"text-5xl font-bold leading-[1.05] tracking-tight md:text-6xl",children:["Ready to kick this off?",(0,t.jsx)("br",{}),(0,t.jsxs)("span",{className:"bg-gradient-to-r from-white via-msp-sky to-msp-mint bg-clip-text text-transparent",children:["Let's make you ",l?"the #1 practice in ".concat(l,"."):"the #1 practice in your city."]})]}),(0,t.jsx)("p",{className:"mt-7 max-w-xl text-lg leading-relaxed text-white/70",children:"You've seen exactly where you stand and what's possible. The next step is simple â we turn this audit into a plan and get to work. Schedule your kickoff and we'll start closing these gaps in the first 60 days."}),(0,t.jsxs)("div",{className:"mt-10 flex flex-wrap gap-4",children:[(0,t.jsx)(s,{href:"#",variant:"primary",darkBg:!0,children:"Schedule your kickoff"}),(0,t.jsx)(s,{href:"mailto:[email protected]",variant:"ghost",darkBg:!0,children:"[email protected]"})]}),(0,t.jsxs)("div",{className:"mt-14 flex flex-wrap items-center gap-x-8 gap-y-3 border-t border-white/10 pt-8",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-white/10 text-xs font-bold",children:"15"}),(0,t.jsx)("span",{className:"text-sm text-white/60",children:"years of dental marketing"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-white/10 text-xs font-bold",children:"500+"}),(0,t.jsx)("span",{className:"text-sm text-white/60",children:"practices grown"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-white/10 text-xs font-bold",children:"1"}),(0,t.jsx)("span",{className:"text-sm text-white/60",children:"specialty: dental only"})]})]}),(0,t.jsx)("div",{className:"mt-10 text-xs text-white/40",children:"Prepared by the My Social Practice team · The Best Dental Marketing Company"})]})]})})})})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.