1import{a as L,c as qe}from"./chunk-TFHCQGNH.js";import{a as Ne,c as Ge,d as Ue,e as je}from"./chunk-UR5J6BCV.js";import{a as Ee,b as Ie,c as De,d as Ae,f as Ve,g as Fe,i as Le,j as $e,l as Ye,m as Be,o as ze,p as He,q as We,r as Ke}from"./chunk-IRVXRWZD.js";import{d as he,e as xe,g as ve}from"./chunk-OASEBQL4.js";import{a as Te}from"./chunk-M2SDBECC.js";import{b as Re}from"./chunk-H3ZOHFO7.js";import{j as we}from"./chunk-CIKJJUSN.js";import"./chunk-RRZRS5BZ.js";import"./chunk-LY7WOQZN.js";import"./chunk-MS4AQ6UA.js";import{b as Se,d as ke}from"./chunk-N7NZ2FMU.js";import{d as Pe,f as Oe}from"./chunk-F2TSTV3I.js";import"./chunk-XRMXGMS4.js";import"./chunk-Q4V6AKYI.js";import"./chunk-T3PLPHIG.js";import{c as F}from"./chunk-2JW6ZMWV.js";import"./chunk-NIP74ZKI.js";import"./chunk-QNUNLKYK.js";import{r as Me}from"./chunk-RE4JJFV5.js";import{k as ce}from"./chunk-COEKBYWO.js";import"./chunk-E2K2LIS4.js";import{a as ye}from"./chunk-KJKRX6VS.js";import"./chunk-2CRWMDGS.js";import{a as Ce,b as fe}from"./chunk-4WMDX4SQ.js";import"./chunk-IQLKO45Z.js";import"./chunk-V6KBZVCY.js";import"./chunk-6FQQM4CE.js";import{a as me,i as _e,j as de}from"./chunk-VTTO24NQ.js";import"./chunk-Y5VOXWTF.js";import{n as se,q as pe}from"./chunk-YWHNFDXQ.js";import{l as be}from"./chunk-FCTHY2PU.js";import"./chunk-DPVJW3LI.js";import"./chunk-GW33KQPR.js";import{T as ue,U as ge}from"./chunk-TUEKBDZZ.js";import"./chunk-RLPOKPIS.js";import"./chunk-TPES7EAS.js";import{G as le,c as oe,h as ae,m as re}from"./chunk-QXJM3TTT.js";import{B as ne,F as ie,k as J,m as X,n as Z,r as ee,x as te}from"./chunk-TMOIAHHX.js";import{Fa as _,Fb as w,Ib as l,Jb as f,Kb as P,Lb as U,Rb as T,Sa as D,Sb as E,Tb as I,Wa as H,Xa as W,ab as s,bb as a,cb as r,cc as j,db as M,dc as $,ga as o,hb as h,ib as x,kb as O,mc as Y,nc as q,o as g,oc as Q,p as C,qb as y,sa as V,tb as p,xb as K,yb as N,za as z,zb as G}from"./chunk-DJNWGYMM.js";import{ea as A,f as B}from"./chunk-VOZAGDK7.js";import"./chunk-E5QWB6YB.js";var Je=n=>({width:n}),Xe=()=>["associationGroup"],Ze=n=>({"grey-100-bg":n});function et(n,c){n&1&&(h(0),a(1,"div",6),l(2,"You do not have permission to view this page."),r(),x())}function tt(n,c){if(n&1&&(a(0,"mat-option",25),l(1),r()),n&2){let e=c.$implicit;s("value",e.value)("hidden",e.group!=="live"),o(),f(e.label)}}function nt(n,c){if(n&1&&(a(0,"mat-option",25),l(1),r()),n&2){let e=c.$implicit;s("value",e.value)("hidden",e.group!=="yearly"),o(),f(e.label)}}function it(n,c){if(n&1&&(a(0,"mat-option",25),l(1),r()),n&2){let e=c.$implicit;s("value",e.value)("hidden",e.group!=="monthly"),o(),f(e.label)}}function ot(n,c){if(n&1&&(a(0,"span",26),l(1),Y(2,"date"),r()),n&2){let e=p(2);o(),P("Last computed: ",Q(2,1,e.data==null?null:e.data.computedAt,"medium"))}}function at(n,c){if(n&1&&(a(0,"span",27),l(1),r()),n&2){let e=p(2);o(),P("YoY vs ",e.data==null?null:e.data.priorPeriodKey)}}function rt(n,c){if(n&1&&(a(0,"mat-option",35),l(1),r()),n&2){let e=c.$implicit;s("value",e),o(),f(e)}}function lt(n,c){if(n&1&&(a(0,"mat-option",35),l(1),r()),n&2){let e=c.$implicit;s("value",e.key),o(),f(e.name)}}function ct(n,c){if(n&1){let e=O();a(0,"button",34),y("click",function(){g(e);let i=p(3);return C(i.clearFilters())}),a(1,"mat-icon"),l(2,"filter_alt_off"),r(),l(3," Clear filters "),r()}}function st(n,c){if(n&1){let e=O();a(0,"div",28)(1,"mat-form-field",29)(2,"mat-label"),l(3,"Associations"),r(),a(4,"mat-select",30),I("valueChange",function(i){g(e);let m=p(2);return E(m.selectedAssociations,i)||(m.selectedAssociations=i),C(i)}),y("selectionChange",function(){g(e);let i=p(2);return C(i.onFiltersChange())}),_(5,rt,2,2,"mat-option",31),r()(),a(6,"mat-form-field",29)(7,"mat-label"),l(8,"Sites"),r(),a(9,"mat-select",30),I("valueChange",function(i){g(e);let m=p(2);return E(m.selectedSites,i)||(m.selectedSites=i),C(i)}),y("selectionChange",function(){g(e);let i=p(2);return C(i.onFiltersChange())}),_(10,lt,2,2,"mat-option",31),r()(),_(11,ct,4,0,"button",32),M(12,"span",33),a(13,"button",17),y("click",function(){g(e);let i=p(2);return C(i.expandAll())}),a(14,"mat-icon"),l(15,"unfold_more"),r(),l(16," Expand all "),r(),a(17,"button",34),y("click",function(){g(e);let i=p(2);return C(i.collapseAll())}),a(18,"mat-icon"),l(19,"unfold_less"),r(),l(20," Collapse all "),r()()}if(n&2){let e=p(2);o(4),T("value",e.selectedAssociations),o(),s("ngForOf",e.associationOptions),o(4),T("value",e.selectedSites),o(),s("ngForOf",e.siteOptions),o(),s("ngIf",e.hasActiveFilters()),o(2),s("disabled",!e.collapsedAssociations.size)}}function pt(n,c){if(n&1){let e=O();a(0,"button",46),y("click",function(){g(e);let i=p().$implicit,m=p(3);return C(m.unpinType(i.key))}),a(1,"mat-icon"),l(2,"close"),r()()}}function mt(n,c){if(n&1&&(h(0),a(1,"span",47),l(2),r(),a(3,"span",48),l(4),r(),x()),n&2){let e=p().$implicit,t=p(3);o(2),f(t.fmtMoney(e.priorAmount)),o(),s("ngClass",t.deltaClass(e.amount,e.priorAmount)),o(),f(t.fmtDelta(e.amount,e.priorAmount))}}function _t(n,c){if(n&1&&(a(0,"div",40),_(1,pt,3,0,"button",41),a(2,"div",42),l(3),r(),a(4,"div",43),l(5),r(),a(6,"div",44)(7,"span",45),l(8),Y(9,"number"),r(),_(10,mt,5,3,"ng-container",4),r()()),n&2){let e=c.$implicit,t=p(3);w("kpi-total",e.key==="__total")("kpi-pinned",e.pinned),o(),s("ngIf",e.pinned),o(),s("title",e.pinned?e.key:e.label),o(),f(e.label),o(2),f(t.fmtMoney(e.amount)),o(3),P("",q(9,10,e.count)," txns"),o(2),s("ngIf",t.hasPriorYear()&&(e.amount||e.priorAmount))}}function dt(n,c){if(n&1&&(a(0,"mat-option",35),l(1),r()),n&2){let e=c.$implicit,t=p(3);s("value",e),o(),f(t.typeLabel(e)===e?e:t.typeLabel(e)+" ("+e+")")}}function ut(n,c){if(n&1){let e=O();a(0,"div",36),_(1,_t,11,12,"div",37),a(2,"div",38)(3,"mat-form-field",39)(4,"mat-label"),l(5,"Pin a payment type"),r(),a(6,"mat-select",9),I("valueChange",function(i){g(e);let m=p(2);return E(m.newPinType,i)||(m.newPinType=i),C(i)}),y("selectionChange",function(){g(e);let i=p(2);return C(i.pinType())}),_(7,dt,2,2,"mat-option",31),r()()()()}if(n&2){let e=p(2);o(),s("ngForOf",e.kpis),o(5),T("value",e.newPinType),o(),s("ngForOf",e.pinnableTypes())}}function gt(n,c){if(n&1){let e=O();a(0,"button",34),y("click",function(){let i=g(e).$implicit,m=p(3);return C(m.toggleCategory(i))}),a(1,"mat-icon"),l(2),r(),l(3),a(4,"span",52),l(5),r()()}if(n&2){let e=c.$implicit;w("cat-on",e.visible)("cat-off",!e.visible),o(2),f(e.visible?"visibility":"visibility_off"),o(),P(" ",e.label," "),o(2),P("(",e.types.length,")")}}function Ct(n,c){if(n&1&&(a(0,"div",49)(1,"span",50),l(2,"Categories:"),r(),_(3,gt,6,7,"button",51),r()),n&2){let e=p(2);o(3),s("ngForOf",e.categories)}}function ft(n,c){if(n&1){let e=O();a(0,"button",89),y("click",function(){g(e);let i=p(3);return C(i.clearFilter())}),a(1,"mat-icon"),l(2,"close"),r()()}}function ht(n,c){n&1&&(a(0,"th",90),l(1,"Site"),r())}function xt(n,c){if(n&1&&(a(0,"td",91)(1,"div",92),l(2),r(),a(3,"div",93),l(4),r()()),n&2){let e=c.$implicit;o(2),f(e.siteName||e.site),o(2),f(e.site)}}function vt(n,c){n&1&&(a(0,"th",90),l(1,"Association"),r())}function yt(n,c){if(n&1&&(a(0,"td",94),l(1),r()),n&2){let e=c.$implicit;o(),f(e.association)}}function bt(n,c){n&1&&(a(0,"th",95),l(1,"#"),r())}function Mt(n,c){if(n&1&&(a(0,"td",96),l(1),r()),n&2){let e=c.$implicit,t=p(3);o(),f(t.rowCountVisible(e)||"")}}
1function Pt(n,c){n&1&&(a(0,"th",95),l(1,"$"),r())}function Ot(n,c){if(n&1&&(h(0),a(1,"div",98)(2,"span",47),l(3),r(),a(4,"span",48),l(5),r()(),x()),n&2){let e=p().$implicit,t=p(3);o(3),f(t.fmtMoney(t.rowPriorTotalVisible(e))),o(),s("ngClass",t.deltaClass(t.rowTotalVisible(e),t.rowPriorTotalVisible(e))),o(),f(t.fmtDelta(t.rowTotalVisible(e),t.rowPriorTotalVisible(e)))}}function St(n,c){if(n&1&&(a(0,"td",97),l(1),_(2,Ot,6,3,"ng-container",4),r()),n&2){let e=c.$implicit,t=p(3);o(),P(" ",t.rowTotalVisible(e)?t.fmtMoney(t.rowTotalVisible(e)):""," "),o(),s("ngIf",t.hasPriorYear()&&(t.rowTotalVisible(e)||t.rowPriorTotalVisible(e)))}}function kt(n,c){if(n&1&&(a(0,"th",102),l(1,"#"),r()),n&2){let e=p().$implicit,t=p(3);w("unmapped",t.isUnmapped(e)),s("title",e)}}function wt(n,c){if(n&1&&(a(0,"td",103),l(1),r()),n&2){let e=c.$implicit,t=p().$implicit,i=p(3);w("zero",i.count(e,t)===0),o(),P(" ",i.count(e,t)||""," ")}}function Rt(n,c){if(n&1&&(h(0,99),_(1,kt,2,3,"th",100)(2,wt,2,3,"td",101),x()),n&2){let e=c.$implicit;s("matColumnDef",e+"__count")}}function Tt(n,c){if(n&1&&(a(0,"th",102),l(1,"$"),r()),n&2){let e=p().$implicit,t=p(3);w("unmapped",t.isUnmapped(e)),s("title",e)}}function Et(n,c){if(n&1&&(h(0),a(1,"div",98)(2,"span",47),l(3),r(),a(4,"span",48),l(5),r()(),x()),n&2){let e=p().$implicit,t=p().$implicit,i=p(3);o(3),f(i.fmtMoney(i.priorAmount(e,t))),o(),s("ngClass",i.deltaClass(i.amount(e,t),i.priorAmount(e,t))),o(),f(i.fmtDelta(i.amount(e,t),i.priorAmount(e,t)))}}function It(n,c){if(n&1&&(a(0,"td",105),l(1),_(2,Et,6,3,"ng-container",4),r()),n&2){let e=c.$implicit,t=p().$implicit,i=p(3);w("zero",i.amount(e,t)===0),o(),P(" ",i.amount(e,t)?i.fmtMoney(i.amount(e,t)):""," "),o(),s("ngIf",i.hasPriorYear()&&(i.amount(e,t)||i.priorAmount(e,t)))}}function Dt(n,c){if(n&1&&(h(0,99),_(1,Tt,2,3,"th",100)(2,It,3,4,"td",104),x()),n&2){let e=c.$implicit;s("matColumnDef",e+"__amount")}}function At(n,c){n&1&&M(0,"th",90)}function Vt(n,c){n&1&&M(0,"th",90)}function Ft(n,c){n&1&&(a(0,"th",106),l(1,"Total"),r()),n&2&&D("colspan",2)}function Lt(n,c){if(n&1&&(a(0,"th",108),l(1),r()),n&2){let e=p().$implicit;w("cat-unmapped",e.key==="unmapped"),D("colspan",e.types.length*2),o(),P(" ",e.label," ")}}function $t(n,c){if(n&1&&(h(0,99),_(1,Lt,2,4,"th",107),x()),n&2){let e=c.$implicit;s("matColumnDef","hdr_cat_"+e.key)}}function Yt(n,c){n&1&&M(0,"th",90)}function Bt(n,c){n&1&&M(0,"th",90)}function zt(n,c){n&1&&M(0,"th",106),n&2&&D("colspan",2)}function Ht(n,c){n&1&&(a(0,"span",112),l(1,"!"),r())}function Wt(n,c){if(n&1&&(a(0,"th",110),l(1),_(2,Ht,2,0,"span",111),r()),n&2){let e=p().$implicit,t=p(3);w("unmapped",t.isUnmapped(e)),s("title",e),D("colspan",2),o(),P(" ",t.typeLabel(e)),o(),s("ngIf",t.isUnmapped(e))}}function Kt(n,c){if(n&1&&(h(0,99),_(1,Wt,3,6,"th",109),x()),n&2){let e=c.$implicit;s("matColumnDef","mid_"+e)}}function Nt(n,c){if(n&1&&(a(0,"span",116),l(1," \xB7 YoY "),a(2,"span",47),l(3),r(),a(4,"span",48),l(5),r()()),n&2){let e=p().$implicit,t=p(3);o(3),f(t.fmtMoney(e.priorGroupAmount)),o(),s("ngClass",t.deltaClass(e.groupAmount,e.priorGroupAmount)),o(),f(t.fmtDelta(e.groupAmount,e.priorGroupAmount))}}function Gt(n,c){if(n&1){let e=O();a(0,"td",113),y("click",function(){let i=g(e).$implicit,m=p(3);return C(m.toggleAssociationCollapse(i.association))}),a(1,"div",114)(2,"mat-icon",115),l(3),r(),a(4,"strong"),l(5),r(),a(6,"span",116),l(7),r(),a(8,"span",116),l(9,"\xB7 Total "),a(10,"strong"),l(11),r()(),a(12,"span",116),l(13),r(),_(14,Nt,6,3,"span",117),r()()}if(n&2){let e=c.$implicit,t=p(3);D("colspan",t.displayedColumns.length),o(3),f(t.isCollapsed(e.association)?"chevron_right":"expand_more"),o(2),f(e.association),o(2),U("\xB7 ",e.siteCount," site",e.siteCount===1?"":"s"),o(4),f(t.fmtMoney(e.groupAmount)),o(2),P("\xB7 ",e.groupCount," transactions"),o(),s("ngIf",t.hasPriorYear()&&(e.priorGroupAmount||e.groupAmount))}}function Ut(n,c){n&1&&M(0,"tr",118)}function jt(n,c){n&1&&M(0,"tr",119)}function qt(n,c){n&1&&M(0,"tr",120)}function Qt(n,c){n&1&&M(0,"tr",121)}function Jt(n,c){if(n&1&&M(0,"tr",122),n&2){let e=c.index;s("ngClass",$(1,Ze,e%2))}}function Xt(n,c){if(n&1&&(a(0,"tr",123)(1,"td",124),l(2,"No snapshot data yet. Click "),a(3,"strong"),l(4,"Recompute"),r(),l(5," for MTD/YTD, or "),a(6,"strong"),l(7,"Backfill"),r(),l(8," to populate historical months/years."),r()()),n&2){let e=p(3);
1o(),D("colspan",e.displayedColumns.length||1)}}function Zt(n,c){if(n&1&&(a(0,"span",125),l(1),r()),n&2){let e=p(3);o(),P("Rows: ",e.dataSource.data.length)}}function en(n,c){if(n&1){let e=O();a(0,"div",53)(1,"div",54)(2,"div",55)(3,"mat-icon",56),l(4,"search"),r(),a(5,"input",57),I("ngModelChange",function(i){g(e);let m=p(2);return E(m.searchInput,i)||(m.searchInput=i),C(i)}),y("keyup",function(){g(e);let i=p(2);return C(i.applyFilter())}),r(),H(6,ft,3,0,"button",58),r()(),a(7,"div",59)(8,"table",60),h(9,61),_(10,ht,2,0,"th",62)(11,xt,5,2,"td",63),x(),h(12,64),_(13,vt,2,0,"th",62)(14,yt,2,1,"td",65),x(),h(15,66),_(16,bt,2,0,"th",67)(17,Mt,2,1,"td",68),x(),h(18,69),_(19,Pt,2,0,"th",67)(20,St,3,2,"td",70),x(),_(21,Rt,3,1,"ng-container",71)(22,Dt,3,1,"ng-container",71),h(23,72),_(24,At,1,0,"th",62),x(),h(25,73),_(26,Vt,1,0,"th",62),x(),h(27,74),_(28,Ft,2,1,"th",75),x(),_(29,$t,2,1,"ng-container",71),h(30,76),_(31,Yt,1,0,"th",62),x(),h(32,77),_(33,Bt,1,0,"th",62),x(),h(34,78),_(35,zt,1,1,"th",75),x(),_(36,Kt,2,1,"ng-container",71),h(37,79),_(38,Gt,15,8,"td",80),x(),_(39,Ut,1,0,"tr",81)(40,jt,1,0,"tr",82)(41,qt,1,0,"tr",83)(42,Qt,1,0,"tr",84)(43,Jt,1,3,"tr",85)(44,Xt,9,1,"tr",86),r()(),a(45,"div",87),_(46,Zt,2,1,"span",88),r()()}if(n&2){let e=p(2);o(5),T("ngModel",e.searchInput),o(),W(e.searchInput?6:-1),o(2),s("dataSource",e.dataSource)("trackBy",e.trackRow),o(),s("sticky",!e.isMobile),o(3),s("sticky",!e.isMobile),o(9),s("ngForOf",e.visibleColumns),o(),s("ngForOf",e.visibleColumns),o(),s("sticky",!e.isMobile),o(2),s("sticky",!e.isMobile),o(4),s("ngForOf",e.categories),o(),s("sticky",!e.isMobile),o(2),s("sticky",!e.isMobile),o(4),s("ngForOf",e.visibleColumns),o(3),s("matHeaderRowDef",e.topHeaderColumns)("matHeaderRowDefSticky",!0),o(),s("matHeaderRowDef",e.midHeaderColumns)("matHeaderRowDefSticky",!0),o(),s("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",!0),o(),s("matRowDefColumns",j(25,Xe))("matRowDefWhen",e.isGroupRow),o(),s("matRowDefColumns",e.displayedColumns)("matRowDefWhen",e.isSiteRow),o(3),s("ngIf",e.dataSource.data.length>0)}}function tn(n,c){if(n&1){let e=O();h(0),a(1,"div",7)(2,"mat-form-field",8)(3,"mat-label"),l(4,"Period"),r(),a(5,"mat-select",9),I("valueChange",function(i){g(e);let m=p();return E(m.selectedPeriod,i)||(m.selectedPeriod=i),C(i)}),y("selectionChange",function(){g(e);let i=p();return C(i.onPeriodChange())}),a(6,"mat-optgroup",10),_(7,tt,2,3,"mat-option",11),r(),a(8,"mat-optgroup",12),_(9,nt,2,3,"mat-option",11),r(),a(10,"mat-optgroup",13),_(11,it,2,3,"mat-option",11),r()()(),a(12,"div",14),_(13,ot,3,4,"span",15)(14,at,2,1,"span",16),a(15,"button",17),y("click",function(){g(e);let i=p();return C(i.openBackfill())}),a(16,"mat-icon"),l(17,"history"),r(),l(18," Backfill "),r(),a(19,"button",18),y("click",function(){g(e);let i=p();return C(i.runSnapshot())}),a(20,"mat-icon"),l(21,"refresh"),r(),l(22," Recompute "),r()()(),_(23,st,21,6,"div",19)(24,ut,8,3,"div",20)(25,Ct,4,1,"div",21),a(26,"mat-tab-group",22)(27,"mat-tab",23),_(28,en,47,26,"ng-template",24),r()(),x()}if(n&2){let e=p();o(5),T("value",e.selectedPeriod),o(2),s("ngForOf",e.periodChoices),o(2),s("ngForOf",e.periodChoices),o(2),s("ngForOf",e.periodChoices),o(2),s("ngIf",e.data==null?null:e.data.computedAt),o(),s("ngIf",e.hasPriorYear()),o(),s("disabled",e.loading),o(4),s("disabled",e.loading),o(4),s("ngIf",e.data),o(),s("ngIf",e.kpis.length),o(),s("ngIf",e.categories.length)}}function nn(n,c){if(n&1){let e=O();a(0,"div",126),y("click",function(){g(e);let i=p();return C(i.closeBackfill())}),a(1,"div",127),y("click",function(i){return g(e),C(i.stopPropagation())}),a(2,"h2"),l(3,"Backfill Historical Snapshots"),r(),a(4,"p"),l(5," Writes finalized monthly and yearly snapshots for every site over the date range below. Only closed periods (before this month / year) are written; the current period is left to MTD/YTD. "),r(),a(6,"div",128)(7,"mat-form-field",39)(8,"mat-label"),l(9,"Start (YYYY-MM)"),r(),a(10,"input",129),I("ngModelChange",function(i){g(e);let m=p();return E(m.backfillStart,i)||(m.backfillStart=i),C(i)}),r()(),a(11,"mat-form-field",39)(12,"mat-label"),l(13,"End (YYYY-MM)"),r(),a(14,"input",130),I("ngModelChange",function(i){g(e);let m=p();return E(m.backfillEnd,i)||(m.backfillEnd=i),C(i)}
1),r()()(),a(15,"p",131)(16,"mat-icon"),l(17,"info"),r(),l(18," This runs synchronously \u2014 for a long range across many sites it can take several minutes. Don't close the tab. "),r(),a(19,"div",132)(20,"button",17),y("click",function(){g(e);let i=p();return C(i.closeBackfill())}),l(21,"Cancel"),r(),a(22,"button",133),y("click",function(){g(e);let i=p();return C(i.runBackfill())}),l(23,"Run backfill"),r()()()()}if(n&2){let e=p();o(10),T("ngModel",e.backfillStart),o(4),T("ngModel",e.backfillEnd),o(6),s("disabled",e.loading),o(2),s("disabled",e.loading)}}var on=[{key:"registration",label:"Registration Fees",types:["bulkIndvReg","bulkTeamReg","teamRegFee","indvRegistration","irHQ","irState"]},{key:"entry",label:"Entry Fees",types:["entryFee","eventEntry","indvEntryAddon","teamEntryAddon","indvEventEntry","indvLeagueEntry"]},{key:"umpire",label:"Umpire Fees",types:["umpireRegistration","umpireRegistrationWithBGCheck"]},{key:"youth1st",label:"Youth1st Fees",types:["youth1stAccreditation","Youth1stEnvFee"]},{key:"schedule",label:"Event Schedule",types:["EventSchedule_league","EventSchedule_tournament","EventSchedule"]},{key:"siteFees",label:"Site Fees",types:["siteSubscription"]},{key:"rp",label:"RP Fees",types:["aiLogoGeneratorExtraAttemptFee","aiLogoGeneratorPurchase","guestPlayerListingFee","teamPlusFee"]},{key:"shop",label:"Shop",types:["shopOrder","shopLabel"]},{key:"misc",label:"Misc Fees",types:["notHostingGameCharge","qualifierFee","guestPlayerInviteCharge","clubDue","ace","backgroundCheck"]}],an={EventSchedule_league:"League",EventSchedule_tournament:"Weekend Tournament",EventSchedule:"Unsplit (legacy)"},Qe="siteRevenueCrm.pinnedKpiTypes",$n=(()=>{class n{api;notify;ngxLoader;_fuseConfigService;loading=!1;data=null;categories=[];visibleColumns=[];displayedColumns=[];topHeaderColumns=[];midHeaderColumns=[];searchInput="";fuseConfig;isMobile=!1;personaRegply=!1;periodChoices=[];selectedPeriod="mtd:current";backfillStart="";backfillEnd="";showBackfill=!1;associationOptions=[];siteOptions=[];selectedAssociations=[];selectedSites=[];collapsedAssociations=new Set;kpis=[];pinnedTypes=[];newPinType="";dataSource=new Ke([]);set sort(e){this.dataSource&&(this.dataSource.sort=e)}_unsubscribeAll=new B;constructor(e,t,i,m){this.api=e,this.notify=t,this.ngxLoader=i,this._fuseConfigService=m}ngOnInit(){this._fuseConfigService.config.pipe(A(this._unsubscribeAll)).subscribe(e=>{this.fuseConfig=e});try{let e=JSON.parse(localStorage.getItem("person")||"{}")?.persona||{};this.personaRegply=e.regply===!0}catch{this.personaRegply=!1}try{this.pinnedTypes=JSON.parse(localStorage.getItem(Qe)||"[]")}catch{this.pinnedTypes=[]}this.personaRegply&&(this.loadAvailablePeriods(),this.loadPeriod())}ngAfterViewInit(){this.dataSource.filterPredicate=(e,t)=>{let i=(t||"").trim().toLowerCase();return i?e.kind==="group"?(e.association||"").toLowerCase().includes(i):(e.siteName||"").toLowerCase().includes(i)||(e.site||"").toLowerCase().includes(i)||(e.association||"").toLowerCase().includes(i):!0}}ngOnDestroy(){this._unsubscribeAll.next(),this._unsubscribeAll.complete()}loadAvailablePeriods(){this.api.get("SiteCRM/siteRevenue/periods",!0).pipe(A(this._unsubscribeAll)).subscribe({next:e=>{this.periodChoices=this.buildPeriodChoices(e||[])},error:()=>{}})}buildPeriodChoices(e){let t=[{value:"mtd:current",label:"Month to Date",periodType:"mtd",periodKey:"current",group:"live"},{value:"ytd:current",label:"Year to Date",periodType:"ytd",periodKey:"current",group:"live"}],i=e.filter(d=>d.periodType==="yearly").sort((d,u)=>u.periodKey.localeCompare(d.periodKey)),m=e.filter(d=>d.periodType==="monthly").sort((d,u)=>u.periodKey.localeCompare(d.periodKey));for(let d of i)t.push({value:`yearly:${d.periodKey}`,label:`Year ${d.periodKey}`,periodType:"yearly",periodKey:d.periodKey,group:"yearly"});for(let d of m)t.push({value:`monthly:${d.periodKey}`,label:`Month ${d.periodKey}`,periodType:"monthly",periodKey:d.periodKey,group:"monthly"});return t}onPeriodChange(){this.loadPeriod()}loadPeriod(){let e=this.periodChoices.find(t=>t.value===this.selectedPeriod)||{periodType:"mtd",periodKey:"current"};this.loading=!0,this.ngxLoader.startLoader("loader-site-revenue-crm"),this.api.get(`SiteCRM/siteRevenue/period/${e.periodType}/${e.periodKey}`,!0).pipe(A(this._unsubscribeAll)).subscribe({next:t=>{this.data=t,this.categories=this.buildCategories(this.data),this.rebuildColumns(),this.buildFilterOptions(),this.refresh(),this.loading=!1,this.ngxLoader.stopLoader("loader-site-revenue-crm")},error:t=>{this.loading=!1,this.ngxLoader.stopLoader("loader-site-revenue-crm"),this.notify.openAlertModal("Failed to load: "+(t?.error||t?.message||""),F.ERROR)}})}runSnapshot(){this.loading=!0,this.ngxLoader.startLoader("loader-site-revenue-crm"),this.api.post("SiteCRM/siteRevenue/runSnapshot",{},!0).pipe(A(this._unsubscribeAll)).subscribe({next:e=>{let t=e?.summary,i=t?`Snapshot recomputed \u2014 ${t.sitesProcessed} sites updated`:"Snapshot recomputed";this.notify.openToaster(i),this.loadPeriod()},error:e=>{this.loading=!1,this.ngxLoader.stopLoader("loader-site-revenue-crm");let t=e?.error,i=t?.summary,m=i?`${i.sitesFailed} of ${i.sitesProcessed+i.sitesFailed} sites failed. First error: ${i.firstError}`:typeof t=="string"?t:e?.message||"Unknown error";this.notify.openAlertModal("Snapshot failed: "+m,F.ERROR)}})}openBackfill(){let e=new Date;this.backfillEnd||(this.backfillEnd=`${e.getFullYear()}
1-${String(e.getMonth()+1).padStart(2,"0")}`),this.backfillStart||(this.backfillStart=`${e.getFullYear()-2}-01`),this.showBackfill=!0}closeBackfill(){this.showBackfill=!1}runBackfill(){if(!/^\d{4}-\d{2}$/.test(this.backfillStart)||!/^\d{4}-\d{2}$/.test(this.backfillEnd)){this.notify.openAlertModal("Enter dates in YYYY-MM format",F.ERROR);return}this.loading=!0,this.ngxLoader.startLoader("loader-site-revenue-crm"),this.api.post("SiteCRM/siteRevenue/backfill",{startYearMonth:this.backfillStart,endYearMonth:this.backfillEnd},!0).pipe(A(this._unsubscribeAll)).subscribe({next:e=>{let t=e?.summary;this.notify.openToaster(`Backfill done \u2014 ${t?.sitesProcessed} sites \xB7 ${t?.monthsProcessed} months \xB7 ${t?.yearsProcessed} years`),this.showBackfill=!1,this.loadAvailablePeriods(),this.loadPeriod()},error:e=>{this.loading=!1,this.ngxLoader.stopLoader("loader-site-revenue-crm");let t=e?.error;this.notify.openAlertModal("Backfill failed: "+(typeof t=="string"?t:t?.summary?.failures?.[0]||e?.message||""),F.ERROR)}})}toggleCategory(e){e.visible=!e.visible,this.rebuildColumns(),this.refresh()}applyFilter(){this.dataSource.filter=this.searchInput||""}clearFilter(){this.searchInput="",this.applyFilter()}buildFilterOptions(){let e=this.data?.rows||[];this.associationOptions=[...new Set(e.map(i=>i.association||"\u2014"))].sort((i,m)=>i.localeCompare(m)),this.siteOptions=e.map(i=>({key:i.site,name:i.siteName||i.site})).sort((i,m)=>i.name.localeCompare(m.name)),this.selectedAssociations=this.selectedAssociations.filter(i=>this.associationOptions.includes(i));let t=new Set(this.siteOptions.map(i=>i.key));this.selectedSites=this.selectedSites.filter(i=>t.has(i))}onFiltersChange(){this.refresh()}clearFilters(){this.selectedAssociations=[],this.selectedSites=[],this.refresh()}hasActiveFilters(){return this.selectedAssociations.length>0||this.selectedSites.length>0}filteredRows(){return(this.data?.rows||[]).filter(t=>(!this.selectedAssociations.length||this.selectedAssociations.includes(t.association||"\u2014"))&&(!this.selectedSites.length||this.selectedSites.includes(t.site)))}refresh(){this.data&&(this.dataSource.data=this.flatten(this.filteredRows()),this.computeKpis())}toggleAssociationCollapse(e){this.collapsedAssociations.has(e)?this.collapsedAssociations.delete(e):this.collapsedAssociations.add(e),this.refresh()}collapseAll(){for(let e of this.associationOptions)this.collapsedAssociations.add(e);this.refresh()}expandAll(){this.collapsedAssociations.clear(),this.refresh()}isCollapsed(e){return this.collapsedAssociations.has(e)}computeKpis(){let e=this.filteredRows(),t=[],i=0,m=0,d=0;for(let u of e)i+=u.current?.totalAmount||0,m+=u.current?.totalCount||0,d+=u.priorYear?.totalAmount||0;t.push({key:"__total",label:"RP Revenue",amount:i,count:m,priorAmount:d});for(let u of this.categories){let v=0,S=0,R=0;for(let b of e)for(let k of u.types)v+=b.current?.amounts?.[k]||0,S+=b.current?.counts?.[k]||0,R+=b.priorYear?.amounts?.[k]||0;t.push({key:u.key,label:u.label,amount:v,count:S,priorAmount:R})}for(let u of this.pinnedTypes){let v=0,S=0,R=0;for(let b of e)v+=b.current?.amounts?.[u]||0,S+=b.current?.counts?.[u]||0,R+=b.priorYear?.amounts?.[u]||0;t.push({key:u,label:this.typeLabel(u),amount:v,count:S,priorAmount:R,pinned:!0})}this.kpis=t}pinnableTypes(){let e=new Set;for(let t of this.categories)for(let i of t.types)e.add(i);return[...e].filter(t=>!this.pinnedTypes.includes(t)).sort()}pinType(){!this.newPinType||this.pinnedTypes.includes(this.newPinType)||(this.pinnedTypes.push(this.newPinType),this.newPinType="",this.savePins(),this.computeKpis())}unpinType(e){this.pinnedTypes=this.pinnedTypes.filter(t=>t!==e),this.savePins(),this.computeKpis()}savePins(){try{localStorage.setItem(Qe,JSON.stringify(this.pinnedTypes))}catch{}}buildCategories(e){let t=new Set,i=[];for(let v of on){i.push({key:v.key,label:v.label,types:[...v.types],visible:!0});for(let S of v.types)t.add(S)}let d=[...new Set(e.knownPaymentTypes||[])].filter(v=>!t.has(v)).sort();if(d.length){i.push({key:"otherKnown",label:"Other",types:d,visible:!0});for(let v of d)t.add(v)}let u=[...e.unmappedTypes||[]].filter(v=>!t.has(v)).sort();return u.length&&i.push({key:"unmapped",label:"Unmapped (needs enum)",types:u,visible:!0}),i}rebuildColumns(){this.visibleColumns=[];for(let m of this.categories)m.visible&&this.visibleColumns.push(...m.types);let e=["site","association","totalCount","totalAmount"];
1for(let m of this.visibleColumns)e.push(`${m}__count`),e.push(`${m}__amount`);this.displayedColumns=e;let t=["hdr_site","hdr_association","hdr_totals"];for(let m of this.categories)m.visible&&t.push(`hdr_cat_${m.key}`);this.topHeaderColumns=t;let i=["mid_site","mid_association","mid_totals"];for(let m of this.visibleColumns)i.push(`mid_${m}`);this.midHeaderColumns=i}flatten(e){let t=new Map;for(let d of e){let u=d.association||"\u2014";t.has(u)||t.set(u,[]),t.get(u).push(d)}let i=[...t.keys()].sort((d,u)=>d.localeCompare(u)),m=[];for(let d of i){let u=t.get(d).sort((b,k)=>(b.siteName||b.site).localeCompare(k.siteName||k.site)),v=0,S=0,R=0;for(let b of u)for(let k of this.visibleColumns)v+=b.current?.counts?.[k]||0,S+=b.current?.amounts?.[k]||0,R+=b.priorYear?.amounts?.[k]||0;if(m.push({kind:"group",association:d,siteCount:u.length,groupCount:v,groupAmount:S,priorGroupAmount:R}),!this.collapsedAssociations.has(d))for(let b of u)m.push({kind:"site",association:d,site:b.site,siteName:b.siteName,data:b})}return m}isGroupRow=(e,t)=>t.kind==="group";isSiteRow=(e,t)=>t.kind==="site";count(e,t){return e.data?.current?.counts?.[t]||0}amount(e,t){return e.data?.current?.amounts?.[t]||0}priorAmount(e,t){return e.data?.priorYear?.amounts?.[t]||0}rowTotalVisible(e){if(!e.data?.current)return 0;let t=0;for(let i of this.visibleColumns)t+=e.data.current.amounts?.[i]||0;return t}rowCountVisible(e){if(!e.data?.current)return 0;let t=0;for(let i of this.visibleColumns)t+=e.data.current.counts?.[i]||0;return t}rowPriorTotalVisible(e){if(!e.data?.priorYear)return 0;let t=0;for(let i of this.visibleColumns)t+=e.data.priorYear.amounts?.[i]||0;return t}deltaPct(e,t){return t?(e-t)/t*100:null}deltaClass(e,t){let i=this.deltaPct(e,t);return i===null?"":i>0?"delta-pos":i<0?"delta-neg":"delta-flat"}fmtDelta(e,t){let i=this.deltaPct(e,t);return i===null?"":`${i>0?"+":""}${i.toFixed(0)}%`}hasPriorYear(){return!!this.data?.priorPeriodKey}isUnmapped(e){return(this.data?.unmappedTypes||[]).includes(e)}typeLabel(e){return an[e]||e}fmtMoney(e){return"$"+((e||0)/100).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}trackRow=(e,t)=>t.kind==="group"?`g:${t.association}`:`s:${t.site}`;static \u0275fac=function(t){return new(t||n)(V(ye),V(Me),V(he),V(be))};static \u0275cmp=z({type:n,selectors:[["site-revenue-crm"]],viewQuery:function(t,i){if(t&1&&K(L,5),t&2){let m;N(m=G())&&(i.sort=m.first)}},decls:7,vars:9,consts:[["id","siteRevenueCrm","fusePerfectScrollbar","",1,"page-layout","simple","fullwidth"],["loaderId","loader-site-revenue-crm",3,"fgsSize"],[3,"title","hideBanner"],[1,"content","p-24","mx-auto",2,"min-height","800px",3,"ngStyle"],[4,"ngIf"],["class","backfill-overlay",3,"click",4,"ngIf"],[1,"permission-denied","py-24","text-center"],[1,"toolbar"],["appearance","outline",1,"period-select"],[3,"valueChange","selectionChange","value"],["label","Live"],[3,"value","hidden",4,"ngFor","ngForOf"],["label","Yearly"],["label","Monthly"],[1,"actions"],["class","computed-at",4,"ngIf"],["class","yoy-label",4,"ngIf"],["mat-stroked-button","",3,"click","disabled"],["mat-stroked-button","","color","primary",3,"click","disabled"],["class","filters-row",4,"ngIf"],["class","kpi-strip",4,"ngIf"],["class","category-toggles",4,"ngIf"],[1,"py-8","my-12"],["label","List View"],["matTabContent",""],[3,"value","hidden"],[1,"computed-at"],[1,"yoy-label"],[1,"filters-row"],["appearance","outline",1,"filter-select"],["multiple","",3,"valueChange","selectionChange","value"],[3,"value",4,"ngFor","ngForOf"],["mat-stroked-button","",3,"click",4,"ngIf"],[1,"spacer"],["mat-stroked-button","",3,"click"],[3,"value"],[1,"kpi-strip"],["class","kpi-card",3,"kpi-total","kpi-pinned",4,"ngFor","ngForOf"],[1,"kpi-add"],["appearance","outline"],[1,"kpi-card"],["class","kpi-remove","title","Remove card",3,"click",4,"ngIf"],[1,"kpi-label",3,"title"],[1,"kpi-amount"],[1,"kpi-sub"],[1,"kpi-count"],["title","Remove card",1,"kpi-remove",3,"click"],[1,"prior"],[1,"delta",3,"ngClass"],[1,"category-toggles"],[1,"label"],["mat-stroked-button","",3,"cat-on","cat-off","click",4,"ngFor","ngForOf"],[1,"cat-count"],[1,"w-100-p","mt-12","mb-100"],[1,"quick-search-toolbar__actions","mt-4"],[1,"quick-search","quick-search--desktop"],[1,"quick-search__icon"],["type","search","placeholder","Quick Search","name","crmQuickSearch",1,"quick-search__input",3,"ngModelChange","keyup","ngModel"],["type","button","aria-label","Clear search",1,"quick-search__clear"],[1,"table-responsive"],["mat-table","","recycleRows","","matSort","","multiTemplateDataRows","",1,"my-4","mat-elevation-z1","border-separate","table-bordered","site-revenue-table",3,"dataSource","trackBy"],["matColumnDef","site",3,"sticky"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","class","nowrap site-cell",4,"matCellDef"],["matColumnDef","association",3,"sticky"],["mat-cell","","class","nowrap",4,"matCellDef"],["matColumnDef","totalCount"],["mat-header-cell","","class","center",4,"matHeaderCellDef"],["mat-cell","","class","text-center bold",4,"matCellDef"],["matColumnDef","totalAmount"],["mat-cell","","class","text-right bold total-amt","style","padding-right:12px !important",4,"matCellDef"],[3,"matColumnDef",4,"ngFor","ngForOf"],["matColumnDef","hdr_site",3,"sticky"],["matColumnDef","hdr_association",3,"sticky"],["matColumnDef","hdr_totals"],["mat-header-cell","","class","text-center",4,"matHeaderCellDef"],["matColumnDef","mid_site",3,"sticky"],["matColumnDef","mid_association",3,"sticky"],["matColumnDef","mid_totals"],["matColumnDef","associationGroup"],["mat-cell","","class","association-group-cell clickable",3,"click",4,"matCellDef"],["mat-header-row","","class","blue-100 bold",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-header-row","","class","blue-75 bold",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-header-row","","class","blue-50 bold",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","","class","association-group-row",4,"matRowDef","matRowDefColumns","matRowDefWhen"],["mat-row","",3,"ngClass",4,"matRowDef","matRowDefColumns","matRowDefWhen"],["class","mat-row",4,"matNoDataRow"],[2,"display","flex","justify-content","space-between","align-items","center"],["class","bold",4,"ngIf"],["type","button","aria-label","Clear search",1,"quick-search__clear",3,"click"],["mat-header-cell",""],["mat-cell","",1,"nowrap","site-cell"],[1,"site-name"],[1,"site-key"],["mat-cell","",1,"nowrap"],["mat-header-cell","",1,"center"],["mat-cell","",1,"text-center","bold"],["mat-cell","",1,"text-right","bold","total-amt",2,"padding-right","12px !important"],[1,"cell-yoy"],[3,"matColumnDef"],["mat-header-cell","","class","center",3,"unmapped","title",4,"matHeaderCellDef"],["mat-cell","","class","text-center",3,"zero",4,"matCellDef"],["mat-header-cell","",1,"center",3,"title"],["mat-cell","",1,"text-center"],["mat-cell","","class","text-right",3,"zero",4,"matCellDef"],["mat-cell","",1,"text-right"],["mat-header-cell","",1,"text-center"],["mat-header-cell","","class","text-center category-header",3,"cat-unmapped",4,"matHeaderCellDef"],["mat-header-cell","",1,"text-center","category-header"],["mat-header-cell","","class","text-center type-header",3,"unmapped","title",4,"matHeaderCellDef"],["mat-header-cell","",1,"text-center","type-header",3,"title"],["class","unmapped-flag","title","Not in PaymentType enum",4,"ngIf"],["title","Not in PaymentType enum",1,"unmapped-flag"],["mat-cell","",1,"association-group-cell","clickable",3,"click"],[1,"group-inner"],[1,"collapse-chevron"],[1,"meta"],["class","meta",4,"ngIf"],["mat-header-row","",1,"blue-100","bold"],["mat-header-row","",1,"blue-75","bold"],["mat-header-row","",1,"blue-50","bold"],["mat-row","",1,"association-group-row"],["mat-row","",3,"ngClass"],[1,"mat-row"],[1,"mat-cell"],[1,"bold"],[1,"backfill-overlay",3,"click"],[1,"backfill-dialog",3,"click"],[1,"bf-fields"],["matInput","","placeholder","2024-01",3,"ngModelChange","ngModel"],["matInput","","placeholder","2026-05",3,"ngModelChange","ngModel"],[1,"bf-warning"],[1,"bf-actions"],["mat-flat-button","","color","primary",3,"click","disabled"]],template:function(t,i){t&1&&(a(0,"div",0),M(1,"ngx-ui-loader",1)(2,"page-header",2),a(3,"div",3),_(4,et,3,0,"ng-container",4)(5,tn,29,11,"ng-container",4),r(),_(6,nn,24,4,"div",5),r()),t&2&&(o(),s("fgsSize",75),o(),s("title","Site Revenue CRM")("hideBanner",!0),o(),s("ngStyle",$(7,Je,i.fuseConfig!=null&&i.fuseConfig.pageWidth&&!i.isMobile?(i.fuseConfig==null?null:i.fuseConfig.pageWidth)+"%":"100%")),o(),s("ngIf",!i.personaRegply),o(),s("ngIf",i.personaRegply),o(),s("ngIf",i.showBackfill))}
1,dependencies:[ie,J,X,Z,ee,le,oe,ae,re,ve,xe,pe,se,ge,ue,je,Ne,Ge,Ue,We,Ie,Ee,Ae,$e,Ve,De,Ye,Fe,Le,Be,ze,He,qe,L,de,_e,me,fe,Ce,ke,Se,Oe,Pe,we,ce,Te,Re,ne,te],styles:["#siteRevenueCrm[_ngcontent-%COMP%] .center[_ngcontent-%COMP%] .mat-sort-header-container[_ngcontent-%COMP%]{justify-content:center!important}#siteRevenueCrm[_ngcontent-%COMP%] .center[_ngcontent-%COMP%] .mat-mdc-header-cell[_ngcontent-%COMP%]{text-align:center!important;padding:0 5px}#siteRevenueCrm[_ngcontent-%COMP%] .center[_ngcontent-%COMP%]{text-align:center!important}#siteRevenueCrm[_ngcontent-%COMP%] .text-right[_ngcontent-%COMP%]{text-align:right!important}#siteRevenueCrm[_ngcontent-%COMP%] .nowrap[_ngcontent-%COMP%]{white-space:nowrap}#siteRevenueCrm[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}#siteRevenueCrm[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .period-select[_ngcontent-%COMP%]{min-width:220px}#siteRevenueCrm[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .period-select[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper{display:none}#siteRevenueCrm[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}#siteRevenueCrm[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .computed-at[_ngcontent-%COMP%]{color:#666;font-size:12px}#siteRevenueCrm[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .yoy-label[_ngcontent-%COMP%]{color:#555;font-size:12px;font-weight:500;padding:2px 8px;background:#eef5ff;border-radius:3px}#siteRevenueCrm[_ngcontent-%COMP%] .cell-yoy[_ngcontent-%COMP%]{margin-top:2px;font-size:10px;font-weight:400;line-height:1.2}#siteRevenueCrm[_ngcontent-%COMP%] .cell-yoy[_ngcontent-%COMP%] .prior[_ngcontent-%COMP%]{color:#999;margin-right:4px}#siteRevenueCrm[_ngcontent-%COMP%] .cell-yoy[_ngcontent-%COMP%] .delta[_ngcontent-%COMP%]{display:inline-block;padding:0 4px;border-radius:2px}#siteRevenueCrm[_ngcontent-%COMP%] .cell-yoy[_ngcontent-%COMP%] .delta.delta-pos[_ngcontent-%COMP%]{background:#e6f4ea;color:#1b873a}#siteRevenueCrm[_ngcontent-%COMP%] .cell-yoy[_ngcontent-%COMP%] .delta.delta-neg[_ngcontent-%COMP%]{background:#fdecea;color:#c62828}#siteRevenueCrm[_ngcontent-%COMP%] .cell-yoy[_ngcontent-%COMP%] .delta.delta-flat[_ngcontent-%COMP%]{background:#eee;color:#666}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-overlay[_ngcontent-%COMP%]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-dialog[_ngcontent-%COMP%]{background:#fff;border-radius:6px;padding:24px;width:480px;max-width:90vw;box-shadow:0 8px 32px #0000004d}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-dialog[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 8px}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-dialog[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#555;font-size:13px}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-dialog[_ngcontent-%COMP%] .bf-fields[_ngcontent-%COMP%]{display:flex;gap:12px;margin-top:8px}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-dialog[_ngcontent-%COMP%] .bf-fields[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{flex:1}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-dialog[_ngcontent-%COMP%] .bf-warning[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:8px;background:#fff8e1;border:1px solid #ffc107;padding:8px 12px;border-radius:4px;font-size:12px;color:#b26a00}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-dialog[_ngcontent-%COMP%] .bf-warning[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;height:18px;width:18px;color:#f57c00}#siteRevenueCrm[_ngcontent-%COMP%] .backfill-dialog[_ngcontent-%COMP%] .bf-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}#siteRevenueCrm[_ngcontent-%COMP%] .permission-denied[_ngcontent-%COMP%]{color:#b71c1c;font-weight:600}#siteRevenueCrm[_ngcontent-%COMP%] .category-toggles[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:8px 0}#siteRevenueCrm[_ngcontent-%COMP%] .category-toggles[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:600;color:#333;margin-right:8px}#siteRevenueCrm[_ngcontent-%COMP%] .category-toggles[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:12px;min-width:0;padding:4px 12px}#siteRevenueCrm[_ngcontent-%COMP%] .category-toggles[_ngcontent-%COMP%] button.cat-on[_ngcontent-%COMP%]{background:#e3f2fd;border-color:#1976d2;color:#0d47a1}#siteRevenueCrm[_ngcontent-%COMP%] .category-toggles[_ngcontent-%COMP%] button.cat-off[_ngcontent-%COMP%]{background:#fafafa;color:#999;opacity:.7}#siteRevenueCrm[_ngcontent-%COMP%] .category-toggles[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;height:16px;width:16px;margin-right:4px;vertical-align:middle}#siteRevenueCrm[_ngcontent-%COMP%] .category-toggles[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .cat-count[_ngcontent-%COMP%]{color:#7
177;margin-left:4px;font-size:11px}#siteRevenueCrm[_ngcontent-%COMP%] .category-header[_ngcontent-%COMP%]{border-left:2px solid #bbdefb}#siteRevenueCrm[_ngcontent-%COMP%] .category-header.cat-unmapped[_ngcontent-%COMP%]{background:#fff8e1!important;color:#b26a00!important}#siteRevenueCrm[_ngcontent-%COMP%] tr.blue-75[_ngcontent-%COMP%] th.mat-mdc-header-cell[_ngcontent-%COMP%]{background:#d4e7fb!important;border-bottom:1px solid #b3d4f5}#siteRevenueCrm[_ngcontent-%COMP%] .type-header[_ngcontent-%COMP%]{font-size:11px;font-weight:600;padding:4px 6px!important;white-space:nowrap;border-left:1px solid #bbdefb}#siteRevenueCrm[_ngcontent-%COMP%] .type-header.unmapped[_ngcontent-%COMP%]{background:#fff8e1!important;color:#b26a00!important}#siteRevenueCrm[_ngcontent-%COMP%] .type-header[_ngcontent-%COMP%] .unmapped-flag[_ngcontent-%COMP%]{display:inline-block;background:#f57c00;color:#fff;font-size:9px;padding:0 4px;border-radius:8px;margin-left:4px}#siteRevenueCrm[_ngcontent-%COMP%] .unmapped-banner[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:12px;background:#fff8e1;border:1px solid #ffc107;padding:12px 16px;border-radius:4px}#siteRevenueCrm[_ngcontent-%COMP%] .unmapped-banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#f57c00;flex-shrink:0}#siteRevenueCrm[_ngcontent-%COMP%] .unmapped-banner[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:#fff;border:1px solid #ddd;padding:2px 6px;border-radius:3px;font-size:12px;margin:0 4px}#siteRevenueCrm[_ngcontent-%COMP%] .unmapped-banner[_ngcontent-%COMP%] .unmapped-list[_ngcontent-%COMP%]{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px}#siteRevenueCrm[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}#siteRevenueCrm[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%]{min-width:220px}#siteRevenueCrm[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper{display:none}#siteRevenueCrm[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1}#siteRevenueCrm[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:12px}#siteRevenueCrm[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;height:16px;width:16px;margin-right:4px;vertical-align:middle}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:12px}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%]{position:relative;background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:10px 16px;min-width:150px;box-shadow:0 1px 2px #0000000f}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card.kpi-total[_ngcontent-%COMP%]{background:#e3f2fd;border-color:#90caf9}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card.kpi-total[_ngcontent-%COMP%] .kpi-amount[_ngcontent-%COMP%]{color:#0d47a1}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card.kpi-pinned[_ngcontent-%COMP%]{border-style:dashed;border-color:#9e9e9e}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-remove[_ngcontent-%COMP%]{position:absolute;top:2px;right:2px;border:none;background:none;cursor:pointer;padding:0;line-height:1;color:#999}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-remove[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;height:14px;width:14px}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-remove[_ngcontent-%COMP%]:hover{color:#c62828}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-label[_ngcontent-%COMP%]{font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-amount[_ng
1content-%COMP%]{font-size:20px;font-weight:700;color:#222;margin-top:2px}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-sub[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:11px}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-sub[_ngcontent-%COMP%] .kpi-count[_ngcontent-%COMP%]{color:#888}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-sub[_ngcontent-%COMP%] .prior[_ngcontent-%COMP%]{color:#999}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-sub[_ngcontent-%COMP%] .delta[_ngcontent-%COMP%]{display:inline-block;padding:0 4px;border-radius:2px}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-sub[_ngcontent-%COMP%] .delta.delta-pos[_ngcontent-%COMP%]{background:#e6f4ea;color:#1b873a}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-sub[_ngcontent-%COMP%] .delta.delta-neg[_ngcontent-%COMP%]{background:#fdecea;color:#c62828}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-card[_ngcontent-%COMP%] .kpi-sub[_ngcontent-%COMP%] .delta.delta-flat[_ngcontent-%COMP%]{background:#eee;color:#666}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-add[_ngcontent-%COMP%]{display:flex;align-items:center}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-add[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{min-width:200
1px}#siteRevenueCrm[_ngcontent-%COMP%] .kpi-strip[_ngcontent-%COMP%] .kpi-add[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper{display:none}#siteRevenueCrm[_ngcontent-%COMP%] .table-responsive[_ngcontent-%COMP%]{width:100%;overflow:auto;max-height:calc(100vh - 180px)}#siteRevenueCrm[_ngcontent-%COMP%] .table-responsive[_ngcontent-%COMP%] .mat-mdc-table[_ngcontent-%COMP%]{width:100%;max-width:100%;margin-bottom:1rem;display:table;border-collapse:collapse}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%]{font-size:12px}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], #siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:6px 8px!important;white-space:nowrap}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] th.mat-mdc-header-cell[_ngcontent-%COMP%]{vertical-align:middle}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] th.unmapped[_ngcontent-%COMP%]{background:#fff8e1!important;color:#b26a00!important}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] .unmapped-flag[_ngcontent-%COMP%]{display:inline-block;background:#f57c00;color:#fff;font-size:10px;padding:0 5px;border-radius:8px;margin-left:4px}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] .site-cell[_ngcontent-%COMP%] .site-name[_ng
1content-%COMP%]{font-weight:500}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] .site-cell[_ngcontent-%COMP%] .site-key[_ngcontent-%COMP%]{font-size:10px;color:#999}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] .total-amt[_ngcontent-%COMP%]{color:#1976d2}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] .zero[_ngcontent-%COMP%]{color:#ccc}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] .bold[_ngcontent-%COMP%]{font-weight:600}#siteRevenueCrm[_ngcontent-%COMP%] .site-revenue-table[_ngcontent-%COMP%] .mat-mdc-table-sticky-border-elem-left[_ngcontent-%COMP%]{border-right:1px solid #dcdddf}#siteRevenueCrm[_ngcontent-%COMP%] .association-group-row[_ngcontent-%COMP%]{background:#e3f2fd!important}#siteRevenueCrm[_ngcontent-%COMP%] .association-group-cell[_ngcontent-%COMP%]{padding:8px 12px!important;color:#0d47a1;font-size:13px}#siteRevenueCrm[_ngcontent-%COMP%] .association-group-cell[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{margin-left:8px;color:#555;font-weight:400}#siteRevenueCrm[_ngcontent-%COMP%] .association-group-cell.clickable[_ngcontent-%COMP%]{cursor:pointer;-webkit-user-select:none;user-select:none}#siteRevenueCrm[_ngcontent-%COMP%] .association-group-cell[_ngcontent-%COMP%] .group-inner[_ngcontent-%COMP%]{position:sticky;left:12px;display:inline-flex;align-items:center;width:max-content}#siteRevenueCrm[_ngcontent-%COMP%] .association-group-cell[_ngcontent-%COMP%] .collapse-chevron[_ngcontent-%COMP%]{font-size:18px;height:18px;width:18px;vertical-align:text-bottom;margin-right:4px}#siteRevenueCrm[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(2n):not(.association-group-row){background-color:#fbfbfb}"]})}return n})();export{$n as SiteRevenueCrmComponent};
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.