1import{c as T,e as R}from"./chunk-TBECO3OW.js";import"./chunk-HOQ6Q3US.js";import"./chunk-2AUCNLSZ.js";import"./chunk-HOM2UZO3.js";import"./chunk-KZOZNFQA.js";import"./chunk-U7LC6A3A.js";import"./chunk-EY2VZUZB.js";import"./chunk-BFS7WB7G.js";import"./chunk-IW5X5NS4.js";import"./chunk-YDKCM3XM.js";import"./chunk-AGLEDWR5.js";import"./chunk-E7QCVT25.js";import"./chunk-XD6NS5E4.js";import{Bc as g,Ha as w,Ia as y,Mc as f,Nb as E,Nc as u,Qc as a,Rc as o,Sc as z,Tc as S,cc as C,ec as P,fc as M,gc as k,ic as m,jc as p,kc as h,lc as n,mc as i,nc as c,oc as _,pc as b,qc as O,rb as x,wb as t,wc as I}from"./chunk-2GZCTCDN.js";var A=(r,s)=>s.title,F=(r,s)=>s.name;function B(r,s){if(r&1&&(w(),O(0,"line",20)),r&2){let e=g().$implicit,d=g(2);C("y1",60-d.R-d.SW/2+1)("y2",60-d.R+d.SW/2-1)("transform","rotate("+e.elapsed*360+" 60 60)")}}function V(r,s){if(r&1&&(_(0,"div",12)(1,"div",13),O(2,"img",14),_(3,"span",15),a(4),b()(),_(5,"div",16),w(),_(6,"svg",17),O(7,"circle",18)(8,"circle",19),P(9,B,1,3,":svg:line",20),b(),y(),_(10,"div",21)(11,"div",22),a(12),b()()(),_(13,"div",23),a(14),b(),_(15,"div",24),a(16),b()()),r&2){let e=s.$implicit,d=g(2);t(2),I("src","/assets/icons/"+e.icon,x)("alt",e.name),t(2),o(e.name),t(2),C("width",132)("height",132),t(),C("r",d.R)("stroke-width",d.SW),t(),f("stroke",d.color(e.status)),C("r",d.R)("stroke-width",d.SW)("stroke-dasharray",d.C)("stroke-dashoffset",d.dash(e.fill)),t(),M(e.elapsed>=0?9:-1),t(3),o(e.actual),t(2),o(e.ratioLabel),t(),f("color",d.color(e.status)),t(),o(e.paceLabel)}}function K(r,s){if(r&1&&(_(0,"div",4)(1,"p",6),a(2),b(),_(3,"div",11),m(4,V,17,19,"div",12,F),b()()),r&2){let e=s.$implicit;t(2),o(e.title),t(2),p(e.metrics)}}function U(r,s){if(r&1&&(w(),O(0,"line",20)),r&2){let e=g().$implicit,d=g();C("y1",60-d.R-d.SW/2+1)("y2",60-d.R+d.SW/2-1)("transform","rotate("+e.elapsed*360+" 60 60)")}}function N(r,s){if(r&1&&(_(0,"div",8)(1,"div",13),O(2,"img",14),_(3,"span",15),a(4),b()(),_(5,"div",16),w(),_(6,"svg",17),O(7,"circle",18)(8,"circle",19),P(9,U,1,3,":svg:line",20),b(),y(),_(10,"div",21)(11,"div",22),a(12),b()()(),_(13,"div",23),a(14),b(),_(15,"div",24),a(16),b()()),r&2){let e=s.$implicit,d=g();t(2),I("src","/assets/icons/"+e.icon,x)("alt",e.name),t(2),o(e.name),t(2),C("width",96)("height",96),t(),C("r",d.R)("stroke-width",d.SW),t(),f("stroke",d.color(e.status)),C("r",d.R)("stroke-width",d.SW)("stroke-dasharray",d.C)("stroke-dashoffset",d.dash(e.fill)),t(),M(e.elapsed>=0?9:-1),t(3),o(e.actual),t(2),z("",e.pct,"%"),t(),f("color",d.color(e.status)),t(),o(e.paceLabel)}}var D=(()=>{class r{constructor(){this.R=50,this.SW=11,this.C=2*Math.PI*50,this.singles=[{title:"Behind pace",metrics:[{name:"Impressions",icon:"inst.svg",actual:"84K",target:"300K",fill:.28,pct:28,elapsed:.55,status:"behind",paceLabel:"27 pts behind pace",ratioLabel:"28% of 300K"}]},{title:"Ahead of pace",metrics:[{name:"Pageviews",icon:"overview.svg",actual:"742K",target:"1M",fill:.74,pct:74,elapsed:.55,status:"ahead",paceLabel:"19 pts ahead of pace",ratioLabel:"74% of 1M"}]},{title:"Goal met",metrics:[{name:"Follows",icon:"inst.svg",actual:"5,120",target:"5,000",fill:1,pct:102,elapsed:.72,status:"met",paceLabel:"Goal met",ratioLabel:"102% of 5,000"}]},{title:"Ended (missed)",metrics:[{name:"Spend",icon:"fbAd.svg",actual:"$34K",target:"$50K",fill:.68,pct:68,elapsed:-1,status:"ended",paceLabel:"Ended at 68%",ratioLabel:"68% of $50K"}]},{title:"End on today (cumulative)",metrics:[{name:"Impressions",icon:"inst.svg",actual:"2.5M",target:"1M",fill:1,pct:253,elapsed:-1,status:"cumulative",paceLabel:"",ratioLabel:"2.5\xD7 target"}]}],this.multi={title:"Q3 Growth Goals",metrics:[{name:"Impressions",icon:"inst.svg",actual:"84K",target:"300K",fill:.28,pct:28,elapsed:.55,status:"behind",paceLabel:"27 behind",ratioLabel:""},{name:"Reach",icon:"inst.svg",actual:"212K",target:"250K",fill:.85,pct:85,elapsed:.55,status:"ahead",paceLabel:"30 ahead",ratioLabel:""},{name:"Engagement",icon:"fb.svg",actual:"18K",target:"18K",fill:1,pct:100,elapsed:.72,status:"met",paceLabel:"Met",ratioLabel:""},{name:"Video Views",icon:"youtube.svg",actual:"96K",target:"120K",fill:.8,pct:80,elapsed:.55,status:"ahead",paceLabel:"25 ahead",ratioLabel:""}]}}dash(e){return this.C*(1-Math.min(Math.max(e,0),1))}
1color(e){switch(e){case"met":case"ahead":return"#1a9d5a";case"behind":case"ended":return"#e05a5a";case"ontrack":case"cumulative":return"#2f6fed";default:return"#b6b6bb"}}static{this.\u0275fac=function(d){return new(d||r)}}static{this.\u0275cmp=E({type:r,selectors:[["app-goal-ring-preview"]],decls:19,vars:0,consts:[[1,"grp"],[1,"grp__h"],[1,"grp__sub"],[1,"row"],[1,"card"],[1,"grp",2,"padding-top","8px"],[1,"card__title"],[1,"metrics","metrics--divided"],[1,"metric","sz-m"],[1,"legend"],[1,"tick"],[1,"metrics"],[1,"metric","sz-l"],[1,"metric__id"],[3,"src","alt"],[1,"metric__name"],[1,"ring-wrap"],["viewBox","0 0 120 120",1,"gr-svg"],["cx","60","cy","60",1,"ring__track"],["cx","60","cy","60","transform","rotate(-90 60 60)",1,"ring__arc"],["x1","60","x2","60",1,"ring__notch"],[1,"ring__center"],[1,"ring__value"],[1,"metric__cap"],[1,"metric__pace"]],template:function(d,l){d&1&&(_(0,"div",0)(1,"h2",1),a(2,"Goal card \u2014 ring prototype"),b(),_(3,"p",2),a(4,' Progress ring around the metric number. The dark tick on the track is "expected by now" \u2014 arc past it = ahead (green), short of it = behind (red). Full arc = goal met. Cumulative / end-on-today goals drop the tick (no pacing). '),b(),_(5,"div",3),m(6,K,6,1,"div",4,A),b()(),_(8,"div",5)(9,"div",3)(10,"div",4)(11,"p",6),a(12,"Q3 Growth Goals"),b(),_(13,"div",7),m(14,N,17,19,"div",8,F),b()()()(),_(16,"div",9),O(17,"span",10),a(18," = expected by now (pacing marker)"),b()),d&2&&(t(6),p(l.singles),t(8),p(l.multi.metrics))},styles:["[_nghost-%COMP%]{display:block;font-family:Manrope,system-ui,sans-serif}.grp[_ngcontent-%COMP%]{padding:24px 28px 8px}.grp__h[_ngcontent-%COMP%]{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a8a8f;margin:0 0 4px}.grp__sub[_ngcontent-%COMP%]{font-size:13px;color:#8a8a8f;margin:0 0 18px;max-width:640px;line-height:1.5}.row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:18px}.card[_ngcontent-%COMP%]{border:1px solid #ececef;border-radius:14px;background:#fff;padding:20px 22px 18px;box-shadow:0 1px 2px #0000000a}.card__title[_ngcontent-%COMP%]{font-size:12px;font-weight:600;color:#6b6b70;margin:0 0 16px;display:flex;align-items:center;gap:6px}.metrics[_ngcontent-%COMP%]{display:flex;gap:26px;align-items:flex-start}.metrics--divided[_ngcontent-%COMP%]{gap:0;align-items:stretch;border-top:1px solid #ececef;border-bottom:1px solid #ececef}.metrics--divided[_ngcontent-%COMP%] .metric[_ngcontent-%COMP%]{flex:1 1 0;padding:20px 14px;justify-content:flex-start}.metrics--divided[_ngcontent-%COMP%] .metric[_ngcontent-%COMP%] + .metric[_ngcontent-%COMP%]{border-left:1px solid #ececef}.metric[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center}.metric__id[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;margin-bottom:12px}.metric__id[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px}.metric__name[_ngcontent-%COMP%]{font-size:12px;font-weight:600;color:#4a4a4f}.ring-wrap[_ngcontent-%COMP%]{position:relative}.gr-svg[_ngcontent-%COMP%]{display:block;box-shadow:none}.ring__track[_ngcontent-%COMP%]{fill:none;stroke:#eceef1}.ring__arc[_ngcontent-%COMP%]{fill:none;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.ring__notch[_ngcontent-%COMP%]{stroke:#2b2b30;stroke-width:2;stroke-linecap:round}.ring__center[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.ring__value[_ngcontent-%COMP%]{font-weight:700;color:#1d1d20;line-height:1}.ring__pct[_ngcontent-%COMP%]{font-size:12px;color:#8a8a8f;font-weight:600}.metric__cap[_ngcontent-%COMP%]{margin-top:12px;font-size:12px;color:#8a8a8f}.metric__pace[_ngcontent-%COMP%]{margin-top:3px;font-size:12px;font-weight:600}.sz-m[_ngcontent-%COMP%] .ring__value[_ngcontent-%COMP%]{font-size:20px}.sz-l[_ngcontent-%COMP%] .ring__value[_ngcontent-%COMP%]{font-size:30px}.legend[_ngcontent-%COMP%]{font-size:12px;color:#8a8a8f;padding:4px 28px 28px;display:flex;align-items:center;gap:8px}.legend[_ngcontent-%COMP%] .tick[_ngcontent-%COMP%]{display:inline-block;width:2px;height:12px;background:#2b2b30;border-radius:2px}.dark-mode[_nghost-%COMP%] .card[_ngcontent-%COMP%], .dark-mode [_nghost-%COMP%] .card[_ngcontent-%COMP%]{background:#1f1f24;border-color:#33343a}.dark-mode[_nghost-%COMP%] .metrics--divided[_ngcontent-%COMP%], .dark-mode [_nghost-%COMP%] .metrics--divided[_ngcontent-%COMP%], .dark-mode[_nghost-%COMP%] .metrics--divided[_ngcontent-%COMP%] .metric[_ngcontent-%COMP%] + .metric[_ngcontent-%COMP%], .dark-mode [_nghost-%COMP%] .metrics--divided[_ngcontent-%COMP%] .metric[_ngcontent-%COMP%] + .metric[_ngcontent-%COMP%]{border-color:#33343a}.dark-mode[_nghost-%COMP%] .ring__track[_ngcontent-%COMP%], .dark-mode [_nghost-%COMP%] .ring__track[_ngcontent-%COMP%]{stroke:#34353b}.dark-mode[_nghost-%COMP%] .ring__value[_ngcontent-%COMP%], .dark-mode [_nghost-%COMP%] .ring__value[_ngcontent-%COMP%]{color:#f2f2f4}.dark-mode[_nghost-%COMP%] .ring__notch[_ngcontent-%COMP%], .dark-mode [_nghost-%COMP%] .ring__notch[_ngcontent-%COMP%]{stroke:#e6e6ea}"],changeDetection:0})}}return r})();var v=(r,s)=>s.label,$=(r,s)=>s.cells[0],L=(r,s)=>s.title;function G(r,s){if(r&1&&(n(0,"span",56),a(1),i()),r&2){let e=g().$implicit,d=g();u("is-up",e.delta>0)("is-down",e.delta<0),t(),S("",e.delta>0?"\u2191":"\u2193"," ",d.absDelta(e.delta),"%")}}function j(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i(),P(4,G,2,6,"span",55),i(),n(5,"div",23),c(6,"img",24),n(7,"span"),a(8),i()()()),r&2){let e=s.$implicit,d=g();t(3),o(e.value),t(),M(e.delta!==void 0&&e.delta!==0?4:-1),t(2),h("src","/assets/icons/"+d.topStrip.icon,x),t(2),o(e.label)}}function H(r,s){if(r&1&&(n(0,"div",13)(1,"div",57),c(2,"img",58),n(3,"span"),a(4),i()(),n(5,"div",59),a(6),i(),n(7,"div",60),a(8),i()()),r&2){let e=s.$implicit;t(4),o(e.label),t(2),o(e.value),t(2),o(e.desc)}}function Y(r,s){if(r&1&&(n(0,"span",56),a(1),i()),r&2){let e=g().$implicit,d=g();u("is-up",e.delta>0)("is-down",e.delta<0),t(),S("",e.delta>0?"\u2191":"\u2193"," ",d.absDelta(e.delta),"%")}}function J(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i(),P(4,Y,2,6,"span",55),i(),n(5,"div",23),c(6,"img",24),n(7,"span"),a(8),i()()()),r&2){let e=s.$implicit,d=g();t(3),o(e.value),t(),M(e.delta!==void 0&&e.delta!==0?4:-1),t(2),h("src","/assets/icons/"+d.igPerformance.icon,x),t(2),o(e.label)}}function Q(r,s){if(r&1&&(n(0,"span",56),a(1),i()),r&2){let e=g().$implicit,d=g();u("is-up",e.delta>0)("is-down",e.delta<0),t(),S("",e.delta>0?"\u2191":"\u2193"," ",d.absDelta(e.delta),"%")}}function q(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i(),P(4,Q,2,6,"span",55),i(),n(5,"div",23),c(6,"img",24),n(7,"span"),a(8),i()()()),r&2){let e=s.$implicit,d=g();t(3),o(e.value),t(),M(e.delta!==void 0&&e.delta!==0?4:-1),t(2),h("src","/assets/icons/"+d.igEngagement.icon,x),t(2),o(e.label)}}function X(r,s){if(r&1&&(n(0,"span",56),a(1),i()),r&2){let e=g().$implicit,d=g();u("is-up",e.delta>0)("is-down",e.delta<0),t(),S("",e.delta>0?"\u2191":"\u2193"," ",d.absDelta(e.delta),"%")}}function Z(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i(),P(4,X,2,6,"span",55),i(),n(5,"div",23),c(6,"img",24),n(7,"span"),a(8),i()()()),r&2){let e=s.$implicit,d=g();t(3),o(e.value),t(),M(e.delta!==void 0&&e.delta!==0?4:-1),t(2),h("src","/assets/icons/"+d.igOrganicVsPromoted.icon,x),t(2),o(e.label)}}
1function ee(r,s){if(r&1&&(n(0,"tr")(1,"td"),a(2),i(),n(3,"td"),a(4),i()()),r&2){let e=s.$implicit;t(2),o(e.cells[0]),t(2),o(e.cells[1]||"\u2014")}}function te(r,s){if(r&1&&(n(0,"tr")(1,"td"),a(2),i(),n(3,"td"),a(4),i()()),r&2){let e=s.$implicit;t(2),o(e.cells[0]),t(2),o(e.cells[1]||"\u2014")}}function ne(r,s){if(r&1&&(n(0,"tr")(1,"td"),a(2),i(),n(3,"td"),a(4),i()()),r&2){let e=s.$implicit;t(2),o(e.label),t(2),S("",e.followers," (",e.pct,"%)")}}function ie(r,s){r&1&&c(0,"span",39)}function ae(r,s){if(r&1&&(n(0,"div",40)(1,"span",61),a(2),i(),n(3,"div",62),c(4,"span",63),i()()),r&2){let e=s.$implicit,d=g();t(2),o(e.label),t(2),f("width",d.barWidth(e.value),"%")}}function re(r,s){if(r&1&&(n(0,"span",44),a(1),i()),r&2){let e=s.$implicit;t(),o(e)}}function oe(r,s){if(r&1&&(n(0,"tr")(1,"td"),a(2),i(),n(3,"td"),a(4),i()()),r&2){let e=s.$implicit;t(2),o(e.label),t(2),S("",e.value," (",e.pct,"%)")}}function le(r,s){if(r&1&&(n(0,"div",67)(1,"div",69)(2,"span",70),a(3),i(),n(4,"span",71),a(5),i()(),n(6,"span",72),a(7),i()()),r&2){let e=s.$implicit;t(3),o(e.label),t(2),o(e.value),t(),u("is-down",e.dir==="down"),t(),o(e.delta)}}function de(r,s){if(r&1&&(n(0,"div",68)(1,"span",73),a(2),i(),n(3,"span",74),c(4,"span",75),i(),n(5,"span",76),a(6),i()()),r&2){let e=s.$implicit,d=g(2);t(2),o(e.label),t(2),f("width",e.value,"%")("background",d.scoreColor(e.value)),t(2),o(e.value)}}function se(r,s){if(r&1&&(n(0,"article",46),c(1,"div",64),n(2,"div",65)(3,"div",66),a(4),i(),m(5,le,8,5,"div",67,v),m(7,de,7,6,"div",68,v),i()()),r&2){let e=s.$implicit;t(),f("background",e.media),t(3),o(e.title),t(),p(e.metrics),t(2),p(e.scores)}}function ce(r,s){if(r&1&&(n(0,"div",79)(1,"div",80),a(2),i(),n(3,"div",81),a(4),i()()),r&2){let e=s.$implicit;t(2),o(e.value),t(2),o(e.label)}}function me(r,s){if(r&1&&(n(0,"article",46),c(1,"div",64),n(2,"div",65)(3,"div",77),a(4),i(),n(5,"div",78),m(6,ce,5,2,"div",79,v),i()()()),r&2){let e=s.$implicit;t(),f("background",e.media),t(2),h("title",e.title),t(),o(e.title),t(2),p(e.metrics)}}function pe(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i()(),n(4,"div",23),c(5,"img",24),n(6,"span"),a(7),i()()()),r&2){let e=s.$implicit,d=g();t(2),u("is-zero",e.zero),t(),o(e.zero?"\u2014":e.value),t(2),h("src","/assets/icons/"+d.fbPerformance.icon,x),t(2),o(e.label)}}function ge(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i()(),n(4,"div",23),c(5,"img",24),n(6,"span"),a(7),i()()()),r&2){let e=s.$implicit,d=g();t(2),u("is-zero",e.zero),t(),o(e.zero?"\u2014":e.value),t(2),h("src","/assets/icons/"+d.fbEngagements.icon,x),t(2),o(e.label)}}function _e(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i()(),n(4,"div",23),c(5,"img",24),n(6,"span"),a(7),i()()()),r&2){let e=s.$implicit,d=g();t(2),u("is-zero",e.zero),t(),o(e.zero?"\u2014":e.value),t(2),h("src","/assets/icons/"+d.boostedCampaign.icon,x),t(2),o(e.label)}}function be(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i()(),n(4,"div",23),c(5,"img",24),n(6,"span"),a(7),i()()()),r&2){let e=s.$implicit,d=g();t(2),u("is-zero",e.zero),t(),o(e.zero?"\u2014":e.value),t(2),h("src","/assets/icons/"+d.emailPerformance.icon,x),t(2),o(e.label)}}function he(r,s){if(r&1&&(n(0,"div",10)(1,"div",21)(2,"div",22),a(3),i()(),n(4,"div",23),c(5,"img",24),n(6,"span"),a(7),i()()()),r&2){let e=s.$implicit,d=g();t(2),u("is-zero",e.zero),t(),o(e.zero?"\u2014":e.value),t(2),h("src","/assets/icons/"+d.thankYouKpis.icon,x),t(2),o(e.label)}}function ve(r,s){if(r&1&&(n(0,"tr")(1,"td"),a(2),i(),n(3,"td"),a(4),i(),n(5,"td"),a(6),i()()),r&2){let e=s.$implicit;t(2),o(e.cells[0]||"\u2014"),t(2),o(e.cells[1]||"\u2014"),t(2),o(e.cells[2]||"\u2014")}}var Pe=(()=>{class r{constructor(){this.chartW=300,this.chartH=196,this.pieW=320,this.pieH=232,this.topStrip={title:"Social Impressions & Engagements",range:"Last 7 days",icon:"overview.svg",kpis:[{value:"531,151",label:"Total Impressions"},{value:"338,214",label:"Promotional Impressions"},{value:"192,937",label:"Social Impressions"},{value:"534",label:"Total Engagements"}]},this.eyebrowMetrics=[{label:"Total Impressions",value:"376,586",desc:"Total number of paid and organic
1impressions"},{label:"Paid Impressions",value:"68,416",desc:"Total number of paid impressions across ad platforms and promoted social posts."},{label:"Organic Impressions",value:"308,041",desc:"Total number of organic impressions across social platforms."},{label:"Total Engagements",value:"11,366",desc:"Total number of engagements across all social platforms, including likes, comments, shares, and saves."}],this.igPerformance={title:"Vancouver's North Shore Instagram Performance",range:"May 1, 2026 \u2013 May 31, 2026 vs. previous year",icon:"inst.svg",kpis:[{value:"1,439,530",label:"Total Followers"},{value:"135,796",label:"Reach",delta:44},{value:"5,312",label:"Promoted Reach",delta:-73},{value:"130,484",label:"Organic Reach",delta:75},{value:"180,576",label:"Impressions",delta:38},{value:"5,592",label:"Promoted Impressions",delta:-72},{value:"174,984",label:"Organic Impressions"}]},this.igEngagement={title:"Vancouver's North Shore Engagement",range:"May 1, 2026 \u2013 May 31, 2026 vs. previous year",icon:"inst.svg",kpis:[{value:"4,122",label:"Likes",delta:61},{value:"106",label:"Comments",delta:41},{value:"1,393",label:"Shares",delta:530},{value:"314",label:"Saved",delta:73}]},this.igOrganicVsPromoted={title:"Vancouver's North Shore Organic vs Promoted Engagement",range:"May 1, 2026 \u2013 May 31, 2026 vs. previous year",icon:"inst.svg",kpis:[{value:"4,230",label:"Organic Engagement",delta:62},{value:"312",label:"Promoted Engagement",delta:52}]},this.igImpressionsWidget={title:"Vancouver's North Shore Impressions",range:"Mar 1, 2026 \u2013 May 31, 2026",bigValue:"475,313",bigLabel:"Impressions",icon:"inst.svg",tableHead:["Date","Impressions"],rows:[{cells:["Mar 2026","150,209"]},{cells:["Apr 2026","144,528"]},{cells:["May 2026","180,576"]}]},this.igReachWidget={title:"Vancouver's North Shore Instagram Reach",range:"Mar 1, 2026 \u2013 May 31, 2026",bigValue:"353,705",bigLabel:"Reach",icon:"inst.svg",tableHead:["Date","Reach"],rows:[{cells:["Mar 2026","110,479"]},{cells:["Apr 2026","107,430"]},{cells:["May 2026","135,796"]}]},this.followersByAgeWidget={title:"Vancouver's North Shore Followers by Age",range:"May 1, 2026 \u2013 May 31, 2026",tableHead:["Age","Total Followers","%"]},this.followersByAge=[{label:"35-44",followers:"476,746",pct:35},{label:"25-34",followers:"335,916",pct:25},{label:"45-54",followers:"277,162",pct:20},{label:"55-64",followers:"144,807",pct:11},{label:"65+",followers:"74,954",pct:6},{label:"18-24",followers:"42,529",pct:3},{label:"13-17",followers:"2,175",pct:0}],this.topCountriesWidget={title:"Vancouver's North Shore Followers by Country",range:"May 1, 2026 \u2013 May 31, 2026",icon:"inst.svg"},this.topCountries=[{label:"Canada",value:"619,000",pct:43},{label:"United States",value:"389,000",pct:27},{label:"United Kingdom",value:"144,000",pct:10},{label:"Australia",value:"100,800",pct:7},{label:"Germany",value:"72,000",pct:5},{label:"France",value:"57,600",pct:4},{label:"Other",value:"57,130",pct:4}],this.creativeCards=[{title:"New Fall Flavors",media:"linear-gradient(150deg, #9a8cdb 0%, #b6a1e4 55%, #cbb6ee 100%)",metrics:[{label:"Spend",value:"$15,759",delta:"+78.56%",dir:"up"},{label:"ROAS",value:"4.5",delta:"+44.86%",dir:"up"}],scores:[{label:"Click score",value:89},{label:"Convert score",value:64}]},{title:"Cream Soda Classics",media:"linear-gradient(150deg, #5e7fc6 0%, #80a0dd 55%, #a6c0ec 100%)",metrics:[{label:"Spend",value:"$10,945",delta:"+20.37%",dir:"up"},{label:"ROAS",value:"2.3",delta:"-10.22%",dir:"down"}],scores:[{label:"Click score",value:72},{label:"Convert score",value:52}]},{title:"No-Sugar Messaging",media:"linear-gradient(150deg, #f0a0ae 0%, #f4b69f 55%, #f7cd99 100%)",metrics:[{label:"Spend",value:"$7,998",delta:"+56.38%",dir:"up"},{label:"ROAS",value:"6.3",delta:"+18.44%",dir:"up"}],scores:[{label:"Click score",value:89},{label:"Convert score",value:91}]},{title:"Solar Citrus Launch",media:"linear-gradient(150deg, #79afd6 0%, #b6c6c2 50%, #f0c089 100%)",metrics:[{label:"Spend",value:"$9,804",delta:"+20.34%",dir:"up"},{label:"ROAS",value:"2.3",delta:"-10.25%",dir:"down"}],scores:[{label:"Click score",value:64},{label:"Convert score",value:52}]}],this.creativeCardsKpi=[{title:"Boosted Post_May_Trestle Bridge_IG",media:"linear-gradient(160deg, #c89a6e 0%, #9a6f86 100%)",metrics:[{label:"Spend",value:"$29.98"},{label:"Impressions",value:"8,549"},{label:"CPM",value:"$3.5"},{label:"Reach",value:"7,970"},{label:"Post Engagement",value:"496"},{label:"CTR",value:"-"}]},{title:"Boosted Post_May_Deep Cove Whales_IG",media:"linear-gradient(160deg, #5f8068 0%, #2f4636 100%)",metrics:[{label:"Spend",value:"$29.84"},{label:"Impressions",value:"6,956"},{label:"CPM",value:"$4.2"},{label:"Reach",value:"6,530"},{label:"Post Engagement",value:"3,549"}
1,{label:"CTR",value:"0.1%"}]},{title:"Boosted Post_May_NSLL Wildlife_FB",media:"linear-gradient(160deg, #82a06a 0%, #496b3e 100%)",metrics:[{label:"Spend",value:"$29.84"},{label:"Impressions",value:"5,888"},{label:"CPM",value:"$5"},{label:"Reach",value:"5,772"},{label:"Post Engagement",value:"1,372"},{label:"CTR",value:"9.27%"}]},{title:"Boosted Post_May_Deep Cove Whales_FB",media:"linear-gradient(160deg, #5f8068 0%, #3a5446 100%)",metrics:[{label:"Spend",value:"$30"},{label:"Impressions",value:"5,568"},{label:"CPM",value:"$5.3"},{label:"Reach",value:"4,701"},{label:"Post Engagement",value:"3,704"},{label:"CTR",value:"0.11%"}]},{title:"Boosted Post_May_Trestle Bridge_FB",media:"linear-gradient(160deg, #d98a4a 0%, #7a4a6a 100%)",metrics:[{label:"Spend",value:"$29.9"},{label:"Impressions",value:"5,493"},{label:"CPM",value:"$5.4"},{label:"Reach",value:"4,792"},{label:"Post Engagement",value:"1,021"},{label:"CTR",value:"0.02%"}]}],this.fbPerformance={title:"Vancouver's North Shore Facebook Performance",range:"May 1, 2026 \u2013 May 31, 2026 vs. previous year",icon:"fb.svg",kpis:[{value:"0",label:"Followers",zero:!0},{value:"0",label:"Reach",zero:!0},{value:"0",label:"Impressions",zero:!0},{value:"0",label:"Paid Impressions",zero:!0},{value:"0",label:"Organic Impressions",zero:!0}]},this.fbEngagements={title:"Vancouver's North Shore Facebook Engagements",range:"May 1, 2026 \u2013 May 31, 2026 vs. previous year",icon:"fb.svg",kpis:[{value:"0",label:"Engagements",zero:!0},{value:"0",label:"Likes",zero:!0},{value:"0",label:"Comments",zero:!0},{value:"0",label:"Shares",zero:!0}]},this.boostedCampaign={title:"Boosted Campaign Performance",range:"May 1, 2026 \u2013 May 31, 2026 vs. previous year",icon:"fbAd.svg",kpis:[{value:"0",label:"Impressions",zero:!0},{value:"0",label:"Reach",zero:!0},{value:"0",label:"Post Engagement",zero:!0},{value:"0",label:"Inline Link Clicks",zero:!0},{value:"0",label:"CTR (Link Click-Through Rate)",zero:!0}]},this.emailPerformance={title:"Vancouver's North Shore Email Performance",range:"May 1, 2026 \u2013 May 31, 2026",icon:"mailc.svg",kpis:[{value:"0",label:"Emails Sent",zero:!0},{value:"0",label:"Delivered",zero:!0},{value:"0",label:"Delivery Rate",zero:!0},{value:"0",label:"Open Rate",zero:!0},{value:"0",label:"Click Rate",zero:!0},{value:"0",label:"Unsubscribe Rate",zero:!0},{value:"0",label:"Bounce Rate",zero:!0}]},this.thankYouKpis={title:"Thank You Page Performance",range:"Jan 1, 2024 \u2013 Jun 4, 2026",icon:"custom.svg",kpis:[{value:"0",label:"Pledge NSLL",zero:!0},{value:"0",label:"Pageviews",zero:!0}]},this.thankYouTable={head:["Date","Pledge NSLL","Pageviews"],rows:[{cells:["","",""]},{cells:["","",""]},{cells:["","",""]}]},this.monthLabels=[{name:"Mar",display:"Mar 2026",value:"2026-03-01"},{name:"Apr",display:"Apr 2026",value:"2026-04-01"},{name:"May",display:"May 2026",value:"2026-05-01"}],this.barImpressionsLabels=this.monthLabels,this.barImpressionsMeta=[{uid:"impressions",name:"Impressions",color:"#ff7e2a",unit:"",displayUnit:""}],this.barImpressionsData={impressions:{items:[150209,144528,180576],value:475313}},this.barReachLabels=this.monthLabels,this.barReachMeta=[{uid:"reach",name:"Reach",color:"#ff7e2a",unit:"",displayUnit:""}],this.barReachData={reach:{items:[110479,107430,135796],value:353705}},this.pieAgeMeta=[{uid:"a0",name:"35-44",color:"#ff7e2a",unit:"",displayUnit:"",displayPercent:!0},{uid:"a1",name:"25-34",color:"#5065e8",unit:"",displayUnit:"",displayPercent:!0},{uid:"a2",name:"45-54",color:"#39c2ae",unit:"",displayUnit:"",displayPercent:!0},{uid:"a3",name:"55-64",color:"#ff5ef5",unit:"",displayUnit:"",displayPercent:!0},{uid:"a4",name:"65+",color:"#ff3d24",unit:"",displayUnit:"",displayPercent:!0},{uid:"a5",name:"18-24",color:"#2f2f2f",unit:"",displayUnit:"",displayPercent:!0},{uid:"a6",name:"13-17",color:"#636363",unit:"",displayUnit:"",displayPercent:!0}],this.pieAgeData={a0:{items:[476746],value:476746},a1:{items:[335916],value:335916},a2:{items:[277162],value:277162},a3:{items:[144807],value:144807},a4:{items:[74954],value:74954},a5:{items:[42529],value:42529},a6:{items:[2175],value:2175}},this.pieAgeRawMeta={breakdownBy:{name:"Age"},metrics:this.pieAgeMeta}}toNum(e){return+e.replace(/,/g,"")}get maxFollowers(){return Math.max(...this.topCountries.map(e=>this.toNum(e.value)))}barWidth(e){return this.toNum(e)/this.maxFollowers*100}get countryTicks(){let e=this.maxFollowers;return[0,.25,.5,.75,1].map(d=>this.shortNum(e*d))}
1shortNum(e){return e>=1e6?(e/1e6).toFixed(1).replace(/\.0$/,"")+"M":e>=1e3?Math.round(e/1e3)+"K":String(Math.round(e))}scoreColor(e){return e>=80?"#1a8f3c":e>=60?"#5bbd72":e>=40?"#e0a82e":"#d23b2f"}absDelta(e){return Math.abs(e)}static{this.\u0275fac=function(d){return new(d||r)}}static{this.\u0275cmp=E({type:r,selectors:[["app-dashboard-style-preview"]],decls:266,vars:49,consts:[[1,"wip-banner"],[1,"db"],[1,"db-head"],[1,"db-head__name"],[1,"db-block"],[1,"db-group"],[1,"db-group__head"],[1,"db-group__title"],[1,"db-group__sub"],[1,"db-scroller"],[1,"db-tile"],[1,"db-section__title"],[1,"db-eyebrows"],[1,"db-eyebrow"],[1,"db-block","db-intro"],[1,"db-intro__body"],[1,"db-widgets"],[1,"db-widget"],[1,"db-widget__label"],[1,"db-widget__range"],[1,"db-widget__metric"],[1,"db-tile__head"],[1,"db-tile__value"],[1,"db-tile__label"],["width","16","height","16","alt","",1,"db-tile__icon",3,"src"],[1,"db-chart"],[3,"width","height","key","meta","data","labels"],[1,"db-table"],[1,"db-table__th"],["src","/assets/icons/date.svg","width","14","height","14","alt","",1,"db-table__icon"],[1,"material-symbols-rounded","db-table__sort"],[1,"db-chart","db-chart--pie"],[3,"width","height","meta","data","rawMeta"],["aria-hidden","true",1,"db-donut-hole"],["src","/assets/icons/inst.svg","width","14","height","14","alt","",1,"db-table__icon"],[1,"db-widget","db-widget--wide"],[1,"db-hbarchart"],[1,"db-hbarchart__rows"],["aria-hidden","true",1,"db-hbarchart__grid"],[1,"db-hbarchart__gridline"],[1,"db-hbarchart__row"],[1,"db-hbarchart__axis"],[1,"db-hbarchart__spacer"],[1,"db-hbarchart__scale"],[1,"db-hbarchart__tick"],[1,"db-cardgrid"],[1,"db-card"],[1,"db-scroller","db-scroller--narrow"],["aria-label","Empty line chart placeholder",1,"db-linechart"],["viewBox","0 0 600 120","preserveAspectRatio","none",1,"db-linechart__svg"],["x1","0","y1","30","x2","600","y2","30",1,"db-linechart__grid"],["x1","0","y1","60","x2","600","y2","60",1,"db-linechart__grid"],["x1","0","y1","90","x2","600","y2","90",1,"db-linechart__grid"],["x1","0","y1","119","x2","600","y2","119",1,"db-linechart__base"],[1,"db-linechart__empty"],[1,"db-delta",3,"is-up","is-down"],[1,"db-delta"],[1,"db-eyebrow__label"],["src","/assets/icons/overview.svg","width","14","height","14","alt","",1,"db-eyebrow__icon"],[1,"db-eyebrow__value"],[1,"db-eyebrow__desc"],[1,"db-hbarchart__cat"],[1,"db-hbarchart__plot"],[1,"db-hbarchart__bar"],[1,"db-card__media"],[1,"db-card__body"],[1,"db-card__title"],[1,"db-card__metric"],[1,"db-card__score"],[1,"db-card__metric-text"],[1,"db-card__metric-label"],[1,"db-card__metric-value"],[1,"db-card__pill"],[1,"db-card__score-label"],[1,"db-card__score-track"],[1,"db-card__score-fill"],[1,"db-card__score-num"],[1,"db-card__title",3,"title"],[1,"db-kpis"],[1,"db-kpi"],[1,"db-kpi__value"],[1,"db-kpi__label"]],template:function(d,l){d&1&&(n(0,"div",0),a(1,` Work-in-progress preview \xB7 report-style dashboard \xB7 not the live dashboard 2`),i(),c(2,"app-goal-ring-preview"),n(3,"div",1)(4,"header",2)(5,"h1",3),a(6,"VNSTA May 2026"),i()(),n(7,"section",4)(8,"div",5)(9,"div",6)(10,"h3",7),a(11),i(),n(12,"p",8),a(13),i()(),n(14,"div",9),m(15,j,9,4,"div",10,v),i()()(),n(17,"section",4)(18,"h2",11),a(19,"Metric module \u2014 eyebrow variant"),i(),n(20,"div",12),m(21,H,9,3,"div",13,v),i()(),n(23,"section",14)(24,"h2",11),a(25,"Vancouver North Shore May 2026: Digital Marketing Performance Summary"),i(),n(26,"p",15),a(27,"TBC"),i()(),n(28,"section",4)(29,"h2",11),a(30,"Instagram Insights"),i(),n(31,"div",5)(32,"div",6)(33,"h3",7),a(34),i(),n(35,"p",8),a(36),i()(),n(37,"div",9),m(38,J,9,4,"div",10,v),i()(),n(40,"div",5)(41,"div",6)(42,"h3",7),a(43),i(),n(44,"p",8),a(45),i()(),n(46,"div",9),m(47,q,9,4,"div",10,v),i()(),n(49,"div",5)(50,"div",6)(51,"h3",7),a(52),i(),n(53,"p",8),a(54),i()(),n(55,"div",9),m(56,Z,9,4,"div",10,v),i()(),n(58,"div",16)(59,"article",17)(60,"div",18),a(61),i(),n(62,"div",19),a(63),i(),n(64,"div",20)(65,"div",21)(66,"div",22),a(67),i()(),n(68,"div",23),c(69,"img",24),n(70,"span"),a(71),i()()(),n(72,"div",25),c(73,"app-bar-chart",26),i(),n(74,"table",27)(75,"thead")(76,"tr")(77,"th")(78,"span",28),c(79,"img",29),a(80," Date "),n(81,"span",30),a(82,"arrow_downward_alt"),i()()(),n(83,"th")(84,"span",28),a(85,"Impressions"),i()()()(),n(86,"tbody"),m(87,ee,5,2,"tr",null,$),i()()(),n(89,"article",17)(90,"div",18),a(91),i(),n(92,"div",19),a(93),i(),n(94,"div",20)(95,"div",21)(96,"div",22),a(97),i()(),n(98,"div",23),c(99,"img",24),n(100,"span"),a(101),i()()(),n(102,"div",25),c(103,"app-bar-chart",26),i(),n(104,"table",27)(105,"thead")(106,"tr")(107,"th")(108,"span",28),c(109,"img",29),a(110," Date "),n(111,"span",30),a(112,"arrow_downward_alt"),i()()(),n(113,"th")(114,"span",28),a(115,"Reach"),i()()()(),n(116,"tbody"),m(117,te,5,2,"tr",null,$),i()()(),n(119,"article",17)(120,"div",18),a(121),i(),n(122,"div",19),a(123),i(),n(124,"div",31),c(125,"app-pie-chart",32)(126,"span",33),i(),n(127,"table",27)(128,"thead")(129,"tr")(130,"th")(131,"span",28),c(132,"img",34),a(133," Age "),i()(),n(134,"th")(135,"span",28),a(136," Total Followers "),n(137,"span",30),a(138,"arrow_downward_alt"),i()()()()(),n(139,"tbody"),m(140,ne,5,3,"tr",null,v),i()()(),n(142,"article",35)(143,"div",18),a(144),i(),n(145,"div",19),a(146),i(),n(147,"div",36)(148,"div",37)(149,"div",38),m(150,ie,1,0,"span",39,k),i(),m(152,ae,5,3,"div",40,v),i(),n(154,"div",41),c(155,"span",42),n(156,"div",43),m(157,re,2,1,"span",44,k),i()()(),n(159,"table",27)(160,"thead")(161,"tr")(162,"th")(163,"span",28),c(164,"img",34),a(165," Country "),i()(),n(166,"th")(167,"span",28),a(168," Followers "),n(169,"span",30),a(170,"arrow_downward_alt"),i()()()()(),n(171,"tbody"),m(172,oe,5,3,"tr",null,v),i()()()()(),n(174,"section",4)(175,"h2",11),a(176,"Top Creatives"),i(),n(177,"div",45),m(178,se,9,3,"article",46,L),i()(),n(180,"section",4)(181,"h2",11),a(182,"Top Creatives \u2014 KPI tiles"),i(),n(183,"div",45),m(184,me,8,4,"article",46,L),i()(),n(186,"section",4)(187,"h2",11),a(188,"Facebook Insights"),i(),n(189,"div",5)(190,"div",6)(191,"h3",7),a(192),i(),n(193,"p",8),a(194),i()(),n(195,"div",9),m(196,pe,8,5,"div",10,v),i()(),n(198,"div",5)(199,"div",6)(200,"h3",7),a(201),i(),n(202,"p",8),a(203),i()(),n(204,"div",9),m(205,ge,8,5,"div",10,v),i()()(),n(207,"section",4)(208,"h2",11),a(209,"Meta Ads - Boosted"),i(),n(210,"div",5)(211,"div",6)(212,"h3",7),a(213),i(),n(214,"p",8),a(215),i()(),n(216,"div",9),m(217,_e,8,5,"div",10,v),i()()(),n(219,"section",4)(220,"h2",11),a(221,"Email Campaign"),i(),n(222,"div",5)(223,"div",6)(224,"h3",7),a(225),i(),n(226,"p",8),a(227),i()(),n(228,"div",9),m(229,be,8,5,"div",10,v),i()(),n(231,"div",5)(232,"div",6)(233,"h3",7),a(234),i(),n(235,"p",8),a(236),i()(),n(237,"div",47),m(238,he,8,5,"div",10,v),i(),n(240,"div",48),w(),n(241,"svg",49),c(242,"line",50)(243,"line",51)(244,"line",52)(245,"line",53),i(),y(),n(246,"div",54),a(247,"No data for this period"),i()(),n(248,"table",27)(249,"thead")(250,"tr")(251,"th")(252,"span",28),c(253,"img",29),a(254," Date "),n(255,"span",30),a(256,"arrow_downward_alt"),i()()(),n(257,"th")(258,"span",28),a(259,"Pledge NSLL"),i()(),n(260,"th")(261,"span",28),a(262,"Pageviews"),i()()()(),n(263,"tbody"),m(264,ve,7,3,"tr",null,k),i()()()()()),d&2&&(t(11),o(l.topStrip.title),t(2),o(l.topStrip.range),t(2),p(l.topStrip.kpis),t(6),p(l.eyebrowMetrics),t(13),o(l.igPerformance.title),t(2),o(l.igPerformance.range),t(2),p(l.igPerformance.kpis),t(5),o(l.igEngagement.title),t(2),o(l.igEngagement.range),t(2),p(l.igEngagement.kpis),t(5),o(l.igOrganicVsPromoted.title),t(2),o(l.igOrganicVsPromoted.range),t(2),p(l.igOrganicVsPromoted.kpis),t(5),o(l.igImpressionsWidget.title),t(2),o(l.igImpressionsWidget.range),t(4),o(l.igImpressionsWidget.bigValue),t(2),h("src","/assets/icons/"+l.igImpressionsWidget.icon,x),t(2),o(l.igImpressionsWidget.bigLabel),t(2),h("width",l.chartW)("height",l.chartH)("key","preview-impr")("meta",l.barImpressionsMeta)("data",l.barImpressionsData)("labels",l.barImpressionsLabels),t(14),p(l.igImpressionsWidget.rows),t(4),o(l.igReachWidget.title),t(2),o(l.igReachWidget.range),t(4),o(l.igReachWidget.bigValue),t(2),h("src","/assets/icons/"+l.igReachWidget.icon,x),t(2),o(l.igReachWidget.bigLabel),t(2),h("width",l.chartW)("height",l.chartH)("key","preview-reach")("meta",l.barReachMeta)("data",l.barReachData)("labels",l.barReachLabels),t(14),p(l.igReachWidget.rows),t(4),o(l.followersByAgeWidget.title),t(2),o(l.followersByAgeWidget.range),t(2),h("width",l.pieW)("height",l.pieH)("meta",l.pieAgeMeta)("data",l.pieAgeData)("rawMeta",l.pieAgeRawMeta),t(15),p(l.followersByAge),t(4),o(l.topCountriesWidget.title),t(2),o(l.topCountriesWidget.range),t(4),p(l.countryTicks),t(2),p(l.topCountries),t(5),p(l.countryTicks),t(15),p(l.topCountries),t(6),p(l.creativeCards),t(6),p(l.creativeCardsKpi),t(8),o(l.fbPerformance.title),t(2),o(l.fbPerformance.range),t(2),p(l.fbPerformance.kpis),t(5),o(l.fbEngagements.title),t(2),o(l.fbEngagements.range),t(2),p(l.fbEngagements.kpis),t(8),o(l.boostedCampaign.title),t(2),o(l.boostedCampaign.range),t(2),p(l.boostedCampaign.kpis),t(8),o(l.emailPerformance.title),t(2),o(l.emailPerformance.range),t(2),p(l.emailPerformance.kpis),t(5),o(l.thankYouKpis.title),t(2),o(l.thankYouKpis.range),t(2),p(l.thankYouKpis.kpis),t(26),p(l.thankYouTable.rows))},dependencies:[T,R,D],styles:["[_nghost-%COMP%]{display:block;background:#fff;min-height:100vh;color:#1d1d1f;font-family:Manrope,sans-serif}.wip-banner[_ngcontent-%COMP%]{position:sticky;top:0;z-index:20;background:#fff8e6;border-bottom:1px solid #f0e2b8;color:#8a6d1a;font-size:12px;font-weight:600;letter-spacing:.02em;padding:8px 16px;text-align:center}.db[_ngcontent-%COMP%]{max-width:1180px;margin:0 auto;padding:48px 48px 96px}.db-head[_ngcontent-%COMP%]{padding-bottom:28px;margin-bottom:16px;border-bottom:1px solid rgb(238,239,240)}.db-head__name[_ngcontent-%COMP%]{margin:0;font-size:40px;font-weight:400;letter-spacing:.25px;line-height:1.1;color:#000}.db-block[_ngcontent-%COMP%]{padding-top:64px}.db-block[_ngcontent-%COMP%]:first-of-type{padding-top:40px}.db-section__title[_ngcontent-%COMP%]{margin:0 0 8px;font-size:40px;font-weight:400;letter-spacing:.25px;line-height:1.12;color:#000}.db-intro[_ngcontent-%COMP%]{padding-bottom:8px}.db-intro__body[_ngcontent-%COMP%]{margin:16px 0 0;font-size:14px;font-weight:400;line-height:1.6;color:#8a8a8f;max-width:720px}.db-group[_ngcontent-%COMP%]{padding-top:40px}.db-group[_ngcontent-%COMP%]:first-child{padding-top:28px}.db-group__head[_ngcontent-%COMP%]{margin-bottom:20px}.db-group__title[_ngcontent-%COMP%]{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:.18px;color:#000}.db-group__sub[_ngcontent-%COMP%]{margin:0;font-size:13px;font-weight:400;color:#8a8a8f}.db-scroller[_ngcontent-%COMP%]{display:flex;gap:0;overflow-x:auto;padding-bottom:8px;border-top:1px solid rgb(238,239,240);border-bottom:1px solid rgb(238,239,240)}.db-scroller--narrow[_ngcontent-%COMP%] .db-tile[_ngcontent-%COMP%]{min-width:200
2px}.db-scroller[_ngcontent-%COMP%]::-webkit-scrollbar{height:6px}.db-scroller[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#8f8f9173;border-radius:10px}.db-scroller[_ngcontent-%COMP%]{scrollbar-width:thin}.db-tile[_ngcontent-%COMP%]{flex:0 0 auto;min-width:200px;padding:22px 32px 22px 0;margin-right:32px;border-right:1px solid rgb(238,239,240);display:flex;flex-direction:column}.db-tile[_ngcontent-%COMP%]:last-child{border-right:none;margin-right:0}.db-tile__head[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.db-tile__value[_ngcontent-%COMP%]{font-size:34px;font-weight:700;letter-spacing:-1.5px;line-height:1.05;color:#1a1a1a;font-variant-numeric:tabular-nums}.db-tile__value.is-zero[_ngcontent-%COMP%]{color:#b8b8be}.db-tile__label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:#2a2a2e}.db-tile__icon[_ngcontent-%COMP%]{flex:0 0 16px;width:16px;height:16px;object-fit:contain}.db-delta[_ngcontent-%COMP%]{font-size:14px;font-weight:700;line-height:1;white-space:nowrap}.db-delta.is-up[_ngcontent-%COMP%]{color:#1a8f3c}.db-delta.is-down[_ngcontent-%COMP%]{color:#d23b2f}.db-widgets[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-top:56px;margin-top:40px;border-top:1px solid rgb(238,239,240);align-items:start}.db-widget[_ngcontent-%COMP%]{min-width:0}.db-widget__label[_ngcontent-%COMP%]{font-size:14px;font-weight:600;letter-spacing:.18px;color:#000;margin-bottom:4px}.db-widget__range[_ngcontent-%COMP%]{font-size:13px;font-weight:400;color:#8a8a8f;margin-bottom:18px}.db-widget__metric[_ngcontent-%COMP%]{margin-bottom:20px}.db-widget--wide[_ngcontent-%COMP%]{grid-column:span 2}.db-hbarchart[_ngcontent-%COMP%]{margin:4px 0 24px}.db-hbarchart__rows[_ngcontent-%COMP%]{position:relative}.db-hbarchart__grid[_ngcontent-%COMP%]{position:absolute;inset:0 0 0 130px;display:flex;justify-content:space-between;pointer-events:none}.db-hbarchart__gridline[_ngcontent-%COMP%]{width:0;border-left:1px dashed #d8d9dd}.db-hbarchart__gridline[_ngcontent-%COMP%]:first-child{border-left:1px solid #111}.db-hbarchart__row[_ngcontent-%COMP%]{position:relative;z-index:1;display:grid;grid-template-columns:130px 1fr;align-items:center;height:24px;margin-bottom:14px}.db-hbarchart__cat[_ngcontent-%COMP%]{font-size:13px;font-weight:500;color:#2a2a2e;padding-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-hbarchart__plot[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%}.db-hbarchart__bar[_ngcontent-%COMP%]{display:block;height:22px;min-width:2px;background:#ff7e2a;border-radius:3px}.db-hbarchart__axis[_ngcontent-%COMP%]{display:grid;grid-template-columns:130px 1fr;margin-top:4px}.db-hbarchart__scale[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:11px;color:#9a9aa0;font-variant-numeric:tabular-nums}.db-chart[_ngcontent-%COMP%]{margin:4px 0 18px;overflow:hidden}.db-chart--pie[_ngcontent-%COMP%]{position:relative;margin-bottom:8px}[_nghost-%COMP%] app-bar-chart svg rect{rx:3px}.db-donut-hole[_ngcontent-%COMP%]{position:absolute;top:116px;left:92px;width:104px;height:104px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);pointer-events:none}.db-linechart[_ngcontent-%COMP%]{position:relative;margin:24px 0 28px}.db-linechart__svg[_ngcontent-%COMP%]{display:block;width:100%;height:120px}.db-linechart__grid[_ngcontent-%COMP%]{stroke:#eeeff0;stroke-width:1}.db-linechart__base[_ngcontent-%COMP%]{stroke:#d8d9dd;stroke-width:1}.db-linechart__flat[_ngcontent-%COMP%]{stroke:#ff7e2a;stroke-width:2;opacity:.35}.db-linechart__empty[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:400;color:#b8b8be;pointer-events:none}.db-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;margin-top:8px;font-size:14px;color:#000}.db-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .db-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:1px solid rgb(236,236,236);padding:0 6px;vertical-align:middle;white-space:nowrap}.db-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child, .db-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{background:#f8fafd;text-align:left;padding-left:20px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.db-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:not(:first-child), .db-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:not(:first-child){text-align:right;padding:0 6px 0 24px}.db-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{height:42px;font-weight:700}.db-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{height:35px;font-weight:400}.db-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%]{border-bottom:none}.db-table__th[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px}.db-table__icon[_ngcontent-%COMP%]{flex:0 0 14px;width:14px;
2height:14px;object-fit:contain}.db-table__sort[_ngcontent-%COMP%]{font-size:18px;line-height:1;color:#5f6368}@media(max-width:980px){.db-widgets[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:56px}}@media(max-width:560px){.db[_ngcontent-%COMP%]{padding:32px 20px 64px}.db-section__title[_ngcontent-%COMP%], .db-head__name[_ngcontent-%COMP%]{font-size:30px}}html.dark-mode[_nghost-%COMP%], html.dark-mode [_nghost-%COMP%]{background:#161617;color:#e6e6e8}html.dark-mode[_nghost-%COMP%] .db-head__name[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-head__name[_ngcontent-%COMP%], html.dark-mode[_nghost-%COMP%] .db-section__title[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-section__title[_ngcontent-%COMP%], html.dark-mode[_nghost-%COMP%] .db-group__title[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-group__title[_ngcontent-%COMP%]{color:#f2f2f4}html.dark-mode[_nghost-%COMP%] .db-tile__value[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-tile__value[_ngcontent-%COMP%]{color:#ededee}html.dark-mode[_nghost-%COMP%] .db-table[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-table[_ngcontent-%COMP%]{color:#ededee}html.dark-mode[_nghost-%COMP%] .db-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{color:#c8c8cc}html.dark-mode[_nghost-%COMP%] .db-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child, html.dark-mode [_nghost-%COMP%] .db-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child, html.dark-mode[_nghost-%COMP%] .db-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child, html.dark-mode [_nghost-%COMP%] .db-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{background:#201f23}html.dark-mode[_nghost-%COMP%] .db-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], html.dark-mode[_nghost-%COMP%] .db-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], html.dark-mode[_nghost-%COMP%] .db-head[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-head[_ngcontent-%COMP%], html.dark-mode[_nghost-%COMP%] .db-scroller[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-scroller[_ngcontent-%COMP%], html.dark-mode[_nghost-%COMP%] .db-tile[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-tile[_ngcontent-%COMP%], html.dark-mode[_nghost-%COMP%] .db-widgets[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-widgets[_ngcontent-%COMP%], html.dark-mode[_nghost-%COMP%] .db-linechart__grid[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-linechart__grid[_ngcontent-%COMP%]{border-color:#2a2a2d}html.dark-mode[_nghost-%COMP%] .db-linechart__grid[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-linechart__grid[_ngcontent-%COMP%]{stroke:#2a2a2d}html.dark-mode[_nghost-%COMP%] .db-donut-hole[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-donut-hole[_ngcontent-%COMP%]{background:#161617}html.dark-mode[_nghost-%COMP%] .db-hbarchart__cat[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-hbarchart__cat[_ngcontent-%COMP%]{color:#c8c8cc}html.dark-mode[_nghost-%COMP%] .db-hbarchart__gridline[_ngcontent-%COMP%], html.dark-mode [_nghost-%COMP%] .db-hbarchart__gridline[_ngcontent-%COMP%]{border-left-color:#2a2a2d}html.dark-mode[_nghost-%COMP%] .db-hbarchart__gridline[_ngcontent-%COMP%]:first-child, html.dark-mode [_nghost-%COMP%] .db-hbarchart__gridline[_ngcontent-%COMP%]:first-child{border-left-color:#555}.db-cardgrid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px}.db-card[_ngcontent-%COMP%]{border:1px solid rgb(238,239,240);border-radius:16px;overflow:hidden;background:#fff}.db-card__media[_ngcontent-%COMP%]{aspect-ratio:1/1;background-size:cover!important;background-position:center!important}.db-card__body[_ngcontent-%COMP%]{padding:16px 18px 18px}.db-card__title[_ngcontent-%COMP%]{font-size:17px;font-weight:600;color:#000;margin-bottom:16px}.db-card__metric[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.db-card__metric-text[_ngcontent-%COMP%]{display:flex;flex-direction:column}.db-card__metric-label[_ngcontent-%COMP%]{font-size:13px;color:#8a8a8f;margin-bottom:2px}.db-card__metric-value[_ngcontent-%COMP%]{font-size:19px;font-weight:500;color:#1d1d1f}.db-card__pill[_ngcontent-%COMP%]{font-size:13px;font-weight:600;padding:3px 9px;border-radius:6px;white-space:nowrap;
2color:#1a8f3c;background:#1a8f3c1f}.db-card__pill.is-down[_ngcontent-%COMP%]{color:#d23b2f;background:#d23b2f1f}.db-card__score[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;margin-top:14px}.db-card__score-label[_ngcontent-%COMP%]{flex:1;font-size:14px;color:#555}.db-card__score-track[_ngcontent-%COMP%]{width:86px;height:6px;border-radius:999px;background:#eceef1;overflow:hidden}.db-card__score-fill[_ngcontent-%COMP%]{display:block;height:100%;border-radius:999px}.db-card__score-num[_ngcontent-%COMP%]{width:26px;text-align:right;font-size:16px;font-weight:600;color:#1d1d1f}@media(max-width:980px){.db-cardgrid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.db-cardgrid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.db-eyebrows[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.db-eyebrow__label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#8a8a8f}.db-eyebrow__icon[_ngcontent-%COMP%]{flex:0 0 14px;width:14px;height:14px;object-fit:contain}.db-eyebrow__value[_ngcontent-%COMP%]{margin-bottom:10px;font-size:34px;font-weight:700;letter-spacing:-1.5px;line-height:1.05;color:#1a1a1a;font-variant-numeric:tabular-nums}.db-eyebrow__desc[_ngcontent-%COMP%]{font-size:13px;line-height:1.45;color:#8a8a8f}@media(max-width:980px){.db-eyebrows[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}.db-kpis[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.db-kpi[_ngcontent-%COMP%]{min-width:0}.db-kpi__value[_ngcontent-%COMP%]{font-size:24px;font-weight:700;line-height:1.1;letter-spacing:-.5px;color:#000}.db-kpi__label[_ngcontent-%COMP%]{margin-top:3px;font-size:14px;color:#8a8a8f}"],changeDetection:0})}}return r})();export{Pe as default};
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.