1import{c as Ln}from"./chunk-NLVOWINZ.js";import{a as Vn}from"./chunk-3RF6VLJM.js";import{a as Rn,b as Wn}from"./chunk-NEDYUDVR.js";import{a as gt,b as Qe}from"./chunk-LXXKGS24.js";import{a as Nn}from"./chunk-YTKJR5Q6.js";import{b as D}from"./chunk-WMWX7A4L.js";import"./chunk-HJP2GWBW.js";import{a as Bn,b as Dn}from"./chunk-HWN5DF4X.js";import"./chunk-OHFI4Z5D.js";import{a as zn,b as Fn}from"./chunk-MOVUCEMQ.js";import"./chunk-TXHHFOYB.js";import{a as Te,b as Ie,c as K,d as It,e as zt,m as j}from"./chunk-L2GEIMU7.js";import"./chunk-2XDG5V5N.js";import"./chunk-DWN5J3VI.js";import"./chunk-ZKNJ6LMN.js";import"./chunk-5FBCKICI.js";import"./chunk-UJUMR6ZY.js";import{a as An}from"./chunk-N62S3CD2.js";import{a as ze}from"./chunk-ZH2F4MPR.js";import{a as Ne,b as Re}from"./chunk-KEY7WXYX.js";import"./chunk-JU3P3FVP.js";import{b as Ve,c as Le}from"./chunk-6UDGKNW6.js";import{a as ie}from"./chunk-JUAZPZCD.js";import{a as Sn}from"./chunk-HZMF3SDZ.js";import{a as In}from"./chunk-MKPLBTT3.js";import"./chunk-RSZUR4UV.js";import"./chunk-UNYDFTTB.js";import{a as ge,b as se}from"./chunk-HJKSXZ3C.js";import{a as X,b as ee}from"./chunk-YXLLGVHE.js";import{a as fe,b as he}from"./chunk-FWQGROSD.js";import"./chunk-4AATWMGU.js";import"./chunk-SBMHVCC5.js";import"./chunk-JVZ7F4YJ.js";import"./chunk-W7X6U5AQ.js";import"./chunk-LCFYYJD2.js";import{a as En,b as Tn}from"./chunk-JIH5N2CQ.js";import{a as G,b as H}from"./chunk-4N4E33CZ.js";import"./chunk-PJOALDWA.js";import"./chunk-GRWL5M6U.js";import"./chunk-ZRFOO27F.js";import"./chunk-CU4COBU7.js";import"./chunk-JLG4YW5B.js";import"./chunk-4KMPRLTV.js";import"./chunk-IKKBRAUQ.js";import"./chunk-JI2M5G2Z.js";import"./chunk-S35HUXPS.js";import"./chunk-DBK6GQ45.js";import{a as Tt}from"./chunk-DWXLXVBO.js";import{A as dt,B as L,C as pt,b as wt,c as W,d as Y,f as V,g as ke,i as ot,j as U,k as Ee,l as Be,o as st,r as lt,s as Ot,t as St,u as kn,v as kt,w as ct,x as De,y as mt,z as Et}from"./chunk-BKZN26IZ.js";import{h as oe,j as z}from"./chunk-UW2IUR6S.js";import"./chunk-P7ZY4TXP.js";import"./chunk-RKBEALUS.js";import{da as Pt,ha as pe,la as N}from"./chunk-IXUMU2TC.js";import{d as we}from"./chunk-NZV7SEZX.js";import"./chunk-6F63ZG7X.js";import{a as R}from"./chunk-PKZJNWAJ.js";import{o as yt,t as Mt}from"./chunk-MH6BJ7X6.js";import{a as Me,b as Ae,e as Pe}from"./chunk-T5JS72MM.js";import{$b as n,Ac as h,B as xn,Bb as k,Bc as v,Cc as Se,Da as ht,Dc as I,Dd as at,Ea as _,Ec as it,Fa as b,Fd as E,Hb as x,Hc as wn,L as Cn,Nc as y,Oa as vt,Ob as pn,Oc as de,Pb as m,Pc as T,Qb as xt,Rb as S,Rc as Fe,S as yn,Sb as re,Sc as Ge,Tb as tt,U as dn,_b as t,a as hn,ac as d,bc as nt,cc as rt,ec as M,f as vn,fc as u,gc as g,kb as et,kc as Mn,ma as ye,mc as Je,nc as $e,nd as q,oc as Ze,od as ne,pd as B,qb as o,ra as me,rb as O,rc as Ye,sc as a,tc as p,uc as P,v as Z,vc as ue,wc as Pn,wd as Ke,xd as Ct,yd as J,zc as f,zd as On}from"./chunk-APOSNKLN.js";import{a as w,b as F}from"./chunk-TWZW5B45.js";var Ft=class c{constructor(r,e){this.http=r;this.authService=e}dashboardUrl=`${R.apiUrl}api/super-admin/dashboard/`;getDashboard(){return this.http.get(this.dashboardUrl,this.getHeaders()).pipe(Z(r=>this.normalizeDashboard(r)))}getHeaders(){let r=this.authService.getToken();return{headers:new Me({Authorization:r?`Bearer ${r}`:""})}}normalizeDashboard(r){return{total_companies:Number(r?.total_companies??0),active_subscriptions:Number(r?.active_subscriptions??0),total_revenue:Number(r?.total_revenue??0),recent_transactions:Array.isArray(r?.recent_transactions)?r.recent_transactions:[],today_revenue:Number(r?.today_revenue??0),expiring_subscriptions:Number(r?.expiring_subscriptions??0),expired_companies:Number(r?.expired_companies??0),failed_payments:Number(r?.failed_payments??0),active_trials:Number(r?.active_trials??0),renewal_due:Number(r?.renewal_due??0),recent_billing_activity:Array.isArray(r?.recent_billing_activity)?r.recent_billing_activity:[]}}static \u0275fac=function(e){return new(e||c)(me(Pe),me(we))};static \u0275prov=ye({token:c,factory:c.\u0275fac,providedIn:"root"})};var Q=class c{constructor(r,e){this.http=r;this.authService=e}baseUrl=`${R.apiUrl}api/billing/super-admin/`;billingUrl=`${R.apiUrl}api/billing/`;legacySubscriptionsUrl=`${R.apiUrl}api/super-admin/subscriptions/`;invoicesUrl=`${R.apiUrl}api/billing/super-admin/invoices/`;getSubscriptions(r){return this.http.get(`${this.baseUrl}subscriptions/`,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}getSubscription(r){return this.http.get(`${this.baseUrl}subscriptions/${r}/`,this.getHeaders())}updateSubscription(r,e){return this.http.patch(`${this.baseUrl}subscriptions/${r}/update/`,e,this.getHeaders())}extendTrial(r,e){return this.http.post(`${this.baseUrl}subscriptions/${r}/extend-trial/`,e,this.getHeaders())}extendSubscription(r,e){return this.http.post(`${this.baseUrl}subscriptions/${r}/extend-subscription/`,e,this.getHeaders())}activateSubscription(r,e){return this.http.post(`${this.baseUrl}subscriptions/${r}/activate/`,{reason:e},this.getHeaders())}deactivateSubscription(r,e){return this.http.post(`${this.baseUrl}subscriptions/${r}/deactivate/`,{reason:e},this.getHeaders())}updateSubscriptionExpiry(r,e){return this.http.post(`${this.baseUrl}subscriptions/${r}/update-expiry/`,e,this.getHeaders())}updateSubscriptionModules(r,e){return this.http.post(`${this.baseUrl}subscriptions/${r}/update-modules/`,e,this.getHeaders())}updateSubscriptionLicenses(r,e){return this.http.post(`${this.baseUrl}subscriptions/${r}/update-licenses/`,e,this.getHeaders())}resendInvoiceEmail(r){return this.http.post(`${this.baseUrl}subscriptions/${r}/resend-invoice-email/`,{},this.getHeaders())}resendRenewalEmail(r){return this.http.post(`${this.baseUrl}subscriptions/${r}/resend-renewal-email/`,{},this.getHeaders())}changePlan(r,e){return this.http.post(`${this.baseUrl}subscriptions/${r}/change-plan/`,e,this.getHeaders())}getPayments(r){return this.http.get(`${this.baseUrl}subscriptions/${r}/payments/`,this.getHeaders()).pipe(Z(e=>this.normalizeList(e)))}getAuditLogs(r){return this.http.get(`${this.baseUrl}subscriptions/${r}/audit-logs/`,this.getHeaders()).pipe(Z(e=>this.normalizeList(e)))}getPaymentHistory(r){return this.http.get(`${this.baseUrl}payment-history/`,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}getEmailLogs(r){return this.http.get(`${this.baseUrl}email-logs/`,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}getEmailTemplates(){return this.http.get(`${R.apiUrl}api/super-admin/email-templates/`,this.getHeaders()).pipe(Z(r=>this.normalizeList(r)))}getEmailTemplate(r){return this.http.get(`${R.apiUrl}api/super-admin/email-templates/${r}/`,this.getHeaders())}updateEmailTemplate(r,e){return this.http.patch(`${R.apiUrl}api/super-admin/email-templates/${r}/`,e,this.getHeaders())}previewEmailTemplate(r,e){return this.http.post(`${R.apiUrl}api/super-admin/email-templates/${r}/preview/`,e||{},this.getHeaders())}previewNotificationTemplate(r){return this.http.post(`${R.apiUrl}api/super-admin/notification/template/preview/`,r,this.getHeaders())}getEmailTemplateVariables(){return this.http.get(`${R.apiUrl}api/super-admin/email-templates/variables/`,this.getHeaders())}resetEmailTemplate(r){return this.http.post(`${R.apiUrl}api/super-admin/email-templates/${r}/reset-default/`,{},this.getHeaders())}getEmailConfiguration(){return this.http.get(`${R.apiUrl}api/super-admin/email-configuration/`,this.getHeaders())}saveEmailConfiguration(r){return this.http.post(`${R.apiUrl}api/super-admin/email-configuration/`,r,this.getHeaders())}sendTestEmail(r){return this.http.post(`${R.apiUrl}api/super-admin/email-configuration/send-test-email/`,{recipient_email:r},this.getHeaders())}getEmailEvents(){return this.http.get(`${R.apiUrl}api/super-admin/email-events/`,this.getHeaders()).pipe(Z(r=>this.normalizeList(r)))}updateEmailEvent(r,e){return this.http.patch(`${R.apiUrl}api/super-admin/email-events/${r}/`,e,this.getHeaders())}getEmailEventTemplates(r){return this.http.get(`${R.apiUrl}api/super-admin/email-event-templates/`,F(w({}
1,this.getHeaders()),{params:this.buildParams({event_code:r})})).pipe(Z(e=>this.normalizeList(e)))}sendTestEventEmail(r,e){return this.http.post(`${R.apiUrl}api/super-admin/email-events/${r}/send-test/`,{recipient_email:e},this.getHeaders())}previewEmailEvent(r,e){return this.http.post(`${R.apiUrl}api/super-admin/email-events/${r}/preview/`,e,this.getHeaders())}getEmailNotificationLogs(r){return this.http.get(`${R.apiUrl}api/super-admin/email-notification-logs/`,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}getEmailNotificationDashboard(){return this.http.get(`${R.apiUrl}api/super-admin/email-notification-logs/dashboard/`,this.getHeaders())}resendEmailNotification(r){return this.http.post(`${R.apiUrl}api/super-admin/email-notification-logs/${r}/resend/`,{},this.getHeaders())}getErrorLogs(r){return this.http.get(`${this.baseUrl}error-logs/`,F(w({},this.getHeaders()),{params:this.buildParams(r)}))}getSecurityLogs(r){return this.http.get(`${this.baseUrl}security-logs/`,F(w({},this.getHeaders()),{params:this.buildParams(r)}))}resolveErrorLog(r){return this.http.patch(`${this.baseUrl}error-logs/${r}/resolve/`,{},this.getHeaders())}getBillingHealth(){return this.http.get(`${this.billingUrl}health-check/`,this.getHeaders())}getReconciliationReport(r){return this.http.get(`${this.baseUrl}reconciliation-report/`,F(w({},this.getHeaders()),{params:this.buildParams(r)}))}getBackupLogs(r){return this.http.get(`${this.baseUrl}backup-logs/`,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}getSubscriptionAuditHistory(r){return this.http.get(`${this.baseUrl}subscription-audit-logs/`,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}getSummary(){return this.http.get(`${this.baseUrl}subscription-summary/`,this.getHeaders())}getPackages(){return this.http.get(`${this.baseUrl}packages/`,this.getHeaders()).pipe(Z(r=>this.normalizeList(r)))}getCoupons(r){return this.http.get(`${this.baseUrl}coupons/`,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}getRevenueAnalytics(r){return this.http.get(`${this.baseUrl}revenue-analytics/`,F(w({},this.getHeaders()),{params:this.buildParams(r)}))}createCoupon(r){return this.http.post(`${this.baseUrl}coupons/`,r,this.getHeaders())}updateCoupon(r,e){return this.http.patch(`${this.baseUrl}coupons/${r}/`,e,this.getHeaders())}deactivateCoupon(r){return this.http.delete(`${this.baseUrl}coupons/${r}/`,this.getHeaders())}getBillingSettings(){return this.http.get(`${this.billingUrl}settings/`,this.getHeaders())}updateBillingSettings(r){return this.http.patch(`${this.billingUrl}settings/update/`,r,this.getHeaders())}getRazorpaySecurityChecklist(){return this.http.get(`${this.baseUrl}razorpay-security-checklist/`,this.getHeaders())}getInvoices(r){return this.http.get(this.invoicesUrl,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}downloadSubscriptionInvoice(r){return this.http.get(`${this.legacySubscriptionsUrl}${r}/invoice-download/`,F(w({},this.getHeaders()),{responseType:"blob"}))}downloadInvoice(r){return this.http.get(`${this.invoicesUrl}${r}/download/`,F(w({},this.getHeaders()),{responseType:"blob"}))}getHeaders(){let r=this.authService.getToken();return{headers:new Me({Authorization:r?`Bearer ${r}`:""})}}buildParams(r){let e=new Ae;return r&&Object.entries(r).forEach(([i,l])=>{l!=null&&l!==""&&(e=e.set(i,String(l)))}),e}normalizeList(r){if(Array.isArray(r))return r;if(r&&typeof r=="object"){let e=r;if(Array.isArray(e.results))return e.results;if(Array.isArray(e.data))return e.data;if(Array.isArray(e.items))return e.items}return[]}static \u0275fac=function(e){return new(e||c)(me(Pe),me(we))};static \u0275prov=ye({token:c,factory:c.\u0275fac,providedIn:"root"})};function Gn(c,r){if(c&1&&(t(0,"a",53),d(1,"i",54),t(2,"span"),a(3),n()()),c&2){let e=g();o(3),Pn(" Billing attention required: ",e.billingHealth.critical_unresolved_errors||0," critical, ",e.billingHealth.webhook_failures||0," webhook, ",e.billingHealth.payment_verification_errors||0," payment verification ")}}function Kn(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Company"),n(),t(3,"th"),a(4,"Amount"),n(),t(5,"th"),a(6,"Status"),n(),t(7,"th"),a(8,"Date"),n()())}function Qn(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),y(5,"currency"),n(),t(6,"td")(7,"span",55),a(8),n()(),t(9,"td"),a(10),y(11,"date"),n()()),c&2){let e=r.$implicit;o(2),p(e.company_name||e.company),o(2),p(Fe(5,5,e.amount,"INR","symbol","1.0-0")),o(3),m("ngClass",e.status.toLowerCase()),o(),p(e.status),o(2),p(T(11,10,e.created_at,"
1short"))}}function Jn(c,r){c&1&&(t(0,"tr")(1,"td",56)(2,"div",57),a(3,"No recent transactions."),n()()())}function $n(c,r){if(c&1&&(t(0,"small"),a(1),n()),c&2){let e=g().$implicit;o(),p(e.message)}}function Zn(c,r){if(c&1&&(t(0,"span"),a(1),y(2,"currency"),n()),c&2){let e=g().$implicit;o(),p(Fe(2,1,e.amount,"INR","symbol","1.0-0"))}}function Xn(c,r){if(c&1&&(t(0,"article",60)(1,"div")(2,"strong"),a(3),n(),t(4,"span"),a(5),n(),x(6,$n,2,1,"small",61),n(),t(7,"div",62),x(8,Zn,3,6,"span",61),t(9,"small"),a(10),y(11,"date"),n()()()),c&2){let e=r.$implicit;o(3),p(e.title),o(2),p(e.company_name||"System"),o(),m("ngIf",e.message),o(2),m("ngIf",e.amount!==void 0),o(2),p(T(11,5,e.created_at,"short"))}}function er(c,r){if(c&1&&(t(0,"div",58),x(1,Xn,12,8,"article",59),n()),c&2){let e=g();o(),m("ngForOf",e.stats.recent_billing_activity)}}function tr(c,r){c&1&&(t(0,"div",57),a(1,"No billing activity yet."),n())}var At=class c{constructor(r,e,i){this.superAdminService=r;this.subscriptionService=e;this.mobileUx=i}screenStart=typeof performance<"u"?performance.now():Date.now();stats={total_companies:0,active_subscriptions:0,total_revenue:0,recent_transactions:[],today_revenue:0,expiring_subscriptions:0,expired_companies:0,failed_payments:0,active_trials:0,renewal_due:0,recent_billing_activity:[]};loading=!0;errorMessage=null;billingHealth=null;ngOnInit(){this.mobileUx.trackScreenView("super_admin_dashboard"),this.loadDashboard()}loadDashboard(){this.loading=!0,this.errorMessage=null,this.superAdminService.getDashboard().subscribe({next:r=>{this.stats=r,this.loading=!1;let e=typeof performance<"u"?performance.now():Date.now();this.mobileUx.trackRouteRender("super_admin_dashboard",Math.max(0,Math.round(e-this.screenStart)))},error:()=>{this.errorMessage="Unable to load the platform dashboard right now.",this.loading=!1,this.mobileUx.trackWorkflowCompletion("super_admin_dashboard_load","error")}}),this.subscriptionService.getBillingHealth().subscribe({next:r=>this.billingHealth=r,error:()=>this.billingHealth=null})}trackQuickAction(r){this.mobileUx.trackWorkflowCompletion("super_admin_quick_action","success",{action:r})}static \u0275fac=function(e){return new(e||c)(O(Ft),O(Q),O(In))};static \u0275cmp=k({type:c,selectors:[["app-dashboard"]],decls:146,vars:29,consts:[["noBillingActivity",""],[1,"sa-page","component-margin","super-admin-dashboard"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-chart-bar"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-quick-actions","mobile-swipe-row"],["routerLink","/super-admin/companies",1,"sa-quick-action",3,"click"],[1,"pi","pi-building"],["routerLink","/super-admin/plans",1,"sa-quick-action",3,"click"],[1,"pi","pi-bookmark"],["routerLink","/super-admin/subscriptions",1,"sa-quick-action",3,"click"],[1,"pi","pi-credit-card"],["routerLink","/super-admin/invoices",1,"sa-quick-action",3,"click"],[1,"pi","pi-receipt"],["routerLink","/super-admin/onboarding-center",1,"sa-quick-action",3,"click"],[1,"pi","pi-sparkles"],["routerLink","/super-admin/billing-error-logs","class","sa-alert",4,"ngIf"],["errorTitle","Dashboard unavailable","preset","stats-grid",3,"loading","errorMessage"],[1,"sa-metrics"],[1,"sa-metric"],[1,"sa-metric__glow"],[1,"sa-metric__icon"],[1,"sa-metric__value"],[1,"sa-metric__label"],[1,"sa-metric__meta"],[1,"sa-metric","color-blue"],[1,"pi","pi-check-circle"],[1,"sa-metric","color-green"],[1,"pi","pi-wallet"],[1,"sa-metric","color-purple"],[1,"pi","pi-calendar"],[1,"sa-metrics","sa-metrics--compact"],[1,"sa-metric","color-amber"],[1,"pi","pi-clock"],[1,"pi","pi-ban"],[1,"pi","pi-exclamation-circle"],[1,"pi","pi-replay"],[1,"pi","pi-list"],[1,"sa-glass"],[1,"sa-card-title"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"pi","pi-bolt"],["class","billing-activity-feed",4,"ngIf","ngIfElse"],["routerLink","/super-admin/billing-error-logs",1,"sa-alert"],[1,"pi","pi-exclamation-triangle"],[1,"sa-status",3,"ngClass"],["colspan","4"],[1,"sa-empty"],[1,"billing-activity-feed"],["class","billing-activity-feed__item",4,"ngFor","ngForOf"],[1,"billing-activity-feed__item"],[4,"ngIf"],[1,"billing-activity-feed__meta"]],template:function(e,i){if(e&1){let l=M();t(0,"section",1)(1,"header",2),d(2,"div",3),t(3,"div",4)(4,"div",5),d(5,"i",6),n(),t(6,"div",7)(7,"span",8),a(8,"Platform overview"),n(),t(9,"h2",9),a(10,"Super Admin Dashboard"),n(),t(11,"p",10),a(12,"A single view across tenant companies, subscription activity, and platform revenue."),n()()()(),t(13,"div",11)(14,"div",12)(15,"a",13),u("click",function(){return _(l),b(i.trackQuickAction("companies"))}),d(16,"i",14),t(17,"span"),a(18,"Add Company"),n()(),t(19,"a",15),u("click",function(){return _(l),b(i.trackQuickAction("plans"))}),d(20,"i",16),t(21,"span"),a(22,"Add Plan"),n()(),t(23,"a",17),u("click",function(){return _(l),b(i.trackQuickAction("subscriptions"))}),d(24,"i",18),t(25,"span"),a(26,"Add Subscription"),n()(),t(27,"a",19),u("click",function(){return _(l),b(i.trackQuickAction("invoices"))}),d(28,"i",20),t(29,"span"),a(30,"View Invoices"),n()(),t(31,"a",21),u("click",function(){return _(l),b(i.trackQuickAction("onboarding-center"))}),d(32,"i",22),t(33,"span"),a(34,"Onboarding Center"),n()()(),x(35,Gn,4,3,"a",23),t(36,"app-data-state",24)(37,"div",25)(38,"article",26),d(39,"div",27),t(40,"div",28),d(41,"i",14),n(),t(42,"div",29),a(43),n(),t(44,"div",30),a(45,"Total Companies"),n(),t(46,"div",31),a(47,"Registered tenant organizations"),n()(),t(48,"article",32),d(49,"div",27),t(50,"div",28),d(51,"i",33),n(),t(52,"div",29),a(53),n(),t(54,"div",30),a(55,"Active Subscriptions"),n(),t(56,"div",31),a(57,"Currently b
1illing on active plans"),n()(),t(58,"article",34),d(59,"div",27),t(60,"div",28),d(61,"i",35),n(),t(62,"div",29),a(63),y(64,"currency"),n(),t(65,"div",30),a(66,"Total Revenue"),n(),t(67,"div",31),a(68,"Captured from recent transaction history"),n()(),t(69,"article",36),d(70,"div",27),t(71,"div",28),d(72,"i",37),n(),t(73,"div",29),a(74),y(75,"currency"),n(),t(76,"div",30),a(77,"Today's Revenue"),n()()(),t(78,"div",38)(79,"article",39),d(80,"div",27),t(81,"div",28),d(82,"i",40),n(),t(83,"div",29),a(84),n(),t(85,"div",30),a(86,"Expiring"),n(),t(87,"div",31),a(88,"Next 7 days"),n()(),t(89,"article",26),d(90,"div",27),t(91,"div",28),d(92,"i",41),n(),t(93,"div",29),a(94),n(),t(95,"div",30),a(96,"Expired Companies"),n()(),t(97,"article",39),d(98,"div",27),t(99,"div",28),d(100,"i",42),n(),t(101,"div",29),a(102),n(),t(103,"div",30),a(104,"Failed Payments"),n()(),t(105,"article",32),d(106,"div",27),t(107,"div",28),d(108,"i",22),n(),t(109,"div",29),a(110),n(),t(111,"div",30),a(112,"Active Trials"),n()(),t(113,"article",36),d(114,"div",27),t(115,"div",28),d(116,"i",43),n(),t(117,"div",29),a(118),n(),t(119,"div",30),a(120,"Renewal Due"),n(),t(121,"div",31),a(122,"Next 7 days"),n()(),t(123,"article",34),d(124,"div",27),t(125,"div",28),d(126,"i",44),n(),t(127,"div",29),a(128),n(),t(129,"div",30),a(130,"Recent Txns"),n()()(),t(131,"div",45)(132,"h3",46),d(133,"i",44),a(134," Recent Transactions"),n(),t(135,"p-table",47),x(136,Kn,9,0,"ng-template",48)(137,Qn,12,13,"ng-template",49)(138,Jn,4,0,"ng-template",50),n()(),t(139,"div",45)(140,"h3",46),d(141,"i",51),a(142," Recent Billing Activity"),n(),x(143,er,2,1,"div",52)(144,tr,2,0,"ng-template",null,0,Ge),n()()()()}if(e&2){let l=Ye(145);o(35),m("ngIf",i.billingHealth&&((i.billingHealth.critical_unresolved_errors||0)>0||(i.billingHealth.webhook_failures||0)>0||(i.billingHealth.payment_verification_errors||0)>0)),o(),m("loading",i.loading)("errorMessage",i.errorMessage),o(7),p(i.stats.total_companies),o(10),p(i.stats.active_subscriptions),o(10),p(Fe(64,19,i.stats.total_revenue,"INR","symbol","1.0-0")),o(11),p(Fe(75,24,i.stats.today_revenue,"INR","symbol","1.0-0")),o(10),p(i.stats.expiring_subscriptions),o(10),p(i.stats.expired_companies),o(8),p(i.stats.failed_payments),o(8),p(i.stats.active_trials),o(8),p(i.stats.renewal_due),o(10),p(i.stats.recent_transactions.length),o(7),m("value",i.stats.recent_transactions)("paginator",!0)("rows",5)("rowHover",!0),o(8),m("ngIf",i.stats.recent_billing_activity.length)("ngIfElse",l)}},dependencies:[E,q,ne,B,at,J,Mt,yt,j,K,N,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}[_nghost-%COMP%] app-data-state{display:flex;flex-direction:column;gap:1.5rem}.super-admin-dashboard[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%] .sa-content[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%] .sa-metrics[_ngcontent-%COMP%]{gap:1.5rem}.super-admin-dashboard[_ngcontent-%COMP%] .sa-metrics--compact[_ngcontent-%COMP%]{gap:1.25rem}.super-admin-dashboard[_ngcontent-%COMP%] .sa-quick-actions[_ngcontent-%COMP%]{gap:.85rem}.billing-activity-feed[_ngcontent-%COMP%]{display:grid;gap:.75rem}.billing-activity-feed__item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;bord
1er-bottom:1px solid var(--surface-border)}.billing-activity-feed__item[_ngcontent-%COMP%]:last-child{border-bottom:none}.billing-activity-feed__item[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{display:block;color:var(--text-color)}.billing-activity-feed__item[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .billing-activity-feed__item[_ngcontent-%COMP%] small[_ngcontent-%COMP%], .billing-activity-feed__meta[_ngcontent-%COMP%]{color:var(--text-color-secondary)}.billing-activity-feed__meta[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;white-space:nowrap}']})};var We=class c{constructor(r,e){this.http=r;this.authService=e}baseUrl=`${R.apiUrl}api/super-admin/companies/`;getCompanies(r){return this.http.get(this.baseUrl,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}createCompany(r){return this.http.post(this.baseUrl,r,this.getHeaders())}updateCompany(r,e){return this.http.put(`${this.baseUrl}${r}/`,e,this.getHeaders())}deleteCompany(r){return this.http.delete(`${this.baseUrl}${r}/`,this.getHeaders())}getCompanyModuleAccess(r){return this.http.get(`${this.baseUrl}${r}/module-access/`,this.getHeaders()).pipe(Z(e=>this.normalizeModuleAccessResponse(e)))}updateCompanyModuleAccess(r,e){return this.http.put(`${this.baseUrl}${r}/module-access/`,e,this.getHeaders())}getHeaders(){let r=this.authService.getToken();return{headers:new Me({Authorization:r?`Bearer ${r}`:""})}}buildParams(r){let e=new Ae;return r&&Object.keys(r).forEach(i=>{let l=r[i];l!=null&&l!==""&&(e=e.set(i,String(l)))}),e}normalizeList(r){if(Array.isArray(r))return r;if(r&&typeof r=="object"){let e=r;if(Array.isArray(e.results))return e.results;if(Array.isArray(e.data))return e.data;if(Array.isArray(e.items))return e.items}return[]}normalizeModuleAccessResponse(r){let e=r&&typeof r=="object"&&!Array.isArray(r)&&r.data?r.data:r,i=e&&typeof e=="object"&&!Array.isArray(e)?e:{},l=Array.isArray(i.modules)?i.modules.map(s=>({module_id:Number(s.module_id??0),module_name:String(s.module_name??""),sub_modules:Array.isArray(s.sub_modules)?s.sub_modules.map(C=>({id:Number(C.id??0),name:String(C.name??""),enabled:!!C.enabled})):[]})):[];return{company_id:String(i.company_id??""),company_name:String(i.company_name??""),organization_id:typeof i.organization_id=="number"?i.organization_id:null,organization_name:typeof i.organization_name=="string"?i.organization_name:null,use_custom_access:!!i.use_custom_access,enabled_modules:Array.isArray(i.enabled_modules)?i.enabled_modules.map(s=>String(s)):[],product_name:typeof i.product_name=="string"?i.product_name:"",modules:l}}static \u0275fac=function(e){return new(e||c)(me(Pe),me(we))};static \u0275prov=ye({token:c,factory:c.\u0275fac,providedIn:"root"})};var nr=()=>({width:"52rem",maxWidth:"95vw"}),gn=c=>({"ng-invalid ng-dirty":c});function rr(c,r){if(c&1&&(t(0,"span"),a(1),n()),c&2){let e=g();o(),p(e.company?"Edit Company":"Add Company")}}function ir(c,r){if(c&1){let e=M();t(0,"button",12),u("click",function(){let l=_(e).index,s=g();return b(s.jumpToStep(l))}),t(1,"span"),a(2),n(),t(3,"small"),a(4),n()()}if(c&2){let e=r.$implicit,i=r.index,l=g();S("super-admin-dialog__step--active",i===l.currentStep)("super-admin-dialog__step--done",i<l.currentStep),o(2),p(i+1),o(2),p(e)}}function ar(c,r){c&1&&(t(0,"small",30),a(1,"Company name is required"),n())}function or(c,r){c&1&&(t(0,"small",30),a(1,"Company name must be at least 2 characters"),n())}function sr(c,r){c&1&&(t(0,"small",30),a(1,"Company name must not exceed 100 characters"),n())}function lr(c,r){c&1&&(t(0,"small",30),a(1,"Email is required"),n())}function cr(c,r){c&1&&(t(0,"small",30),a(1,"Please enter a valid email address"),n())}function mr(c,r){c&1&&(t(0,"small",30),a(1,"Phone number must be exactly 10 digits"),n())}function dr(c,r){if(c&1){let e=M();t(0,"div",13)(1,"div",14)(2,"p-floatlabel",15)(3,"input",16),u("input",function(l){_(e);let s=g();return b(s.capitalizeNameFirstLetter(l))}),n(),t(4,"label",17),a(5,"Name "),t(6,"span",18),a(7,"*"),n()()(),x(8,ar,2,0,"small",19)(9,or,2,0,"small",19)(10,sr,2,0,"small",19),n(),t(11,"div",14)(12,"p-floatlabel",15),d(13,"input",20),t(14,"label",21),a(15,"Email"),n()(),x(16,lr,2,0,"small",19)(17,cr,2,0,"small",19),n(),t(18,"div",14)(19,"p-floatlabel",15)(20,"input",22),u("keypress",function(l){_(e);let s=g();return b(s.onPhoneKeyPress(l))}),n(),t(21,"label",23),a(22,"Phone"),n()(),x(23,mr,2,0,"small",19),n(),t(24,"div",14)(25,"p-floatlabel",15),d(26,"p-dropdown",24),t(27,"label",25),a(28,"Status"),n()(),t(29,"small",26),a(30," Companies stay in "),t(31,"strong"),a(32,"New"),n(),a(33," until their first subscription is added. "),n()(),t(34,"div",27)(35,"p-floatlabel",15),d(36,"textarea",28),t(37,"label",29),a(38,"Address"),n()()()()}
1if(c&2){let e,i,l,s,C,A,te,He,qe,ae=g();o(3),m("ngClass",it(11,gn,((e=ae.form.get("name"))==null?null:e.invalid)&&((e=ae.form.get("name"))==null?null:e.touched))),o(5),m("ngIf",((i=ae.form.get("name"))==null||i.errors==null?null:i.errors.required)&&((i=ae.form.get("name"))==null?null:i.touched)),o(),m("ngIf",((l=ae.form.get("name"))==null||l.errors==null?null:l.errors.minlength)&&((l=ae.form.get("name"))==null?null:l.touched)),o(),m("ngIf",((s=ae.form.get("name"))==null||s.errors==null?null:s.errors.maxlength)&&((s=ae.form.get("name"))==null?null:s.touched)),o(3),m("ngClass",it(13,gn,((C=ae.form.get("email"))==null?null:C.invalid)&&((C=ae.form.get("email"))==null?null:C.touched))),o(3),m("ngIf",((A=ae.form.get("email"))==null||A.errors==null?null:A.errors.required)&&((A=ae.form.get("email"))==null?null:A.touched)),o(),m("ngIf",((te=ae.form.get("email"))==null||te.errors==null?null:te.errors.email)&&((te=ae.form.get("email"))==null?null:te.touched)),o(3),m("ngClass",it(15,gn,((He=ae.form.get("phone"))==null?null:He.invalid)&&((He=ae.form.get("phone"))==null?null:He.touched))),o(3),m("ngIf",((qe=ae.form.get("phone"))==null||qe.errors==null?null:qe.errors.phoneInvalid)&&((qe=ae.form.get("phone"))==null?null:qe.touched)),o(3),m("options",ae.statusOptions)("filter",!0)}}function pr(c,r){c&1&&(t(0,"div",31)(1,"h3"),a(2,"Activation Hints"),n(),t(3,"p"),a(4,"Use this guidance to improve first-week completion without changing entitlement, authentication, or billing internals."),n(),t(5,"div",32)(6,"article")(7,"h4"),a(8,"Branding and trust"),n(),t(9,"p"),a(10,"Upload logo + company metadata early so onboarding emails and workspace identity feel production-ready from day one."),n()(),t(11,"article")(12,"h4"),a(13,"Module alignment"),n(),t(14,"p"),a(15,"Enable only modules relevant for week-one activation (CRM, HRMS, Inventory, Billing) to avoid noisy navigation."),n()(),t(16,"article")(17,"h4"),a(18,"Role clarity"),n(),t(19,"p"),a(20,"Invite at least one manager and one operator role to keep adoption from blocking on a single admin account."),n()()()())}function gr(c,r){if(c&1&&(t(0,"small",30),a(1),n()),c&2){let e=g(2);o(),p(e.passwordHelpText)}}function ur(c,r){if(c&1){let e=M();t(0,"div",13)(1,"div",14)(2,"p-floatlabel",33),d(3,"input",34),t(4,"label",35),a(5),n(),t(6,"button",36),u("click",function(){_(e);let l=g();return b(l.showPassword=!l.showPassword)}),n()()(),t(7,"div",14)(8,"p-floatlabel",33),d(9,"input",37),t(10,"label",38),a(11,"Confirm Password"),n(),t(12,"button",36),u("click",function(){_(e);let l=g();return b(l.showConfirmPassword=!l.showConfirmPassword)}),n()()(),t(13,"div",27)(14,"small",39),a(15),n(),x(16,gr,2,1,"small",19),n(),t(17,"div",40)(18,"h4"),a(19,"Review"),n(),t(20,"p")(21,"strong"),a(22,"Company:"),n(),a(23),n(),t(24,"p")(25,"strong"),a(26,"Email:"),n(),a(27),n(),t(28,"p")(29,"strong"),a(30,"Status:"),n(),a(31),n()()()}if(c&2){let e,i,l,s=g();o(3),m("type",s.showPassword?"text":"password"),o(2),p(s.company?"New Password":"Password"),o(),m("icon",s.showPassword?"pi pi-eye-slash":"pi pi-eye"),pn("aria-label",s.showPassword?"Hide password":"Show password"),o(3),m("type",s.showConfirmPassword?"text":"password"),o(3),m("icon",s.showConfirmPassword?"pi pi-eye-slash":"pi pi-eye"),pn("aria-label",s.showConfirmPassword?"Hide confirm password":"Show confirm password"),o(3),P(" ",s.company?"Leave password fields blank to keep existing company login password.":"Set the login password this company will use to access the application."," "),o(),m("ngIf",s.passwordHelpText),o(7),P(" ",((e=s.form.get("name"))==null?null:e.value)||"-",""),o(4),P(" ",((i=s.form.get("email"))==null?null:i.value)||"-",""),o(4),P(" ",((l=s.form.get("status"))==null?null:l.value)||"-","")}}function _r(c,r){if(c&1){let e=M();t(0,"button",41),u("click",function(){_(e);let l=g();return b(l.previousStep())}),n()}}var Dt=class c{constructor(r,e,i){this.fb=r;this.companyService=e;this.messageService=i;this.form=this.fb.group({name:["",[Y.required,Y.minLength(2),Y.maxLength(100)]],email:["",[Y.required,Y.email]],phone:["",[Vn()]],address:[""],status:["NEW"],password:[""],confirm_password:[""]},{validators:this.passwordValidator})}display=!1;company=null;onClose=new vt;form;loading=!1;showPassword=!1;showConfirmPassword=!1;currentStep=0;steps=["Company Details","Activation Hints","Admin Setup"];
1statusOptions=[{label:"New",value:"NEW"},{label:"Active",value:"ACTIVE"},{label:"Suspended",value:"SUSPENDED"}];ngOnChanges(r){r.company&&this.company?(this.resetPasswordVisibility(),this.resetStepper(),this.form.reset(F(w({},this.company),{password:"",confirm_password:""}))):r.display&&this.display&&!this.company&&(this.resetPasswordVisibility(),this.resetStepper(),this.form.reset({name:"",email:"",phone:"",address:"",status:"NEW",password:"",confirm_password:""}))}save(){if(!this.isLastStep){this.nextStep();return}if(this.form.invalid){this.form.markAllAsTouched();return}this.loading=!0,(this.company?.id?this.companyService.updateCompany(this.company.id,this.form.getRawValue()):this.companyService.createCompany(this.form.getRawValue())).subscribe({next:()=>{this.loading=!1,this.messageService.add({severity:"success",summary:"Company Saved",detail:this.company?.id?"Company updated successfully.":"New company created successfully."}),setTimeout(()=>this.onClose.emit(!0),800)},error:e=>{this.loading=!1;let i=e?.error?.email?.[0]||e?.error?.name?.[0]||e?.error?.detail||e?.error?.message||"Could not save company. Please check the details and try again.";this.messageService.add({severity:"error",summary:"Save Failed",detail:i})}})}get passwordHelpText(){return this.form.hasError("passwordMinLength")?"Password must be at least 8 characters long.":this.form.hasError("confirmPasswordRequired")?"Please confirm the password.":this.form.hasError("passwordMismatch")?"Passwords do not match.":null}capitalizeNameFirstLetter(r){let e=r.target,i=e.value,l=i.replace(/^(\s*)([a-z])/,(A,te,He)=>`${te}${He.toUpperCase()}`);if(i===l)return;let s=e.selectionStart,C=e.selectionEnd;this.form.get("name")?.setValue(l,{emitEvent:!1}),requestAnimationFrame(()=>{e.setSelectionRange(s,C)})}passwordValidator(r){let e=r.get("password")?.value??"",i=r.get("confirm_password")?.value??"";return!e&&!i?null:e.length<8?{passwordMinLength:!0}:i?e!==i?{passwordMismatch:!0}:null:{confirmPasswordRequired:!0}}onPhoneKeyPress(r){let e=r.which?r.which:r.keyCode;return e===8||e===9||e===27||e===13||e>=48&&e<=57?!0:(r.preventDefault(),!1)}get isFirstStep(){return this.currentStep===0}get isLastStep(){return this.currentStep===this.steps.length-1}nextStep(){if(!this.canMoveForward(this.currentStep)){this.markStepControlsAsTouched(this.currentStep);return}this.currentStep=Math.min(this.currentStep+1,this.steps.length-1)}previousStep(){this.currentStep=Math.max(this.currentStep-1,0)}jumpToStep(r){if(r<=this.currentStep){this.currentStep=r;return}for(let e=this.currentStep;e<r;e+=1)if(!this.canMoveForward(e)){this.markStepControlsAsTouched(e);return}this.currentStep=r}canMoveForward(r){return r===0?this.areControlsValid(["name","email","phone","status"]):r===1?!0:this.form.valid}areControlsValid(r){return r.every(e=>this.form.get(e)?.valid??!1)}markStepControlsAsTouched(r){if(r===0){["name","email","phone","status"].forEach(e=>this.form.get(e)?.markAsTouched());return}r===2&&(["password","confirm_password"].forEach(e=>this.form.get(e)?.markAsTouched()),this.form.updateValueAndValidity())}resetPasswordVisibility(){this.showPassword=!1,this.showConfirmPassword=!1}resetStepper(){this.currentStep=0}static \u0275fac=function(e){return new(e||c)(O(dt),O(We),O(pe))};static \u0275cmp=k({type:c,selectors:[["app-company-dialog"]],inputs:{display:"display",company:"company"},outputs:{onClose:"onClose"},features:[Se([pe]),ht],decls:15,vars:16,consts:[["styleClass","super-admin-dialog-shell super-admin-company-dialog crm-unified-dialog",3,"visibleChange","onHide","visible","modal","closable","dismissableMask"],["pTemplate","header"],[1,"super-admin-dialog",3,"ngSubmit","formGroup"],[1,"super-admin-dialog__copy"],[1,"super-admin-dialog__stepper"],["type","button","class","super-admin-dialog__step",3,"super-admin-dialog__step--active","super-admin-dialog__step--done","click",4,"ngFor","ngForOf"],["class","grid grid-cols-12 gap-4 super-admin-dialog__grid",4,"ngIf"],["class","super-admin-dialog__panel",4,"ngIf"],[1,"super-admin-dialog__actions"],["pButton","","type","button","label","Cancel",1,"p-button-text",3,"click"],["pButton","","type","button","label","Back","class","p-button-text",3,"click",4,"ngIf"],["pButton","","type","submit",3,"label","loading","disabled"],["type","button",1,"super-admin-dialog__step",3,"click"],[1,"grid","grid-cols-12","gap-4","super-admin-dialog__grid"],[1,"col-span-12","md:col-span-6"],["variant","on"],["
1id","company-name","pInputText","","formControlName","name","placeholder","Enter Name",3,"input","ngClass"],["for","company-name"],[2,"color","red"],["class","super-admin-dialog__error",4,"ngIf"],["id","company-email","pInputText","","formControlName","email","placeholder","Enter Email",3,"ngClass"],["for","company-email"],["id","company-phone","pInputText","","formControlName","phone","maxlength","10","placeholder","Enter Phone",3,"keypress","ngClass"],["for","company-phone"],["inputId","company-status","optionLabel","label","optionValue","value","formControlName","status","placeholder","Select Status",3,"options","filter"],["for","company-status"],[1,"super-admin-dialog__helper","super-admin-dialog__helper--inline"],[1,"col-span-12"],["id","company-address","pInputTextarea","","rows","4","formControlName","address","placeholder","Enter Address"],["for","company-address"],[1,"super-admin-dialog__error"],[1,"super-admin-dialog__panel"],[1,"super-admin-dialog__hint-grid"],["variant","on",1,"super-admin-dialog__password-field"],["id","company-password","pInputText","","formControlName","password","placeholder","Enter Password",3,"type"],["for","company-password"],["pButton","","type","button",1,"super-admin-dialog__password-toggle","p-button-text","p-button-rounded",3,"click","icon"],["id","company-confirm-password","pInputText","","formControlName","confirm_password","placeholder","Enter Confirm Password",3,"type"],["for","company-confirm-password"],[1,"super-admin-dialog__helper"],[1,"col-span-12","super-admin-dialog__review"],["pButton","","type","button","label","Back",1,"p-button-text",3,"click"]],template:function(e,i){e&1&&(t(0,"p-dialog",0),v("visibleChange",function(s){return h(i.display,s)||(i.display=s),s}),u("onHide",function(){return i.onClose.emit(!1)}),x(1,rr,2,1,"ng-template",1),t(2,"form",2),u("ngSubmit",function(){return i.save()}),t(3,"p",3),a(4,"Use guided setup to capture company identity first, then apply activation guidance before final admin credentials."),n(),t(5,"div",4),x(6,ir,5,6,"button",5),n(),x(7,dr,39,17,"div",6)(8,pr,21,0,"div",7)(9,ur,32,12,"div",6),t(10,"div",8)(11,"button",9),u("click",function(){return i.onClose.emit(!1)}),n(),x(12,_r,1,0,"button",10),d(13,"button",11),n()()(),d(14,"p-toast")),e&2&&(re(I(15,nr)),f("visible",i.display),m("modal",!0)("closable",!0)("dismissableMask",!0),o(2),m("formGroup",i.form),o(4),m("ngForOf",i.steps),o(),m("ngIf",i.currentStep===0),o(),m("ngIf",i.currentStep===1),o(),m("ngIf",i.currentStep===2),o(3),m("ngIf",!i.isFirstStep),o(),m("label",i.isLastStep?i.company?"Update Company":"Save Company":"Next")("loading",i.loading)("disabled",i.loading||i.isLastStep&&i.form.invalid))},dependencies:[E,q,ne,B,Re,Ne,N,ee,X,se,ge,H,G,ze,z,oe,Le,Ve,L,Ee,W,V,ke,Et,pt,st,lt],styles:["[_nghost-%COMP%]{display:block}.super-admin-dialog[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-dialog__copy[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-dialog__stepper[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.super-admin-dialog__step[_ngcontent-%COMP%]{border:1px solid var(--surface-border);border-radius:.8rem;padding:.55rem .65rem;background:var(--surface-card);text-align:left;cursor:pointer;display:grid;gap:.2rem}.super-admin-dialog__step[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{width:1.35rem;height:1.35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;border:1px solid var(--surface-border)}.super-admin-dialog__step[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{font-size:.75rem;color:var(--text-color-secondary)}.super-admin-dialog__step--active[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#2563eb 55%,var(--surface-border))}.super-admin-dialog__step--active[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .super-admin-dialog__step--done[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{background:#2563eb;color:#fff;border-color:#2563eb}.super-admin-dialog__panel[_ngcontent-%COMP%]{border:1px solid var(--surface-border);border-radius:.85rem;padding:.95rem;background:color-mix(in srgb,var(--surface-card) 94%,transparent)}.super-admin-dialog__panel[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0}.super-admin-dialog__panel[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.45rem 0 0;color:var(--text-color-secondary)}.super-admin-dialog__hint-grid[_ngcontent-%COMP%]{margin-top:.9rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.super-admin-dialog__hint-grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%]{border:1px solid var(--surface-border);border-radius:.75rem;padding:.75rem;background:var(--surface-card)}
1.super-admin-dialog__hint-grid[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;font-size:.9rem}.super-admin-dialog__hint-grid[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.35rem 0 0;font-size:.84rem}.super-admin-dialog__review[_ngcontent-%COMP%]{border:1px dashed var(--surface-border);border-radius:.75rem;padding:.8rem}.super-admin-dialog__review[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0}.super-admin-dialog__review[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.3rem 0 0}.super-admin-dialog__grid[_ngcontent-%COMP%]{margin:0}.super-admin-dialog__label[_ngcontent-%COMP%]{display:inline-flex;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:var(--text-color)}.super-admin-dialog__helper[_ngcontent-%COMP%], .super-admin-dialog__error[_ngcontent-%COMP%]{display:block}.super-admin-dialog__helper[_ngcontent-%COMP%]{color:var(--text-color-secondary)}.super-admin-dialog__helper--inline[_ngcontent-%COMP%]{margin-top:.45rem}.super-admin-dialog__error[_ngcontent-%COMP%]{margin-top:.35rem;color:var(--red-500)}.super-admin-dialog__actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.75rem}[_nghost-%COMP%] .p-dialog .p-dialog-content{padding:1.5rem}[_nghost-%COMP%] .p-floatlabel, [_nghost-%COMP%] .p-inputtext, [_nghost-%COMP%] .p-inputtextarea, [_nghost-%COMP%] .p-dropdown{width:100%}[_nghost-%COMP%] .super-admin-dialog__password-field{position:relative;display:block}[_nghost-%COMP%] .super-admin-dialog__password-field .p-inputtext{padding-right:2.75rem}.super-admin-dialog__password-toggle[_ngcontent-%COMP%]{position:absolute;top:50%;right:.35rem;z-index:1;width:2.25rem;height:2.25rem;transform:translateY(-50%)}@media (max-width: 640px){.super-admin-dialog__stepper[_ngcontent-%COMP%], .super-admin-dialog__hint-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.super-admin-dialog__actions[_ngcontent-%COMP%]{flex-direction:column-reverse}.super-admin-dialog__actions[_ngcontent-%COMP%] .p-button[_ngcontent-%COMP%]{width:100%}}"]})};var br=()=>({width:"68rem",maxWidth:"96vw"});function fr(c,r){c&1&&(t(0,"div",21),d(1,"i",22),t(2,"span"),a(3,"Manage Module & SaaS Access"),n()())}function hr(c,r){if(c&1&&(t(0,"div",23),a(1," Linked Organization: "),t(2,"strong",24),a(3),n()()),c&2){let e=g();o(3),p(e.organizationName)}}function vr(c,r){c&1&&(t(0,"div",25),d(1,"i",26),t(2,"span"),a(3,"No linked tenant organization found yet. Access configuration will apply once linked."),n()())}function xr(c,r){if(c&1){let e=M();t(0,"button",27),u("click",function(){let l=_(e).$implicit,s=g();return b(s.selectPackage(l))}),t(1,"span"),a(2),n()()}if(c&2){let e=r.$implicit,i=g();S("super-admin-access__preset-badge--selected",i.isSelected(e)),o(2),p(e.label)}}function Cr(c,r){if(c&1){let e=M();t(0,"div",28),u("click",function(){let l=_(e).$implicit,s=g();return b(s.toggleModule(l.key))}),t(1,"div",29)(2,"div",30),d(3,"i"),n(),t(4,"div",31)(5,"span",32),a(6),n(),t(7,"span",33),a(8),n()()(),t(9,"div",34)(10,"div",35),d(11,"div",36),n()()()}if(c&2){let e=r.$implicit,i=g();S("super-admin-access__card--enabled",i.isModuleEnabled(e.key)),o(3),tt(e.icon+" super-admin-access__card-icon"),o(3),p(e.label),o(2),p(e.description),o(2),S("super-admin-access__custom-switch--active",i.isModuleEnabled(e.key))}}var Nt=class c{constructor(r){this.companyService=r}display=!1;company=null;onClose=new vt;loading=!1;saving=!1;organizationName=null;productName="";selectedModules=["crm","hrms"];errorMessage=null;availableModules=[{key:"crm",label:"CRM",icon:"pi pi-chart-line",description:"Leads, Invoices, Quotations & Sales"},{key:"hrms",label:"HRMS",icon:"pi pi-users",description:"Employees, Attendance, Payroll & Leave"},{key:"inventory",label:"Inventory",icon:"pi pi-box",description:"Products, Categories & Stock Management"},{key:"wms",label:"WMS",icon:"pi pi-home",description:"Warehouse Management & Tracking"},{key:"projects",label:"Projects",icon:"pi pi-folder",description:"Project Tracking & Task Management"},{key:"helpdesk",label:"Helpdesk",icon:"pi pi-ticket",description:"Support Tickets & Helpdesk Operations"},{key:"assets",label:"Assets",icon:"pi pi-cog",description:"Asset Tracking & Lifecycle Management"},{key:"documents",label:"Documents",icon:"pi pi-file",description:"Document Management & Sharing"}];packageOptions=[{label:"CRM Preset",productName:"Infinity Connect",modules:["crm"]},{label:"HRMS Preset",productName:"Infinity People",modules:["hrms"]},{label:"Inventory Preset",productName:"Infinity Stock",modules:["inventory"]},{label:"WMS Preset",productName:"Infinity Warehouse",modules:["wms"]},{label:"CRM + HRMS",productName:"Infinity Workplace",modules:["crm","hrms"]},{label:"CRM + Inventory",productName:"Infinity Commerce",modules:["crm","inventory"]},{label:"Inventory + WMS",productName:"Infinity Stockroom",modules:["inventory","wms"]},{label:"CRM + HRMS + Inventory",productName:"Infinity One",modules:["crm","hrms","inventory"]},{label:"Enterprise Suite",productName:"Infinity Enterprise Pack",modules:["crm","hrms","inventory","wms"]},{label:"Complete Business Suite",productName:"Complete Business Suite",modules:["crm","hrms","inventory","wms","projects","helpdesk","assets","documents"]}];ngOnChanges(r){this.display&&this.company?.id&&(r.display||r.company)&&this.loadModuleAccess(),!this.display&&r.display&&this.resetState()}close(r=!1){this.onClose.emit(r)}selectPackage(r){this.selectedModules=[...r.modules],this.productName=r.productName}isSelected(r){return this.sameModules(this.selectedModules,r.modules)}toggleModule(r){this.selectedModules.includes(r)?this.selectedModules.length>1&&(this.selectedModules=this.selectedModules.filter(e=>e!==r)):this.selectedModules=[...this.selectedModules,r]}isModuleEnabled(r){return this.selectedModules.includes(r)}save(){this.company?.id&&(this.saving=!0,this.companyService.updateCompanyModuleAccess(this.company.id,{enabled_modules:this.selectedModules}).subscribe({next:r=>{this.productName=r.product_name||this.selectedProductName,this.saving=!1,this.close(!0)},error:()=>{this.saving=!1}}))}get selectedProductName(){let r=["crm","hrms","inventory","wms","projects","helpdesk","assets","documents"],e=[...this.selectedModules].sort((s,C)=>r.indexOf(s)-r.indexOf(C)),i={crm:"Infinity Connect",hrms:"Infinity People",inventory:"Infinity Stock",wms:"Infinity Warehouse",projects:"Infinity Projects",helpdesk:"Infinity Helpdesk",assets:"Infinity Assets",documents:"Infinity Documents","crm,hrms":"Infinity Workplace","crm,inventory":"Infinity Commerce","inventory,wms":"Infinity Stockroom","crm,hrms,inventory":"Infinity One","crm,hrms,wms":"Infinity Workplace Warehouse","crm,projects":"Infinity Projects Plus","crm,helpdesk":"Infinity Service Plus","crm,hrms,inventory,wms":"Infinity Enterprise Pack","crm,hrms,inventory,wms,projects,helpdesk,assets,documents":"Complete Business Suite"},l=e.join(",");return i[l]||this.productName||"Infinity CRM"}loadModuleAccess(){this.company?.id&&(this.loading=!0,this.errorMessage=null,this.companyService.getCompanyModuleAccess(this.company.id).subscribe({next:r=>{this.organizationName=r.organization_name??null,this.productName=r.product_name||"",this.selectedModules=r.enabled_modules?.length?[...r.enabled_modules]:["crm","hrms"],this.loading=!1},error:r=>
1{let e=typeof r?.error?.detail=="string"?r.error.detail:null;this.errorMessage=e||"Unable to load module packages right now. Please try again.",this.loading=!1}}))}sameModules(r,e){return r.length===e.length&&r.every(i=>e.includes(i))}resetState(){this.loading=!1,this.saving=!1,this.organizationName=null,this.productName="",this.selectedModules=["crm","hrms"],this.errorMessage=null}static \u0275fac=function(e){return new(e||c)(O(We))};static \u0275cmp=k({type:c,selectors:[["app-company-module-access-dialog"]],inputs:{display:"display",company:"company"},outputs:{onClose:"onClose"},features:[ht],decls:30,vars:15,consts:[["unlinkedCompany",""],["styleClass","super-admin-dialog-shell super-admin-access-dialog crm-unified-dialog",3,"visibleChange","onHide","visible","modal","closable","dismissableMask"],["pTemplate","header"],[1,"super-admin-access"],[1,"super-admin-access__copy"],[1,"super-admin-access__meta-row"],["class","super-admin-access__meta",4,"ngIf","ngIfElse"],[1,"super-admin-access__resolved-branding"],[1,"resolved-name"],["errorTitle","Module access unavailable","preset","form",3,"loading","errorMessage"],[1,"super-admin-access__section-title"],[1,"pi","pi-tags","mr-1"],[1,"super-admin-access__presets"],["type","button","class","super-admin-access__preset-badge",3,"super-admin-access__preset-badge--selected","click",4,"ngFor","ngForOf"],[1,"super-admin-access__section-title","mt-4"],[1,"pi","pi-th-large","mr-1"],[1,"super-admin-access__grid"],["class","super-admin-access__card",3,"super-admin-access__card--enabled","click",4,"ngFor","ngForOf"],[1,"super-admin-access__actions"],["pButton","","type","button","label","Cancel",1,"p-button-text",3,"click"],["pButton","","type","button","label","Save Module Access",1,"p-button-primary",3,"click","loading"],[1,"super-admin-access__header"],[1,"pi","pi-shield","mr-2","text-primary"],[1,"super-admin-access__meta"],[1,"text-primary"],[1,"super-admin-access__meta","warning"],[1,"pi","pi-exclamation-triangle","mr-1"],["type","button",1,"super-admin-access__preset-badge",3,"click"],[1,"super-admin-access__card",3,"click"],[1,"super-admin-access__card-main"],[1,"super-admin-access__card-icon-container"],[1,"super-admin-access__card-details"],[1,"super-admin-access__card-label"],[1,"super-admin-access__card-desc"],[1,"super-admin-access__card-action"],[1,"super-admin-access__custom-switch"],[1,"super-admin-access__custom-switch-handle"]],template:function(e,i){if(e&1){let l=M();t(0,"p-dialog",1),v("visibleChange",function(C){return _(l),h(i.display,C)||(i.display=C),b(C)}),u("onHide",function(){return _(l),b(i.close(!1))}),x(1,fr,4,0,"ng-template",2),t(2,"div",3)(3,"p",4),a(4," Configure SaaS access for this company. Select a predefined package preset or toggle individual modules. "),n(),t(5,"div",5),x(6,hr,4,1,"div",6)(7,vr,4,0,"ng-template",null,0,Ge),t(9,"div",7)(10,"span"),a(11,"Branding:"),n(),t(12,"strong",8),a(13),n()()(),t(14,"app-data-state",9)(15,"div",10),d(16,"i",11),t(17,"span"),a(18,"Package Presets"),n()(),t(19,"div",12),x(20,xr,3,3,"button",13),n(),t(21,"div",14),d(22,"i",15),t(23,"span"),a(24,"Granular Module Toggles"),n()(),t(25,"div",16),x(26,Cr,12,8,"div",17),n()(),t(27,"div",18)(28,"button",19),u("click",function(){return _(l),b(i.close(!1))}),n(),t(29,"button",20),u("click",function(){return _(l),b(i.save())}),n()()()()}if(e&2){let l=Ye(8);re(I(14,br)),f("visible",i.display),m("modal",!0)("closable",!0)("dismissableMask",!0),o(6),m("ngIf",i.organizationName)("ngIfElse",l),o(7),p(i.selectedProductName),o(),m("loading",i.loading)("errorMessage",i.errorMessage),o(6),m("ngForOf",i.packageOptions),o(6),m("ngForOf",i.availableModules),o(3),m("loading",i.saving)}},dependencies:[E,ne,B,Re,Ne,N,z,oe,D],styles:["[_nghost-%COMP%]{display:block}.super-admin-access__header[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1.25rem;font-weight:700;color:var(--text-color)}.super-admin-access[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-access__copy[_ngcontent-%COMP%]{margin:0;font-size:.95rem;line-height:1.5;color:var(--text-color-secondary)}.super-admin-access__meta-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:color-mix(in srgb,var(--primary-color) 4%,var(--surface-card));border:1px solid var(--surface-border);border-radius:8px}.super-admin-access__meta[_ngcontent-%COMP%]{font-size:.9rem;color:var(--text-color-secondary)}.super-admin-access__meta.warning[_ngcontent-%COMP%]{color:#eab308;display:flex;align-items:center}.super-admin-access__resolved-branding[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-color-secondary)}.super-admin-access__resolved-branding[_ngcontent-%COMP%] .resolved-name[_ng
1content-%COMP%]{padding:.25rem .6rem;background:var(--primary-color);color:#fff;border-radius:6px;font-size:.85rem;font-weight:600;box-shadow:0 2px 4px color-mix(in srgb,var(--primary-color) 25%,transparent)}.super-admin-access__section-title[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-color-secondary);border-left:3px solid var(--primary-color);padding-left:.5rem;margin-bottom:.75rem}.super-admin-access__presets[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem}.super-admin-access__preset-badge[_ngcontent-%COMP%]{background:var(--surface-card);color:var(--text-color-secondary);border:1px solid var(--surface-border);padding:.5rem .9rem;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.super-admin-access__preset-badge[_ngcontent-%COMP%]:hover{color:var(--text-color);border-color:var(--text-color-secondary);background:var(--surface-hover)}.super-admin-access__preset-badge--selected[_ngcontent-%COMP%]{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 6px color-mix(in srgb,var(--primary-color) 20%,transparent)}.super-admin-access__preset-badge--selected[_ngcontent-%COMP%]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.super-admin-access__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.super-admin-access__card[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.super-admin-access__card[_ngcontent-%COMP%]:hover{border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border));transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.super-admin-access__card--enabled[_ngcontent-%COMP%]{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 3%,var(--surface-card));box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 5%,transparent)}.super-admin-access__card--enabled[_ngcontent-%COMP%] .super-admin-access__card-icon-container[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color)}.super-admin-access__card-main[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.85rem;flex:1;min-width:0}.super-admin-access__card-icon-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:10px;background:var(--surface-100);color:var(--text-color-secondary);font-size:1.2rem;transition:all .2s ease;flex-shrink:0}.super-admin-access__card-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0}.super-admin-access__card-label[_ngcontent-%COMP%]{font-weight:600;font-size:.95rem;color:var(--text-color)}.super-admin-access__card-desc[_ngcontent-%COMP%]{font-size:.8rem;color:var(--text-color-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.15rem}.super-admin-access__card-action[_ngcontent-%COMP%]{margin-left:.75rem;flex-shrink:0}.super-admin-access__custom-switch[_ngcontent-%COMP%]{position:relative;width:2.5rem;height:1.35rem;background:var(--surface-300);border-radius:999px;transition:background .25s ease}.super-admin-access__custom-switch--active[_ngcontent-%COMP%]{background:var(--primary-color)}.super-admin-access__custom-switch--active[_ngcontent-%COMP%] .super-admin-access__custom-switch-handle[_ngcontent-%COMP%]{transform:translate(1.15rem)}.super-admin-access__custom-switch-handle[_ngcontent-%COMP%]{position:absolute;top:.15rem;left:.15rem;width:1.05rem;height:1.05rem;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .25s cubic-bezier(.4,0,.2,1)}.super-admin-access__actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid var(--surface-border);padding-top:1rem;margin-top:.5rem}[_nghost-%COMP%] .p-dialog .p-dialog-content{padding:1.5rem}@media (max-width: 768px){.super-admin-access__grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}@media (max-width: 640px){.super-admin-access__meta-row[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch;gap:.75rem}.super-admin-access__resolved-branding[_ngcontent-%COMP%]{justify-content:space-between}.super-admin-access__actions[_ngcontent-%COMP%]{flex-direction:column}.super-admin-access__actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}"]})};var yr=["dt"],Mr=()=>["name","email","status","storage_used_display"],Pr=()=>({width:"90vw",maxWidth:"450px"});function wr(c,r){if(c&1&&(t(0,"small",34),a(1),n()),c&2){let e=g();o(),P("of ",e.companies.length,"")}}function Or(c,r){c&1&&(t(0,"tr")(1,"th",35),a(2,"Name "),d(3,"p-sortIcon",36),n(),t(4,"th",37),a(5,"Email "),d(6,"p-sortIcon",38),n(),t(7,"th",39),a(8,"Storage Used "),d(9,"p-sortIcon",40),n(),t(10,"th"),a(11,"Status"),n(),t(12,"th"),a(13,"Created At"),n(),t(14,"th"),a(15,"Actions"),n()())}function Sr(c,r){c&1&&(t(0,"small",43),a(1,"Includes files, S3 assets, and tenant records"),n())}function kr(c,r){if(c&1&&(t(0,"small",43),a(1),y(2,"date"),n()),c&2){let e=g().$implicit;o(),P("Updated ",T(2,1,e.storage_recorded_at,"short"),"")}}function Er(c,r){c&1&&(t(0,"small",43),a(1,"Link organization to measure storage"),n())}function Tr(c,r){if(c&1){let e=M();t(0,"tr")(1,"td")(2,"div",41)(3,"span",42),a(4),n(),t(5,"small",43),a(6),n()()(),t(7,"td"),a(8),n(),t(9,"td")(10,"div",41)(11,"span",42),a(12),n(),x(13,Sr,2,0,"small",44)(14,kr,3,4,"small",44)(15,Er,2,0,"small",44),n()(),t(16,"td")(17,"span",45),a(18),n()(),t(19,"td"),a(20),y(21,"date"),n(),t(22,"td")(23,"div",46)(24,"button",47),u("click",function(){let l=_(e).$implicit,s=g();
1return b(s.openModuleAccessDialog(l))}),n(),t(25,"button",48),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openEditDialog(l))}),n(),t(26,"button",49),u("click",function(){let l=_(e).$implicit,s=g();return b(s.deleteCompany(l))}),n()()()()}if(c&2){let e=r.$implicit,i=g();o(4),p(e.name),o(2),p(e.organization_name||"No linked tenant organization"),o(2),p(e.email),o(4),p(i.getStorageDisplay(e)),o(),m("ngIf",e.storage_source==="live"),o(),m("ngIf",e.storage_source==="metric"&&e.storage_recorded_at),o(),m("ngIf",e.storage_source==="unavailable"),o(2),m("ngClass",i.getStatusClass(e.status)),o(),p(i.getStatusLabel(e.status)),o(2),p(T(21,10,e.created_at,"short"))}}function Ir(c,r){c&1&&(t(0,"tr")(1,"td",50)(2,"div",51),a(3,"No companies found for the selected filters."),n()()())}var Rt=class c{constructor(r,e){this.companyService=r;this.confirmationService=e}companies=[];loading=!0;errorMessage=null;dt;displayDialog=!1;displayModuleAccessDialog=!1;selectedCompany=null;selectedAccessCompany=null;searchQuery="";statusFilter="";statusOptions=[{label:"All Status",value:""},{label:"New",value:"NEW"},{label:"Active",value:"ACTIVE"},{label:"Suspended",value:"SUSPENDED"}];debouncedTableFilter=Tt(r=>{this.dt?.filterGlobal(r,"contains")},300);ngOnInit(){this.loadCompanies()}loadCompanies(){this.loading=!0,this.errorMessage=null,this.companyService.getCompanies().subscribe({next:r=>{this.companies=r,this.loading=!1},error:()=>{this.companies=[],this.errorMessage="Unable to load companies right now.",this.loading=!1}})}onGlobalFilter(r){let e=r.target;this.searchQuery=e?.value??"",this.debouncedTableFilter(this.searchQuery)}onStatusFilterChange(r){this.statusFilter=r??"",this.dt?.filter(this.statusFilter||null,"status","equals")}clearFilters(){this.searchQuery="",this.statusFilter="",this.dt?.clear()}get visibleCompaniesCount(){let r=this.dt?.filteredValue;return r?r.length:this.companies.length}getStatusLabel(r){return r==="NEW"?"New":r==="SUSPENDED"?"Suspended":"Active"}getStatusClass(r){return r==="NEW"?"new":r==="SUSPENDED"?"inactive":"active"}getStorageDisplay(r){if(r.storage_used_display)return r.storage_used_display;let e=Number(r.storage_used_mb??0);return!Number.isFinite(e)||e<=0?"0 MB":e>=1024?`${(e/1024).toFixed(2)} GB`:e>=1?`${e.toFixed(2)} MB`:`${Math.round(e*1024)} KB`}openAddDialog(){this.selectedCompany=null,this.displayDialog=!0}openEditDialog(r){this.selectedCompany=w({},r),this.displayDialog=!0}openModuleAccessDialog(r){this.selectedAccessCompany=w({},r),this.displayModuleAccessDialog=!0}onDialogClose(r){this.displayDialog=!1,r&&this.loadCompanies()}onModuleAccessDialogClose(r){this.displayModuleAccessDialog=!1,r&&this.loadCompanies()}deleteCompany(r){if(!r.id)return;let e=r.id;this.confirmationService.confirm({header:"Delete Company",message:`Are you sure you want to delete "${r.name}"?`,icon:"pi pi-trash",acceptLabel:"Delete",rejectLabel:"Cancel",acceptButtonStyleClass:"p-button-danger",accept:()=>{this.loading=!0,this.errorMessage=null,this.companyService.deleteCompany(e).subscribe({next:()=>{this.companies=this.companies.filter(i=>i.id!==e),this.loading=!1},error:()=>{this.errorMessage="Unable to delete this company right now.",this.loading=!1}})}})}static \u0275fac=function(e){return new(e||c)(O(We),O(Pt))};static \u0275cmp=k({type:c,selectors:[["app-companies"]],viewQuery:function(e,i){if(e&1&&Je(yr,5),e&2){let l;$e(l=Ze())&&(i.dt=l.first)}},features:[Se([Pt])],decls:44,vars:21,consts:[["dt",""],[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-building"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],["class","text-color-secondary text-sm font-normal",4,"ngIf"],[1,"sa-toolbar__filters"],[1,"sa-search"],[1,"pi","pi-search"],["pInputText","","type","text","placeholder","Search companies",3,"input","ngModel"],["variant","on"],["inputId","super_admin_companies_status","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","onChange","options","ngModel"],["for","super_admin_companies_status"],["type","button",1,"sa-btn-text",3,"click","disabled"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-plus"],[1,"sa-glass"],["errorTitle","Companies unavailable","preset","table",3,"loading","errorMessage"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","globalFilterFields","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[3,"onClose","display","company"],[1,"text-color-secondary","text-sm","font-normal"],["pSortableColumn","name"],["field","name"],["pSortableColumn","email"],["field","email"],["pSortableColumn","storage_used_mb"],["field","storage_used_mb"],[1,"company-cell"],[1,"company-cell__name"],[1,"company-cell__meta"],["class","company-cell__meta",4,"ngIf"],[1,"sa-status",3,"ngClass"],[1,"table-actions"],["pButton","","icon","pi pi-shield",1,"p-button-text","p-button-rounded","p-button-secondary",3,"click"],["pButton","","icon","pi pi-pencil",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","icon","pi pi-trash",1,"p-button-text","p-button-rounded","p-button-danger",3,"click"],["colspan","6"],[1,"sa-empty"]],template:function(e,i){if(e&1){let l=M();t(0,"section",1)(1,"header",2),d(2,"div",3),t(3,"div",4)(4,"div",5),d(5,"i",6),n(),t(6,"div",7)(7,"span",8),a(8,"Tenant management"),n(),t(9,"h2",9),a(10,"Companies"),n(),t(11,"p",10),a(12,"Review and maintain tenant company records with the existing create and edit flow."),n()()()(),t(13,"div",11)(14,"div",12)(15,"h3",13),a(16," Company directory "),t(17,"span",14),a(18),n(),x(19,wr,2,1,"small",15),n(),t(20,"div",16)(21,"span",17),d(22,"i",18),t(23,"input",19),u("input",function(C){return _(l),b(i.onGlobalFilter(C))}),n()(),t(24,"p-floatlabel",20)(25,"p-dropdown",21),v("ngModelChange",function(C){return _(l),h(i.statusFilter,C)||(i.statusFilter=C),b(C)}),u("onChange",function(C){return _(l),b(i.onStatusFilterChange(C.value))}),n(),t(26,"label",22),a(27,"Status"),n()(),t(28,"button",23),u("click",function(){return _(l),b(i.clearFilters())}),a(29,"Clear"),n()(),t(30,"div",24)(31,"button",25),u("click",function(){return _(l),b(i.openAddDialog())}),d(32,"i",26),a(33," Add Company "),n()()(),t(34,"div",27)(35,"app-data-state",28)(36,"p-table",29,0),x(38,Or,16,0,"ng-template",3
10)(39,Tr,27,13,"ng-template",31)(40,Ir,4,0,"ng-template",32),n()()()(),t(41,"app-company-dialog",33),u("onClose",function(C){return _(l),b(i.onDialogClose(C))}),n(),t(42,"app-company-module-access-dialog",33),u("onClose",function(C){return _(l),b(i.onModuleAccessDialogClose(C))}),n(),d(43,"p-confirmDialog"),n()}e&2&&(o(18),p(i.visibleCompaniesCount),o(),m("ngIf",i.visibleCompaniesCount!==i.companies.length),o(4),m("ngModel",i.searchQuery),o(2),m("options",i.statusOptions),f("ngModel",i.statusFilter),o(3),m("disabled",!i.searchQuery&&!i.statusFilter),o(7),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("value",i.companies)("paginator",!0)("rows",10)("globalFilterFields",I(19,Mr))("rowHover",!0),o(5),m("display",i.displayDialog)("company",i.selectedCompany),o(),m("display",i.displayModuleAccessDialog)("company",i.selectedAccessCompany),o(),re(I(20,Pr)))},dependencies:[E,q,B,J,j,K,N,It,zt,z,oe,H,G,ee,X,se,ge,Dn,Bn,Dt,Nt,L,W,V,U,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.company-cell[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.15rem}.company-cell__name[_ngcontent-%COMP%]{font-weight:700;color:var(--text-color)}.company-cell__meta[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.78rem}.table-actions[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.15rem;flex-wrap:wrap}']})};var Wt=class c{constructor(r,e){this.http=r;this.authService=e}baseUrl=`${R.apiUrl}api/super-admin/plans/`;getPlans(){return this.http.get(this.baseUrl,this.getHeaders()).pipe(Z(r=>this.normalizeList(r)))}createPlan(r){return this.http.post(this.baseUrl,r,this.getHeaders())}updatePlan(r,e){return this.http.patch(`${this.baseUrl}${r}/`,e,this.getHeaders())}deletePlan(r){return this.http.delete(`${this.baseUrl}${r}/`,this.getHeaders())}seedDefaultCards(){return this.http.post(`${this.baseUrl}seed-default-cards/`,{},this.getHeaders())}getHeaders(){let r=this.authService.getToken();return{headers:new Me({Authorization:r?`Bearer ${r}`:""})}}normalizeList(r){if(Array.isArray(r))return r;if(r&&typeof r=="object"){let e=r;if(Array.isArray(e.results))return e.results;if(Array.isArray(e.data))return e.data;if(Array.isArray(e.items))return e.items}return[]}static \u0275fac=function(e){return new(e||c)(me(Pe),me(we))};static \u0275prov=ye({token:c,factory:c.\u0275fac,providedIn:"root"})};var Fr=()=>({width:"64rem",maxWidth:"96vw",maxHeight:"92vh"}),Ar=()=>({maxHeight:"calc(92vh - 120px)",overflowY:"auto"}),_n=()=>({standalone:!0});function Br(c,r){if(c&1){let e=M();t(0,"button",91),u("click",function(){let l=_(e).$implicit,s=g();return b(s.selectTab(l.id))}),d(1,"i"),t(2,"span"),a(3),n(),t(4,"span",92),a(5),n()()}if(c&2){let e=r.$implicit,i=g();S("sa-filter-tab--active",i.selectedProductTab===e.id),o(),tt(e.icon),o(2),p(e.label),o(2),p(i.countByProduct[e.id]||0)}}function Dr(c,r){if(c&1&&(t(0,"span",102),a(1),t(2,"strong"),a(3,"100% hidden"),n(),a(4," from the public /pricing page and navigation. "),n()),c&2){let e=g(2);o(),P(" All ",e.getProductTotalCount(e.selectedProductTab)," cards are deactivated. This product is ")}}function Vr(c,r){if(c&1&&(t(0,"span",103),a(1),n()),c&2){let e=g(2);o(),ue(" ",e.getProductActiveCount(e.selectedProductTab)," of ",e.getProductTotalCou
1nt(e.selectedProductTab)," cards active on /pricing. ")}}function Lr(c,r){if(c&1&&(t(0,"span",104),a(1),n()),c&2){let e=g(2);o(),P(" All ",e.getProductTotalCount(e.selectedProductTab)," cards active and visible on /pricing. ")}}function Nr(c,r){if(c&1){let e=M();t(0,"button",105),u("click",function(){_(e);let l=g(2);return b(l.toggleAllCardsForProduct(l.selectedProductTab,!0))}),d(1,"i",106),t(2,"span"),a(3),y(4,"uppercase"),n()()}if(c&2){let e=g(2);o(3),P("Enable All ",de(4,1,e.selectedProductTab)," Cards")}}function Rr(c,r){if(c&1){let e=M();t(0,"button",107),u("click",function(){_(e);let l=g(2);return b(l.toggleAllCardsForProduct(l.selectedProductTab,!1))}),d(1,"i",108),t(2,"span"),a(3),y(4,"uppercase"),n()()}if(c&2){let e=g(2);o(3),P("Disable All ",de(4,1,e.selectedProductTab)," Cards")}}function Wr(c,r){if(c&1&&(t(0,"div",93)(1,"div",94),d(2,"i"),t(3,"div",95)(4,"strong"),a(5),n(),x(6,Dr,5,1,"span",96)(7,Vr,2,2,"span",97)(8,Lr,2,1,"span",98),n()(),t(9,"div",99),x(10,Nr,5,3,"button",100)(11,Rr,5,3,"button",101),n()()),c&2){let e=g();o(2),tt(e.getProductActiveCount(e.selectedProductTab)>0?"pi pi-check-circle text-emerald-500":"pi pi-eye-slash text-amber-500"),o(3),P("",e.getProductName(e.selectedProductTab)," Public Visibility:"),o(),m("ngIf",e.getProductActiveCount(e.selectedProductTab)===0),o(),m("ngIf",e.getProductActiveCount(e.selectedProductTab)>0&&e.getProductActiveCount(e.selectedProductTab)<e.getProductTotalCount(e.selectedProductTab)),o(),m("ngIf",e.getProductActiveCount(e.selectedProductTab)===e.getProductTotalCount(e.selectedProductTab)&&e.getProductTotalCount(e.selectedProductTab)>0),o(2),m("ngIf",e.getProductActiveCount(e.selectedProductTab)<e.getProductTotalCount(e.selectedProductTab)),o(),m("ngIf",e.getProductActiveCount(e.selectedProductTab)>0)}}function Ur(c,r){c&1&&(t(0,"tr")(1,"th",109),a(2,"#"),n(),t(3,"th"),a(4,"Product"),n(),t(5,"th"),a(6,"Edition / Name"),n(),t(7,"th"),a(8,"Monthly Price"),n(),t(9,"th"),a(10,"Annual Price"),n(),t(11,"th"),a(12,"Badge / Featured"),n(),t(13,"th"),a(14,"Features"),n(),t(15,"th"),a(16,"Order"),n(),t(17,"th",110),a(18,"Status"),n(),t(19,"th",111),a(20,"Actions"),n()())}function Hr(c,r){if(c&1&&(t(0,"span",133),a(1),n()),c&2){let e=g().$implicit;o(),p(e.features.tagline)}}function jr(c,r){if(c&1&&(t(0,"span",134),a(1),n()),c&2){let e=g().$implicit;o(),P(" Save ",e.features.annual_savings_pct,"% ")}}function qr(c,r){c&1&&(t(0,"span",135),d(1,"i",136),a(2," Most Popular "),n())}function Yr(c,r){if(c&1&&(t(0,"span",137),a(1),n()),c&2){let e=g().$implicit;o(),P(" ",e.features.badge," ")}}function Gr(c,r){c&1&&(t(0,"span",138),a(1," Standard "),n())}function Kr(c,r){if(c&1){let e=M();t(0,"tr")(1,"td",112),a(2),n(),t(3,"td")(4,"span",113),d(5,"i",114),a(6),y(7,"uppercase"),n()(),t(8,"td")(9,"div",115)(10,"span",116),a(11),n(),x(12,Hr,2,1,"span",117),n()(),t(13,"td")(14,"span",118),a(15),y(16,"currency"),n(),t(17,"span",119),a(18,"/mo"),n()(),t(19,"td")(20,"span",118),a(21),y(22,"currency"),n(),t(23,"span",119),a(24,"/mo"),n(),x(25,jr,2,1,"span",120),n(),t(26,"td")(27,"div",121),x(28,qr,3,0,"span",122)(29,Yr,2,1,"span",123)(30,Gr,2,0,"span",124),n()(),t(31,"td")(32,"span",125),d(33,"i",126),a(34),n()(),t(35,"td",127),a(36),n(),t(37,"td",128)(38,"button",129),u("click",function(){let l=_(e).$implicit,s=g();return b(s.togglePlanActive(l))}),d(39,"i"),t(40,"span"),a(41),n()()(),t(42,"td")(43,"div",130)(44,"button",131),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openEditDialog(l))}),n(),t(45,"button",132),u("click",function(){let l=_(e).$implicit,s=g();return b(s.deletePlan(l))}),n()()()()}if(c&2){let e=r.$implicit,i=r.rowIndex,l=g();S("sa-row--inactive",(e.features==null?null:e.features.is_active)===!1),o(2),p(i+1),o(2),m("ngClass",l.getProductBadgeClass(e.features==null?null:e.features.product)),o(2),P(" ",de(7,23,(e.features==null?null:e.features.product)||"crm")," "),o(5),p(e.name),o(),m("ngIf",e.features==null?null:e.features.tagline),o(3),P(" ",Fe(16,25,(e.features==null?null:e.features.monthly_price)!==void 0?e.features.monthly_price:e.price,"INR","symbol","1.0-0")," "),o(6),P(" ",Fe(22,30,(e.features==null?null:e.features.annual_price)!==void 0?e.features.annual_price:e.price,"INR","symbol","1.0-0")," "),o(4),m("ngIf",((e.features==null?null:e.features.annual_savings_pct)||0)>0),o(3),m("ngIf",e.features==null?null:e.features.is_popular),o(),m("ngIf",(e.features==null?null:e.features.badge)&&!(e.features!=null&&e.features.is_popular)),o(),m("ngIf",!(e.features!=null&&e.features.badge)&&!(e.features!=null&&e.features.is_popular)),o(4),P(" ",(e.features==null||e.features.feature_items==null?null:e.features.feature_items.length)||0," features "),o(2),P(" ",(e.features==null?null:e.features.display_order)||1," "),o(2),S("sa-status-toggle-btn--active",(e.features==null?null:e.features.is_active)!==!1)("sa-status-toggle-btn--inactive",(e.features==null?null:e.features.is_active)===!1),m("title",(e.features==null?null:e.features.is_active)!==!1?"Currently ACTIVE on /pricing. Click to deactivate & hide.":"Currently INACTIVE. Click to activate & show."),o(),tt((e.features==null?null:e.features.is_active)!==!1?"pi pi-check-circle":"pi pi-eye-slash"),o(2),p((e.features==null?null:e.features.is_active)!==!1?"Active":"Hidden")}}function Qr(c,r){c&1&&(t(0,"tr")(1,"td",139)(2,"div",140),d(3,"i",141),t(4,"h4"),a(5,"No pricing cards foun
1d"),n(),t(6,"p"),a(7,'Click "Seed / Reset Default Catalog" above to automatically load standard cards for all 5 products.'),n()()()())}function Jr(c,r){c&1&&(t(0,"small",142),a(1,"Edition name is required"),n())}function $r(c,r){c&1&&(t(0,"small",142),a(1,"Valid title required"),n())}function Zr(c,r){c&1&&(t(0,"small",142),a(1,"Monthly price required (>= 0)"),n())}function Xr(c,r){c&1&&(t(0,"small",142),a(1,"Annual price required (>= 0)"),n())}function ei(c,r){c&1&&(t(0,"span",161),a(1,"Highlighted"),n())}function ti(c,r){if(c&1&&(t(0,"div",162),d(1,"i",163),a(2),n()),c&2){let e=g().$implicit;o(2),P(" ",e.tooltip," ")}}function ni(c,r){if(c&1){let e=M();t(0,"div",145)(1,"div",146)(2,"button",147),u("click",function(){let l=_(e).index,s=g(2);return b(s.moveFeatureUp(l))}),d(3,"i",148),n(),t(4,"button",149),u("click",function(){let l=_(e).index,s=g(2);return b(s.moveFeatureDown(l))}),d(5,"i",150),n()(),t(6,"div",151)(7,"div",152),d(8,"i",153),t(9,"strong"),a(10),n(),x(11,ei,2,0,"span",154),n(),x(12,ti,3,1,"div",155),n(),t(13,"div",156)(14,"button",157),u("click",function(){let l=_(e).index,s=g(2);return b(s.toggleFeatureHighlight(l))}),d(15,"i",158),n(),t(16,"button",159),u("click",function(){let l=_(e).index,s=g(2);return b(s.removeFeatureItem(l))}),d(17,"i",160),n()()()}if(c&2){let e=r.$implicit,i=r.index,l=g(2);S("sa-feature-row--highlight",e.highlight),o(2),m("disabled",i===0),o(2),m("disabled",i===l.featureItems.length-1),o(6),p(e.name),o(),m("ngIf",e.highlight),o(),m("ngIf",e.tooltip),o(2),m("title",e.highlight?"Remove Highlight":"Make Highlighted Accent"),o(),S("text-amber-500",e.highlight)}}function ri(c,r){if(c&1&&(t(0,"div",143),x(1,ni,18,10,"div",144),n()),c&2){let e=g();o(),m("ngForOf",e.featureItems)}}function ii(c,r){c&1&&(t(0,"div",164),d(1,"i",165),a(2," No feature points added yet. Use the inputs above to add feature bullets. "),n())}var Ut=class c{constructor(r,e,i){this.planService=r;this.fb=e;this.messageService=i;this.planForm=this.fb.group({product:["crm",Y.required],edition:["Professional",[Y.required,Y.minLength(2)]],name:["CRM Professional",[Y.required,Y.minLength(2),Y.maxLength(100)]],tagline:[""],badge:[""],is_popular:[!1],monthly_price:[899,[Y.required,Y.min(0)]],annual_price:[749,[Y.required,Y.min(0)]],annual_savings_pct:[20,[Y.min(0),Y.max(100)]],duration_days:[30,[Y.required,Y.min(1)]],cta_text:["Start Free Trial",Y.required],cta_link:["/request-demo"],cta_variant:["popular"],display_order:[1,[Y.required,Y.min(1)]],is_active:[!0]})}plans=[];loading=!1;seeding=!1;errorMessage=null;showAddDialog=!1;editingPlanId=null;planForm;productOptions=[{id:"crm",name:"Infinity CRM",shortName:"CRM",icon:"pi pi-bolt",badgeClass:"sa-badge--crm"},{id:"hrms",name:"Infinity HRMS",shortName:"HRMS",icon:"pi pi-users",badgeClass:"sa-badge--hrms"},{id:"inventory",name:"Infinity Inventory",shortName:"Inventory",icon:"pi pi-box",badgeClass:"sa-badge--inventory"},{id:"wms",name:"Infinity WMS",shortName:"WMS",icon:"pi pi-compass",badgeClass:"sa-badge--wms"},{id:"cms",name:"Infinity CMS",shortName:"CMS",icon:"pi pi-file-edit",badgeClass:"sa-badge--cms"}];ctaVariantOptions=[{label:"Popular Highlight (Filled Accent)",value:"popular"},{label:"Standard Outlined",value:"standard"},{label:"Free Tier (Neutral)",value:"free"}];selectedProductTab="all";filterTabs=[{id:"all",label:"All Products",icon:"pi pi-th-large"},{id:"crm",label:"CRM",icon:"pi pi-bolt"},{id:"hrms",label:"HRMS",icon:"pi pi-users"},{id:"inventory",label:"Inventory",icon:"pi pi-box"},{id:"wms",label:"WMS",icon:"pi pi-compass"},{id:"cms",label:"CMS",icon:"pi pi-file-edit"}];featureItems=[];newFeatureName="";newFeatureTooltip="";newFeatureHighlight=!1;ngOnInit(){this.loadPlans()}get filteredPlans(){let r=this.selectedProductTab==="all"?this.plans:this.plans.filter(i=>(i.features?.product||"").toLowerCase()===this.selectedProductTab),e=["crm","hrms","inventory","wms","cms"];return[...r].sort((i,l)=>{let s=(i.features?.product||"").toLowerCase(),C=(l.features?.product||"").toLowerCase(),A=e.indexOf(s),te=e.indexOf(C),He=A!==-1?A:99,qe=te!==-1?te:99;if(He!==qe)return He-qe;let ae=Number(i.features?.display_order)||99,fn=Number(l.features?.display_order)||99;return ae!==fn?ae-fn:Number(i.price||0)-Number(l.price||0)})}get countByProduct(){let r={all:this.plans.length};
1return this.productOptions.forEach(e=>{r[e.id]=this.plans.filter(i=>(i.features?.product||"").toLowerCase()===e.id).length}),r}get popularPlansCount(){return this.plans.filter(r=>!!r.features?.is_popular).length}selectTab(r){this.selectedProductTab=r}getProductBadgeClass(r){let e=(r||"crm").toLowerCase(),i=this.productOptions.find(l=>l.id===e);return i?i.badgeClass:"sa-badge--default"}getProductName(r){let e=(r||"crm").toLowerCase(),i=this.productOptions.find(l=>l.id===e);return i?i.name:"Unknown Product"}openAddDialog(){this.editingPlanId=null;let r=this.selectedProductTab!=="all"?this.selectedProductTab:"crm",e=this.productOptions.find(l=>l.id===r),i=e?e.shortName:"CRM";this.planForm.reset({product:r,edition:"Standard",name:`${i} Standard`,tagline:"Standard plan for growing teams",badge:"",is_popular:!1,monthly_price:499,annual_price:399,annual_savings_pct:20,duration_days:30,cta_text:"Start Free Trial",cta_link:"/request-demo",cta_variant:"standard",display_order:this.filteredPlans.length+1,is_active:!0}),this.featureItems=[],this.resetNewFeatureInputs(),this.showAddDialog=!0}openEditDialog(r){this.editingPlanId=r.id||null;let e=r.features||{},i=e.product||"crm",l=e.edition||r.name,s=e.monthly_price!==void 0?e.monthly_price:Number(r.price||0),C=e.annual_price!==void 0?e.annual_price:s,A=e.annual_savings_pct!==void 0?e.annual_savings_pct:s>0?Math.round((s-C)/s*100):0;this.planForm.patchValue({product:i,edition:l,name:r.name,tagline:e.tagline||"",badge:e.badge||"",is_popular:!!e.is_popular,monthly_price:s,annual_price:C,annual_savings_pct:A,duration_days:r.duration_days||30,cta_text:e.cta_text||"Start Free Trial",cta_link:e.cta_link||"/request-demo",cta_variant:e.cta_variant||(e.is_popular?"popular":"standard"),display_order:e.display_order||1,is_active:e.is_active!==void 0?e.is_active:!0}),this.featureItems=[],Array.isArray(e.feature_items)&&e.feature_items.length>0&&(this.featureItems=e.feature_items.map(te=>({name:typeof te=="string"?te:te.name||"",tooltip:typeof te=="object"&&te.tooltip||"",highlight:typeof te=="object"?!!te.highlight:!1}))),this.resetNewFeatureInputs(),this.showAddDialog=!0}onProductOrEditionChange(){let r=this.planForm.get("product")?.value,e=(this.planForm.get("edition")?.value||"").trim(),i=this.productOptions.find(s=>s.id===r),l=i?i.shortName:"Product";e&&this.planForm.patchValue({name:`${l} ${e}`},{emitEvent:!1})}onMonthlyPriceChange(){let r=Number(this.planForm.get("monthly_price")?.value||0),e=Number(this.planForm.get("annual_price")?.value||0);if(r>0&&e>0){let i=Math.round((r-e)/r*100);this.planForm.patchValue({annual_savings_pct:Math.max(0,i)},{emitEvent:!1})}}addFeatureItem(){let r=this.newFeatureName.trim();r&&(this.featureItems.push({name:r,tooltip:this.newFeatureTooltip.trim(),highlight:this.newFeatureHighlight}),this.resetNewFeatureInputs())}removeFeatureItem(r){this.featureItems.splice(r,1)}toggleFeatureHighlight(r){this.featureItems[r].highlight=!this.featureItems[r].highlight}moveFeatureUp(r){if(r>0){let e=this.featureItems.splice(r,1)[0];this.featureItems.splice(r-1,0,e)}}moveFeatureDown(r){if(r<this.featureItems.length-1){let e=this.featureItems.splice(r,1)[0];this.featureItems.splice(r+1,0,e)}}resetNewFeatureInputs(){this.newFeatureName="",this.newFeatureTooltip="",this.newFeatureHighlight=!1}savePlan(){if(this.planForm.invalid){this.planForm.markAllAsTouched();return}this.loading=!0,this.errorMessage=null;let r=this.planForm.value,e=Number(r.monthly_price||0),i=Number(r.annual_price!==null&&r.annual_price!==void 0?r.annual_price:e),l={name:r.name.trim(),price:e,duration_days:Number(r.duration_days||30),features:{product:r.product,product_name:this.getProductName(r.product),edition:r.edition.trim(),tagline:(r.tagline||"").trim(),badge:(r.badge||"").trim(),is_popular:!!r.is_popular,monthly_price:e,annual_price:i,annual_savings_pct:Number(r.annual_savings_pct||20),cta_text:(r.cta_text||"Start Free Trial").trim(),cta_link:(r.cta_link||"/request-demo").trim(),cta_variant:r.cta_variant||(r.is_popular?"popular":"standard"),display_order:Number(r.display_order||1),is_active:!!r.is_active,feature_items:this.featureItems}};(this.editingPlanId?this.planService.updatePlan(this.editingPlanId,l):this.planService.createPlan(l)).subscribe({next:C=>{this.editingPlanId?this.plans=this.plans.map(A=>A.id===C.id?C:A):this.plans=[...this.plans,C],this.messageService.add({severity:"success",summary:"Card Saved",detail
1:this.editingPlanId?`Updated "${C.name}" successfully.`:`Created "${C.name}" successfully.`}),this.showAddDialog=!1,this.editingPlanId=null,this.planForm.reset(),this.loading=!1},error:()=>{this.errorMessage="Unable to save pricing card changes.",this.messageService.add({severity:"error",summary:"Save Error",detail:"Unable to save card changes. Please check fields and try again."}),this.loading=!1}})}deletePlan(r){!r?.id||!window.confirm(`Are you sure you want to remove pricing card "${r.name}"?`)||(this.loading=!0,this.errorMessage=null,this.planService.deletePlan(r.id).subscribe({next:()=>{this.plans=this.plans.filter(i=>i.id!==r.id),this.messageService.add({severity:"info",summary:"Card Removed",detail:`"${r.name}" has been removed from active catalog.`}),this.loading=!1},error:()=>{this.errorMessage="Unable to delete this plan.",this.messageService.add({severity:"error",summary:"Delete Error",detail:"Unable to remove plan. It may have existing subscriptions."}),this.loading=!1}}))}togglePlanActive(r){if(!r?.id)return;let i=!(r.features?.is_active!==!1),l=F(w({},r.features||{}),{is_active:i});this.planService.updatePlan(r.id,{features:l}).subscribe({next:s=>{this.plans=this.plans.map(C=>C.id===s.id?s:C),this.messageService.add({severity:i?"success":"warn",summary:i?"Card Activated":"Card Deactivated",detail:`"${r.name}" is now ${i?"active (visible on public pricing)":"deactivated (hidden from public pricing)"}.`})},error:()=>{this.messageService.add({severity:"error",summary:"Status Update Failed",detail:"Unable to update card status."})}})}toggleAllCardsForProduct(r,e){let i=this.plans.filter(s=>(s.features?.product||"").toLowerCase()===r.toLowerCase());if(i.length===0)return;this.loading=!0;let l=i.map(s=>{let C=F(w({},s.features||{}),{is_active:e});return this.planService.updatePlan(s.id,{features:C})});xn(l).subscribe({next:s=>{let C=new Map(s.map(A=>[A.id,A]));this.plans=this.plans.map(A=>C.get(A.id)||A),this.loading=!1,this.messageService.add({severity:e?"success":"info",summary:e?"All Cards Activated":"All Cards Deactivated",detail:`${e?"Activated":"Deactivated"} all ${i.length} cards for ${this.getProductName(r)}. Public pricing updated.`})},error:()=>{this.loading=!1,this.messageService.add({severity:"error",summary:"Batch Update Failed",detail:"Unable to update all cards."})}})}getProductActiveCount(r){return this.plans.filter(e=>(e.features?.product||"").toLowerCase()===r.toLowerCase()&&e.features?.is_active!==!1).length}getProductTotalCount(r){return this.plans.filter(e=>(e.features?.product||"").toLowerCase()===r.toLowerCase()).length}seedDefaultCatalog(){window.confirm("Reset & seed default pricing catalog for all 5 products (CRM, HRMS, Inventory, WMS, CMS)? Existing default cards will be updated with standard features.")&&(this.seeding=!0,this.planService.seedDefaultCards().subscribe({next:e=>{this.plans=e.plans||[],this.seeding=!1,this.messageService.add({severity:"success",summary:"Catalog Seeded",detail:"Successfully initialized pricing cards for all 5 products!"})},error:()=>{this.seeding=!1,this.messageService.add({severity:"error",summary:"Seeding Error",detail:"Unable to seed default catalog. Please check backend status."})}}))}loadPlans(){this.loading=!0,this.errorMessage=null,this.planService.getPlans().subscribe({next:r=>{this.plans=r,this.loading=!1},error:()=>{this.plans=[],this.errorMessage="Unable to load plans right now.",this.loading=!1}})}fieldError(r,e){let i=this.planForm.get(r);return!i||!i.touched||!i.invalid?!1:e?i.hasError(e):!0}static \u0275fac=function(e){return new(e||c)(O(Wt),O(dt),O(pe))};static \u0275cmp=k({type:c,selectors:[["app-plans"]],features:[Se([pe])],decls:195,vars:53,consts:[["noFeaturesTpl",""],[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-credit-card"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-stats-grid"],[1,"sa-stat-card"],[1,"sa-stat-card__icon","sa-stat-card__icon--primary"],[1,"pi","pi-th-large"],[1,"sa-stat-card__body"],[1,"sa-stat-card__label"],[1,"sa-stat-card__value"],[1,"sa-stat-card__icon","sa-stat-card__icon--rose"],[1,"pi","pi-bolt"],[1,"sa-stat-card__icon","sa-stat-card__icon--emerald"],[1,"pi","pi-users"],[1,"sa-stat-card__icon","sa-stat-card__icon--orange"],[1,"pi","pi-box"],[1,"sa-stat-card__icon","sa-stat-card__icon--blue"],[1,"pi","pi-compass"],[1,"sa-stat-card__icon","sa-stat-card__icon--purple"],[1,"pi","pi-file-edit"],[1,"sa-filter-bar"],[1,"sa-filter-tabs"],["type","button","class","sa-filter-tab",3,"sa-filter-tab--active","click",4,"ngFor","ngForOf"],[1,"sa-filter-actions"],["type","button","title","Restore standard full pricing cards catalog for all 5 products",1,"sa-btn-secondary",3,"click","disabled"],[1,"pi","pi-refresh"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-plus"],[1,"sa-glass"],["class","sa-product-status-banner",4,"ngIf"],["errorTitle","Plans unavailable","preset","table",3,"loading","errorMessage"],["styleClass","p-datatable-sm custom-table sa-plans-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],["styleClass","super-admin-dialog-shell sa-pricing-dialog crm-unified-dialog",3,"visibleChange","header","visible","modal","closable","dismissableMask","contentStyle"],[1,"sa-modal-body"],[3,"ngSubmit","formGroup"],[1,"sa-form-section"],[1,"sa-form-section__title"],[1,"grid","grid-cols-12","gap-4"],[1,"col-span-12","md:col-span-4"],[1,"sa-field-label"],[1,"sa-required"],["optionLabel","name","optionValue","id","formControlName","product","styleClass","w-full",3,"onChange","options"],["type","text","pInputText","","formControlName","edition","placeholder","e.g. Professional, Standard, Enterprise",1,"w-full",3,"input"],["class","sa-field-error",4,"ngIf"],["type","text","pInputText","","formControlName","name","placeholder","e.g. CRM Professional",1,"w-full"],[1,"col-span-12","md:col-span-8"],["type","text","pInputText","","formControlName","tagline","placeholder","e.g. For fast-growing sales teams needing pipeline automation",1,"w-full"],["type","text","pInputText","","formControlName","badge","placeholder","e.g. Most Popular, Free Tier, Best Value",1,"w-full"],["type","number","min","1","step","1","pInputText","","formControlName","display_order",1,"w-full"],[1,"col-span-12","md:col-span-4","flex","items-center","pt-5"],["formControlName","is_popular","inputId","chk-popular",3,"binary"],["for","chk-popular",1,"ml-2","cursor-pointer","font-semibold","text-sm"],["formControlName","is_active","inputId","chk-active",3,"binary"],["for","chk-active",1,"ml-2","cursor-pointer","font-semibold","text-sm"],[1,"pi","pi-wallet"],["type","number","min","0","step","1","pInputText","","formControlName","monthly_price","placeholder","e.g. 899 (or 0 for free tier)",1,"w-full",3,"input"],["type","number","min","0","step","1","pInputText","","formControlName","annual_price","placeholder","e.g. 749",1,"w-full",3,"input"],["type","number","min","0","max","100","pInputText","","formControlName","annual_savings_pct","placeholder","20",1,"w-full"],["type","text","pInputText","","formControlName","cta_text","placeholder","e.g. Start Free Trial",1,"w-full"],["type","text","pInputText","","formControlName","cta_link","placeholder","e.g. /request-demo",1,"w-full"],["o
1ptionLabel","label","optionValue","value","formControlName","cta_variant","styleClass","w-full",3,"options"],[1,"flex","justify-between","items-center","mb-3"],[1,"sa-form-section__title","mb-0"],[1,"pi","pi-list-check"],[1,"text-xs","text-muted"],[1,"sa-add-feature-bar"],[1,"grid","grid-cols-12","gap-2","items-center"],[1,"col-span-12","md:col-span-5"],["type","text","pInputText","","placeholder","New feature title (e.g. Two-Way Email Sync)",1,"w-full","p-inputtext-sm",3,"ngModelChange","ngModel","ngModelOptions"],["type","text","pInputText","","placeholder","Optional explanatory tooltip",1,"w-full","p-inputtext-sm",3,"ngModelChange","ngModel","ngModelOptions"],[1,"col-span-6","md:col-span-2","flex","items-center"],["inputId","chk-feat-hl",3,"ngModelChange","ngModel","ngModelOptions","binary"],["for","chk-feat-hl",1,"ml-1","text-xs","cursor-pointer"],[1,"col-span-6","md:col-span-1"],["type","button",1,"sa-btn-primary","w-full","text-xs","py-2",3,"click","disabled"],["class","sa-features-list",4,"ngIf","ngIfElse"],[1,"sa-modal-footer"],["pButton","","type","button","label","Cancel",1,"p-button-text","p-button-secondary",3,"click"],["pButton","","type","submit","icon","pi pi-check",1,"sa-btn-primary",3,"label","loading"],["type","button",1,"sa-filter-tab",3,"click"],[1,"sa-filter-tab__badge"],[1,"sa-product-status-banner"],[1,"sa-product-status-info"],[1,"sa-product-status-text"],["class","status-warning",4,"ngIf"],["class","status-partial",4,"ngIf"],["class","status-success",4,"ngIf"],[1,"sa-product-status-actions"],["type","button","class","sa-btn-xs sa-btn-xs--success","title","Activate all cards for this product",3,"click",4,"ngIf"],["type","button","class","sa-btn-xs sa-btn-xs--danger","title","Deactivate all cards to hide this product from /pricing",3,"click",4,"ngIf"],[1,"status-warning"],[1,"status-partial"],[1,"status-success"],["type","button","title","Activate all cards for this product",1,"sa-btn-xs","sa-btn-xs--success",3,"click"],[1,"pi","pi-check"],["type","button","title","Deactivate all cards to hide this product from /pricing",1,"sa-btn-xs","sa-btn-xs--danger",3,"click"],[1,"pi","pi-eye-slash"],[2,"width","50px"],[1,"text-center",2,"width","110px"],[2,"width","110px"],[1,"sa-muted-text","font-mono"],[1,"sa-product-chip",3,"ngClass"],[1,"pi","pi-tag"],[1,"sa-plan-name-cell"],[1,"sa-plan-name"],["class","sa-plan-tagline",4,"ngIf"],[1,"sa-price-val"],[1,"sa-price-cycle"],["class","sa-savings-badge",4,"ngIf"],[1,"sa-badge-cell"],["class","sa-pill sa-pill--popular",4,"ngIf"],["class","sa-pill sa-pill--badge",4,"ngIf"],["class","sa-pill sa-pill--neutral",4,"ngIf"],[1,"sa-features-pill"],[1,"pi","pi-check-circle"],[1,"font-mono","text-center"],[1,"text-center"],["type","button",1,"sa-status-toggle-btn",3,"click","title"],[1,"table-actions"],["pButton","","icon","pi pi-pencil","title","Edit Card",1,"p-button-text","p-button-rounded","p-button-secondary",3,"click"],["pButton","","icon","pi pi-trash","title","Delete Card",1,"p-button-text","p-button-rounded","p-button-danger",3,"click"],[1,"sa-plan-tagline"],[1,"sa-savings-badge"],[1,"sa-pill","sa-pill--popular"],[1,"pi","pi-star-fill"],[1,"sa-pill","sa-pill--badge"],[1,"sa-pill","sa-pill--neutral"],["colspan","9"],[1,"sa-empty-state"],[1,"pi","pi-folder-open","sa-empty-state__icon"],[1,"sa-field-error"],[1,"sa-features-list"],["class","sa-feature-row",3,"sa-feature-row--highlight",4,"ngFor","ngForOf"],[1,"sa-feature-row"],[1,"sa-feature-row__drag"],["type","button","title","Move Up",1,"sa-icon-btn",3,"click","disabled"],[1,"pi","pi-chevron-up"],["type","button","title","Move Down",1,"sa-icon-btn",3,"click","disabled"],[1,"pi","pi-chevron-down"],[1,"sa-feature-row__body"],[1,"sa-feature-row__name"],[1,"pi","pi-check","text-green-500","mr-2"],["class","sa-hl-badge",4,"ngIf"],["class","sa-feature-row__tooltip",4,"ngIf"],[1,"sa-feature-row__actions"],["type","button",1,"sa-btn-outline-sm",3,"click","title"],[1,"pi","pi-star"],["type","button","title","Remove Feature",1,"sa-btn-danger-sm",3,"click"],[1,"pi","pi-trash"],[1,"sa-hl-badge"],[1,"sa-feature-row__tooltip"],[1,"pi","pi-info-circle","mr-1"],[1,"sa-features-empty"],[1,"pi","pi-info-circle"]],template:function(e,i){if(e&1){let l=M();t(0,"section",1)(1,"header",2),d(2,"div",3),t(3,"div",4)(4,"div",5),d(5,"i",6),n(),t(6,"div",7)(7,"span",8),a(8,"Public Catalog & Monet
1ization"),n(),t(9,"h2",9),a(10,"Pricing & Edition Cards"),n(),t(11,"p",10),a(12," Manage and configure each and every pricing card, billing values, featured highlights, badges, and feature lists for all 5 enterprise products. "),n()()()(),t(13,"div",11)(14,"div",12)(15,"div",13)(16,"div",14),d(17,"i",15),n(),t(18,"div",16)(19,"span",17),a(20,"Total Cards"),n(),t(21,"span",18),a(22),n()()(),t(23,"div",13)(24,"div",19),d(25,"i",20),n(),t(26,"div",16)(27,"span",17),a(28,"CRM Cards"),n(),t(29,"span",18),a(30),n()()(),t(31,"div",13)(32,"div",21),d(33,"i",22),n(),t(34,"div",16)(35,"span",17),a(36,"HRMS Cards"),n(),t(37,"span",18),a(38),n()()(),t(39,"div",13)(40,"div",23),d(41,"i",24),n(),t(42,"div",16)(43,"span",17),a(44,"Inventory Cards"),n(),t(45,"span",18),a(46),n()()(),t(47,"div",13)(48,"div",25),d(49,"i",26),n(),t(50,"div",16)(51,"span",17),a(52,"WMS Cards"),n(),t(53,"span",18),a(54),n()()(),t(55,"div",13)(56,"div",27),d(57,"i",28),n(),t(58,"div",16)(59,"span",17),a(60,"CMS Cards"),n(),t(61,"span",18),a(62),n()()()(),t(63,"div",29)(64,"div",30),x(65,Br,6,6,"button",31),n(),t(66,"div",32)(67,"button",33),u("click",function(){return _(l),b(i.seedDefaultCatalog())}),d(68,"i",34),t(69,"span"),a(70),n()(),t(71,"button",35),u("click",function(){return _(l),b(i.openAddDialog())}),d(72,"i",36),t(73,"span"),a(74,"Add Pricing Card"),n()()()(),t(75,"div",37),x(76,Wr,12,8,"div",38),t(77,"app-data-state",39)(78,"p-table",40),x(79,Ur,21,0,"ng-template",41)(80,Kr,46,35,"ng-template",42)(81,Qr,8,0,"ng-template",43),n()()()(),t(82,"p-dialog",44),v("visibleChange",function(C){return _(l),h(i.showAddDialog,C)||(i.showAddDialog=C),b(C)}),t(83,"div",45)(84,"form",46),u("ngSubmit",function(){return _(l),b(i.savePlan())}),t(85,"div",47)(86,"h4",48),d(87,"i",24),a(88," 1. Product & Edition Details "),n(),t(89,"div",49)(90,"div",50)(91,"label",51),a(92,"Product "),t(93,"span",52),a(94,"*"),n()(),t(95,"p-dropdown",53),u("onChange",function(){return _(l),b(i.onProductOrEditionChange())}),n()(),t(96,"div",50)(97,"label",51),a(98,"Edition Name "),t(99,"span",52),a(100,"*"),n()(),t(101,"input",54),u("input",function(){return _(l),b(i.onProductOrEditionChange())}),n(),x(102,Jr,2,0,"small",55),n(),t(103,"div",50)(104,"label",51),a(105,"Full Plan Title "),t(106,"span",52),a(107,"*"),n()(),d(108,"input",56),x(109,$r,2,0,"small",55),n(),t(110,"div",57)(111,"label",51),a(112,"Tagline / Short Pitch"),n(),d(113,"input",58),n(),t(114,"div",50)(115,"label",51),a(116,"Badge Text (Optional)"),n(),d(117,"input",59),n(),t(118,"div",50)(119,"label",51),a(120,"Display Order"),n(),d(121,"input",60),n(),t(122,"div",61),d(123,"p-checkbox",62),t(124,"label",63),a(125," Mark as Most Popular / Featured "),n()(),t(126,"div",61),d(127,"p-checkbox",64),t(128,"label",65),a(129," Card Active on Pricing Page "),n()()()(),t(130,"div",47)(131,"h4",48),d(132,"i",66),a(133," 2. Pricing, Discount & Call To Action "),n(),t(134,"div",49)(135,"div",50)(136,"label",51),a(137,"Monthly Price (\u20B9 / user / mo) "),t(138,"span",52),a(139,"*"),n()(),t(140,"input",67),u("input",function(){return _(l),b(i.onMonthlyPriceChange())}),n(),x(141,Zr,2,0,"small",55),n(),t(142,"div",50)(143,"label",51),a(144,"Annual Price (\u20B9 / user / mo) "),t(145,"span",52),a(146,"*"),n()(),t(147,"input",68),u("input",function(){return _(l),b(i.onMonthlyPriceChange())}),n(),x(148,Xr,2,0,"small",55),n(),t(149,"div",50)(150,"label",51),a(151,"Annual Savings (%)"),n(),d(152,"input",69),n(),t(153,"div",50)(154,"label",51),a(155,"Button CTA Text "),t(156,"span",52),a(157,"*"),n()(),d(158,"input",70),n(),t(159,"div",50)(160,"label",51),a(161,"Button Target Route / Link"),n(),d(162,"input",71),n(),t(163,"div",50)(164,"label",51),a(165,"Button Style Variant"),n(),d(166,"p-dropdown",72),n()()(),t(167,"div",47)(168,"div",73)(169,"h4",74),d(170,"i",75),a(171),n(),t(172,"span",76),a(173,"Controlled live on public card"),n()(),t(174,"div",77)(175,"div",78)(176,"div",79)(177,"input",80),v("ngModelChange",function(C){return _(l),h(i.newFeatureName,C)||(i.newFeatureName=C),b(C)}),n()(),t(178,"div",50)(179,"input",81),v("ngModelChange",function(C){return _(l),h(i.newFeatureTooltip,C)||(i.newFeatureTooltip=C),b(C)}),n()(),t(180,"div",82)(181,"p-checkbox",83),v("ngModelChange",function(C){return _(l),h(i.newFeatureHighlight,C)||(i.newFeatureHighlight=C),b(C)}),n(),t(182,"label",84),a(183,"Highlight"),n()(),t(184,"div",85)(185,"button",86),u("click",function(){return _(l),b(i.addFeatureItem())}),d(186,"i",36),a(187," Add "),n()()()(),x(188,ri,2,1,"div",87)(189,ii,3,0,"ng-template",null,0,Ge),n(),t(191,"div",88)(192,"button",89),u("click",function(){return _(l),i.showAddDialog=!1,b(i.editingPlanId=null)}),n(),d(193,"button",90),n()()()(),d(194,"p-toast"),n()}if(e&2){let l=Ye(190);o(22),p(i.plans.length),o(8),p(i.countByProduct.crm||0),o(8),p(i.countByProduct.hrms||0),o(8),p(i.countByProduct.inventory||0),o(8),p(i.countByProduct.wms||0),o(8),p(i.countByProduct.cms||0),o(3),m("ngForOf",i.filterTabs),o(2),m("disabled",i.seeding),o(),S("pi-spin",i.seeding),o(2),p(i.seeding?"Seeding...":"Seed / Reset Default Catalog"),o(6),m("ngIf",i.selectedProductTab!=="all"),o(),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("value",i.filteredPlans)("paginator",!0)("rows",10)("rowHover",!0),o(4),re(I(48,Fr)),m("header",i.editingPlanId?"Edit Pricing Card":"Add New Pricing Card"),f("visible",i.showAddDialog),m("modal",!0)("closable",!0)("dismissableMask",!0)("contentStyle",I(49,Ar)),o(2),m("formGroup",i.planForm),o(11),m("options",i.productOptions),o(7),m("ngIf",i.fieldError("edition")),o(7),m("ngIf",i.fieldError("name")),o(14),m("binary",!0),o(4),m("binary",!0),o(14),m("ngIf",i.fieldError("monthly_price")),o(7),m("ngIf",i.fieldError("annual_price")),o(18),m("options",i.ctaVariantOptions),o(5),P(" 3. Features Bullet Points (",i.featureItems.length,") "),o(6),f("ngModel",i.newFeatureName),m("ngModelOptions",I(50,_n)),o(2),f("ngModel",i.newFeatureTooltip),m("ngModelOptions",I(51,_n)),o(2),f("ngModel",i.newFeatureHighlight),m("ngModelOptions",I(52,_n))("binary",!0),o(4),m("disabled",!i.newFeatureName.trim()),o(3),m("ngIf",i.featureItems.length>0)("ngIfElse",l),o(5),m("label",i.editingPlanId?"Save Card Changes":"Create Pricing Card")("loading",i.loading)}},dependencies:[E,q,ne,B,Ct,at,L,Ee,W,Be,V,ke,De,ct,U,pt,st,lt,j,K,N,Re,Ne,z,oe,se,H,G,ee,X,Ie,Te,Qe,D,Le,Ve],styles:['@charset "UTF-8";.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
1align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}[_nghost-%COMP%]{display:block}.sa-stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.sa-stat-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.sa-stat-card[_ngcontent-%COMP%]:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.sa-stat-card__icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;font-size:1.1rem;flex-shrink:0}.sa-stat-card__icon--primary[_ngcontent-%COMP%]{background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe}.sa-stat-card__icon--rose[_ngcontent-%COMP%]{background:#fff1f2;color:#e11d48;border:1px solid #fecdd3}.sa-stat-card__icon--emerald[_ngcontent-%COMP%]{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.sa-stat-card__icon--orange[_ngcontent-%COMP%]{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.sa-stat-card__icon--blue[_ngcontent-%COMP%]{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.sa-stat-card__icon--purple[_ngcontent-%COMP%]{background:#faf5ff;color:#7c3aed;border:1px solid #e9d5ff}.sa-stat-card__body[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0}.sa-stat-card__label[_ngcontent-%COMP%]{font-size:.72rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.sa-stat-card__value[_ngcontent-%COMP%]{font-size:1.35rem;font-weight:800;color:#0f172a;line-height:1.2;font-family:Inter,sans-serif}.sa-filter-bar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.sa-filter-tabs[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.4rem;background:#f1f5f9;padding:.35rem;border-radius:12px;border:1px solid #e2e8f0;overflow-x:auto;max-width:100%}.sa-filter-tab[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border:none;background:transparent;color:#475569;font-size:.82rem;font-weight:600;border-radius:8px;
1cursor:pointer;transition:all .2s ease;white-space:nowrap}.sa-filter-tab[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.85rem}.sa-filter-tab__badge[_ngcontent-%COMP%]{padding:.1rem .4rem;border-radius:9999px;background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:700}.sa-filter-tab[_ngcontent-%COMP%]:hover{color:#0f172a;background:#e2e8f0}.sa-filter-tab--active[_ngcontent-%COMP%]{background:#4f46e5;color:#fff;box-shadow:0 2px 8px #4f46e54d}.sa-filter-tab--active[_ngcontent-%COMP%] .sa-filter-tab__badge[_ngcontent-%COMP%]{background:#00000040;color:#fff}.sa-filter-tab--active[_ngcontent-%COMP%]:hover{background:#4338ca;color:#fff}.sa-filter-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sa-btn-primary[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1.15rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:1px solid rgba(99,102,241,.4);border-radius:8px;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 10px #4f46e540}.sa-btn-primary[_ngcontent-%COMP%]:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);box-shadow:0 4px 14px #4f46e559;transform:translateY(-1px)}.sa-btn-secondary[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;background:#fff;color:#334155;border:1px solid #cbd5e1;border-radius:8px;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.sa-btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8;color:#0f172a}.sa-btn-secondary[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.sa-plans-table[_ngcontent-%COMP%]{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.sa-plans-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#475569;background:#f8fafc;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0}.sa-plans-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:.85rem 1rem;vertical-align:middle;color:#1e293b;border-bottom:1px solid #f1f5f9}.sa-plans-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover td[_ngcontent-%COMP%]{background-color:#f8fafc}.sa-product-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.04em}.sa-product-chip.sa-badge--crm[_ngcontent-%COMP%]{background:#fff1f2;color:#e11d48;border:1px solid #fecdd3}.sa-product-chip.sa-badge--hrms[_ngcontent-%COMP%]{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.sa-product-chip.sa-badge--inventory[_ngcontent-%COMP%]{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.sa-product-chip.sa-badge--wms[_ngcontent-%COMP%]{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.sa-product-chip.sa-badge--cms[_ngcontent-%COMP%]{background:#faf5ff;color:#7c3aed;border:1px solid #e9d5ff}.sa-product-chip.sa-badge--default[_ngcontent-%COMP%]{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.sa-plan-name-cell[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.15rem}.sa-plan-name[_ngcontent-%COMP%]{font-weight:700;font-size:.92rem;color:#0f172a}.sa-plan-tagline[_ngcontent-%COMP%]{font-size:.76rem;color:#64748b;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-price-val[_ngcontent-%COMP%]{font-weight:700;font-size:.96rem;color:#0f172a;font-family:Inter,sans-serif}.sa-price-cycle[_ngcontent-%COMP%]{font-size:.74rem;color:#64748b;margin-left:2px}.sa-savings-badge[_ngcontent-%COMP%]{display:inline-block;padding:.15rem .45rem;background:#ecfdf5;color:#059669;border-radius:4px;font-size:.68rem;font-weight:700;margin-left:.4rem;border:1px solid #a7f3d0}.sa-badge-cell[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.35rem}.sa-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:9999px;font-size:.72rem;font-weight:700}.sa-pill--popular[_ngcontent-%COMP%]{background:#fff1f2;color:#e11d48;border:1px solid #fecdd3}.sa-pill--badge[_ngcontent-%COMP%]{background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe}.sa-pill--neutral[_ngcontent-%COMP%]{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.sa-features-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:.75rem;color:#334155;font-weight:600}.sa-features-pill[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#10b981;font-size:.75rem}.table-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.35rem}.sa-empty-state[_ngcontent-%COMP%]{text-align:center;padding:3rem 1.5rem}.sa-empty-state__icon[_ngcontent-%COMP%]{font-size:2.5rem;color:#94a3b8;margin-bottom:.75rem}
1.sa-empty-state[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:1.1rem;color:#0f172a;margin:0 0 .4rem}.sa-empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.85rem;color:#64748b;margin:0}.sa-pricing-dialog[_ngcontent-%COMP%] .sa-modal-body[_ngcontent-%COMP%]{padding:.5rem .25rem}.sa-form-section[_ngcontent-%COMP%]{padding:1.25rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.25rem}.sa-form-section__title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.45rem;font-size:.95rem;font-weight:700;color:#4338ca;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.sa-form-section__title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.95rem}.sa-field-label[_ngcontent-%COMP%]{display:block;font-size:.8rem;font-weight:700;color:#1e293b;margin-bottom:.35rem}.sa-required[_ngcontent-%COMP%]{color:#ef4444}.sa-field-error[_ngcontent-%COMP%]{display:block;font-size:.72rem;color:#dc2626;margin-top:.25rem}.sa-add-feature-bar[_ngcontent-%COMP%]{background:#fff;padding:.85rem;border-radius:10px;border:1px solid #cbd5e1;margin-bottom:1rem;box-shadow:0 1px 3px #0000000a}.sa-features-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;max-height:280px;overflow-y:auto;padding-right:.35rem}.sa-feature-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s ease}.sa-feature-row[_ngcontent-%COMP%]:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000000a}.sa-feature-row--highlight[_ngcontent-%COMP%]{border-color:#f59e0b;background:#fffbeb}.sa-feature-row__drag[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px}.sa-feature-row__body[_ngcontent-%COMP%]{flex:1;min-width:0}.sa-feature-row__name[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:.84rem;color:#0f172a}.sa-feature-row__tooltip[_ngcontent-%COMP%]{font-size:.74rem;color:#64748b;margin-top:2px}.sa-feature-row__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.4rem}.sa-hl-badge[_ngcontent-%COMP%]{display:inline-block;padding:.1rem .4rem;border-radius:4px;background:#fef3c7;color:#b45309;font-size:.68rem;font-weight:700;margin-left:.5rem;border:1px solid #fde68a}.sa-icon-btn[_ngcontent-%COMP%]{background:transparent;border:none;color:#64748b;cursor:pointer;padding:2px;font-size:.68rem}.sa-icon-btn[_ngcontent-%COMP%]:hover:not(:disabled){color:#0f172a}.sa-icon-btn[_ngcontent-%COMP%]:disabled{opacity:.3;cursor:not-allowed}.sa-btn-outline-sm[_ngcontent-%COMP%]{background:#fff;border:1px solid #cbd5e1;color:#475569;border-radius:6px;padding:.25rem .5rem;cursor:pointer;font-size:.78rem}.sa-btn-outline-sm[_ngcontent-%COMP%]:hover{border-color:#94a3b8;color:#0f172a}.sa-btn-danger-sm[_ngcontent-%COMP%]{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c;border-radius:6px;padding:.25rem .5rem;cursor:pointer;font-size:.78rem}.sa-btn-danger-sm[_ngcontent-%COMP%]:hover{background:#fecaca;color:#991b1b}.sa-features-empty[_ngcontent-%COMP%]{padding:1.5rem;text-align:center;color:#64748b;font-size:.82rem;border:1px dashed #cbd5e1;border-radius:8px;background:#fff}.sa-features-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.35rem}.sa-modal-footer[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 0 .5rem;border-top:1px solid #e2e8f0;position:sticky;bottom:0;background:#fff;z-index:10}.sa-product-status-banner[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;margin-bottom:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.sa-product-status-banner[_ngcontent-%COMP%] .sa-product-status-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;font-size:.85rem;color:#334155}.sa-product-status-banner[_ngcontent-%COMP%] .sa-product-status-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.15rem}.sa-product-status-banner[_ngcontent-%COMP%] .sa-product-status-info[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#0f172a;margin-right:.35rem}.sa-product-status-banner[_ngcontent-%COMP%] .sa-product-status-info[_ngcontent-%COMP%] .status-warning[_ngcontent-%COMP%]{color:#b45309}.sa-product-status-banner[_ngcontent-%COMP%] .sa-product-status-info[_ngcontent-%COMP%] .status-warning[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#991b1b}.sa-product-status-banner[_ngcontent-%COMP%] .sa-product-status-info[_ngcontent-%COMP%] .status-partial[_ngcontent-%COMP%]{color:#0369a1;font-weight:500}.sa-product-status-banner[_ngcontent-%COMP%] .sa-product-status-info[_ngcontent-%COMP%] .status-success[_ngcontent-%COMP%]{color:#15803d;font-weight:500}.sa-product-status-banner[_ngcontent-%COMP%] .sa-product-status-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.sa-btn-xs[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.75rem;font-weight:600;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.sa-btn-xs--success[_ngcontent-%COMP%]{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.sa-btn-xs--success[_ngcontent-%COMP%]:hover{background:#d1fae5;color:#065f46}.sa-btn-xs--danger[_ngcontent-%COMP%]{background:#fff1f2;color:#be123c;border-color:#fecdd3}.sa-btn-xs--danger[_ngcontent-%COMP%]:hover{background:#ffe4e6;color:#9f1239}.sa-status-toggle-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.74rem;font-weight:600;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.sa-status-toggle-btn--active[_ngcontent-%COMP%]{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.sa-status-toggle-btn--active[_ngcontent-%COMP%]:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.sa-status-toggle-btn--inactive[_ngcontent-%COMP%]{background:#f1f5f9;color:#94a3b8;border-color:#cbd5e1}.sa-status-toggle-btn--inactive[_ngcontent-%COMP%]:hover{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.sa-row--inactive[_ngcontent-%COMP%]{opacity:.62;background:#f8fafc}.sa-row--inactive[_ngcontent-%COMP%]:hover{opacity:.85}']})};var ai=()=>({width:"9rem",maxWidth:"9rem",display:"inline-flex"}),oi=()=>({width:"10rem",maxWidth:"10rem",display:"inline-flex"}),si=()=>({label:"Any Payment",value:""}),li=()=>({label:"Failed",value:"failed"}),ci=()=>({label:"Success",value:"success"}),mi=()=>({label:"Pending/None",value:"pending"}),di=(c,r,e,i)=>[c,r,e,i],Un=()=>({width:"72rem",maxWidth:"96vw"}),bn=()=>({width:"42rem",maxWidth:"95vw"}),pi=()=>({width:"40rem",maxWidth:"95vw"}),Hn=()=>({width:"68rem",maxWidth:"96vw"}),gi=c=>({"ng-invalid ng-dirty":c}),ui=()=>({width:"50rem",maxWidth:"95vw"}),_i=()=>[];function bi(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Company Name"),n(),t(3,"th"),a(4,"Owner Name"),n(),t(5,"th"),a(6,"Plan Package"),n(),t(7,"th"),a(8,"Modules"),n(),t(9,"th"),a(10,"User Licences"),n(),t(11,"th"),a(12,"Trial End"),n(),t(13,"th"),a(14,"Subscription
1End"),n(),t(15,"th"),a(16,"Grace End"),n(),t(17,"th"),a(18,"Status"),n(),t(19,"th"),a(20,"Recurring"),n(),t(21,"th"),a(22,"Days Remaining"),n(),t(23,"th"),a(24,"Last Payment Status"),n(),t(25,"th"),a(26,"Warnings"),n(),t(27,"th"),a(28,"Actions"),n()())}function fi(c,r){if(c&1&&d(0,"p-tag",153),c&2){let e=r.$implicit;m("value",e)}}function hi(c,r){c&1&&(t(0,"span"),a(1,"-"),n())}function vi(c,r){if(c&1){let e=M();t(0,"tr")(1,"td")(2,"strong"),a(3),n(),t(4,"small"),a(5),n()(),t(6,"td"),a(7),n(),t(8,"td"),a(9),n(),t(10,"td"),a(11),n(),t(12,"td"),a(13),n(),t(14,"td"),a(15),y(16,"date"),n(),t(17,"td"),a(18),y(19,"date"),n(),t(20,"td"),a(21),y(22,"date"),n(),t(23,"td"),d(24,"p-tag",136),n(),t(25,"td"),d(26,"p-tag",136),n(),t(27,"td"),a(28),n(),t(29,"td"),d(30,"p-tag",136),n(),t(31,"td")(32,"div",137),x(33,fi,1,1,"p-tag",138)(34,hi,2,0,"span",139),n()(),t(35,"td")(36,"div",137)(37,"button",140),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openDetails(l))}),n(),t(38,"button",141),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openEditDialog(l))}),n(),t(39,"button",142),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openExtendTrialDialog(l))}),n(),t(40,"button",143),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openExtendSubscriptionDialog(l))}),n(),t(41,"button",144),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openChangePlanDialog(l))}),n(),t(42,"button",145),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openLicenseDialog(l))}),n(),t(43,"button",146),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openExpiryDialog(l))}),n(),t(44,"button",147),u("click",function(){let l=_(e).$implicit,s=g();return b(s.resendInvoiceEmail(l))}),n(),t(45,"button",148),u("click",function(){let l=_(e).$implicit,s=g();return b(s.resendRenewalEmail(l))}),n(),t(46,"button",149),u("click",function(){let l=_(e).$implicit,s=g();return b(s.activateSubscription(l))}),n(),t(47,"button",150),u("click",function(){let l=_(e).$implicit,s=g();return b(s.deactivateSubscription(l))}),n(),t(48,"button",151),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openPayments(l))}),n(),t(49,"button",152),u("click",function(){let l=_(e).$implicit,s=g();return b(s.openAuditLogs(l))}),n()()()()}if(c&2){let e=r.$implicit,i=g();o(3),p(e.company_name||e.organization_name),o(2),p(e.owner_email||"No owner email"),o(2),p(e.owner_name||"Not assigned"),o(2),p(e.plan_package_name),o(2),p(i.moduleLabel(e.plan_package_modules)),o(2),p(e.user_license_count),o(2),p(e.trial_end_date?T(16,18,e.trial_end_date,"mediumDate"):"-"),o(3),p(e.end_date?T(19,21,e.end_date,"mediumDate"):"-"),o(3),p(e.grace_period_end_date?T(22,24,e.grace_period_end_date,"mediumDate"):"-"),o(3),m("value",e.status)("severity",i.statusSeverity(e.status)),o(2),m("value",e.auto_renew?e.recurring_status||"active":e.recurring_status||"not_enabled")("severity",e.auto_renew?"success":"secondary"),o(2),p(e.days_remaining===null||e.days_remaining===void 0?"-":e.days_remaining),o(2),m("value",e.last_payment_status||"none")("severity",i.statusSeverity(e.last_payment_status||"")),o(3),m("ngForOf",i.warningBadges(e)),o(),m("ngIf",!i.warningBadges(e).length)}}function xi(c,r){c&1&&(t(0,"tr")(1,"td",154)(2,"div",155),a(3,"No subscriptions found for the selected filters."),n()()())}function Ci(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Action"),n(),t(3,"th"),a(4,"Reason"),n(),t(5,"th"),a(6,"Changed By"),n(),t(7,"th"),a(8,"Date"),n()())}function yi(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),n(),t(5,"td"),a(6),n(),t(7,"td"),a(8),y(9,"date"),n()()),c&2){let e=r.$implicit;o(2),p(e.action),o(2),p(e.reason||"-"),o(2),p(e.changed_by_name||"-"),o(2),p(T(9,4,e.created_at,"
1short"))}}function Mi(c,r){if(c&1&&(t(0,"div",156)(1,"div",157)(2,"div")(3,"span"),a(4,"Company"),n(),t(5,"strong"),a(6),n()(),t(7,"div")(8,"span"),a(9,"Owner"),n(),t(10,"strong"),a(11),n()(),t(12,"div")(13,"span"),a(14,"Package"),n(),t(15,"strong"),a(16),n()(),t(17,"div")(18,"span"),a(19,"Status"),n(),d(20,"p-tag",136),n(),t(21,"div")(22,"span"),a(23,"Auto-renew"),n(),t(24,"strong"),a(25),n()(),t(26,"div")(27,"span"),a(28,"Recurring Status"),n(),t(29,"strong"),a(30),n()(),t(31,"div")(32,"span"),a(33,"Razorpay Subscription"),n(),t(34,"strong"),a(35),n()(),t(36,"div")(37,"span"),a(38,"Manual Override"),n(),t(39,"strong"),a(40),n()(),t(41,"div")(42,"span"),a(43,"Grace Period End"),n(),t(44,"strong"),a(45),y(46,"date"),n()(),t(47,"div")(48,"span"),a(49,"Internal Note"),n(),t(50,"strong"),a(51),n()()(),t(52,"h3"),a(53,"Audit Log"),n(),t(54,"p-table",158),x(55,Ci,9,0,"ng-template",48)(56,yi,10,7,"ng-template",49),n()()),c&2){let e=r.ngIf,i=g();o(6),p(e.company_name),o(5),p(e.owner_name||"-"),o(5),p(e.plan_package_name),o(4),m("value",e.status)("severity",i.statusSeverity(e.status)),o(5),p(e.auto_renew?"Enabled":"Disabled"),o(5),p(e.recurring_status||"not_enabled"),o(5),p(e.razorpay_subscription_id||"-"),o(5),p(e.manual_override?"Yes":"No"),o(5),p(e.grace_period_end_date?T(46,14,e.grace_period_end_date,"mediumDate"):"-"),o(6),p(e.internal_note||"-"),o(3),m("value",e.audit_logs||I(17,_i))("rows",5)("paginator",!0)}}function Pi(c,r){c&1&&(t(0,"small",159),a(1,"Reason is required for expiry date, package, user licence, or status changes."),n())}function wi(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Order ID"),n(),t(3,"th"),a(4,"Payment ID"),n(),t(5,"th"),a(6,"Amount"),n(),t(7,"th"),a(8,"Status"),n(),t(9,"th"),a(10,"Failure Reason"),n(),t(11,"th"),a(12,"Date"),n()())}function Oi(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),n(),t(5,"td"),a(6),n(),t(7,"td"),d(8,"p-tag",136),n(),t(9,"td"),a(10),n(),t(11,"td"),a(12),y(13,"date"),n()()),c&2){let e=r.$implicit,i=g();o(2),p(e.razorpay_order_id),o(2),p(e.razorpay_payment_id||"-"),o(2),p(i.money(e.amount)),o(2),m("value",e.status)("severity",i.statusSeverity(e.status)),o(2),p(e.failure_reason||"-"),o(2),p(T(13,7,e.created_at,"
1short"))}}function Si(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Action"),n(),t(3,"th"),a(4,"Old Value"),n(),t(5,"th"),a(6,"New Value"),n(),t(7,"th"),a(8,"Reason"),n(),t(9,"th"),a(10,"Changed By"),n(),t(11,"th"),a(12,"Date"),n()())}function ki(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),n(),t(3,"td")(4,"pre"),a(5),y(6,"json"),n()(),t(7,"td")(8,"pre"),a(9),y(10,"json"),n()(),t(11,"td"),a(12),n(),t(13,"td"),a(14),n(),t(15,"td"),a(16),y(17,"date"),n()()),c&2){let e=r.$implicit;o(2),p(e.action),o(3),p(de(6,6,e.old_value)),o(4),p(de(10,8,e.new_value)),o(3),p(e.reason||"-"),o(2),p(e.changed_by_name||"-"),o(2),p(T(17,10,e.created_at,"short"))}}function Ei(c,r){c&1&&(t(0,"tr")(1,"td",160),a(2,"No audit logs found."),n()())}var Ht=class c{constructor(r,e){this.subscriptionService=r;this.messageService=e}subscriptions=[];packages=[];payments=[];auditLogs=[];summary={total_active_subscriptions:0,trial_companies:0,trials_expiring_soon:0,subscriptions_expiring_7_days:0,expired_companies:0,grace_period_companies:0,payment_failed:0,monthly_revenue:"0"};loading=!1;saving=!1;
1detailLoading=!1;errorMessage=null;searchQuery="";activeFilter="all";selectedSubscription=null;showDetailDialog=!1;showEditDialog=!1;showExtendTrialDialog=!1;showChangePlanDialog=!1;showExtendSubscriptionDialog=!1;showLicenseDialog=!1;showExpiryDialog=!1;showPaymentsDialog=!1;showAuditLogsDialog=!1;editForm={};extendTrialForm={days:7,trial_end_date:"",reason:""};extendSubscriptionForm={days:30,end_date:"",reason:""};licenseForm={user_license_count:1,reason:""};expiryForm={trial_end_date:"",end_date:"",reason:""};changePlanForm={plan_package:"",user_license_count:1,billing_months:1,reason:""};paymentFilter="";moduleFilter="";expiryFrom="";expiryTo="";filterOptions=[{label:"All",value:"all"},{label:"Trial",value:"trial"},{label:"Active",value:"active"},{label:"Grace Period",value:"grace_period"},{label:"Expiring in 7 days",value:"expiring_7"},{label:"Expired",value:"expired"},{label:"Payment Failed",value:"payment_failed"}];statusOptions=[{label:"Trial",value:"trial"},{label:"Active",value:"active"},{label:"Grace Period",value:"grace_period"},{label:"Expired",value:"expired"},{label:"Cancelled",value:"cancelled"}];ngOnInit(){this.loadInitialData()}loadInitialData(){this.loadSummary(),this.loadPackages(),this.loadSubscriptions()}loadSubscriptions(){this.loading=!0,this.errorMessage=null,this.subscriptionService.getSubscriptions(this.buildFilterParams()).subscribe({next:r=>{this.subscriptions=r,this.loading=!1},error:()=>{this.subscriptions=[],this.errorMessage="Unable to load subscriptions right now.",this.loading=!1}})}loadSummary(){this.subscriptionService.getSummary().subscribe({next:r=>this.summary=r})}loadPackages(){this.subscriptionService.getPackages().subscribe({next:r=>this.packages=r})}onFilterChange(){this.loadSubscriptions()}onSearch(){this.loadSubscriptions()}clearFilters(){this.activeFilter="all",this.searchQuery="",this.paymentFilter="",this.moduleFilter="",this.expiryFrom="",this.expiryTo="",this.loadSubscriptions()}openDetails(r){this.detailLoading=!0,this.selectedSubscription=r,this.showDetailDialog=!0,this.subscriptionService.getSubscription(r.id).subscribe({next:e=>{this.selectedSubscription=e,this.detailLoading=!1},error:()=>{this.detailLoading=!1,this.messageService.add({severity:"error",summary:"Details unavailable",detail:"Unable to load subscription details."})}})}openEditDialog(r){this.selectedSubscription=r,this.editForm={plan_package:r.plan_package,user_license_count:r.user_license_count,billing_months:r.billing_months,trial_start_date:this.dateInput(r.trial_start_date),trial_end_date:this.dateInput(r.trial_end_date),start_date:this.dateInput(r.start_date),end_date:this.dateInput(r.end_date),grace_period_start_date:this.dateInput(r.grace_period_start_date),grace_period_end_date:this.dateInput(r.grace_period_end_date),is_in_grace_period:!!r.is_in_grace_period,status:r.status,internal_note:r.internal_note||"",reason:""},this.showEditDialog=!0}saveEdit(){!this.selectedSubscription||!this.canSaveEdit()||(this.saving=!0,this.subscriptionService.updateSubscription(this.selectedSubscription.id,this.normalizePayload(this.editForm)).subscribe({next:r=>this.afterMutation(r,"Subscription updated successfully."),error:r=>this.handleSaveError(r,"Unable to update subscription.")}))}openExtendTrialDialog(r){this.selectedSubscription=r,this.extendTrialForm={days:7,trial_end_date:"",reason:""},this.showExtendTrialDialog=!0}extendTrial(){!this.selectedSubscription||!this.extendTrialForm.reason.trim()||(this.saving=!0,this.subscriptionService.extendTrial(this.selectedSubscription.id,{days:this.extendTrialForm.trial_end_date?void 0:Number(this.extendTrialForm.days||7),trial_end_date:this.extendTrialForm.trial_end_date||null,reason:this.extendTrialForm.reason.trim()}).subscribe({next:r=>this.afterMutation(r,"Trial extended successfully."),error:r=>this.handleSaveError(r,"Unable to extend trial.")}))}openChangePlanDialog(r){this.selectedSubscription=r,this.changePlanForm={plan_package:r.plan_package,user_license_count:r.user_license_count,billing_months:r.billing_months,reason:""},this.showChangePlanDialog=!0}openExtendSubscriptionDialog(r){this.selectedSubscription=r,this.extendSubscriptionForm={days:30,end_date:"",reason:""},this.showExtendSubscriptionDialog=!0}extendSubscription(){!this.selectedSubscription||!this.extendSubscriptionForm.reason.trim()||(this.saving=!0,this.subscriptionService.extendSubscription(this.selectedSubscription.id,{days:this.extendSubscriptionForm.end_date?void 0:Number(this.extendSubscriptionForm.days||30),end_date:this.extendSubscriptionForm.end_date||null,reason:this.extendSubscriptionForm.reason.trim()}).subscribe({next:r=>this.afterMutation(r,"Subscription extended successfully."),error:r=>this.handleSaveError(r,"Unable to extend subscription.")}))}openLicenseDialog(r){this.selectedSubscription=r,this.licenseForm={user_license_count:r.user_license_count,reason:""},this.showLicenseDialog=!0}updateLicenses(){!this.selectedSubscription||!this.licenseForm.reason.trim()||(this.saving=!0,this.subscriptionService.updateSubscriptionLicenses(this.selectedSubscription.id,{user_license_count:Number(this.licenseForm.user_license_count||1),reason:this.licenseForm.reason.trim()}).subscribe({next:r=>this.afterMutation(r,"User license count updated successfully."),error:r=>this.handleSaveError(r,"Unable to update user license count.")}))}openExpiryDialog(r){this.selectedSubscription=r,this.expiryForm={trial_end_date:this.dateInput(r.trial_end_date),end_date:this.dateInput(r.end_date),reason:""},this.showExpiryDialog=!0}updateExpiryDates(){!this.selectedSubscription||!this.expiryForm.reason.trim()||(this.saving=!0,this.subscriptionService.updateSubscriptionExpiry(this.selectedSubscription.id,{trial_end_date:this.expiryForm.trial_end_date||null,end_date:this.expiryForm.end_date||null,reason:this.expiryForm.reason.trim()}).subscribe({next:r=>this.afterMutation(r,"Expiry dates updated successfully."),error:r=>this.handleSaveError(r,"Unable to update expiry dates.")}))}activateSubscription(r){let e=`Activated from billing dashboard on ${new Date().toISOString()}`;this.saving=!0,this.subscriptionService.activateSubscription(r.id,e).subscribe({next:i=>this.afterMutation(i,"Subscription activated."),error:i=>this.handleSaveError(i,"Unable to activate subscription.")})}deactivateSubscription(r){let e=`Deactivated from billing dashboard on ${new Date().toISOString()}`;this.saving=!0,this.subscriptionService.deactivateSubscription(r.id,e).subscribe({next:i=>this.afterMutation(i,"Subscription deactivated."),error:i=>this.handleSaveError(i,"Unable to deactivate subscription.")})}resendInvoiceEmail(r){this.subscriptionService.resendInvoiceEmail(r.id).subscribe({next:()=>this.messageService.add({severity:"success",summary:"Email queued",detail
1:"Invoice email was queued successfully."}),error:()=>this.messageService.add({severity:"error",summary:"Email failed",detail:"Unable to queue invoice email."})})}resendRenewalEmail(r){this.subscriptionService.resendRenewalEmail(r.id).subscribe({next:()=>this.messageService.add({severity:"success",summary:"Email queued",detail:"Renewal reminder email was queued successfully."}),error:()=>this.messageService.add({severity:"error",summary:"Email failed",detail:"Unable to queue renewal reminder email."})})}exportCsv(){let r=["Company Name","Plan Name","Modules","Trial Status","Subscription Status","Expiry Date","License Count","Payment Status"],e=this.subscriptions.map(A=>[A.company_name||A.organization_name,A.plan_package_name,this.moduleLabel(A.plan_package_modules),A.status==="trial"?"Active Trial":A.trial_end_date?"Trial Used":"-",A.status,A.end_date||A.trial_end_date||"",String(A.user_license_count||0),A.last_payment_status||"none"]),i=[r,...e].map(A=>A.map(te=>`"${String(te||"").replace(/"/g,'""')}"`).join(",")).join(` 2`),l=new Blob([i],{type:"text/csv;charset=utf-8;"}),s=URL.createObjectURL(l),C=document.createElement("a");C.href=s,C.download=`billing-subscriptions-${new Date().toISOString().slice(0,10)}.csv`,C.click(),URL.revokeObjectURL(s)}changePlan(){!this.selectedSubscription||!this.changePlanForm.plan_package||!this.changePlanForm.reason.trim()||(this.saving=!0,this.subscriptionService.changePlan(this.selectedSubscription.id,{plan_package:this.changePlanForm.plan_package,user_license_count:Number(this.changePlanForm.user_license_count||1),billing_months:Number(this.changePlanForm.billing_months||1),reason:this.changePlanForm.reason.trim()}).subscribe({next:r=>this.afterMutation(r,"Plan changed successfully."),error:r=>this.handleSaveError(r,"Unable to change plan.")}))}openPayments(r){this.selectedSubscription=r,this.payments=[],this.showPaymentsDialog=!0,this.subscriptionService.getPayments(r.id).subscribe({next:e=>this.payments=e,error:()=>this.messageService.add({severity:"error",summary:"Payments unavailable",detail:"Unable to load payment history."})})}openAuditLogs(r){this.selectedSubscription=r,this.auditLogs=r.audit_logs||[],this.showAuditLogsDialog=!0,this.subscriptionService.getAuditLogs(r.id).subscribe({next:e=>this.auditLogs=e,error:()=>this.messageService.add({severity:"error",summary:"Audit logs unavailable",detail:"Unable to load subscription audit logs."})})}canSaveEdit(){let r=Number(this.editForm.user_license_count),e=Number(this.editForm.billing_months);return!!(this.editForm.plan_package&&Number.isFinite(r)&&r>=1&&Number.isFinite(e)&&e>=0&&this.editForm.status&&(!this.requiresEditReason()||this.editForm.reason?.trim()))}requiresEditReason(){return this.selectedSubscription?["plan_package","user_license_count","trial_end_date","end_date","grace_period_end_date","status"].some(e=>String(this.editForm[e]??"")!==String(this.selectedSubscription[e]??"")):!1}moduleLabel(r){return(r||[]).map(e=>e.toUpperCase()).join(" + ")||"Not configured"}money(r){return new Intl.NumberFormat("en-IN",{style:"currency",currency:"INR",maximumFractionDigits:0}).format(Number(r||0))}statusSeverity(r){return r==="active"||r==="paid"?"success":r==="trial"||r==="created"?"info":r==="expired"||r==="failed"?"danger":r==="grace_period"?"warn":r==="cancelled"?"secondary":"warn"}warningBadges(r){let e=[],i=Number(r.days_remaining);return r.status==="trial"&&Number.isFinite(i)&&i>=0&&i<=7&&e.push("Trial ending soon"),r.status==="active"&&Number.isFinite(i)&&i>=0&&i<=7&&e.push("Subscription ending soon"),(r.last_payment_status||"").toLowerCase()==="failed"&&e.push("Payment failed"),r.status==="expired"&&e.push("Expired"),e}buildFilterParams(){let r={};return this.searchQuery.trim()&&(r.search=this.searchQuery.trim()),this.activeFilter==="trial"||this.activeFilter==="active"||this.activeFilter==="grace_period"?r.status=this.activeFilter:this.activeFilter==="expired"?r.expired=!0:this.activeFilter==="expiring_7"?r.expiring_in_days=7:this.activeFilter==="payment_failed"&&(r.payment_failed=!0),this.paymentFilter&&(r.payment_status=this.paymentFilter),this.moduleFilter&&(r.module=this.moduleFilter),this.expiryFrom&&(r.expiry_from=this.expiryFrom),this.expiryTo&&(r.expiry_to=this.expiryTo),r}normalizePayload(r){let e=r.billing_months;return F(w({},r),{user_license_count:Number(r.user_license_count||1),billing_months:e==null||e===""?0:Number(e),tri
2al_start_date:r.trial_start_date||null,trial_end_date:r.trial_end_date||null,start_date:r.start_date||null,end_date:r.end_date||null,grace_period_start_date:r.grace_period_start_date||null,grace_period_end_date:r.grace_period_end_date||null,is_in_grace_period:r.status==="grace_period",reason:r.reason?.trim()||""})}afterMutation(r,e){this.subscriptions=this.subscriptions.map(i=>i.id===r.id?r:i),this.selectedSubscription=r,this.showEditDialog=!1,this.showExtendTrialDialog=!1,this.showExtendSubscriptionDialog=!1,this.showLicenseDialog=!1,this.showExpiryDialog=!1,this.showChangePlanDialog=!1,this.saving=!1,this.loadSummary(),this.messageService.add({severity:"success",summary:"Subscription Saved",detail:e})}handleSaveError(r,e){let i=r?.error||{},l=typeof i=="object"?Object.values(i).flat().find(Boolean):null,s=i?.reason?.[0]||i?.detail||i?.message||l||e;this.saving=!1,this.messageService.add({severity:"error",summary:"Save Failed",detail:s})}dateInput(r){return r?r.split("T")[0]:""}static \u0275fac=function(e){return new(e||c)(O(Q),O(pe))};static \u0275cmp=k({type:c,selectors:[["app-subscriptions"]],features:[Se([pe])],decls:267,vars:157,consts:[[1,"sa-page","component-margin","super-admin-subscriptions"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-credit-card"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-metrics","sa-metrics--compact"],[1,"sa-metric","color-blue"],[1,"sa-metric__glow"],[1,"sa-metric__icon"],[1,"pi","pi-sparkles"],[1,"sa-metric__value"],[1,"sa-metric__label"],[1,"sa-metric","color-amber"],[1,"pi","pi-clock"],[1,"sa-metric","color-green"],[1,"pi","pi-check-circle"],[1,"pi","pi-calendar"],[1,"sa-metric"],[1,"pi","pi-exclamation-circle"],[1,"sa-metric","color-purple"],[1,"pi","pi-wallet"],[1,"sa-glass"],[1,"subscription-filter-bar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],[1,"subscription-toolbar__filters"],["styleClass","sub-filter-dd","optionLabel","label","optionValue","value","placeholder","Status",1,"sub-filter-host","sub-filter-host--status",3,"ngModelChange","onChange","options","ngModel"],[1,"sa-search","subscription-search"],[1,"pi","pi-search"],["pInputText","","type","search","placeholder","Search company or email",3,"ngModelChange","keyup.enter","ngModel"],["type","button",1,"sa-btn-secondary",3,"click"],["pInputText","","type","text","placeholder","Module",1,"subscription-module-input",3,"ngModelChange","ngModel"],["styleClass","sub-filter-dd sub-filter-dd--payment","optionLabel","label","optionValue","value","placeholder","Payment",1,"sub-filter-host","sub-filter-host--payment",3,"ngModelChange","onChange","options","ngModel"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-filter"],["styleClass","sa-datepicker sub-filter-date","inputStyleClass","sa-datepicker-input sub-filter-date-input","appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","From",3,"ngModelChange","ngModel","showIcon"],["styleClass","sa-datepicker sub-filter-date","inputStyleClass","sa-datepicker-input sub-filter-date-input","appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","To",3,"ngModelChange","ngModel","showIcon"],[1,"pi","pi-download"],["type","button",1,"sa-btn-text",3,"click"],[1,"pi","pi-filter-slash"],["errorTitle","Subscriptions unavailable","preset","table",3,"loading","errorMessage"],["responsiveLayout","scroll","styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],["header","Subscription Details","styleClass","super-admin-dialog-shell subscription-detail-dialog crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],["class","subscription-detail",4,"ngIf"],["header","Extend Subscription","styleClass","super-admin-dialog-shell subscription-form-dialog subscription-form-dialog--compact crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],[1,"subscription-form"],["variant","on"],["
2id","extend-sub-days","pInputText","","type","number","min","1","placeholder","Enter Extend By Days",3,"ngModelChange","ngModel"],["for","extend-sub-days"],["inputId","extend-sub-date","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Or Set Subscription End Date",3,"ngModelChange","ngModel","showIcon"],["for","extend-sub-date"],["id","extend-sub-reason","pInputTextarea","","rows","3","placeholder","Enter Reason",3,"ngModelChange","ngModel"],["for","extend-sub-reason"],[1,"dialog-actions"],["pButton","","type","button","label","Cancel",1,"p-button-text",3,"click"],["pButton","","type","button","label","Extend Subscription",3,"click","loading","disabled"],["header","Change License Count","styleClass","super-admin-dialog-shell subscription-form-dialog subscription-form-dialog--compact crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],["id","license-count","pInputText","","type","number","min","1","placeholder","Enter User License Count",3,"ngModelChange","ngModel"],["for","license-count"],["id","license-reason","pInputTextarea","","rows","3","placeholder","Enter Reason",3,"ngModelChange","ngModel"],["for","license-reason"],["pButton","","type","button","label","Update Licenses",3,"click","loading","disabled"],["header","Update Expiry Dates","styleClass","super-admin-dialog-shell subscription-form-dialog subscription-form-dialog--compact crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],["inputId","expiry-trial-end","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Trial End Date",3,"ngModelChange","ngModel","showIcon"],["for","expiry-trial-end"],["inputId","expiry-sub-end","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Subscription End Date",3,"ngModelChange","ngModel","showIcon"],["for","expiry-sub-end"],["id","expiry-reason","pInputTextarea","","rows","3","placeholder","Enter Reason",3,"ngModelChange","ngModel"],["for","expiry-reason"],["pButton","","type","button","label","Update Expiry",3,"click","loading","disabled"],["header","Edit Subscription","styleClass","super-admin-dialog-shell subscription-form-dialog subscription-form-dialog--wide crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],[1,"grid","grid-cols-12","gap-4"],[1,"col-span-12","md:col-span-4"],["inputId","edit-plan-package","optionLabel","name","optionValue","id","placeholder","Select Plan Package",3,"ngModelChange","options","ngModel"],["for","edit-plan-package"],["id","edit-user-license","pInputText","","type","number","min","1","placeholder","Enter User Licences",3,"ngModelChange","ngModel"],["for","edit-user-license"],["id","edit-billing-months","pInputText","","type","number","min","0","placeholder","Enter Billing Months",3,"ngModelChange","ngModel"],["for","edit-billing-months"],[1,"col-span-12","md:col-span-3"],["inputId","edit-trial-start","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Trial Start",3,"ngModelChange","ngModel","showIcon"],["for","edit-trial-start"],["inputId","edit-trial-end","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Trial End",3,"ngModelChange","ngModel","showIcon"],["for","edit-trial-end"],["inputId","edit-start","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Start Date",3,"ngModelChange","ngModel","showIcon"],["for","edit-start"],["inputId","edit-end","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select End Date",3,"ngModelChange","ngModel","showIcon"],["for","edit-end"],["inputId","edit-grace-start","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Grace Start",3,"ngModelChange","ngModel","showIcon"],["for","edit-grace-start"],["inputId","edit-grace-end","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Grace End",3,"ngModelChange","ngModel","showIcon"],["for","edit-grace-end"],[1,"subscription-form__check"],["type","checkbox",3,"ngModelChange","ngModel"],["inputId","edit-status","optionLabel","label","optionValue","value","placeholder","Select Status",3,"ngModelChange","options","ngModel"],["for","edit-status"],[1,"col-span-12","md:col-span-8"],["id","edit-internal-note","pInputTextarea","","rows","3","placeholder","Enter Internal Note",3,"ngModelChange","ngModel"],["for","edit-internal-note"],[1,"col-span-12"],["id","edit-reason","pInputTextarea","","rows","3","placeholder","Enter Reason",3,"ngModelChange","ngModel","ngClass"],["for","edit-reason"],["class","form-hint",4,"ngIf"],["pButton","","type","button","label","Update Subscription",3,"click","loading","disabled"],["header","Extend Trial","styleClass","super-admin-dialog-shell subscription-form-dialog subscription-form-dialog--compact crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],["id","extend-days","pInputText","","type","number","min","1","placeholder","Enter Extend By Days",3,"ngModelChange","ngModel"],["for","extend-days"],["inputId","extend-date","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","w-full","placeholder","Select Or Set Trial End Date",3,"ngModelChange","ngModel","showIcon"],["for","extend-date"],["id","extend-reason","pInputTextarea","","rows","3","placeholder","Enter Reason",3,"ngModelChange","ngModel"],["for","extend-reason"],["pButton","","type","button","label","Extend Trial",3,"click","loading","disabled"],["header","Change Plan","styleClass","super-admin-dialog-shell subscription-form-dialog crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],["inputId","change-plan","optionLabel","name","optionValue","id","placeholder","Select Plan Package",3,"ngModelChange","options","ngModel"],["for","change-plan"],[1,"col-span-12","md:col-span-6"],["id","change-users","pInputText","","type","number","min","1","placeholder","Enter User Licences",3,"ngModelChange","ngModel"],["for","change-users"],["id","change-months","pInputText","","type","number","min","1","placeholder","Enter Billing Months",3,"ngModelChange","ngModel"],["for","change-months"],["
2id","change-reason","pInputTextarea","","rows","3","placeholder","Enter Reason",3,"ngModelChange","ngModel"],["for","change-reason"],["pButton","","type","button","label","Change Plan",3,"click","loading","disabled"],["header","Payment History","styleClass","super-admin-dialog-shell subscription-detail-dialog crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],["styleClass","p-datatable-sm",3,"value","paginator","rows"],["header","Audit Logs","styleClass","super-admin-dialog-shell subscription-detail-dialog crm-unified-dialog",3,"visibleChange","visible","modal","dismissableMask"],["responsiveLayout","scroll","styleClass","p-datatable-sm",3,"value","paginator","rows"],[3,"value","severity"],[1,"table-actions"],["severity","warn",3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["pButton","","type","button","icon","pi pi-eye","title","View Details",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-pencil","title","Edit Subscription",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-calendar-plus","title","Extend Trial",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-clock","title","Extend Subscription",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-sync","title","Change Modules",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-users","title","Change License Count",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-calendar","title","Update Expiry",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-envelope","title","Resend Invoice Email",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-send","title","Resend Renewal Reminder",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-check-circle","title","Activate Subscription",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-times-circle","title","Deactivate Subscription",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-credit-card","title","View Payment History",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-history","title","View Audit Logs",1,"p-button-text","p-button-rounded",3,"click"],["severity","warn",3,"value"],["colspan","14"],[1,"sa-empty"],[1,"subscription-detail"],[1,"subscription-detail__grid"],["styleClass","p-datatable-sm",3,"value","rows","paginator"],[1,"form-hint"],["colspan","6"]],template:function(e,i){if(e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing"),n(),t(9,"h2",8),a(10,"Subscriptions"),n(),t(11,"p",9),a(12,"Monitor companies, trials, subscriptions, payments, invoices, and renewal actions from one place."),n()()()(),t(13,"div",10)(14,"div",11)(15,"article",12),d(16,"div",13),t(17,"div",14),d(18,"i",15),n(),t(19,"div",16),a(20),n(),t(21,"div",17),a(22,"Active Trials"),n()(),t(23,"article",18),d(24,"div",13),t(25,"div",14),d(26,"i",19),n(),t(27,"div",16),a(28),n(),t(29,"div",17),a(30,"Expiring Trials"),n()(),t(31,"article",20),d(32,"div",13),t(33,"div",14),d(34,"i",21),n(),t(35,"div",16),a(36),n(),t(37,"div",17),a(38,"Active Subscriptions"),n()(),t(39,"article",18),d(40,"div",13),t(41,"div",14),d(42,"i",22),n(),t(43,"div",16),a(44),n(),t(45,"div",17),a(46,"Expiring Subscriptions"),n()(),t(47,"article",23),d(48,"div",13),t(49,"div",14),d(50,"i",24),n(),t(51,"div",16),a(52),n(),t(53,"div",17),a(54,"Payment Failed"),n()(),t(55,"article",25),d(56,"div",13),t(57,"div",14),d(58,"i",26),n(),t(59,"div",16),a(60),n(),t(61,"div",17),a(62,"Revenue This Month"),n()()(),t(63,"div",27)(64,"div",28)(65,"h3",29),a(66," Subscriptions "),t(67,"span",30),a(68),n()(),t(69,"div",31)(70,"p-dropdown",32),v("ngModelChange",function(s){return h(i.activeFilter,s)||(i.activeFilter=s),s}),u("onChange",function(){return i.onFilterChange()}),n(),t(71,"span",33),d(72,"i",34),t(73,"input",35),v("ngModelChange",function(s){return h(i.searchQuery,s)||(i.searchQuery=s),s}),u("keyup.enter",function(){return i.onSearch()}),n()(),t(74,"button",36),u("click",function(){return i.onSearch()}),d(75,"i",34),a(76," Search "),n(),t(77,"input",37),v("ngModelChange",function(s){return h(i.moduleFilter,s)||(i.moduleFilter=s),s}),n(),t(78,"p-dropdown",38),v("ngModelChange",function(s){return h(i.paymentFilter,s)||(i.paymentFilter=s),s}),u("onChange",function(){return i.onFilterChange()}),n(),t(79,"button",39),u("click",function(){return i.onFilterChange()}),d(80,"i",40),a(81," Apply "),n(),t(82,"p-datepicker",41),v("ngModelChange",function(s){return h(i.expiryFrom,s)||(i.expiryFrom=s),s}),n(),t(83,"p-datepicker",42),v("ngModelChange",function(s){return h(i.expiryTo,s)||(i.expiryTo=s),s}),n(),t(84,"button",36),u("click",function(){return i.exportCsv()}),d(85,"i",43),a(86," Export "),n(),t(87,"button",44),u("click",function(){return i.clearFilters()}),d(88,"i",45),a(89," Clear "),n()()(),t(90,"app-data-state",46)(91,"p-table",47),x(92,bi,29,0,"ng-template",48)(93,vi,50,27,"ng-template",49)(94,xi,4,0,"ng-template",50),n()()()(),t(95,"p-dialog",51),v("visibleChange",function(s){return h(i.showDetailDialog,s)||(i.showDetailDialog=s),s}),x(96,Mi,57,18,"div",52),n(),t(97,"p-dialog",53),v("visibleChange",function(s){return h(i.showExtendSubscriptionDialog,s)||(i.showExtendSubscriptionDialog=s),s}),t(98,"div",54)(99,"p-floatlabel",55)(100,"input",56),v("ngModelChange",function(s){return h(i.extendSubscriptionForm.days,s)||(i.extendSubscriptionForm.days=s),s}),n(),t(101,"label",57),a(102,"Extend By Days"),n()(),t(103,"p-floatlabel",55)(104,"p-datepicker",58),v("ngModelChange",function(s){return h(i.extendSubscriptionForm.end_date,s)||(i.extendSubscriptionForm.end_date=s),s}
2),n(),t(105,"label",59),a(106,"Or Set Subscription End Date"),n()(),t(107,"p-floatlabel",55)(108,"textarea",60),v("ngModelChange",function(s){return h(i.extendSubscriptionForm.reason,s)||(i.extendSubscriptionForm.reason=s),s}),n(),t(109,"label",61),a(110,"Reason *"),n()(),t(111,"div",62)(112,"button",63),u("click",function(){return i.showExtendSubscriptionDialog=!1}),n(),t(113,"button",64),u("click",function(){return i.extendSubscription()}),n()()()(),t(114,"p-dialog",65),v("visibleChange",function(s){return h(i.showLicenseDialog,s)||(i.showLicenseDialog=s),s}),t(115,"div",54)(116,"p-floatlabel",55)(117,"input",66),v("ngModelChange",function(s){return h(i.licenseForm.user_license_count,s)||(i.licenseForm.user_license_count=s),s}),n(),t(118,"label",67),a(119,"User License Count"),n()(),t(120,"p-floatlabel",55)(121,"textarea",68),v("ngModelChange",function(s){return h(i.licenseForm.reason,s)||(i.licenseForm.reason=s),s}),n(),t(122,"label",69),a(123,"Reason *"),n()(),t(124,"div",62)(125,"button",63),u("click",function(){return i.showLicenseDialog=!1}),n(),t(126,"button",70),u("click",function(){return i.updateLicenses()}),n()()()(),t(127,"p-dialog",71),v("visibleChange",function(s){return h(i.showExpiryDialog,s)||(i.showExpiryDialog=s),s}),t(128,"div",54)(129,"p-floatlabel",55)(130,"p-datepicker",72),v("ngModelChange",function(s){return h(i.expiryForm.trial_end_date,s)||(i.expiryForm.trial_end_date=s),s}),n(),t(131,"label",73),a(132,"Trial End Date"),n()(),t(133,"p-floatlabel",55)(134,"p-datepicker",74),v("ngModelChange",function(s){return h(i.expiryForm.end_date,s)||(i.expiryForm.end_date=s),s}),n(),t(135,"label",75),a(136,"Subscription End Date"),n()(),t(137,"p-floatlabel",55)(138,"textarea",76),v("ngModelChange",function(s){return h(i.expiryForm.reason,s)||(i.expiryForm.reason=s),s}),n(),t(139,"label",77),a(140,"Reason *"),n()(),t(141,"div",62)(142,"button",63),u("click",function(){return i.showExpiryDialog=!1}),n(),t(143,"button",78),u("click",function(){return i.updateExpiryDates()}),n()()()(),t(144,"p-dialog",79),v("visibleChange",function(s){return h(i.showEditDialog,s)||(i.showEditDialog=s),s}),t(145,"div",54)(146,"div",80)(147,"div",81)(148,"p-floatlabel",55)(149,"p-dropdown",82),v("ngModelChange",function(s){return h(i.editForm.plan_package,s)||(i.editForm.plan_package=s),s}),n(),t(150,"label",83),a(151,"Plan Package"),n()()(),t(152,"div",81)(153,"p-floatlabel",55)(154,"input",84),v("ngModelChange",function(s){return h(i.editForm.user_license_count,s)||(i.editForm.user_license_count=s),s}),n(),t(155,"label",85),a(156,"User Licences"),n()()(),t(157,"div",81)(158,"p-floatlabel",55)(159,"input",86),v("ngModelChange",function(s){return h(i.editForm.billing_months,s)||(i.editForm.billing_months=s),s}),n(),t(160,"label",87),a(161,"Billing Months"),n()()(),t(162,"div",88)(163,"p-floatlabel",55)(164,"p-datepicker",89),v("ngModelChange",function(s){return h(i.editForm.trial_start_date,s)||(i.editForm.trial_start_date=s),s}),n(),t(165,"label",90),a(166,"Trial Start"),n()()(),t(167,"div",88)(168,"p-floatlabel",55)(169,"p-datepicker",91),v("ngModelChange",function(s){return h(i.editForm.trial_end_date,s)||(i.editForm.trial_end_date=s),s}),n(),t(170,"label",92),a(171,"Trial End"),n()()(),t(172,"div",88)(173,"p-floatlabel",55)(174,"p-datepicker",93),v("ngModelChange",function(s){return h(i.editForm.start_date,s)||(i.editForm.start_date=s),s}),n(),t(175,"label",94),a(176,"Start Date"),n()()(),t(177,"div",88)(178,"p-floatlabel",55)(179,"p-datepicker",95),v("ngModelChange",function(s){return h(i.editForm.end_date,s)||(i.editForm.end_date=s),s}),n(),t(180,"label",96),a(181,"End Date"),n()()(),t(182,"div",88)(183,"p-floatlabel",55)(184,"p-datepicker",97),v("ngModelChange",function(s){return h(i.editForm.grace_period_start_date,s)||(i.editForm.grace_period_start_date=s),s}),n(),t(185,"label",98),a(186,"Grace Start"),n()()(),t(187,"div",88)(188,"p-floatlabel",55)(189,"p-datepicker",99),v("ngModelChange",function(s){return h(i.editForm.grace_period_end_date,s)||(i.editForm.grace_period_end_date=s),s}),n(),t(190,"label",100),a(191,"Grace End"),n()()(),t(192,"div",88)(193,"label",101)(194,"input",102),v("ngModelChange",function(s){return h(i.editForm.is_in_grace_peri
2od,s)||(i.editForm.is_in_grace_period=s),s}),n(),t(195,"span"),a(196,"In grace period"),n()()(),t(197,"div",81)(198,"p-floatlabel",55)(199,"p-dropdown",103),v("ngModelChange",function(s){return h(i.editForm.status,s)||(i.editForm.status=s),s}),n(),t(200,"label",104),a(201,"Status"),n()()(),t(202,"div",105)(203,"p-floatlabel",55)(204,"textarea",106),v("ngModelChange",function(s){return h(i.editForm.internal_note,s)||(i.editForm.internal_note=s),s}),n(),t(205,"label",107),a(206,"Internal Note"),n()()(),t(207,"div",108)(208,"p-floatlabel",55)(209,"textarea",109),v("ngModelChange",function(s){return h(i.editForm.reason,s)||(i.editForm.reason=s),s}),n(),t(210,"label",110),a(211),n()(),x(212,Pi,2,0,"small",111),n()(),t(213,"div",62)(214,"button",63),u("click",function(){return i.showEditDialog=!1}),n(),t(215,"button",112),u("click",function(){return i.saveEdit()}),n()()()(),t(216,"p-dialog",113),v("visibleChange",function(s){return h(i.showExtendTrialDialog,s)||(i.showExtendTrialDialog=s),s}),t(217,"div",54)(218,"p-floatlabel",55)(219,"input",114),v("ngModelChange",function(s){return h(i.extendTrialForm.days,s)||(i.extendTrialForm.days=s),s}),n(),t(220,"label",115),a(221,"Extend By Days"),n()(),t(222,"p-floatlabel",55)(223,"p-datepicker",116),v("ngModelChange",function(s){return h(i.extendTrialForm.trial_end_date,s)||(i.extendTrialForm.trial_end_date=s),s}),n(),t(224,"label",117),a(225,"Or Set Trial End Date"),n()(),t(226,"p-floatlabel",55)(227,"textarea",118),v("ngModelChange",function(s){return h(i.extendTrialForm.reason,s)||(i.extendTrialForm.reason=s),s}),n(),t(228,"label",119),a(229,"Reason *"),n()(),t(230,"div",62)(231,"button",63),u("click",function(){return i.showExtendTrialDialog=!1}),n(),t(232,"button",120),u("click",function(){return i.extendTrial()}),n()()()(),t(233,"p-dialog",121),v("visibleChange",function(s){return h(i.showChangePlanDialog,s)||(i.showChangePlanDialog=s),s}),t(234,"div",54)(235,"p-floatlabel",55)(236,"p-dropdown",122),v("ngModelChange",function(s){return h(i.changePlanForm.plan_package,s)||(i.changePlanForm.plan_package=s),s}),n(),t(237,"label",123),a(238,"Plan Package *"),n()(),t(239,"div",80)(240,"div",124)(241,"p-floatlabel",55)(242,"input",125),v("ngModelChange",function(s){return h(i.changePlanForm.user_license_count,s)||(i.changePlanForm.user_license_count=s),s}),n(),t(243,"label",126),a(244,"User Licences"),n()()(),t(245,"div",124)(246,"p-floatlabel",55)(247,"input",127),v("ngModelChange",function(s){return h(i.changePlanForm.billing_months,s)||(i.changePlanForm.billing_months=s),s}),n(),t(248,"label",128),a(249,"Billing Months"),n()()()(),t(250,"p-floatlabel",55)(251,"textarea",129),v("ngModelChange",function(s){return h(i.changePlanForm.reason,s)||(i.changePlanForm.reason=s),s}),n(),t(252,"label",130),a(253,"Reason *"),n()(),t(254,"div",62)(255,"button",63),u("click",function(){return i.showChangePlanDialog=!1}),n(),t(256,"button",131),u("click",function(){return i.changePlan()}),n()()()(),t(257,"p-dialog",132),v("visibleChange",function(s){return h(i.showPaymentsDialog,s)||(i.showPaymentsDialog=s),s}),t(258,"p-table",133),x(259,wi,13,0,"ng-template",48)(260,Oi,14,10,"ng-template",49),n()(),t(261,"p-dialog",134),v("visibleChange",function(s){return h(i.showAuditLogsDialog,s)||(i.showAuditLogsDialog=s),s}),t(262,"p-table",135),x(263,Si,13,0,"ng-template",48)(264,ki,18,13,"ng-template",49)(265,Ei,3,0,"ng-template",50),n()()(),d(266,"p-toast")),e&2){let l,s,C,A,te;o(20),p((l=(l=i.summary.active_trials)!==null&&l!==void 0?l:i.summary.trial_companies)!==null&&l!==void 0?l:0),o(8),p(i.summary.trials_expiring_soon),o(8),p((s=i.summary.active_subscriptions)!==null&&s!==void 0?s:i.summary.total_active_subscriptions),o(8),p((C=i.summary.subscriptions_expiring_soon)!==null&&C!==void 0?C:i.summary.subscriptions_expiring_7_days),o(8),p((A=i.summary.failed_payments)!==null&&A!==void 0?A:i.summary.payment_failed),o(8),p(i.money((te=i.summary.revenue_this_month)!==null&&te!==void 0?te:i.summary.monthly_revenue)),o(8),p(i.subscriptions.length),o(2),re(I(135,ai)),m("options",i.filterOptions),f("ngModel",i.activeFilter),o(3),f("ngModel",i.searchQuery),o(4),f("ngModel",i.moduleFilter),o(),re(I(136,oi)),m("options",wn(141,di,I(137,si),I(138,li),I(139,ci),I(140,mi))),f("ngModel",i.paymentFilter),o(4),f("ngModel",i.expiryFrom),m("showIcon",!0),o(),f("ngModel",i.expiryTo),m("showIcon",!0),o(7),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("value",i.subscriptions)("paginator",!0)("rows",10)("rowHover",!0),o(4),re(I(146,Un)),f("visible",i.showDetailDialog),m("modal",!0)("dismissableMask",!0),o(),m("ngIf",i.selectedSubscription),o(),re(I(147,bn)),f("visible",i.showExtendSubscriptionDialog),m("modal",!0)("dismissableMask",!0),o(3),f("ngModel",i.extendSubscriptionForm.days),o(4),f("ngModel",i.extendSubscriptionForm.end_date),m("showIcon",!0),o(4),f("ngModel",i.extendSubscriptionForm.reason),o(5),m("loading",i.saving)("disabled",i.saving||!i.extendSubscriptionForm.reason.trim()),o(),re(I(148,pi)),f("visible",i.showLicenseDialog),m("modal",!0)("dismissableMask",!0),o(3),f("ngModel",i.licenseForm.user_license_count),o(4),f("ngModel",i.licenseForm.reason),o(5),m("loading",i.saving)("disabled",i.saving||!i.licenseForm.reason.trim()),o(),re(I(149,bn)),f("visible",i.showExpiryDialog),m("modal",!0)("dismissableMask",!0),o(3),f("ngModel",i.expiryForm.trial_end_date),m("showIcon",!0),o(4),f("ngModel",i.expiryForm.end_date),m("showIcon",!0),o(4),f("ngModel",i.expiryForm.reason),o(5),m("loading",i.saving)("disabled",i.saving||!i.expiryForm.reason.trim()),o(),re(I(150,Hn)),f("visible",i.showEditDialog),m("modal",!0)("dismissableMask",!0),o(5),m("options",i.packages),f("ngModel",i.editForm.plan_package),o(5),f("ngModel",i.editForm.user_license_count),o(5),f("ngModel",i.editForm.billing_months),o(5),f("ngModel",i.editForm.trial_start_date),m("showIcon",!0),o(5),f("ngModel",i.editForm.trial_end_date),m("showIcon",!0),o(5),f("ngModel",i.editForm.start_date),m("showIcon",!0),o(5),f("ngModel",i.editForm.end_date),m("showIcon",!0),o(5),f("ngModel",i.editForm.grace_peri
2od_start_date),m("showIcon",!0),o(5),f("ngModel",i.editForm.grace_period_end_date),m("showIcon",!0),o(5),f("ngModel",i.editForm.is_in_grace_period),o(5),m("options",i.statusOptions),f("ngModel",i.editForm.status),o(5),f("ngModel",i.editForm.internal_note),o(5),f("ngModel",i.editForm.reason),m("ngClass",it(151,gi,i.requiresEditReason()&&!(i.editForm.reason!=null&&i.editForm.reason.trim()))),o(2),P("Reason",i.requiresEditReason()?" *":"",""),o(),m("ngIf",i.requiresEditReason()),o(3),m("loading",i.saving)("disabled",i.saving||!i.canSaveEdit()),o(),re(I(153,bn)),f("visible",i.showExtendTrialDialog),m("modal",!0)("dismissableMask",!0),o(3),f("ngModel",i.extendTrialForm.days),o(4),f("ngModel",i.extendTrialForm.trial_end_date),m("showIcon",!0),o(4),f("ngModel",i.extendTrialForm.reason),o(5),m("loading",i.saving)("disabled",i.saving||!i.extendTrialForm.reason.trim()),o(),re(I(154,ui)),f("visible",i.showChangePlanDialog),m("modal",!0)("dismissableMask",!0),o(3),m("options",i.packages),f("ngModel",i.changePlanForm.plan_package),o(6),f("ngModel",i.changePlanForm.user_license_count),o(5),f("ngModel",i.changePlanForm.billing_months),o(4),f("ngModel",i.changePlanForm.reason),o(5),m("loading",i.saving)("disabled",i.saving||!i.changePlanForm.plan_package||!i.changePlanForm.reason.trim()),o(),re(I(155,Hn)),f("visible",i.showPaymentsDialog),m("modal",!0)("dismissableMask",!0),o(),m("value",i.payments)("paginator",!0)("rows",8),o(3),re(I(156,Un)),f("visible",i.showAuditLogsDialog),m("modal",!0)("dismissableMask",!0),o(),m("value",i.auditLogs)("paginator",!0)("rows",8)}},dependencies:[E,q,ne,B,On,J,j,K,N,z,oe,Re,Ne,ee,X,se,ge,H,G,he,fe,Le,Ve,L,W,Be,wt,V,De,U,Qe,gt,ze,D],styles:['@charset "UTF-8";.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}[_nghost-%COMP%]{display:block}.super-admin-subscriptions[_ngcontent-%COMP%], .super-admin-page[_ngcontent-%COMP%], .subscription-form[_ngcontent-%COMP%], .subscription-detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__header[_ngcontent-%COMP%], .subscription-toolbar[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.super-admin-page__intro[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem}.super-admin-page__subtitle[_ngcontent-%COMP%], .form-hint[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.subscription-summary-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.subscription-summary-card[_ngcontent-%COMP%]{display:grid;gap:.45rem;min-height:7rem;padding:1rem;border:1px solid var(--surface-border);border-radius:var(--content-border-radius);background:var(--surface-card)}.subscription-summary-card[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.subscription-summary-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-color);font-size:1.75rem;line-height:1.1}.subscription-filter-bar[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.75rem;margin-bottom:1rem;width:100%;min-width:0;overflow-x:auto}.subscription-filter-bar[_ngcontent-%COMP%] .sa-toolbar__title[_ngcontent-%COMP%]{margin:0;flex
2:0 0 auto}.subscription-toolbar__filters[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:nowrap;gap:.5rem;flex:1 1 auto;min-width:0;width:auto}.subscription-toolbar__filters[_ngcontent-%COMP%] .sub-filter-host[_ngcontent-%COMP%]{flex:0 0 auto!important}.subscription-toolbar__filters[_ngcontent-%COMP%] .subscription-search.sa-search[_ngcontent-%COMP%], .subscription-toolbar__filters[_ngcontent-%COMP%] .subscription-search[_ngcontent-%COMP%]{flex:0 0 13rem!important;min-width:11rem!important;max-width:13rem!important;width:13rem!important}.subscription-toolbar__filters[_ngcontent-%COMP%] .subscription-module-input[_ngcontent-%COMP%]{flex:0 0 7.5rem;width:7.5rem;min-width:7.5rem;max-width:7.5rem;padding:.5rem .65rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;font-size:.85rem;box-sizing:border-box}.subscription-toolbar__filters[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:0 0 auto;min-width:0}[_nghost-%COMP%] .subscription-toolbar__filters>p-dropdown, [_nghost-%COMP%] .subscription-toolbar__filters>p-datepicker{flex:0 0 auto!important;display:inline-flex!important;width:8.5rem!important;min-width:8.5rem!important;max-width:9.5rem!important}[_nghost-%COMP%] .subscription-toolbar__filters>p-dropdown:nth-of-type(2){width:9.5rem!important;min-width:9.5rem!important;max-width:9.5rem!important}[_nghost-%COMP%] .subscription-toolbar__filters>p-dropdown .p-dropdown, [_nghost-%COMP%] .subscription-toolbar__filters .sub-filter-dd.p-dropdown, [_nghost-%COMP%] .subscription-toolbar__filters .p-dropdown.sub-filter-dd{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .subscription-toolbar__filters .sub-filter-dd--payment.p-dropdown, [_nghost-%COMP%] .subscription-toolbar__filters .p-dropdown.sub-filter-dd--payment{width:100%!important}[_nghost-%COMP%] .subscription-toolbar__filters>p-datepicker{width:9.25rem!important;min-width:9.25rem!important;max-width:9.25rem!important;position:relative;z-index:0!important}[_nghost-%COMP%] .subscription-toolbar__filters .sub-filter-date, [_nghost-%COMP%] .subscription-toolbar__filters .p-datepicker.sub-filter-date, [_nghost-%COMP%] .subscription-toolbar__filters .p-calendar{width:100%!important;min-width:0!important;max-width:100%!important;z-index:0!important}[_nghost-%COMP%] .subscription-toolbar__filters .sub-filter-date-input, [_nghost-%COMP%] .subscription-toolbar__filters .p-datepicker-input{width:100%!important;min-width:0!important;font-size:.85rem}[_nghost-%COMP%] .subscription-toolbar__filters .p-button{flex:0 0 auto!important;white-space:nowrap;width:auto!important}.table-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}td[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{margin-top:.2rem;color:var(--text-color-secondary)}.subscription-detail__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.subscription-detail__grid[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:grid;gap:.35rem;padding:.85rem;border:1px solid var(--surface-border);border-radius:var(--content-border-radius);background:var(--surface-ground)}.subscription-detail__grid[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.subscription-form[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .subscription-form [_nghost-%COMP%] .p-floatlabel, [_nghost-%COMP%] .subscription-form .p-floatlabel, [_nghost-%COMP%] .subscription-form .p-inputtext, [_nghost-%COMP%] .subscription-form .p-dropdown, [_nghost-%COMP%] .subscription-form .p-datepicker, [_nghost-%COMP%] .p-dialog .p-floatlabel, [_nghost-%COMP%] .p-dialog .p-inputtext, [_nghost-%COMP%] .p-dialog .p-dropdown, [_nghost-%COMP%] .p-dialog .p-datepicker{width:100%}.dialog-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;
2gap:.75rem}[_nghost-%COMP%] .p-dialog .p-dialog-content{padding:1.5rem}@media (max-width: 1200px){.subscription-summary-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 768px){.subscription-summary-grid[_ngcontent-%COMP%], .subscription-detail__grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.subscription-toolbar__filters[_ngcontent-%COMP%]{align-items:center;flex-direction:row;overflow-x:auto}.subscription-toolbar__filters[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{min-width:10rem;width:auto}.dialog-actions[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column}.dialog-actions[_ngcontent-%COMP%] .p-button[_ngcontent-%COMP%]{width:100%}}']})};var jt=class c{constructor(r,e){this.http=r;this.authService=e}baseUrl=`${R.apiUrl}api/super-admin/employees/`;getEmployees(r){return this.http.get(this.baseUrl,F(w({},this.getHeaders()),{params:this.buildParams(r)})).pipe(Z(e=>this.normalizeList(e)))}getOptions(r){return this.http.get(`${this.baseUrl}options/`,F(w({},this.getHeaders()),{params:new Ae().set("company_id",r)}))}getPermissions(r){return this.http.get(`${this.baseUrl}${r}/permissions/`,this.getHeaders())}createEmployee(r){return this.http.post(this.baseUrl,r,this.getHeaders())}updateEmployee(r,e){return this.http.put(`${this.baseUrl}${r}/`,e,this.getHeaders())}deleteEmployee(r){return this.http.delete(`${this.baseUrl}${r}/`,this.getHeaders())}resetMfa(r){return this.http.post(`${this.baseUrl}${r}/reset-mfa/`,{},this.getHeaders())}getHeaders(){let r=this.authService.getToken();return{headers:new Me({Authorization:r?`Bearer ${r}`:""})}}buildParams(r){let e=new Ae;return Object.entries(r??{}).forEach(([i,l])=>{l!=null&&l!==""&&(e=e.set(i,String(l)))}),e}normalizeList(r){if(Array.isArray(r))return r;if(r&&typeof r=="object"){let e=r;return e.results??e.data??e.items??[]}return[]}static \u0275fac=function(e){return new(e||c)(me(Pe),me(we))};static \u0275prov=ye({token:c,factory:c.\u0275fac,providedIn:"root"})};var Ii=["dt"],zi=()=>["emp_name","username","email","company_name","role_name","position_name"];function Fi(c,r){c&1&&(t(0,"tr")(1,"th",29),a(2,"Employee "),d(3,"p-sortIcon",30),n(),t(4,"th",31),a(5,"Username "),d(6,"p-sortIcon",32),n(),t(7,"th",33),a(8,"Company "),d(9,"p-sortIcon",34),n(),t(10,"th"),a(11,"Role"),n(),t(12,"th"),a(13,"MFA"),n(),t(14,"th"),a(15,"Status"),n(),t(16,"th"),a(17,"Actions"),n()())}function Ai(c,r){if(c&1&&(t(0,"small",37),a(1),y(2,"date"),n()),c&2){let e=g().$implicit;o(),p(T(2,1,e.mfa_enabled_at,"dd MMM yyyy"))}}function Bi(c,r){if(c&1){let e=M();t(0,"tr")(1,"td")(2,"div",35)(3,"span",36),a(4),n(),t(5,"small",37),a(6),n()()(),t(7,"td"),a(8),n(),t(9,"td"),a(10),n(),t(11,"td")(12,"div",35)(13,"span",36),a(14),n(),t(15,"small",37),a(16),n()()(),t(17,"td")(18,"div",35)(19,"span",38),a(20),n(),x(21,Ai,3,4,"small",39),n()(),t(22,"td")(23,"span",38),a(24),n()(),t(25,"td")(26,"div",40)(27,"button",41),u("click",function(){let l=_(e).$implicit,s=g();return b(s.resetEmployeeMfa(l))}),n()()()()}if(c&2){let e=r.$implicit;o(4),p(e.emp_name||e.first_name+" "+e.last_name),o(2),p(e.phone_number||e.emp_mobile||"No phone"),o(2),p(e.username||e.email),o(2),p(e.company_name||e.organization_name||"Unlinked company"),o(4),p(e.role_name),o(2),p(e.position_name),o(3),m("ngClass",e.mfa_enabled?"active":"inactive"),o(),p(e.mfa_enabled?"Enabled":"Off"),o(),m("ngIf",e.mfa_enabled_at),o(2),m("ngClass",e.is_active?"active":"inactive"),o(),p(e.is_active?"Active":"Inactive"),o(3),S("p-button-warning",e.mfa_enabled),m("icon",e.mfa_enabled?"pi pi-lock-open":"pi pi-lock")("label",e.mfa_enabled?"Disable MFA":"MFA Off")("disabled",!e.mfa_enabled)("pTooltip",e.mfa_enabled?"Clear authenticator setup so this user can scan a new code":"MFA is not enabled for this user")}}function Di(c,r){c&1&&(t(0,"tr")(1,"td",42)(2,"div",43),a(3,"No employees found."),n()()())}var qt=class c{constructor(r,e,i){this.companyService=r;this.employeeService=e;this.messageService=i}dt;employees=[];companies=[];loading=!0;errorMessage=null;selectedCompanyId="";searchQuery="";debouncedTableFilter=Tt(r=>{this.dt?.filterGlobal(r,"contains")},300);ngOnInit(){this.loadCompanies(),this.loadEmployees()}loadCompanies(){this.companyService.getCompanies().subscribe({next:r=>{this.companies=r.filter(e=>!!e.organization_id)},error:()=>{this.companies=[]}})}loadEmployees(){this.loading=!0,this.errorMessage=null,this.employeeService.getEmployees({company_id:this.selectedCompanyId}).subscribe({next:r=>{this.employees=r,this.loading=!1},error:()=>{this.employees=[],this.errorMessage="Unable to load employees right now.",this.loading=!1}})}onGlobalFilter(r){let e=r.target;this.searchQuery=e?.value??"",this.debouncedTableFilter(this.searchQuery)}onCompanyFilterChange(r){this.selectedCompanyId=r??"",this.loadEmployees()}clearFilters(){this.searchQuery="",this.selectedCompanyId="",this.dt?.clear(),this.loadEmployees()}resetEmployeeMfa(r){let e=r.emp_name||r.username||r.email;window.confirm(`Reset authenticator MFA for "${e}"? The user will be able to scan a new code from Settings.`)&&this.employeeService.resetMfa(r.id).subscribe({next:l=>{let s=l.employee;s?this.employees=this.employees.map(C=>C.id===s.id?s:C):this.employees=this.employees.map(C=>C.id===r.id?F(w({},C),{mfa_enabled:!1,mfa_enabled_at:null}):C),this.messageService.add({severity:"success",summary:"MFA reset",detail:l.message||"Authenticator MFA has been reset."})},error:l=>{this.messageService.add({severity:"error",summary:"Reset failed",detail
2:this.extractError(l)})}})}get visibleEmployeesCount(){let r=this.dt?.filteredValue;return r?r.length:this.employees.length}extractError(r){let e=r?.error;if(e&&typeof e=="object"){let i=Object.keys(e)[0],l=i?e[i]:null;if(Array.isArray(l))return String(l[0]);if(typeof l=="string")return l;if(typeof e.detail=="string")return e.detail}return"Unable to save employee."}static \u0275fac=function(e){return new(e||c)(O(We),O(jt),O(pe))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-employees"]],viewQuery:function(e,i){if(e&1&&Je(Ii,5),e&2){let l;$e(l=Ze())&&(i.dt=l.first)}},features:[Se([pe])],decls:37,vars:14,consts:[["dt",""],[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-users"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],[1,"sa-toolbar__filters"],[1,"sa-search"],[1,"pi","pi-search"],["pInputText","","type","text","placeholder","Search organization users",3,"input","ngModel"],["variant","on"],["inputId","super_admin_employee_company_filter","optionLabel","name","optionValue","id","styleClass","w-full",3,"ngModelChange","onChange","options","showClear","ngModel"],["for","super_admin_employee_company_filter"],["type","button",1,"sa-btn-text",3,"click","disabled"],[1,"sa-glass"],["errorTitle","Employees unavailable","preset","table",3,"loading","errorMessage"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","globalFilterFields","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],["pSortableColumn","emp_name"],["field","emp_name"],["pSortableColumn","username"],["field","username"],["pSortableColumn","company_name"],["field","company_name"],[1,"employee-cell"],[1,"employee-cell__name"],[1,"employee-cell__meta"],[1,"sa-status",3,"ngClass"],["class","employee-cell__meta",4,"ngIf"],[1,"table-actions"],["pButton","","type","button","tooltipPosition","top",1,"p-button-sm","p-button-outlined",3,"click","icon","label","disabled","pTooltip"],["colspan","7"],[1,"sa-empty"]],template:function(e,i){if(e&1){let l=M();d(0,"p-toast"),t(1,"section",1)(2,"header",2),d(3,"div",3),t(4,"div",4)(5,"div",5),d(6,"i",6),n(),t(7,"div",7)(8,"span",8),a(9,"Tenant access management"),n(),t(10,"h2",9),a(11,"Organization Users"),n(),t(12,"p",10),a(13,"Manage tenant user logins, page-level access, and authenticator MFA recovery."),n()()()(),t(14,"div",11)(15,"div",12)(16,"h3",13),a(17," User directory "),t(18,"span",14),a(19),n()(),t(20,"div",15)(21,"span",16),d(22,"i",17),t(23,"input",18),u("input",function(C){return _(l),b(i.onGlobalFilter(C))}),n()(),t(24,"p-floatlabel",19)(25,"p-dropdown",20),v("ngModelChange",function(C){return _(l),h(i.selectedCompanyId,C)||(i.selectedCompanyId=C),b(C)}),u("onChange",function(C){return _(l),b(i.onCompanyFilterChange(C.value))}),n(),t(26,"label",21),a(27,"Company"),n()(),t(28,"button",22),u("click",function(){return _(l),b(i.clearFilters())}),a(29,"Clear"),n()()(),t(30,"div",23)(31,"app-data-state",24)(32,"p-table",25,0),x(34,Fi,18,0,"ng-template",26)(35,Bi,28,17,"ng-template",27)(36,Di,4,0,"ng-template",28),n()()()()()}e&2&&(o(19),p(i.visibleEmployeesCount),o(4),m("ngModel",i.searchQuery),o(2),m("options",i.companies)("showClear",!0),f("ngModel",i.selectedCompanyId),o(3),m("disabled",!i.searchQuery&&!i.selectedCompanyId),o(3),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("value",i.employees)("paginator",!0)("rows",10)("globalFilterFields",I(13,zi))("rowHover",!0))},dependencies:[E,q,B,J,L,W,V,U,j,K,N,It,zt,z,oe,ee,X,se,ge,H,G,Tn,En,Le,Ve,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
2align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.employee-cell[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.employee-cell__name[_ngcontent-%COMP%]{font-weight:600;color:var(--text-color)}.employee-cell__meta[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.78rem}.table-actions[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}']})};var Yt=class c{constructor(r,e){this.http=r;this.authService=e}usersUrl=`${R.apiUrl}api/super-admin/users/`;rolesUrl=`${R.apiUrl}api/super-admin/roles/`;getUsers(){return this.http.get(this.usersUrl,this.getHeaders()).pipe(Z(r=>this.normalizeList(r)))}createUser(r){return this.http.post(this.usersUrl,r,this.getHeaders())}updateUser(r,e){return this.http.put(`${this.usersUrl}${r}/`,e,this.getHeaders())}deleteUser(r){return this.http.delete(`${this.usersUrl}${r}/`,this.getHeaders())}getRoles(){return this.http.get(this.rolesUrl,this.getHeaders()).pipe(Z(r=>this.normalizeList(r)))}createRole(r){return this.http.post(this.rolesUrl,r,this.getHeaders())}updateRole(r,e){return this.http.put(`${this.rolesUrl}${r}/`,e,this.getHeaders())}deleteRole(r){return this.http.delete(`${this.rolesUrl}${r}/`,this.getHeaders())}getPages(){return this.http.get(`${this.rolesUrl}catalog/`,this.getHeaders()).pipe(Z(r=>r.pages??[]))}getHeaders(){let r=this.authService.getToken();return{headers:new Me({Authorization:r?`Bearer ${r}`:""})}}normalizeList(r){if(Array.isArray(r))return r;if(r&&typeof r=="object"){let e=r;return e.results??e.data??e.items??[]}return[]}static \u0275fac=function(e){return new(e||c)(me(Pe),me(we))};static \u0275prov=ye({token:c,factory:c.\u0275fac,providedIn:"root"})};var Li=()=>({width:"54rem",maxWidth:"96vw"}),Ni=()=>({width:"72rem",maxWidth:"96vw"}
2),ft=()=>({standalone:!0});function Ri(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Username"),n(),t(3,"th"),a(4,"Name"),n(),t(5,"th"),a(6,"Role"),n(),t(7,"th"),a(8,"Status"),n(),t(9,"th"),a(10,"Created"),n(),t(11,"th"),a(12,"Actions"),n()())}function Wi(c,r){if(c&1){let e=M();t(0,"tr")(1,"td")(2,"div",60)(3,"strong"),a(4),n(),t(5,"small"),a(6),n()()(),t(7,"td"),a(8),n(),t(9,"td"),a(10),n(),t(11,"td")(12,"span",61),a(13),n()(),t(14,"td"),a(15),y(16,"date"),n(),t(17,"td")(18,"div",62)(19,"button",63),u("click",function(){let l=_(e).$implicit,s=g(2);return b(s.openEditUser(l))}),n(),t(20,"button",64),u("click",function(){let l=_(e).$implicit,s=g(2);return b(s.deactivateUser(l))}),n()()()()}if(c&2){let e=r.$implicit;o(4),p(e.username),o(2),p(e.email||"No email"),o(2),ue("",e.first_name," ",e.last_name,""),o(2),p(e.role_name),o(2),m("ngClass",e.is_active?"active":"inactive"),o(),p(e.is_active?"Active":"Inactive"),o(2),p(T(16,8,e.created_at,"short"))}}function Ui(c,r){c&1&&(t(0,"tr")(1,"td",65)(2,"div",66),a(3,"No super admin users found."),n()()())}function Hi(c,r){if(c&1){let e=M();nt(0),t(1,"div",50)(2,"h3",51),a(3," Users "),t(4,"span",52),a(5),n()(),t(6,"div",53)(7,"button",54),u("click",function(){_(e);let l=g();return b(l.openAddUser())}),d(8,"i",55),a(9," Add User "),n()()(),t(10,"div",56)(11,"p-table",57),x(12,Ri,13,0,"ng-template",18)(13,Wi,21,11,"ng-template",58)(14,Ui,4,0,"ng-template",59),n()(),rt()}if(c&2){let e=g();o(5),p(e.users.length),o(6),m("value",e.users)("paginator",!0)("rows",10)("rowHover",!0)}}function ji(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Role"),n(),t(3,"th"),a(4,"Description"),n(),t(5,"th"),a(6,"Users"),n(),t(7,"th"),a(8,"Status"),n(),t(9,"th"),a(10,"Actions"),n()())}function qi(c,r){if(c&1){let e=M();t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),n(),t(5,"td"),a(6),n(),t(7,"td")(8,"span",61),a(9),n()(),t(10,"td")(11,"div",62)(12,"button",63),u("click",function(){let l=_(e).$implicit,s=g(2);return b(s.openEditRole(l))}),n(),t(13,"button",64),u("click",function(){let l=_(e).$implicit,s=g(2);return b(s.deleteRole(l))}),n()()()()}if(c&2){let e=r.$implicit;o(2),p(e.name),o(2),p(e.description||"-"),o(2),p(e.user_count||0),o(2),m("ngClass",e.is_active?"active":"inactive"),o(),p(e.is_active?"Active":"Inactive")}}function Yi(c,r){c&1&&(t(0,"tr")(1,"td",67)(2,"div",66),a(3,"Create a role before adding users."),n()()())}function Gi(c,r){if(c&1){let e=M();nt(0),t(1,"div",50)(2,"h3",51),a(3," Roles & Permissions "),t(4,"span",52),a(5),n()(),t(6,"div",53)(7,"button",54),u("click",function(){_(e);let l=g();return b(l.openAddRole())}),d(8,"i",55),a(9," Add Role "),n()()(),t(10,"div",56)(11,"p-table",57),x(12,ji,11,0,"ng-template",18)(13,qi,14,5,"ng-template",58)(14,Yi,4,0,"ng-template",59),n()(),rt()}if(c&2){let e=g();o(5),p(e.roles.length),o(6),m("value",e.roles)("paginator",!0)("rows",10)("rowHover",!0)}}function Ki(c,r){if(c&1&&a(0),c&2){let e=g();p(e.selectedUser?"Update User":"Add User")}}function Qi(c,r){if(c&1&&a(0),c&2){let e=g();p(e.selectedRole?"Update Role":"Add Role")}}function Ji(c,r){if(c&1){let e=M();t(0,"div",68)(1,"div",60)(2,"strong"),a(3),n(),t(4,"small"),a(5),n()(),t(6,"p-checkbox",69),v("ngModelChange",function(l){let s=_(e).$implicit;return h(s.enabled,l)||(s.enabled=l),b(l)}),u("onChange",function(){let l=_(e).$implicit,s=g();return b(s.onPermissionEnabledChange(l))}),n(),t(7,"p-checkbox",69),v("ngModelChange",function(l){let s=_(e).$implicit;return h(s.can_create,l)||(s.can_create=l),b(l)}),u("onChange",function(){let l=_(e).$implicit,s=g();return b(s.onPermissionActionChange(l))}),n(),t(8,"p-checkbox",69),v("ngModelChange",function(l){let s=_(e).$implicit;return h(s.can_read,l)||(s.can_read=l),b(l)}),u("onChange",function(){let l=_(e).$implicit,s=g();return b(s.onPermissionActionChange(l))}),n(),t(9,"p-checkbox",69),v("ngModelChange",function(l){let s=_(e).$implicit;return h(s.can_update,l)||(s.can_update=l),b(l)}),u("onChange",function(){let l=_(e).$implicit,s=g();return b(s.onPermissionActionChange(l))}),n(),t(10,"p-checkbox",69),v("ngModelChange",function(l){let s=_(e).$implicit;return h(s.can_delete,l)||(s.can_delete=l),b(l)}),u("onChange",function(){let l=_(e).$implicit,s=g();return b(s.onPermissionActionChange(l))}),n()()}if(c&2){let e=r.$implicit;o(3),p(e.label),o(2),p(e.route),o(),f("ngModel",e.enabled),m("ngModelOptions",I(17,ft))("binary",!0),o(),f("ngModel",e.can_create),m("ngModelOptions",I(18,ft))("binary",!0),o(),f("ngModel",e.can_read),m("ngModelOptions",I(19,ft))("binary",!0),o(),f("ngModel",e.can_update),m("ngModelOptions",I(20,ft))("binary",!0),o(),f("ngModel",e.can_delete),m("ngModelOptions",I(21,ft))("binary",!0)}}var Gt=class c{constructor(r,e,i){this.fb=r;this.userService=e;this.messageService=i;this.userForm=this.fb.group({username:["",Y.required],email:[""],password:[""],first_name:["",Y.required],last_name:[""],phone:[""],role:[null,Y.required],is_active:[!0]}),this.roleForm=this.fb.group({name:["",Y.required],description:[""],is_active:[!0]})}users=[];roles=[];pages=[];permissionRows=[];loading=!0;saving=!1;roleSaving=!1;errorMessage=null;displayUserDialog=!1;displayRoleDialog=!1;selectedUser=null;selectedRole=null;activeTab="users";userForm;roleForm;ngOnInit(){this.loadAll()}loadAll(){this.loading=!0,this.errorMessage=null,this.userService.getPages().subscribe({next:r=>{this.pages=r,this.loadRolesAndUsers()},error:()=>{this.errorMessage="Unable to load super admin permission catalog.",this.loading=!1}})}openAddUser(){this.selectedUser=null,this.displayUserDialog=!0,this.userForm.reset({username:"",email:"",password:"",first_name:"",last_name:"",phone:"",role:null,is_active:!0}),this.applyPasswordValidation()}openEditUser(r){this.selectedUser=r,this.displayUserDialog=!0,this.userForm.reset({username:r.username,email:r.email,password:"",first_name:r.first_name,last_name:r.last_name||"",phone:r.phone||"",role:r.role,is_active:!!r.is_active}),this.applyPasswordValidation()}
2saveUser(){if(this.userForm.invalid){this.userForm.markAllAsTouched();return}let r=this.userForm.getRawValue(),e={username:String(r.username||"").trim(),email:String(r.email||"").trim(),password:String(r.password||"").trim()||void 0,first_name:String(r.first_name||"").trim(),last_name:String(r.last_name||"").trim(),phone:String(r.phone||"").trim(),role:r.role,is_active:!!r.is_active};this.saving=!0,(this.selectedUser?.id?this.userService.updateUser(this.selectedUser.id,e):this.userService.createUser(e)).subscribe({next:()=>{this.saving=!1,this.displayUserDialog=!1,this.toast("success","User saved."),this.loadRolesAndUsers()},error:l=>{this.saving=!1,this.toast("error",this.extractError(l,"Unable to save user."))}})}deactivateUser(r){!r.id||!window.confirm(`Deactivate ${r.username}?`)||this.userService.deleteUser(r.id).subscribe({next:()=>{this.toast("success","User deactivated."),this.loadRolesAndUsers()},error:()=>this.toast("error","Unable to deactivate user.")})}openAddRole(){this.selectedRole=null,this.displayRoleDialog=!0,this.roleForm.reset({name:"",description:"",is_active:!0}),this.permissionRows=this.buildPermissionRows([])}openEditRole(r){this.selectedRole=r,this.displayRoleDialog=!0,this.roleForm.reset({name:r.name,description:r.description||"",is_active:!!r.is_active}),this.permissionRows=this.buildPermissionRows(r.permissions||[])}saveRole(){if(this.roleForm.invalid){this.roleForm.markAllAsTouched();return}let r=this.roleForm.getRawValue(),e={name:String(r.name||"").trim(),description:String(r.description||"").trim(),permissions:this.permissionRows.filter(l=>l.enabled),is_active:!!r.is_active};this.roleSaving=!0,(this.selectedRole?.id?this.userService.updateRole(this.selectedRole.id,e):this.userService.createRole(e)).subscribe({next:()=>{this.roleSaving=!1,this.displayRoleDialog=!1,this.toast("success","Role saved."),this.loadRolesAndUsers()},error:l=>{this.roleSaving=!1,this.toast("error",this.extractError(l,"Unable to save role."))}})}deleteRole(r){!r.id||!window.confirm(`Delete role "${r.name}"?`)||this.userService.deleteRole(r.id).subscribe({next:()=>{this.toast("success","Role deleted."),this.loadRolesAndUsers()},error:e=>this.toast("error",this.extractError(e,"Unable to delete role."))})}onPermissionEnabledChange(r){if(!r.enabled){r.can_create=!1,r.can_read=!1,r.can_update=!1,r.can_delete=!1;return}!r.can_create&&!r.can_read&&!r.can_update&&!r.can_delete&&(r.can_read=!0)}onPermissionActionChange(r){r.enabled=r.can_create||r.can_read||r.can_update||r.can_delete}loadRolesAndUsers(){this.userService.getRoles().subscribe({next:r=>{this.roles=r,this.userService.getUsers().subscribe({next:e=>{this.users=e,this.loading=!1},error:()=>{this.errorMessage="Unable to load super admin users.",this.loading=!1}})},error:()=>{this.errorMessage="Unable to load super admin roles.",this.loading=!1}})}buildPermissionRows(r){let e=new Map(r.map(i=>[i.page_key,i]));return this.pages.map(i=>{let l=e.get(i.key);return{page_key:i.key,label:i.label,route:i.route,enabled:!!l?.enabled,can_create:!!l?.can_create,can_read:!!l?.can_read,can_update:!!l?.can_update,can_delete:!!l?.can_delete}})}applyPasswordValidation(){let r=this.userForm.get("password");r?.setValidators(this.selectedUser?[Y.minLength(6)]:[Y.required,Y.minLength(6)]),r?.updateValueAndValidity()}extractError(r,e){let i=r?.error;if(i&&typeof i=="object"){let l=Object.keys(i)[0],s=l?i[l]:i.detail;if(Array.isArray(s))return String(s[0]);if(typeof s=="string")return s}return e}toast(r,e){this.messageService.add({severity:r,summary:r==="success"?"Success":"Error",detail:e})}static \u0275fac=function(e){return new(e||c)(O(dt),O(Yt),O(pe))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-users"]],features:[Se([pe])],decls:97,vars:27,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-shield"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],["aria-label","Super admin users navigation",1,"hrms-tab-nav"],["type","button",1,"hrms-tab-nav__item",3,"click"],[1,"pi","pi-user","mr-2"],[1,"pi","pi-key","mr-2"],[1,"sa-content"],["errorTitle","Users unavailable","preset","table",3,"loading","errorMessage"],[4,"ngIf"],["styleClass","super-admin-dialog-shell super-admin-user-dialog crm-unified-dialog",3,"visibleChange","visible","modal"],["pTemplate","header"],[1,"dialog-form",3,"ngSubmit","formGroup"],["variant","on"],["
2id","sa_username","pInputText","","formControlName","username","placeholder","Enter Username"],["for","sa_username"],["id","sa_email","pInputText","","formControlName","email","placeholder","Enter Email"],["for","sa_email"],["id","sa_password","pInputText","","type","password","formControlName","password","placeholder","Enter Password"],["for","sa_password"],["id","sa_first_name","pInputText","","formControlName","first_name","placeholder","Enter First Name"],["for","sa_first_name"],["id","sa_last_name","pInputText","","formControlName","last_name","placeholder","Enter Last Name"],["for","sa_last_name"],["id","sa_phone","pInputText","","formControlName","phone","placeholder","Enter Phone"],["for","sa_phone"],["inputId","sa_role","optionLabel","name","optionValue","id","formControlName","role","styleClass","w-full","placeholder","Select Role",3,"options"],["for","sa_role"],[1,"checkbox-row"],["formControlName","is_active",3,"binary"],[1,"dialog-actions"],["pButton","","type","button","label","Cancel",1,"p-button-text",3,"click"],["pButton","","type","submit","label","Save User",3,"loading"],["styleClass","super-admin-dialog-shell super-admin-role-dialog crm-unified-dialog",3,"visibleChange","visible","modal"],[1,"role-grid"],["id","sa_role_name","pInputText","","formControlName","name","placeholder","Enter Role Name"],["for","sa_role_name"],["id","sa_role_desc","pInputText","","formControlName","description","placeholder","Enter Description"],["for","sa_role_desc"],[1,"permission-table"],[1,"permission-table__header"],["class","permission-table__row",4,"ngFor","ngForOf"],["pButton","","type","submit","label","Save Role",3,"loading"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-plus"],[1,"sa-glass"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"stacked-cell"],[1,"sa-status",3,"ngClass"],[1,"table-actions"],["pButton","","icon","pi pi-pencil",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","icon","pi pi-trash",1,"p-button-text","p-button-rounded","p-button-danger",3,"click"],["colspan","6"],[1,"sa-empty"],["colspan","5"],[1,"permission-table__row"],[3,"ngModelChange","onChange","ngModel","ngModelOptions","binary"]],template:function(e,i){e&1&&(d(0,"p-toast"),t(1,"section",0)(2,"header",1),d(3,"div",2),t(4,"div",3)(5,"div",4),d(6,"i",5),n(),t(7,"div",6)(8,"span",7),a(9,"Platform team"),n(),t(10,"h2",8),a(11,"Super Admin Users"),n(),t(12,"p",9),a(13,"Manage internal users who can administer the application."),n()()()(),t(14,"nav",10)(15,"button",11),u("click",function(){return i.activeTab="users"}),d(16,"i",12),a(17," Users "),n(),t(18,"button",11),u("click",function(){return i.activeTab="roles"}),d(19,"i",13),a(20," Roles & Permissions "),n()(),t(21,"div",14)(22,"app-data-state",15),x(23,Hi,15,5,"ng-container",16)(24,Gi,15,5,"ng-container",16),n()()(),t(25,"p-dialog",17),v("visibleChange",function(s){return h(i.displayUserDialog,s)||(i.displayUserDialog=s),s}),x(26,Ki,1,1,"ng-template",18),t(27,"form",19),u("ngSubmit",function(){return i.saveUser()}),t(28,"p-floatlabel",20),d(29,"input",21),t(30,"label",22),a(31,"Username"),n()(),t(32,"p-floatlabel",20),d(33,"input",23),t(34,"label",24),a(35,"Email"),n()(),t(36,"p-floatlabel",20),d(37,"input",25),t(38,"label",26),a(39),n()(),t(40,"p-floatlabel",20),d(41,"input",27),t(42,"label",28),a(43,"First Name"),n()(),t(44,"p-floatlabel",20),d(45,"input",29),t(46,"label",30),a(47,"Last Name"),n()(),t(48,"p-floatlabel",20),d(49,"input",31),t(50,"label",32),a(51,"Phone"),n()(),t(52,"p-floatlabel",20),d(53,"p-dropdown",33),t(54,"label",34),a(55,"Role"),n()(),t(56,"label",35),d(57,"p-checkbox",36),t(58,"span"),a(59,"Active login"),n()(),t(60,"div",37)(61,"button",38),u("click",function(){return i.displayUserDialog=!1}),n(),d(62,"button",39),n()()(),t(63,"p-dialog",40),v("visibleChange",function(s){return h(i.displayRoleDialog,s)||(i.displayRoleDialog=s),s}),x(64,Qi,1,1,"ng-template",18),t(65,"form",19),u("ngSubmit",function(){return i.saveRole()}),t(66,"div",41)(67,"p-floatlabel",20),d(68,"input",42),t(69,"label",43),a(70,"Role Name"),n()(),t(71,"p-floatlabel",20),d(72,"input",44),t(73,"label",45),a(74,"Description"),n()(),t(75,"label",35),d(76,"p-checkbox",36),t(77,"span"),a(78,"Active role"),n()()(),t(79,"div",46)(80,"div",47)(81,"span"),a(82,"Page"),n(),t(83,"span"),a(84,"Open"),n(),t(85,"span"),a(86,"Create"),n(),t(87,"span"),a(88,"Read"),n(),t(89,"span"),a(90,"Upd
2ate"),n(),t(91,"span"),a(92,"Delete"),n()(),x(93,Ji,11,22,"div",48),n(),t(94,"div",37)(95,"button",38),u("click",function(){return i.displayRoleDialog=!1}),n(),d(96,"button",49),n()()()),e&2&&(o(15),S("hrms-tab-nav__item--active",i.activeTab==="users"),o(3),S("hrms-tab-nav__item--active",i.activeTab==="roles"),o(4),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("ngIf",i.activeTab==="users"),o(),m("ngIf",i.activeTab==="roles"),o(),re(I(25,Li)),f("visible",i.displayUserDialog),m("modal",!0),o(2),m("formGroup",i.userForm),o(12),p(i.selectedUser?"New Password":"Password"),o(14),m("options",i.roles),o(4),m("binary",!0),o(5),m("loading",i.saving),o(),re(I(26,Ni)),f("visible",i.displayRoleDialog),m("modal",!0),o(2),m("formGroup",i.roleForm),o(11),m("binary",!0),o(17),m("ngForOf",i.permissionRows),o(3),m("loading",i.roleSaving))},dependencies:[E,q,ne,B,J,L,Ee,W,V,ke,U,pt,st,lt,z,oe,N,Ie,Te,Re,Ne,ee,X,se,ge,H,G,j,K,Ln,Le,Ve,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.table-actions[_ngcontent-%COMP%], .dialog-actions[_ngcontent-%COMP%], .checkbox-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.dialog-actions[_ngcontent-%COMP%]{grid-column:1/-1;justify-content:flex-end;margin-top:.35rem;padding-top:.35rem;border-top:1px solid color-mix(in srgb,var(--surface-border) 80%,transparent)}.stacked-cell[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.2rem}.stacked-cell[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:var(--text-color-secondary)}.dialog-form[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:.5rem}.role-grid[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:center}.checkbox-row[_ngcontent-%COMP%]{font-weight:600;min-height:2.75rem;
2align-self:end}.permission-table[_ngcontent-%COMP%]{grid-column:1/-1;border:1px solid var(--surface-border);border-radius:8px;overflow:hidden}.permission-table__header[_ngcontent-%COMP%], .permission-table__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(14rem,1fr) repeat(5,5rem);align-items:center;gap:.5rem;padding:.75rem 1rem}.permission-table__header[_ngcontent-%COMP%]{background:var(--surface-100);font-size:.78rem;font-weight:700;color:var(--text-color-secondary);text-transform:uppercase}.permission-table__row[_ngcontent-%COMP%]{border-top:1px solid var(--surface-border)}@media (max-width: 768px){.dialog-form[_ngcontent-%COMP%], .role-grid[_ngcontent-%COMP%], .permission-table__header[_ngcontent-%COMP%], .permission-table__row[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})};function $i(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Invoice"),n(),t(3,"th"),a(4,"Company"),n(),t(5,"th"),a(6,"Plan"),n(),t(7,"th"),a(8,"Invoice Date"),n(),t(9,"th"),a(10,"Licences"),n(),t(11,"th"),a(12,"Total"),n(),t(13,"th"),a(14,"Status"),n(),t(15,"th"),a(16,"Actions"),n()())}function Zi(c,r){if(c&1){let e=M();t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),n(),t(5,"td"),a(6),n(),t(7,"td"),a(8),y(9,"date"),n(),t(10,"td"),a(11),n(),t(12,"td"),a(13),y(14,"currency"),n(),t(15,"td")(16,"span",20),a(17),n()(),t(18,"td")(19,"button",21),u("click",function(){let l=_(e).$implicit,s=g();return b(s.downloadInvoice(l))}),n()()()}if(c&2){let e=r.$implicit;o(2),p(e.invoice_number),o(2),p(e.organization_name||e.company_name),o(2),p(e.plan_package||e.plan_name),o(2),p(T(9,9,e.invoice_date,"shortDate")),o(3),ue("",e.user_license_count||"-"," / ",e.billing_months||0," month(s)"),o(2),p(Fe(14,12,e.total_amount,e.currency||"INR","symbol","1.2-2")),o(3),m("ngClass",(e.status||"").toLowerCase()),o(),p(e.status||"-")}}function Xi(c,r){c&1&&(t(0,"tr")(1,"td",22)(2,"div",23),a(3,"No invoices generated yet."),n()()())}var Kt=class c{constructor(r){this.subscriptionService=r}invoices=[];loading=!0;errorMessage=null;ngOnInit(){this.loadInvoices()}loadInvoices(){this.loading=!0,this.errorMessage=null,this.subscriptionService.getInvoices().subscribe({next:r=>{this.invoices=r,this.loading=!1},error:()=>{this.invoices=[],this.errorMessage="Unable to load invoices right now.",this.loading=!1}})}downloadInvoice(r){this.subscriptionService.downloadInvoice(r.id).subscribe({next:e=>this.saveBlob(e,`${r.invoice_number}.pdf`),error:()=>{this.errorMessage="Unable to download this invoice right now."}})}saveBlob(r,e){let i=window.URL.createObjectURL(r),l=document.createElement("a");l.href=i,l.download=e,l.click(),window.URL.revokeObjectURL(i)}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-invoices"]],decls:25,vars:7,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-receipt"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],[1,"sa-glass"],["errorTitle","Invoices unavailable","preset","table",3,"loading","errorMessage"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"sa-status",3,"ngClass"],["pButton","","type","button","icon","pi pi-download",1,"p-button-text","p-button-rounded",3,"click"],["colspan","8"],[1,"sa-empty"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing documents"),n(),t(9,"h2",8),a(10,"Invoices"),n(),t(11,"p",9),a(12,"Subscription receipts are generated automatically after successful Razorpay payments."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16," Invoice ledger "),t(17,"span",13),a(18),n()()(),t(19,"div",14)(20,"app-data-state",15)(21,"p-table",16),x(22,$i,17,0,"ng-template",17)(23,Zi,20,17,"ng-template",18)(24,Xi,4,0,"ng-template",19),n()()()()()),e&2&&(o(18),p(i.invoices.length),o(2),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("value",i.invoices)("paginator",!0)("rows",10)("rowHover",!0))},dependencies:[E,q,at,J,z,oe,N,j,K,D],styles:['@charset "UTF-8";.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
2align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}[_nghost-%COMP%]{display:block}.super-admin-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__header[_ngcontent-%COMP%], .super-admin-page__intro[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem}.super-admin-page__subtitle[_ngcontent-%COMP%], .super-admin-page__empty[_ngcontent-%COMP%]{color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{padding:1rem;text-align:center}.status-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:5.75rem;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-badge.issued[_ngcontent-%COMP%], .status-badge.generated[_ngcontent-%COMP%]{background:#dcfce7;color:#166534}.status-badge.cancelled[_ngcontent-%COMP%]{background:#fee2e2;color:#b91c1c}']})};function ea(c,r){if(c&1){let e=M();t(0,"button",25),u("click",function(){let l=_(e).$implicit,s=g(2);return b(s.selectTicket(l))}),t(1,"span",26)(2,"strong"),a(3),n(),d(4,"p-tag",27),n(),t(5,"span",28),a(6),n(),t(7,"span",29),a(8),n(),t(9,"span",30),a(10),y(11,"date"),n()()}if(c&2){let e=r.$implicit,i=g(2);S("is-active",(i.selectedTicket==null?null:i.selectedTicket.id)===e.id),o(3),p(e.organization_name),o(),m("value",e.status.replace("_"," "))("severity",i.getStatusSeverity(e.status)),o(2),p(e.subject||"Help request"),o(2),p((e.latest_message==null?null:e.latest_message.message)||"No messages yet."),o(2),p(T(11,8,e.updated_at,"
2short"))}}function ta(c,r){if(c&1&&(t(0,"article",40)(1,"div",41)(2,"span",42),a(3),y(4,"date"),n(),t(5,"p"),a(6),n()()()),c&2){let e=r.$implicit;S("is-super-admin",e.sender_type==="SUPER_ADMIN"),o(3),ue("",e.sender_name," \xB7 ",T(4,5,e.created_at,"short"),""),o(3),p(e.message)}}function na(c,r){if(c&1){let e=M();t(0,"section",31)(1,"header",32)(2,"div")(3,"span",33),a(4),n(),t(5,"h3"),a(6),n(),t(7,"p"),a(8),y(9,"date"),n()(),t(10,"p-dropdown",34),v("ngModelChange",function(l){_(e);let s=g(2);return h(s.selectedTicket.status,l)||(s.selectedTicket.status=l),b(l)}),u("onChange",function(l){_(e);let s=g(2);return b(s.updateTicketStatus(l.value))}),n()(),t(11,"div",35),x(12,ta,7,8,"article",36),n(),t(13,"footer",37)(14,"textarea",38),v("ngModelChange",function(l){_(e);let s=g(2);return h(s.replyMessage,l)||(s.replyMessage=l),b(l)}),n(),t(15,"button",39),u("click",function(){_(e);let l=g(2);return b(l.sendReply())}),n()()()}if(c&2){let e=g(2);o(4),p(e.selectedTicket.organization_name),o(2),p(e.selectedTicket.subject||"Help request"),o(2),ue("Raised by ",e.selectedTicket.created_by_name||"organization user"," on ",T(9,13,e.selectedTicket.created_at,"medium"),""),o(2),m("options",e.statusOptions),f("ngModel",e.selectedTicket.status),m("disabled",e.statusSubmitting||e.selectedTicket.status==="CLOSED"),o(2),m("ngForOf",e.selectedTicket.messages)("ngForTrackBy",e.trackByMessageId),o(2),f("ngModel",e.replyMessage),m("disabled",e.replySubmitting||e.selectedTicket.status==="CLOSED"),o(),m("disabled",!e.replyMessage.trim()||e.replySubmitting||e.selectedTicket.status==="CLOSED")("loading",e.replySubmitting)}}function ra(c,r){if(c&1&&(t(0,"div",21)(1,"aside",22),x(2,ea,12,11,"button",23),n(),x(3,na,16,16,"section",24),n()),c&2){let e=g();o(2),m("ngForOf",e.tickets)("ngForTrackBy",e.trackByTicketId),o(),m("ngIf",e.selectedTicket)}}function ia(c,r){c&1&&(t(0,"div",43),a(1,"No organization issues have been raised yet."),n())}var Qt=class c{constructor(r){this.helpDeskService=r}tickets=[];selectedTicket=null;loading=!0;replySubmitting=!1;statusSubmitting=!1;errorMessage=null;replyMessage="";statusOptions=[{label:"Open",value:"OPEN"},{label:"In Progress",value:"IN_PROGRESS"},{label:"Closed",value:"CLOSED"}];ngOnInit(){this.loadTickets()}loadTickets(){this.loading=!0,this.errorMessage=null,this.helpDeskService.getTickets().subscribe({next:r=>{this.tickets=r,this.selectedTicket=this.selectedTicket?r.find(e=>e.id===this.selectedTicket?.id)??r[0]??null:r[0]??null,this.loading=!1},error:()=>{this.tickets=[],this.selectedTicket=null,this.errorMessage="Unable to load help desk conversations right now.",this.loading=!1}})}selectTicket(r){this.selectedTicket=r,this.replyMessage=""}sendReply(){let r=this.replyMessage.trim();!this.selectedTicket||!r||this.replySubmitting||(this.replySubmitting=!0,this.helpDeskService.reply(this.selectedTicket.id,r).pipe(dn(()=>this.replySubmitting=!1)).subscribe({next:e=>{this.replaceTicket(e),this.selectedTicket=e,this.replyMessage=""},error:()=>{this.errorMessage="Unable to send this reply right now."}}))}updateTicketStatus(r){!this.selectedTicket||this.statusSubmitting||(this.statusSubmitting=!0,this.helpDeskService.updateStatus(this.selectedTicket.id,r).pipe(dn(()=>this.statusSubmitting=!1)).subscribe({next:e=>{this.replaceTicket(e),this.selectedTicket=e},error:()=>{this.errorMessage="Unable to update the ticket status."}}))}getStatusSeverity(r){return r==="CLOSED"?"success":r==="IN_PROGRESS"?"warn":"info"}trackByTicketId(r,e){return e.id}trackByMessageId(r,e){return e.id}replaceTicket(r){if(this.tickets.findIndex(i=>i.id===r.id)>=0){this.tickets=this.tickets.map(i=>i.id===r.id?r:i);return}this.tickets=[r,...this.tickets]}static \u0275fac=function(e){return new(e||c)(O(An))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-help-desk"]],decls:28,vars:5,consts:[["emptyHelpDesk",""],[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-comments"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-text",3,"click"],[1,"pi","pi-refresh"],[1,"sa-glass"],["errorTitle","Help desk unavailable","preset","table",3,"loading","errorMessage"],["class","help-desk-shell",4,"ngIf","ngIfElse"],[1,"help-desk-shell"],["aria-label","Help desk tickets",1,"help-desk-list"],["type","button","class","help-desk-ticket",3,"is-active","click",4,"ngFor","ngForOf","ngForTrackBy"],["class","help-desk-chat",4,"ngIf"],["type","button",1,"help-desk-ticket",3,"click"],[1,"help-desk-ticket__topline"],[3,"value","severity"],[1,"help-desk-ticket__subject"],[1,"help-desk-ticket__message"],[1,"help-desk-ticket__date"],[1,"help-desk-chat"],[1,"help-desk-chat__header"],[1,"help-desk-chat__eyebrow"],["optionLabel","label","optionValue","value",3,"ngModelChange","onChange","options","ngModel","disabled"],[1,"help-desk-chat__messages"],["class","help-desk-message",3,"is-super-admin",4,"ngFor","ngForOf","ngForTrackBy"],[1,"help-desk-chat__composer"],["pInputTextarea","","rows","3","placeholder","Write a reply to this organization...",3,"ngModelChange","ngModel","disabled"],["pButton","","type","button","icon","pi pi-send","label","Send",3,"click","disabled","loading"],[1,"help-desk-message"],[1,"help-desk-message__bubble"],[1,"help-desk-message__meta"],[1,"sa-empty"]],template:function(e,i){if(e&1){let l=M();t(0,"section",1)(1,"header",2),d(2,"div",3),t(3,"div",4)(4,"div",5),d(5,"i",6),n(),t(6,"div",7)(7,"span",8),a(8,"Customer support"),n(),t(9,"h2",9),a(10,"Help Desk"),n(),t(11,"p",10),a(12,"Review organization issues and respond in a chat-style thread."),n()()()(),t(13,"div",11)(14,"div",12)(15,"h3",13),a(16," Tickets "),t(17,"span",14),a(18),n()(),t(19,"div",15)(20,"button",16),u("click",function(){return _(l),b(i.loadTickets())}),d(21,"i",17),a(22," Refresh "),n()()(),t(23,"div",18)(24,"app-data-state",19),x(25,ra,4,3,"div",20)(26,ia,2,0,"ng-template",null,0,Ge),n()()()()}if(e&2){let l=Ye(27);o(18),p(i.tickets.length),o(6),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("ngIf",i.tickets.length)("ngIfElse",l)}},dependencies:[E,ne,B,J,L,W,V,U,z,oe,ee,X,ze,j,Qe,gt,D],styles:['@charset "UTF-8";.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
2align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}[_nghost-%COMP%]{display:block}.super-admin-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.super-admin-page__intro[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem}.super-admin-page__subtitle[_ngcontent-%COMP%], .super-admin-page__empty[_ngcontent-%COMP%]{color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{padding:2rem;text-align:center}.help-desk-shell[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);min-height:36rem;border:1px solid var(--surface-border);border-radius:8px;overflow:hidden;background:var(--surface-card)}.help-desk-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;border-right:1px solid var(--surface-border);background:color-mix(in srgb,var(--surface-ground) 70%,var(--surface-card));overflow:auto}.help-desk-ticket[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.45rem;width:100%;padding:1rem;border:0;border-bottom:1px solid var(--surface-border);background:transparent;color:var(--text-color);text-align:left;cursor:pointer}.help-desk-ticket[_ngcontent-%COMP%]:hover, .help-desk-ticket.is-active[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--primary-color) 10%,var(--surface-card))}.help-desk-ticket__topline[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.help-desk-ticket__subject[_ngcontent-%COMP%]{font-weight:700;line-height:1.35}.help-desk-ticket__message[_ngcontent-%COMP%], .help-desk-ticket__date[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.85rem}.help-desk-ticket__message[_ngcontent-%COMP%]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
2.help-desk-chat[_ngcontent-%COMP%]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:36rem}.help-desk-chat__header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--surface-border)}.help-desk-chat__eyebrow[_ngcontent-%COMP%]{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-color-secondary)}.help-desk-chat__header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:.25rem 0;font-size:1.15rem}.help-desk-chat__header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.help-desk-chat__messages[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.85rem;padding:1rem;overflow:auto;background:color-mix(in srgb,var(--surface-ground) 50%,var(--surface-card))}.help-desk-message[_ngcontent-%COMP%]{display:flex;justify-content:flex-start}.help-desk-message.is-super-admin[_ngcontent-%COMP%]{justify-content:flex-end}.help-desk-message__bubble[_ngcontent-%COMP%]{max-width:min(35rem,82%);padding:.75rem .9rem;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-card);box-shadow:0 10px 30px #0f172a0f}.help-desk-message.is-super-admin[_ngcontent-%COMP%] .help-desk-message__bubble[_ngcontent-%COMP%]{border-color:color-mix(in srgb,var(--primary-color) 30%,var(--surface-border));background:color-mix(in srgb,var(--primary-color) 12%,var(--surface-card))}.help-desk-message__meta[_ngcontent-%COMP%]{display:block;margin-bottom:.35rem;color:var(--text-color-secondary);font-size:.75rem;font-weight:700}.help-desk-message__bubble[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;line-height:1.55;white-space:pre-wrap}.help-desk-chat__composer[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:1rem;border-top:1px solid var(--surface-border);background:var(--surface-card)}.help-desk-chat__composer[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;min-height:5rem;resize:vertical}@media (max-width: 900px){.super-admin-page__header[_ngcontent-%COMP%], .help-desk-chat__header[_ngcontent-%COMP%], .help-desk-chat__composer[_ngcontent-%COMP%]{grid-template-columns:1fr;flex-direction:column}.help-desk-shell[_ngcontent-%COMP%]{grid-template-columns:1fr}.help-desk-list[_ngcontent-%COMP%]{max-height:18rem;border-right:0;border-bottom:1px solid var(--surface-border)}.help-desk-chat__composer[_ngcontent-%COMP%]{display:flex}}']})};function aa(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Company"),n(),t(3,"th"),a(4,"Payment Type"),n(),t(5,"th"),a(6,"Package"),n(),t(7,"th"),a(8,"Amount"),n(),t(9,"th"),a(10,"Status"),n(),t(11,"th"),a(12,"Payment Date"),n(),t(13,"th"),a(14,"Action"),n()())}function oa(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),y(5,"titlecase"),n(),t(6,"td"),a(7),n(),t(8,"td"),a(9),n(),t(10,"td")(11,"span",39),a(12),y(13,"titlecase"),n()(),t(14,"td"),a(15),y(16,"date"),n(),t(17,"td")(18,"button",40),a(19,"Receipt"),n()()()),c&2){let e=r.$implicit,i=g(2);o(2),p(e.organization_name||e.organization||"-"),o(2),p(de(5,7,e.payment_type||"-")),o(3),p(e.plan_package_name||"-"),o(2),p(i.money(e.amount,e.currency)),o(2),m("ngClass",(e.status||"").toLowerCase()),o(),p(de(13,9,e.status)),o(3),p(T(16,11,e.created_at,"medium"))}}function sa(c,r){c&1&&(t(0,"tr")(1,"td",41)(2,"div",42),a(3,"No payment history found."),n()()())}function la(c,r){if(c&1&&(t(0,"div",33)(1,"app-data-state",34)(2,"p-table",35),x(3,aa,15,0,"ng-template",36)(4,oa,20,14,"ng-template",37)(5,sa,4,0,"ng-template",38),n()()()),c&2){let e=g();o(),m("loading",e.loading)("errorMessage",e.errorMessage),o(),m("value",e.payments)("paginator",!0)("rows",10)("rowHover",!0)}}function ca(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Invoice Number"),n(),t(3,"th"),a(4,"Company"),n(),t(5,"th"),a(6,"Date"),n(),t(7,"th"),a(8,"Package"),n(),t(9,"th"),a(10,"Amount"),n(),t(11,"th"),a(12,"Status"),n(),t(13,"th"),a(14,"Download"),n()())}function ma(c,r){if(c&1){let e=M();t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),n(),t(5,"td"),a(6),y(7,"date"),n(),t(8,"td"),a(9),n(),t(10,"td"),a(11),n(),t(12,"td")(13,"span",39),a(14),y(15,"titlecase"),n()(),t(16,"td")(17,"button",44),u("click",function(){let l=_(e).$implicit,s=g(2);return b(s.downloadInvoice(l))}),n()()()}if(c&2){let e=r.$implicit,i=g(2);o(2),p(e.invoice_number),o(2),p(e.organization_name||e.company_name||"-"),o(2),p(T(7,7,e.invoice_date,"mediumDate")),o(3),p(e.plan_package||e.plan_name||"-"),o(2),p(i.money(e.total_amount,e.currency||"INR")),o(2),m("ngClass",(e.status||"").toLowerCase()),o(),p(de(15,10,e.status))}}function da(c,r){c&1&&(t(0,"tr")(1,"td",41)(2,"div",42),a(3,"No invoices found."),n()()())}function pa(c,r){if(c&1&&(t(0,"div",33)(1,"app-data-state",43)(2,"p-table",35),x(3,ca,15,0,"ng-template",36)(4,ma,18,12,"ng-template",37)(5,da,4,0,"ng-template",38),n()()()),c&2){let e=g();o(),m("loading",e.loading)("errorMessage",e.errorMessage),o(),m("value",e.invoices)("paginator",!0)("rows",10)("rowHover",!0)}}function ga(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Company"),n(),t(3,"th"),a(4,"Date"),n(),t(5,"th"),a(6,"Action"),n(),t(7,"th"),a(8,"Old Value"),n(),t(9,"th"),a(10,"New Value"),n(),t(11,"th"),a(12,"Changed By"),n(),t(13,"th"),a(14,"Reason"),n()())}function ua(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),y(5,"date"),n(),t(6,"td"),a(7),y(8,"titlecase"),n(),t(9,"td")(10,"pre",46),a(11),n()(),t(12,"td")(13,"pre",46),a(14),n()(),t(15,"td"),a(16),n(),t(17,"td"),a(18),n()()),c&2){let e=r.$implicit,i=g(2);o(2),p(e.organization_name||e.organization||"-"),o(2),p(T(5,7,e.created_at,"medium")),o(3),p(de(8,10,e.action)),o(4),p(i.formatAuditValue(e.old_value)),o(3),p(i.formatAuditValue(e.new_value)),o(2),p(e.changed_by_name||"System"),o(2),p(e.reason||"-")}}function _a(c,r){c&1&&(t(0,"tr")(1,"td",41)(2,"div",42),a(3,"No subscription changes found."),n()()())}function ba(c,r){if(c&1&&(t(0,"div",33)(1,"app-data-state",45)(2,"p-table",35),x(3,ga,15,0,"ng-template",36)(4,ua,19,12,"ng-template",37)(5,_a,4,0,"ng-template",38),n()()()),c&2){let e=g();o(),m("loading",e.loading)("errorMessage",e.errorMessage),o(),m("value",e.auditLogs)("paginator",!0)("rows",10)("rowHover",!0)}}var Jt=class c{constructor(r){this.subscriptionService=r}payments=[];invoices=[];auditLogs=[];activeTab="payments";loading=!1;errorMessage=null;filters={organization:"",status:"",payment_type:"",plan_package:"",date_from:"",date_to:""};statusOptions=[{label:"All statuses",value:""},{label:"Created",value:"created"},{label:"Paid",value:"paid"},{label:"Failed",value:"failed"}];paymentTypeOptions=[{label:"All types",value:""},{label:"New purchase",value:"new_purchase"},{label:"Upgrade",value:"upgrade"},{label:"Add users",value:"add_users"},{label:"Renewal",value:"renewal"}];ngOnInit(){this.load()}load(){this.loading=!0,this.errorMessage=null;let r=w({},this.filters),e=3,i=()=>{e-=1,e<=0&&(this.loading=!1)};this.subscriptionService.getPaymentHistory(r).subscribe({next:l=>{this.payments=l,i()},error:()=>{this.payments=[],this.errorMessage="Unable to load billing history right now.",i()}}),this.subscriptionService.getInvoices(r).subscribe({next:l=>{this.invoices=l,i()},error:()=>{this.invoices=[],i()}}),this.subscriptionService.getSubscriptionAuditHistory(r).subscribe({next:l=>{this.auditLogs=l,i()},error:()=>{this.auditLogs=[],i()}})}resetFilters(){this.filters={organization:"",status:"",payment_type:"",plan_package:"",date_from:"",date_to:""},this.load()}money(r,e="INR"){return new Intl.NumberFormat("en-IN",{style:"currency",currency:e||"INR",maximumFractionDigits:2}).format(Number(r||0))}formatAuditValue(r){return r?Object.entries(r).map(([e,i])=>`${e}: ${Array.isArray(i)?i.join(", "):i??"-"}`).join(` 3`):"-"}downloadInvoice(r){this.subscriptionService.downloadInvoice(r.id).subscribe({next:e=>this.saveBlob(e,`${r.invoice_number}.pdf`),error:()=>{}})}saveBlob(r,e){let i=window.URL.createObjectURL(r),l=document.createElement("a");l.href=i,l.download=e,l.click(),window.URL.revokeObjectURL(i)}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-billing-history"]],decls:50,vars:19,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-history"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar","sa-toolbar--wrap"],[1,"sa-toolbar__title"],[1,"sa-toolbar__filters","billing-history__filters"],[1,"sa-search"],[1,"pi","pi-search"],["pInputText","","type","text","placeholder","Company name or ID",3,"ngModelChange","ngModel"],["variant","on"],["
3inputId","bh_status","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bh_status"],["inputId","bh_payment_type","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bh_payment_type"],[1,"pi","pi-bookmark"],["pInputText","","type","text","placeholder","Package name, code or ID",3,"ngModelChange","ngModel"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","From date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","From date",3,"ngModelChange","ngModel","showIcon"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","To date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","To date",3,"ngModelChange","ngModel","showIcon"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-text",3,"click"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-refresh"],[1,"billing-history__tabs"],["type","button",1,"billing-history__tab",3,"click"],["class","sa-glass",4,"ngIf"],[1,"sa-glass"],["errorTitle","Payments unavailable","preset","table",3,"loading","errorMessage"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"sa-status",3,"ngClass"],["type","button","disabled","",1,"sa-btn-text"],["colspan","7"],[1,"sa-empty"],["errorTitle","Invoices unavailable","preset","table",3,"loading","errorMessage"],["pButton","","type","button","icon","pi pi-download",1,"p-button-text","p-button-rounded",3,"click"],["errorTitle","Audit log unavailable","preset","table",3,"loading","errorMessage"],[1,"billing-history__pre"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing"),n(),t(9,"h2",8),a(10,"Billing History"),n(),t(11,"p",9),a(12,"Review payment transactions and subscription changes across companies."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"Filters"),n(),t(17,"div",13)(18,"span",14),d(19,"i",15),t(20,"input",16),v("ngModelChange",function(s){return h(i.filters.organization,s)||(i.filters.organization=s),s}),n()(),t(21,"p-floatlabel",17)(22,"p-dropdown",18),v("ngModelChange",function(s){return h(i.filters.status,s)||(i.filters.status=s),s}),n(),t(23,"label",19),a(24,"Status"),n()(),t(25,"p-floatlabel",17)(26,"p-dropdown",20),v("ngModelChange",function(s){return h(i.filters.payment_type,s)||(i.filters.payment_type=s),s}),n(),t(27,"label",21),a(28,"Payment Type"),n()(),t(29,"span",14),d(30,"i",22),t(31,"input",23),v("ngModelChange",function(s){return h(i.filters.plan_package,s)||(i.filters.plan_package=s),s}),n()(),t(32,"p-datepicker",24),v("ngModelChange",function(s){return h(i.filters.date_from,s)||(i.filters.date_from=s),s}),n(),t(33,"p-datepicker",25),v("ngModelChange",function(s){return h(i.filters.date_to,s)||(i.filters.date_to=s),s}),n()(),t(34,"div",26)(35,"button",27),u("click",function(){return i.resetFilters()}),a(36,"Reset"),n(),t(37,"button",28),u("click",function(){return i.load()}),d(38,"i",29),a(39," Apply "),n()()(),t(40,"div",30)(41,"button",31),u("click",function(){return i.activeTab="payments"}),a(42," Payment History "),n(),t(43,"button",31),u("click",function(){return i.activeTab="invoices"}),a(44," Invoices "),n(),t(45,"button",31),u("click",function(){return i.activeTab="audits"}),a(46," Subscription Changes "),n()(),x(47,la,6,6,"div",32)(48,pa,6,6,"div",32)(49,ba,6,6,"div",32),n()()),e&2&&(o(20),f("ngModel",i.filters.organization),o(2),m("options",i.statusOptions),f("ngModel",i.filters.status),o(4),m("options",i.paymentTypeOptions),f("ngModel",i.filters.payment_type),o(5),f("ngModel",i.filters.plan_package),o(),f("ngModel",i.filters.date_from),m("showIcon",!0),o(),f("ngModel",i.filters.date_to),m("showIcon",!0),o(8),S("is-active",i.activeTab==="payments"),o(2),S("is-active",i.activeTab==="invoices"),o(2),S("is-active",i.activeTab==="audits"),o(2),m("ngIf",i.activeTab==="payments"),o(),m("ngIf",i.activeTab==="invoices"),o(),m("ngIf",i.activeTab==="audits"))},dependencies:[E,q,B,Ke,J,L,W,V,U,j,K,N,z,oe,H,G,ee,X,se,ge,he,fe,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
3align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.sa-toolbar--wrap[_ngcontent-%COMP%]{flex-wrap:wrap}.billing-history__filters[_ngcontent-%COMP%]{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.billing-history__filters[_ngcontent-%COMP%] > input[type=date][_ngcontent-%COMP%]{min-height:2.55rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem}.billing-history__tabs[_ngcontent-%COMP%]{display:flex;gap:.35rem;flex-wrap:wrap;border-bottom:1px solid var(--surface-border);padding-bottom:.15rem}.billing-history__tab[_ngcontent-%COMP%]{border:0;background:transparent;color:var(--text-color-secondary);font:inherit;font-weight:700;padding:.55rem .85rem;cursor:pointer;border-radius:.55rem .55rem 0 0}.billing-history__tab.is-active[_ngcontent-%COMP%]{color:var(--primary-color);box-shadow:inset 0 -2px 0 var(--primary-color)}.billing-history__pre[_ngcontent-%COMP%]{margin:0;white-space:pre-wrap;font:inherit;font-size:.82rem;color:var(--text-color-secondary)}']})};function fa(c,r){c&1&&(t(0,"div",62),a(1," Live mode is enabled. Real payments will be charged. "),n())}function ha(c,r){if(c&1&&(t(0,"div",63)(1,"span"),a(2),y(3,"titlecase"),n(),t(4,"span"),a(5),n(),t(6,"span"),a(7,"Secret: Hidden"),n(),t(8,"span"),a(9),n()()),c&2){let e=g(2);o(2),P("Mode: ",de(3,3,e.razorpayChecklist.mode),""),o(3),P("Key: ",e.razorpayChecklist.key_id_masked||"Not configured",""),o(4),P("Webhook: ",e.razorpayChecklist.webhook_url,"")}}function va(c,r){if(c&1&&(t(0,"li")(1,"strong"),a(2),n(),t(3,"span"),a(4),n()()),c&2){let e=r.$implicit;S("is-pass",e.status==="pass")("is-fail",e.status==="fail")("is-warn",e.status==="warn"),o(2),p(e.label),o(2),p(e.message)}}function xa(c,r){if(c&1&&(t(0,"ul",64),x(1,va,5,8,"li",65),n()),c&2){let e=g(2);o(),m("ngForOf",e.razorpayChecklist.checks)}}function Ca(c,r){if(c&1&&(t(0,"div",66),a(1),n()),c&2){let e=g(2);o(),p(e.checklistError)}}function ya(c,r){if(c&1&&(t(0,"div",67),a(1),n()),c&2){let e=g(2);S("is-error",e.hasError),o(),p(e.message)}}function Ma(c,r){if(c&1){let e=M();t(0,"form",18),u("ngSubmit",function(){_(e);let l=g();
3return b(l.save())}),x(1,fa,2,0,"div",19),t(2,"div",20)(3,"h3",21),d(4,"i",22),a(5," Business Details"),n(),t(6,"div",23)(7,"label")(8,"span"),a(9,"Company name"),n(),t(10,"input",24),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.company_name,l)||(s.settings.company_name=l),b(l)}),n()(),t(11,"label")(12,"span"),a(13,"Billing email"),n(),t(14,"input",25),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.billing_email,l)||(s.settings.billing_email=l),b(l)}),n()(),t(15,"label")(16,"span"),a(17,"Phone"),n(),t(18,"input",26),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.billing_phone,l)||(s.settings.billing_phone=l),b(l)}),n()(),t(19,"label",27)(20,"span"),a(21,"Address"),n(),t(22,"textarea",28),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.billing_address,l)||(s.settings.billing_address=l),b(l)}),n()()()(),t(23,"div",20)(24,"h3",21),d(25,"i",29),a(26," Tax Settings"),n(),t(27,"div",23)(28,"label")(29,"span"),a(30,"PAN"),n(),t(31,"input",30),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.pan_number,l)||(s.settings.pan_number=l),b(l)}),n()(),t(32,"label")(33,"span"),a(34,"GST number"),n(),t(35,"input",31),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.gst_number,l)||(s.settings.gst_number=l),b(l)}),n()(),t(36,"label",32)(37,"p-checkbox",33),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.enable_gst,l)||(s.settings.enable_gst=l),b(l)}),n(),t(38,"span"),a(39,"Enable GST"),n()(),t(40,"label")(41,"span"),a(42,"GST %"),n(),t(43,"input",34),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.gst_percentage,l)||(s.settings.gst_percentage=l),b(l)}),n()()()(),t(44,"div",20)(45,"h3",21),d(46,"i",35),a(47," Billing Controls"),n(),t(48,"div",23)(49,"label")(50,"span"),a(51,"Invoice prefix"),n(),t(52,"input",36),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.invoice_prefix,l)||(s.settings.invoice_prefix=l),b(l)}),n()(),t(53,"label")(54,"span"),a(55,"Trial days"),n(),t(56,"input",37),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.trial_days,l)||(s.settings.trial_days=l),b(l)}),n()(),t(57,"label")(58,"span"),a(59,"Payment gateway"),n(),t(60,"p-dropdown",38),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.payment_gateway,l)||(s.settings.payment_gateway=l),b(l)}),n()(),t(61,"label",39)(62,"p-checkbox",40),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.razorpay_live_mode,l)||(s.settings.razorpay_live_mode=l),b(l)}),n(),t(63,"span"),a(64,"Razorpay live mode"),n()(),t(65,"label",41)(66,"p-checkbox",42),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.enable_yearly_discount,l)||(s.settings.enable_yearly_discount=l),b(l)}),n(),t(67,"span"),a(68,"Enable yearly discount"),n()(),t(69,"label")(70,"span"),a(71,"Yearly discount %"),n(),t(72,"input",43),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.yearly_discount_percentage,l)||(s.settings.yearly_discount_percentage=l),b(l)}),n()(),t(73,"label",44)(74,"p-checkbox",45),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.enable_grace_period,l)||(s.settings.enable_grace_period=l),b(l)}),n(),t(75,"span"),a(76,"Enable grace period"),n()(),t(77,"label")(78,"span"),a(79,"Grace period days"),n(),t(80,"input",46),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.grace_period_days,l)||(s.settings.grace_period_days=l),b(l)}),n()()()(),t(81,"div",20)(82,"div",47)(83,"div")(84,"h3",21),d(85,"i",48),a(86," Razorpay Live Mode Checklist"),n(),t(87,"p",49),a(88,"Backend environment, mode, and signed webhook requirements for production billing."),n()(),t(89,"button",14),u("click",function(){_(e);let l=g();return b(l.loadChecklist())}),d(90,"i",50),a(91," Check Now "),n()(),x(92,ha,10,5,"div",51)(93,xa,2,1,"ul",52)(94,Ca,2,1,"div",53),n(),t(95,"div",20)(96,"h3",21),d(97,"i",54),a(98," Email Notifications"),n(),t(99,"div",23)(100,"label",55)(101,"p-checkbox",56),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.enable_email_notifications,l)||(s.settings.enable_email_notifications=l),b(l)}),n(),t(102,"span"),a(103,"Enable billing emails"),n()(),t(104,"label")(105,"span"),a(106,"From email"),n(),t(107,"input",57),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.billing_from_email,l)||(s.settings.billing_from_email=l),b(l)}),n()(),t(108,"label")(109,"span"),a(110,"Support email"),n(),t(111,"input",58),v("ngModelChange",function(l){_(e);let s=g();return h(s.settings.support_email,l)||(s.settings.support_email=l),b(l)}),n()()()(),x(112,ya,2,3,"div",59),t(113,"footer",60)(114,"button",61),a(115),n()()()}if(c&2){let e=g();o(),m("ngIf",e.settings.razorpay_live_mode),o(9),f("ngModel",e.settings.company_name),o(4),f("ngModel",e.settings.billing_email),o(4),f("ngModel",e.settings.billing_phone),o(4),f("ngModel",e.settings.billing_address),o(9),f("ngModel",e.settings.pan_number),o(4),f("ngModel",e.settings.gst_number),o(2),f("ngModel",e.settings.enable_gst),m("binary",!0),o(6),f("ngModel",e.settings.gst_percentage),m("disabled",!e.settings.enable_gst),o(9),f("ngModel",e.settings.invoice_prefix),o(4),f("ngModel",e.settings.trial_days),o(4),m("options",e.paymentGatewayOptions),f("ngModel",e.settings.payment_gateway),o(2),f("ngModel",e.settings.razorpay_live_mode),m("binary",!0),o(4),f("ngModel",e.settings.enable_yearly_discount),m("binary",!0),o(6),f("ngModel",e.settings.yearly_discount_percentage),m("disabled",!e.settings.enable_yearly_discount),o(2),f("ngModel",e.settings.enable_grace_peri
3od),m("binary",!0),o(6),f("ngModel",e.settings.grace_period_days),m("disabled",!e.settings.enable_grace_period),o(9),m("disabled",e.checklistLoading),o(3),m("ngIf",e.razorpayChecklist),o(),m("ngIf",e.razorpayChecklist),o(),m("ngIf",e.checklistError),o(7),f("ngModel",e.settings.enable_email_notifications),m("binary",!0),o(6),f("ngModel",e.settings.billing_from_email),o(4),f("ngModel",e.settings.support_email),o(),m("ngIf",e.message),o(2),m("disabled",e.saving),o(),P(" ",e.saving?"Saving...":"Save Settings"," ")}}var $t=class c{constructor(r){this.subscriptionService=r}settings=null;razorpayChecklist=null;loading=!1;checklistLoading=!1;saving=!1;message="";checklistError="";hasError=!1;originalLiveMode=!1;paymentGatewayOptions=[{label:"Razorpay",value:"razorpay"}];ngOnInit(){this.load(),this.loadChecklist()}load(){this.loading=!0,this.message="",this.hasError=!1,this.subscriptionService.getBillingSettings().subscribe({next:r=>{this.settings=r,this.originalLiveMode=!!r.razorpay_live_mode,this.loading=!1},error:()=>{this.settings=null,this.message="Unable to load billing settings.",this.hasError=!0,this.loading=!1}})}save(){if(this.settings){if(!this.originalLiveMode&&this.settings.razorpay_live_mode&&!window.confirm("Enable Razorpay live mode? Real customer payments will be charged.")){this.settings.razorpay_live_mode=!1;return}this.saving=!0,this.message="",this.hasError=!1,this.subscriptionService.updateBillingSettings(F(w({},this.settings),{trial_days:Number(this.settings.trial_days||1),grace_period_days:Number(this.settings.grace_period_days||3),gst_percentage:Number(this.settings.gst_percentage||0),yearly_discount_percentage:Number(this.settings.yearly_discount_percentage||0),invoice_prefix:String(this.settings.invoice_prefix||"INV").trim().toUpperCase(),payment_gateway:this.settings.payment_gateway||"razorpay"})).subscribe({next:r=>{this.settings=r,this.originalLiveMode=!!r.razorpay_live_mode,this.message="Billing settings saved.",this.saving=!1,this.loadChecklist()},error:r=>{this.message=r?.error?.detail||"Unable to save billing settings.",this.hasError=!0,this.saving=!1}})}}loadChecklist(){this.checklistLoading=!0,this.checklistError="",this.subscriptionService.getRazorpaySecurityChecklist().subscribe({next:r=>{this.razorpayChecklist=r,this.checklistLoading=!1},error:r=>{this.razorpayChecklist=null,this.checklistError=r?.error?.detail||"Unable to load Razorpay security checklist.",this.checklistLoading=!1}})}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-billing-settings"]],decls:23,vars:4,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-wallet"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-secondary",3,"click","disabled"],[1,"pi","pi-refresh"],["errorTitle","Billing settings unavailable","preset","form",3,"loading","errorMessage"],["class","billing-settings__form",3,"ngSubmit",4,"ngIf"],[1,"billing-settings__form",3,"ngSubmit"],["class","billing-settings__live-warning",4,"ngIf"],[1,"sa-glass"],[1,"sa-card-title"],[1,"pi","pi-building"],[1,"billing-settings__grid"],["pInputText","","type","text","name","company_name","required","",3,"ngModelChange","ngModel"],["pInputText","","type","email","name","billing_email",3,"ngModelChange","ngModel"],["pInputText","","type","text","name","billing_phone",3,"ngModelChange","ngModel"],[1,"billing-settings__wide"],["pInputTextarea","","name","billing_address","rows","3",3,"ngModelChange","ngModel"],[1,"pi","pi-percentage"],["pInputText","","type","text","name","pan_number",3,"ngModelChange","ngModel"],["pInputText","","type","text","name","gst_number",3,"ngModelChange","ngModel"],["for","enable_gst",1,"billing-settings__toggle"],["name","enable_gst","inputId","enable_gst",3,"ngModelChange","ngModel","binary"],["pInputText","","type","number","min","0","step","0.01","name","gst_percentage",3,"ngModelChange","ngModel","disabled"],[1,"pi","pi-sliders-h"],["pInputText","","type","text","name","invoice_prefix","maxlength","16","required","",3,"ngModelChange","ngModel"],["pInputText","","type","number","min","1","name","trial_days","required","",3,"ngModelChange","ngModel"],["name","payment_gateway","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","razorpay_live_mode",1,"billing-settings__toggle"],["name","razorpay_live_mode","inputId","razorpay_live_mode",3,"ngModelChange","ngModel","binary"],["for","enable_yearly_discount",1,"billing-settings__toggle"],["name","enable_yearly_discount","
3inputId","enable_yearly_discount",3,"ngModelChange","ngModel","binary"],["pInputText","","type","number","min","0","max","100","step","0.01","name","yearly_discount_percentage",3,"ngModelChange","ngModel","disabled"],["for","enable_grace_period",1,"billing-settings__toggle"],["name","enable_grace_period","inputId","enable_grace_period",3,"ngModelChange","ngModel","binary"],["pInputText","","type","number","min","1","name","grace_period_days",3,"ngModelChange","ngModel","disabled"],[1,"billing-settings__section-title"],[1,"pi","pi-shield"],[1,"billing-settings__hint"],[1,"pi","pi-sync"],["class","billing-settings__gateway-summary",4,"ngIf"],["class","billing-settings__checklist",4,"ngIf"],["class","billing-settings__message is-error",4,"ngIf"],[1,"pi","pi-envelope"],["for","enable_email_notifications",1,"billing-settings__toggle"],["name","enable_email_notifications","inputId","enable_email_notifications",3,"ngModelChange","ngModel","binary"],["pInputText","","type","email","name","billing_from_email",3,"ngModelChange","ngModel"],["pInputText","","type","email","name","support_email",3,"ngModelChange","ngModel"],["class","billing-settings__message",3,"is-error",4,"ngIf"],[1,"billing-settings__actions"],["type","submit",1,"sa-btn-primary",3,"disabled"],[1,"billing-settings__live-warning"],[1,"billing-settings__gateway-summary"],[1,"billing-settings__checklist"],[3,"is-pass","is-fail","is-warn",4,"ngFor","ngForOf"],[1,"billing-settings__message","is-error"],[1,"billing-settings__message"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Super Admin"),n(),t(9,"h2",8),a(10,"Billing Settings"),n(),t(11,"p",9),a(12,"Manage invoice branding, GST, trial duration, and payment gateway mode."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"Configuration"),n(),t(17,"div",13)(18,"button",14),u("click",function(){return i.load()}),d(19,"i",15),a(20," Refresh "),n()()(),t(21,"app-data-state",16),x(22,Ma,116,36,"form",17),n()()()),e&2&&(o(18),m("disabled",i.loading),o(3),m("loading",i.loading)("errorMessage",!i.loading&&!i.settings?i.message||"Billing settings unavailable.":null),o(),m("ngIf",i.settings))},dependencies:[E,ne,B,Ke,L,Ee,W,Be,V,ke,mt,Et,De,ct,U,ot,z,Ie,Te,ee,X,H,G,ze,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.billing-settings__form[_ngcontent-%COMP%]{display:grid;gap:1.15rem}.billing-settings__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.billing-settings__grid[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{display:grid;gap:.35rem;font-weight:700}.billing-settings__grid[_ngcontent-%COMP%] label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.82rem}.billing-settings__grid[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .billing-settings__grid[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;min-height:2.55rem;box-sizing:border-box}.billing-settings__wide[_ngcontent-%COMP%]{grid-column:1/-1}.billing-settings__toggle[_ngcontent-%COMP%]{display:flex!important;flex-direction:row!important;align-items:center;gap:.55rem;grid-template-columns:none}.billing-settings__toggle[_ngcontent-%COMP%
3] > span[_ngcontent-%COMP%]{font-weight:700;cursor:pointer}.billing-settings__section-title[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.billing-settings__section-title[_ngcontent-%COMP%] .sa-card-title[_ngcontent-%COMP%]{margin-bottom:.25rem}.billing-settings__hint[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary);font-size:.88rem}.billing-settings__gateway-summary[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.billing-settings__gateway-summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{border:1px solid var(--surface-border);border-radius:999px;padding:.4rem .65rem;background:var(--surface-card);color:var(--text-color-secondary);font-weight:800;font-size:.82rem}.billing-settings__checklist[_ngcontent-%COMP%]{display:grid;gap:.5rem;padding:0;margin:0;list-style:none}.billing-settings__checklist[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:grid;gap:.2rem;border:1px solid var(--surface-border);border-left-width:4px;border-radius:.7rem;padding:.75rem}.billing-settings__checklist[_ngcontent-%COMP%] li.is-pass[_ngcontent-%COMP%]{border-left-color:#16a34a;background:#f0fdf4}.billing-settings__checklist[_ngcontent-%COMP%] li.is-fail[_ngcontent-%COMP%]{border-left-color:#dc2626;background:#fef2f2}.billing-settings__checklist[_ngcontent-%COMP%] li.is-warn[_ngcontent-%COMP%]{border-left-color:#d97706;background:#fffbeb}.billing-settings__checklist[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-color)}.billing-settings__checklist[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-color-secondary)}.billing-settings__actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.billing-settings__message[_ngcontent-%COMP%]{border-radius:.7rem;padding:.75rem;background:#dcfce7;color:#166534;font-weight:700}.billing-settings__message.is-error[_ngcontent-%COMP%]{background:#fee2e2;color:#b91c1c}.billing-settings__live-warning[_ngcontent-%COMP%]{border:1px solid #fca5a5;border-left:4px solid #dc2626;border-radius:.7rem;padding:.8rem 1rem;background:#fee2e2;color:#991b1b;font-weight:900}@media (max-width: 800px){.billing-settings__grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.billing-settings__section-title[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}}']})};function Pa(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Date"),n(),t(3,"th"),a(4,"Company"),n(),t(5,"th"),a(6,"Email Type"),n(),t(7,"th"),a(8,"Recipient"),n(),t(9,"th"),a(10,"Status"),n(),t(11,"th"),a(12,"Error Message"),n()())}function wa(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),y(3,"date"),n(),t(4,"td"),a(5),n(),t(6,"td"),a(7),y(8,"titlecase"),n(),t(9,"td"),a(10),n(),t(11,"td")(12,"span",32),a(13),y(14,"titlecase"),n()(),t(15,"td"),a(16),n()()),c&2){let e=r.$implicit;o(2),p(T(3,7,e.created_at,"medium")),o(3),p(e.company_name||e.organization_name||"-"),o(2),p(e.email_type_label||de(8,10,e.email_type)),o(3),p(e.recipient_email||"-"),o(2),m("ngClass",e.status),o(),p(e.status_label||de(14,12,e.status)),o(3),p(e.error_message||"-")}}function Oa(c,r){c&1&&(t(0,"tr")(1,"td",33)(2,"div",34),a(3,"No billing email logs found."),n()()())}var Zt=class c{constructor(r){this.subscriptionService=r}logs=[];loading=!1;filters={organization:"",email_type:"",status:""};emailTypeOptions=[{value:"",label:"All types"},{value:"trial_expiring",label:"Trial expiring"},{value:"trial_expired",label:"Trial expired"},{value:"subscription_expiring",label:"Subscription expiring"},{value:"subscription_expired",label:"Subscription expired"},{value:"payment_success",label:"Payment success"},{value:"payment_failed",label:"Payment failed"},{value:"renewal_success",label:"Renewal success"},{value:"upgrade_success",label:"Upgrade success"},{value:"add_users_success",label:"Add users success"}];statusOptions=[{value:"",label:"All statuses"},{value:"sent",label:"Sent"},{value:"failed",label:"Failed"},{value:"skipped",label:"Skipped"}];ngOnInit(){this.load()}load(){this.loading=!0,this.subscriptionService.getEmailLogs(this.activeFilters()).subscribe({next:r=>{this.logs=r,this.loading=!1},error:()=>{this.logs=[],this.loading=!1}})}resetFilters(){this.filters={organization:"",email_type:"",status:""},this.load()}activeFilters(){return Object.fromEntries(Object.entries(this.filters).filter(([,r])=>String(r||"").trim()))}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-billing-email-logs"]],decls:41,vars:11,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-envelope"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar","sa-toolbar--wrap"],[1,"sa-toolbar__title"],[1,"sa-toolbar__filters","email-logs__filters"],[1,"sa-search"],[1,"pi","pi-building"],["pInputText","","type","text","placeholder","Company name or ID",3,"ngModelChange","ngModel"],["variant","on"],["
3inputId","bem_email_type","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bem_email_type"],["inputId","bem_status","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bem_status"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-text",3,"click"],["type","button",1,"sa-btn-primary",3,"click","disabled"],[1,"pi","pi-refresh"],[1,"sa-glass"],["errorTitle","Billing email logs unavailable","preset","table",3,"loading"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"sa-status",3,"ngClass"],["colspan","6"],[1,"sa-empty"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing ops"),n(),t(9,"h2",8),a(10,"Billing Email Logs"),n(),t(11,"p",9),a(12,"Review billing notification delivery across companies."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"Filters"),n(),t(17,"div",13)(18,"span",14),d(19,"i",15),t(20,"input",16),v("ngModelChange",function(s){return h(i.filters.organization,s)||(i.filters.organization=s),s}),n()(),t(21,"p-floatlabel",17)(22,"p-dropdown",18),v("ngModelChange",function(s){return h(i.filters.email_type,s)||(i.filters.email_type=s),s}),n(),t(23,"label",19),a(24,"Email Type"),n()(),t(25,"p-floatlabel",17)(26,"p-dropdown",20),v("ngModelChange",function(s){return h(i.filters.status,s)||(i.filters.status=s),s}),n(),t(27,"label",21),a(28,"Status"),n()()(),t(29,"div",22)(30,"button",23),u("click",function(){return i.resetFilters()}),a(31,"Reset"),n(),t(32,"button",24),u("click",function(){return i.load()}),d(33,"i",25),a(34," Apply "),n()()(),t(35,"div",26)(36,"app-data-state",27)(37,"p-table",28),x(38,Pa,13,0,"ng-template",29)(39,wa,17,14,"ng-template",30)(40,Oa,4,0,"ng-template",31),n()()()()()),e&2&&(o(20),f("ngModel",i.filters.organization),o(2),m("options",i.emailTypeOptions),f("ngModel",i.filters.email_type),o(4),m("options",i.statusOptions),f("ngModel",i.filters.status),o(6),m("disabled",i.loading),o(4),m("loading",i.loading),o(),m("value",i.logs)("paginator",!0)("rows",10)("rowHover",!0))},dependencies:[E,q,Ke,J,L,W,V,U,j,K,N,z,H,G,ee,X,se,ge,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.sa-toolbar--wrap[_ngcontent-%COMP%]{flex-wrap:wrap}.email-logs__filters[_ngcontent-%COMP%]{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.sa-status.sent[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-status.skipped[_ngcontent-%COMP%]{background:#f59e0b26;color:#b45309}']})};function Sa(c,r){if(c&1){let e=M();t(0,"label")(1,"input",46),u("change",function(){let l=_(e).$implicit,s=g(2);return b(s.togglePaymentType(l.value))}),n(),a(2),n()}if(c&2){let e=r.$implicit,i=g(2);o(),m("checked",i.isPaymentTypeSelected(e.value)),o(),P(" ",e.label," ")}}function ka(c,r){if(c&1&&(t(0,"option",47),a(1),n()),c&2){let e=r.$implicit;m("value",e.id),o(),p(e.name)}}function Ea(c,r){if(c&1&&(t(0,"div",48),a(1),n()),c&2){let e=g(2);S("is-error",e.hasError),
3o(),p(e.message)}}function Ta(c,r){if(c&1){let e=M();t(0,"div",24)(1,"h3",25),d(2,"i",26),a(3),n(),t(4,"div",27)(5,"label")(6,"span"),a(7,"Code"),n(),t(8,"input",28),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.code,l)||(s.form.code=l),b(l)}),n()(),t(9,"label")(10,"span"),a(11,"Description"),n(),t(12,"input",28),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.description,l)||(s.form.description=l),b(l)}),n()(),t(13,"label")(14,"span"),a(15,"Discount type"),n(),t(16,"select",29),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.discount_type,l)||(s.form.discount_type=l),b(l)}),t(17,"option",30),a(18,"Percentage"),n(),t(19,"option",31),a(20,"Fixed"),n()()(),t(21,"label")(22,"span"),a(23,"Discount value"),n(),t(24,"input",32),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.discount_value,l)||(s.form.discount_value=l),b(l)}),n()(),t(25,"label")(26,"span"),a(27,"Max discount amount"),n(),t(28,"input",32),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.max_discount_amount,l)||(s.form.max_discount_amount=l),b(l)}),n()(),t(29,"label")(30,"span"),a(31,"Usage limit"),n(),t(32,"input",33),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.usage_limit,l)||(s.form.usage_limit=l),b(l)}),n()(),t(33,"label")(34,"span"),a(35,"Valid from"),n(),t(36,"p-datepicker",34),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.valid_from,l)||(s.form.valid_from=l),b(l)}),n()(),t(37,"label")(38,"span"),a(39,"Valid until"),n(),t(40,"p-datepicker",35),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.valid_until,l)||(s.form.valid_until=l),b(l)}),n()(),t(41,"div",36)(42,"span"),a(43,"Payment types"),n(),x(44,Sa,3,2,"label",37),n(),t(45,"label")(46,"span"),a(47,"Plan packages"),n(),t(48,"select",38),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.applicable_plan_package_ids,l)||(s.form.applicable_plan_package_ids=l),b(l)}),x(49,ka,2,2,"option",39),n()(),t(50,"label",40)(51,"input",41),v("ngModelChange",function(l){_(e);let s=g();return h(s.form.is_active,l)||(s.form.is_active=l),b(l)}),n(),t(52,"span"),a(53,"Active"),n()()(),x(54,Ea,2,3,"div",42),t(55,"footer",43)(56,"button",44),u("click",function(){_(e);let l=g();return b(l.cancel())}),a(57,"Cancel"),n(),t(58,"button",45),u("click",function(){_(e);let l=g();return b(l.save())}),a(59),n()()()}if(c&2){let e=g();o(3),P(" ",e.form.id?"Edit coupon":"New coupon",""),o(5),f("ngModel",e.form.code),o(4),f("ngModel",e.form.description),o(4),f("ngModel",e.form.discount_type),o(8),f("ngModel",e.form.discount_value),o(4),f("ngModel",e.form.max_discount_amount),o(4),f("ngModel",e.form.usage_limit),o(4),f("ngModel",e.form.valid_from),m("showIcon",!0)("showTime",!0),o(4),f("ngModel",e.form.valid_until),m("showIcon",!0)("showTime",!0),o(4),m("ngForOf",e.paymentTypes),o(4),f("ngModel",e.form.applicable_plan_package_ids),o(),m("ngForOf",e.packages),o(2),f("ngModel",e.form.is_active),o(3),m("ngIf",e.message),o(4),m("disabled",e.saving),o(),P(" ",e.saving?"Saving...":"Save Coupon"," ")}}function Ia(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Code"),n(),t(3,"th"),a(4,"Discount"),n(),t(5,"th"),a(6,"Payment Types"),n(),t(7,"th"),a(8,"Usage"),n(),t(9,"th"),a(10,"Validity"),n(),t(11,"th"),a(12,"Status"),n(),t(13,"th"),a(14,"Action"),n()())}function za(c,r){if(c&1){let e=M();t(0,"tr")(1,"td")(2,"div",49)(3,"span",50),a(4),n(),t(5,"small",51),a(6),n()()(),t(7,"td"),a(8),n(),t(9,"td"),a(10),n(),t(11,"td"),a(12),n(),t(13,"td"),a(14),y(15,"date"),y(16,"date"),n(),t(17,"td")(18,"span",52),a(19),n()(),t(20,"td")(21,"div",53)(22,"button",54),u("click",function(){let l=_(e).$implicit,s=g();return b(s.edit(l))}),n(),t(23,"button",55),u("click",function(){let l=_(e).$implicit,s=g();return b(s.deactivate(l))}),n()()()()}if(c&2){let e=r.$implicit,i=g();o(4),p(e.code),o(2),p(e.description||"-"),o(2),p(e.discount_type==="percentage"?e.discount_value+"%":i.money(e.discount_value)),o(2),p(e.applicable_payment_types.length?e.applicable_payment_types.join(", "):"All"),o(2),ue("",e.used_count||0," / ",e.usage_limit||"Unlimited",""),o(2),ue("",T(15,11,e.valid_from,"mediumDate")," - ",T(16,14,e.valid_until,"mediumDate"),""),o(4),m("ngClass",e.is_active?"active":"inactive"),o(),P(" ",e.is_active?"Active":"Inactive"," "),o(4),m("disabled",!e.id||!e.is_active)}}function Fa(c,r){c&1&&(t(0,"tr")(1,"td",56)(2,"div",57),a(3,"No coupons foun
3d."),n()()())}var Xt=class c{constructor(r){this.subscriptionService=r}coupons=[];packages=[];editing=!1;saving=!1;loading=!1;message="";hasError=!1;errorMessage=null;form={};paymentTypes=[{value:"new_purchase",label:"New purchase"},{value:"upgrade",label:"Upgrade"},{value:"renewal",label:"Renewal"},{value:"add_users",label:"Add users"}];ngOnInit(){this.load(),this.subscriptionService.getPackages().subscribe({next:r=>this.packages=r,error:()=>{}})}load(){this.loading=!0,this.errorMessage=null,this.subscriptionService.getCoupons().subscribe({next:r=>{this.coupons=r,this.loading=!1},error:()=>{this.message="Unable to load coupons.",this.errorMessage="Unable to load coupons.",this.loading=!1}})}newCoupon(){let r=new Date,e=new Date;e.setMonth(e.getMonth()+1),this.form={code:"",discount_type:"percentage",discount_value:10,valid_from:this.toInputDate(r),valid_until:this.toInputDate(e),is_active:!0,applicable_payment_types:[],applicable_plan_package_ids:[]},this.editing=!0,this.message="",this.hasError=!1}edit(r){this.form=F(w({},r),{valid_from:this.toInputDate(new Date(r.valid_from)),valid_until:this.toInputDate(new Date(r.valid_until)),applicable_plan_package_ids:r.applicable_plan_packages?.map(e=>e.id)||[]}),this.editing=!0,this.message="",this.hasError=!1}save(){this.saving=!0,this.message="",this.hasError=!1;let r=this.normalizePayload();(this.form.id?this.subscriptionService.updateCoupon(this.form.id,r):this.subscriptionService.createCoupon(r)).subscribe({next:()=>{this.saving=!1,this.editing=!1,this.load()},error:i=>{this.saving=!1,this.hasError=!0,this.message=i?.error?.detail||i?.error?.code?.[0]||"Unable to save coupon."}})}deactivate(r){r.id&&this.subscriptionService.deactivateCoupon(r.id).subscribe({next:()=>this.load()})}cancel(){this.editing=!1}isPaymentTypeSelected(r){return(this.form.applicable_payment_types||[]).includes(r)}togglePaymentType(r){let e=new Set(this.form.applicable_payment_types||[]);e.has(r)?e.delete(r):e.add(r),this.form.applicable_payment_types=[...e]}money(r){return new Intl.NumberFormat("en-IN",{style:"currency",currency:"INR",maximumFractionDigits:2}).format(Number(r||0))}normalizePayload(){return F(w({},this.form),{code:String(this.form.code||"").trim().toUpperCase(),discount_value:Number(this.form.discount_value||0),max_discount_amount:this.form.max_discount_amount?Number(this.form.max_discount_amount):null,usage_limit:this.form.usage_limit?Number(this.form.usage_limit):null,valid_from:new Date(String(this.form.valid_from)).toISOString(),valid_until:new Date(String(this.form.valid_until)).toISOString(),applicable_payment_types:this.form.applicable_payment_types||[],applicable_plan_package_ids:this.form.applicable_plan_package_ids||[]})}toInputDate(r){let e=r.getFullYear(),i=String(r.getMonth()+1).padStart(2,"0"),l=String(r.getDate()).padStart(2,"0"),s=String(r.getHours()).padStart(2,"0"),C=String(r.getMinutes()).padStart(2,"0");return`${e}-${i}-${l} ${s}:${C}:00`}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-coupons"]],decls:30,vars:8,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-ticket"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-plus"],["class","sa-glass coupons__form",4,"ngIf"],[1,"sa-glass"],["errorTitle","Coupons unavailable","preset","table",3,"loading","errorMessage"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"sa-glass","coupons__form"],[1,"sa-card-title"],[1,"pi","pi-pencil"],[1,"coupons__form-grid"],["pInputText","","type","text",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["value","percentage"],["value","fixed"],["pInputText","","type","number","min","0","step","0.01",3,"ngModelChange","ngModel"],["pInputText","","type","number","min","1",3,"ngModelChange","ngModel"],["hourFormat","24","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","sa-datepicker--full w-full","inputStyleClass","sa-datepicker-input","placeholder","Valid from",3,"ngModelChange","ngModel","showIcon","showTime"],["hourFormat","24","appendTo","body","dateFormat","yy-mm-dd","dataType","string","styleClass","sa-datepicker--full w-full","inputStyleClass","sa-datepicker-input","placeholder","Valid until",3,"ngModelChange","ngModel","showIcon","showTime"],[1,"coupons__checks"],[4,"ngFor","ngForOf"],["multiple","",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[1,"coupons__toggle"],["type","checkbox",3,"ngModelChange","ngModel"],["class","coupons__message",3,"is-error",4,"ngIf"],[1,"coupons__form-actions"],["type","button",1,"sa-btn-secondary",3,"click"],["type","button",1,"sa-btn-primary",3,"click","disabled"],["type","checkbox",3,"change","checked"],[3,"value"],[1,"coupons__message"],[1,"coupon-cell"],[1,"coupon-cell__name"],[1,"coupon-cell__meta"],[1,"sa-status",3,"ngClass"],[1,"table-actions"],["pButton","","type","button","icon","pi pi-pencil",1,"p-button-text","p-button-rounded",3,"click"],["pButton","","type","button","icon","pi pi-ban",1,"p-button-text","p-button-rounded","p-button-danger",3,"click","disabled"],["colspan","7"],[1,"sa-empty"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing"),n(),t(9,"h2",8),a(10,"Coupons"),n(),t(11,"p",9),a(12,"Create discounts for purchases, upgrades, renewals, and add-user payments."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16," Coupon catalog "),t(17,"span",13),a(18),n()(),t(19,"div",14)(20,"button",15),u("click",function(){return i.newCoupon()}),d(21,"i",16),a(22," New Coupon "),n()()(),x(23,Ta,60,20,"div",17),t(24,"div",18)(25,"app-data-state",19)(26,"p-table",20),x(27,Ia,15,0,"ng-template",21)(28,za,24,17,"ng-template",22)(29,Fa,4,0,"ng-template",23),n()()()()()),e&2&&(o(18),p(i.coupons.length),o(5),m("ngIf",i.editing),o(2),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("value",i.coupons)("paginator",!0)("rows",10)("rowHover",!0))},dependencies:[E,q,ne,B,J,L,St,kt,W,Be,wt,Ot,kn,V,De,U,j,K,N,z,oe,H,G,he,fe,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
3align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.coupon-cell[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.15rem}.coupon-cell__name[_ngcontent-%COMP%]{font-weight:700;color:var(--text-color)}.coupon-cell__meta[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.78rem}.table-actions[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.15rem;flex-wrap:wrap}.coupons__form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.coupons__form-grid[_ngcontent-%COMP%] > label[_ngcontent-%COMP%], .coupons__checks[_ngcontent-%COMP%]{display:grid;gap:.35rem;font-weight:700}.coupons__form-grid[_ngcontent-%COMP%] label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%], .coupons__checks[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.82rem}.coupons__form-grid[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .coupons__form-grid[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;min-height:2.55rem;border:1px solid var(--surface-border);border-radius:.7rem;padding:.55rem .75rem;background:var(--surface-card);color:inherit;box-sizing:border-box;font:inherit}.coupons__form-grid[_ngcontent-%COMP%] select[multiple][_ngcontent-%COMP%]{min-height:7rem}.coupons__checks[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .coupons__toggle[_ngcontent-%COMP%]{display:flex;gap:.45rem;align-items:center;font-weight:700}.coupons__checks[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .coupons__toggle[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{min-height:auto;width:1rem;height:1rem}
3.coupons__message[_ngcontent-%COMP%]{margin-top:1rem;border-radius:.7rem;padding:.75rem;background:#dcfce7;color:#166534;font-weight:700}.coupons__message.is-error[_ngcontent-%COMP%]{background:#fee2e2;color:#b91c1c}.coupons__form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media (max-width: 900px){.coupons__form-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})};function Aa(c,r){if(c&1&&(t(0,"div",38)(1,"article",39),d(2,"div",40),t(3,"div",41),d(4,"i",5),n(),t(5,"div",42),a(6),n(),t(7,"div",43),a(8,"Critical open"),n()(),t(9,"article",44),d(10,"div",40),t(11,"div",41),d(12,"i",45),n(),t(13,"div",42),a(14),n(),t(15,"div",43),a(16,"Webhook failures"),n()(),t(17,"article",46),d(18,"div",40),t(19,"div",41),d(20,"i",47),n(),t(21,"div",42),a(22),n(),t(23,"div",43),a(24,"Payment errors"),n()()()),c&2){let e=g();o(6),p(e.summary.critical_unresolved),o(8),p(e.summary.webhook_failures),o(8),p(e.summary.payment_errors)}}function Ba(c,r){if(c&1&&(t(0,"div",48),a(1),n()),c&2){let e=g();S("is-error",e.hasError),o(),p(e.message)}}function Da(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Date"),n(),t(3,"th"),a(4,"Company"),n(),t(5,"th"),a(6,"Error Type"),n(),t(7,"th"),a(8,"Severity"),n(),t(9,"th"),a(10,"Message"),n(),t(11,"th"),a(12,"Resolved"),n(),t(13,"th"),a(14,"Action"),n()())}function Va(c,r){if(c&1&&(t(0,"small",52),a(1),n()),c&2){let e=g().$implicit;o(),P("User: ",e.user_name,"")}}function La(c,r){if(c&1){let e=M();t(0,"tr")(1,"td"),a(2),y(3,"date"),n(),t(4,"td"),a(5),n(),t(6,"td"),a(7),n(),t(8,"td")(9,"span",49),a(10),n()(),t(11,"td")(12,"strong"),a(13),n(),x(14,Va,2,1,"small",50),n(),t(15,"td"),a(16),n(),t(17,"td")(18,"button",51),u("click",function(){let l=_(e).$implicit,s=g();return b(s.resolve(l))}),a(19,"Resolve"),n()()()}if(c&2){let e=r.$implicit,i=g();o(2),p(T(3,9,e.created_at,"medium")),o(3),p(e.organization_name||"System"),o(2),p(e.error_type_label||i.formatLabel(e.error_type)),o(2),m("ngClass",e.severity),o(),p(e.severity_label||e.severity),o(3),p(e.message),o(),m("ngIf",e.user_name),o(2),p(e.resolved?"Yes":"No"),o(2),m("disabled",e.resolved)}}function Na(c,r){c&1&&(t(0,"tr")(1,"td",53)(2,"div",54),a(3,"No billing error logs found."),n()()())}var en=class c{constructor(r){this.subscriptionService=r}logs=[];summary=null;loading=!1;message="";hasError=!1;filters={error_type:"",severity:"",resolved:"false",organization:"",date_from:"",date_to:""};errorTypes=[{value:"payment_error",label:"Payment error"},{value:"webhook_error",label:"Webhook error"},{value:"cron_error",label:"Cron error"},{value:"invoice_error",label:"Invoice error"},{value:"email_error",label:"Email error"},{value:"subscription_error",label:"Subscription error"},{value:"api_error",label:"API error"},{value:"security_error",label:"Security error"}];errorTypeOptions=[{value:"",label:"All types"},...this.errorTypes];severityOptions=[{value:"",label:"All severities"},{value:"info",label:"Info"},{value:"warning",label:"Warning"},{value:"error",label:"Error"},{value:"critical",label:"Critical"}];resolvedOptions=[{value:"",label:"All"},{value:"false",label:"Open"},{value:"true",label:"Resolved"}];ngOnInit(){this.load()}load(){this.loading=!0,this.message="",this.hasError=!1,this.subscriptionService.getErrorLogs(w({},this.filters)).subscribe({next:r=>{this.logs=r.results||[],this.summary=r.summary||null,this.loading=!1},error:()=>{this.loading=!1,this.hasError=!0,this.message="Unable to load billing error logs."}})}reset(){this.filters={error_type:"",severity:"",resolved:"",organization:"",date_from:"",date_to:""},this.load()}resolve(r){this.subscriptionService.resolveErrorLog(r.id).subscribe({next:()=>{this.message="Billing error marked as resolved.",this.load()},error:()=>{this.hasError=!0,this.message="Unable to resolve billing error."}})}formatLabel(r){return String(r||"").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-billing-error-logs"]],decls:49,vars:18,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-exclamation-triangle"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar","sa-toolbar--wrap"],[1,"sa-toolbar__title"],[1,"sa-toolbar__filters","error-logs__filters"],["variant","on"],["
3inputId","bel_error_type","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bel_error_type"],["inputId","bel_severity","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bel_severity"],["inputId","bel_resolved","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bel_resolved"],[1,"sa-search"],[1,"pi","pi-building"],["pInputText","","type","text","placeholder","Company name or ID",3,"ngModelChange","ngModel"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","From date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","From date",3,"ngModelChange","ngModel","showIcon"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","To date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","To date",3,"ngModelChange","ngModel","showIcon"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-text",3,"click"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-refresh"],["class","sa-metrics",4,"ngIf"],[1,"sa-glass"],["class","error-logs__message",3,"is-error",4,"ngIf"],["preset","table",3,"loading"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"sa-metrics"],[1,"sa-metric","color-amber"],[1,"sa-metric__glow"],[1,"sa-metric__icon"],[1,"sa-metric__value"],[1,"sa-metric__label"],[1,"sa-metric","color-blue"],[1,"pi","pi-link"],[1,"sa-metric"],[1,"pi","pi-credit-card"],[1,"error-logs__message"],[1,"sa-status",3,"ngClass"],["class","error-logs__meta",4,"ngIf"],["type","button",1,"sa-btn-text",3,"click","disabled"],[1,"error-logs__meta"],["colspan","7"],[1,"sa-empty"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing ops"),n(),t(9,"h2",8),a(10,"Billing Error Logs"),n(),t(11,"p",9),a(12,"Track payment, webhook, cron, invoice, email, API, and security issues."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"Filters"),n(),t(17,"div",13)(18,"p-floatlabel",14)(19,"p-dropdown",15),v("ngModelChange",function(s){return h(i.filters.error_type,s)||(i.filters.error_type=s),s}),n(),t(20,"label",16),a(21,"Error type"),n()(),t(22,"p-floatlabel",14)(23,"p-dropdown",17),v("ngModelChange",function(s){return h(i.filters.severity,s)||(i.filters.severity=s),s}),n(),t(24,"label",18),a(25,"Severity"),n()(),t(26,"p-floatlabel",14)(27,"p-dropdown",19),v("ngModelChange",function(s){return h(i.filters.resolved,s)||(i.filters.resolved=s),s}),n(),t(28,"label",20),a(29,"Resolved"),n()(),t(30,"span",21),d(31,"i",22),t(32,"input",23),v("ngModelChange",function(s){return h(i.filters.organization,s)||(i.filters.organization=s),s}),n()(),t(33,"p-datepicker",24),v("ngModelChange",function(s){return h(i.filters.date_from,s)||(i.filters.date_from=s),s}),n(),t(34,"p-datepicker",25),v("ngModelChange",function(s){return h(i.filters.date_to,s)||(i.filters.date_to=s),s}),n()(),t(35,"div",26)(36,"button",27),u("click",function(){return i.reset()}),a(37,"Reset"),n(),t(38,"button",28),u("click",function(){return i.load()}),d(39,"i",29),a(40," Apply "),n()()(),x(41,Aa,25,3,"div",30),t(42,"div",31),x(43,Ba,2,3,"div",32),t(44,"app-data-state",33)(45,"p-table",34),x(46,Da,15,0,"ng-template",35)(47,La,20,12,"ng-template",36)(48,Na,4,0,"ng-template",37),n()()()()()),e&2&&(o(19),m("options",i.errorTypeOptions),f("ngModel",i.filters.error_type),o(4),m("options",i.severityOptions),f("ngModel",i.filters.severity),o(4),m("options",i.resolvedOptions),f("ngModel",i.filters.resolved),o(5),f("ngModel",i.filters.organization),o(),f("ngModel",i.filters.date_from),m("showIcon",!0),o(),f("ngModel",i.filters.date_to),m("showIcon",!0),o(7),m("ngIf",i.summary),o(2),m("ngIf",i.message),o(),m("loading",i.loading),o(),m("value",i.logs)("paginator",!0)("rows",10)("rowHover",!0))},dependencies:[E,q,B,J,L,W,V,U,j,K,N,z,H,G,ee,X,se,ge,he,fe,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
3align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.sa-toolbar--wrap[_ngcontent-%COMP%]{flex-wrap:wrap}.error-logs__filters[_ngcontent-%COMP%]{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.error-logs__filters[_ngcontent-%COMP%] > input[type=date][_ngcontent-%COMP%]{min-height:2.55rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem}.error-logs__meta[_ngcontent-%COMP%]{display:block;margin-top:.25rem;color:var(--text-color-secondary)}.error-logs__message[_ngcontent-%COMP%]{border-radius:.75rem;padding:.75rem 1rem;margin-bottom:.75rem;background:color-mix(in srgb,#16a34a 12%,var(--surface-card));color:#166534;font-weight:700}.error-logs__message.is-error[_ngcontent-%COMP%]{background:color-mix(in srgb,#dc2626 12%,var(--surface-card));color:#b91c1c}.sa-status.warning[_ngcontent-%COMP%]{background:#f59e0b26;color:#b45309}.sa-status.error[_ngcontent-%COMP%], .sa-status.critical[_ngcontent-%COMP%]{background:#ef444426;color:#b91c1c}.sa-status.info[_ngcontent-%COMP%]{background:#3b82f626;color:#1d4ed8}.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}']}
3)};function Ra(c,r){if(c&1&&(t(0,"div",38)(1,"article",39),d(2,"div",40),t(3,"div",41),d(4,"i",42),n(),t(5,"div",43),a(6),n(),t(7,"div",44),a(8,"Rate limits"),n()(),t(9,"article",45),d(10,"div",40),t(11,"div",41),d(12,"i",46),n(),t(13,"div",43),a(14),n(),t(15,"div",44),a(16,"Duplicate orders"),n()(),t(17,"article",47),d(18,"div",40),t(19,"div",41),d(20,"i",48),n(),t(21,"div",43),a(22),n(),t(23,"div",44),a(24,"Invalid webhooks"),n()()()),c&2){let e=g();o(6),p(e.summary.rate_limit_hits),o(8),p(e.summary.duplicate_order_attempts),o(8),p(e.summary.invalid_webhook_signatures)}}function Wa(c,r){if(c&1&&(t(0,"div",49),a(1),n()),c&2){let e=g();S("is-error",e.hasError),o(),p(e.message)}}function Ua(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Date"),n(),t(3,"th"),a(4,"Company"),n(),t(5,"th"),a(6,"User"),n(),t(7,"th"),a(8,"IP Address"),n(),t(9,"th"),a(10,"Event Type"),n(),t(11,"th"),a(12,"Severity"),n(),t(13,"th"),a(14,"Details"),n()())}function Ha(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),y(3,"date"),n(),t(4,"td"),a(5),n(),t(6,"td"),a(7),n(),t(8,"td"),a(9),n(),t(10,"td"),a(11),n(),t(12,"td")(13,"span",50),a(14),n()(),t(15,"td")(16,"pre",51),a(17),n()()()),c&2){let e=r.$implicit,i=g();o(2),p(T(3,8,e.created_at,"medium")),o(3),p(e.company_name||e.organization_name||"System"),o(2),p(e.user_name||"System"),o(2),p(e.ip_address||"-"),o(2),p(e.event_type_label||i.formatLabel(e.event_type)),o(2),m("ngClass",e.severity),o(),p(e.severity_label||e.severity),o(3),p(i.formatMetadata(e.metadata))}}function ja(c,r){c&1&&(t(0,"tr")(1,"td",52)(2,"div",53),a(3,"No billing security logs found."),n()()())}var tn=class c{constructor(r){this.subscriptionService=r}logs=[];summary=null;loading=!1;message="";hasError=!1;filters={event_type:"",severity:"",organization:"",ip_address:"",date_from:"",date_to:""};eventTypes=[{value:"rate_limit_hit",label:"Rate limit hit"},{value:"duplicate_order_attempt",label:"Duplicate order attempt"},{value:"duplicate_payment_verification",label:"Duplicate payment verification"},{value:"invalid_coupon_attempt",label:"Invalid coupon attempt"},{value:"invalid_webhook_signature",label:"Invalid webhook signature"},{value:"unauthorized_billing_access",label:"Unauthorized billing access"},{value:"payment_amount_mismatch",label:"Payment amount mismatch"}];eventTypeOptions=[{value:"",label:"All events"},...this.eventTypes];severityOptions=[{value:"",label:"All severities"},{value:"info",label:"Info"},{value:"warning",label:"Warning"},{value:"error",label:"Error"},{value:"critical",label:"Critical"}];ngOnInit(){this.load()}load(){this.loading=!0,this.message="",this.hasError=!1,this.subscriptionService.getSecurityLogs(w({},this.filters)).subscribe({next:r=>{this.logs=r.results||[],this.summary=r.summary||null,this.loading=!1},error:()=>{this.loading=!1,this.hasError=!0,this.message="Unable to load billing security logs."}})}reset(){this.filters={event_type:"",severity:"",organization:"",ip_address:"",date_from:"",date_to:""},this.load()}formatLabel(r){return String(r||"").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}formatMetadata(r){return!r||!Object.keys(r).length?"-":JSON.stringify(r,null,2)}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-billing-security-logs"]],decls:48,vars:17,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-shield"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar","sa-toolbar--wrap"],[1,"sa-toolbar__title"],[1,"sa-toolbar__filters","security-logs__filters"],["variant","on"],["inputId","bsl_event_type","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bsl_event_type"],["inputId","bsl_severity","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bsl_severity"],[1,"sa-search"],[1,"pi","pi-building"],["pInputText","","type","text","placeholder","Company name or ID",3,"ngModelChange","ngModel"],[1,"pi","pi-globe"],["pInputText","","type","text","placeholder","IP address",3,"ngModelChange","ngModel"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","From date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","From date",3,"ngModelChange","ngModel","showIcon"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","To date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","To date",3,"ngModelChange","ngModel","showIcon"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-text",3,"click"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-refresh"],["class","sa-metrics",4,"ngIf"],[1,"sa-glass"],["class","security-logs__message",3,"is-error",4,"ngIf"],["preset","table",3,"loading"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"sa-metrics"],[1,"sa-metric","color-amber"],[1,"sa-metric__glow"],[1,"sa-metric__icon"],[1,"pi","pi-ban"],[1,"sa-metric__value"],[1,"sa-metric__label"],[1,"sa-metric","color-blue"],[1,"pi","pi-copy"],[1,"sa-metric"],[1,"pi","pi-times-circle"],[1,"security-logs__message"],[1,"sa-status",3,"ngClass"],[1,"security-logs__pre"],["colspan","7"],[1,"sa-empty"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing ops"),n(),t(9,"h2",8),a(10,"Billing Security L
3ogs"),n(),t(11,"p",9),a(12,"Review rate limits, duplicate payment attempts, invalid coupons, webhook signatures, and payment mismatches."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"Filters"),n(),t(17,"div",13)(18,"p-floatlabel",14)(19,"p-dropdown",15),v("ngModelChange",function(s){return h(i.filters.event_type,s)||(i.filters.event_type=s),s}),n(),t(20,"label",16),a(21,"Event type"),n()(),t(22,"p-floatlabel",14)(23,"p-dropdown",17),v("ngModelChange",function(s){return h(i.filters.severity,s)||(i.filters.severity=s),s}),n(),t(24,"label",18),a(25,"Severity"),n()(),t(26,"span",19),d(27,"i",20),t(28,"input",21),v("ngModelChange",function(s){return h(i.filters.organization,s)||(i.filters.organization=s),s}),n()(),t(29,"span",19),d(30,"i",22),t(31,"input",23),v("ngModelChange",function(s){return h(i.filters.ip_address,s)||(i.filters.ip_address=s),s}),n()(),t(32,"p-datepicker",24),v("ngModelChange",function(s){return h(i.filters.date_from,s)||(i.filters.date_from=s),s}),n(),t(33,"p-datepicker",25),v("ngModelChange",function(s){return h(i.filters.date_to,s)||(i.filters.date_to=s),s}),n()(),t(34,"div",26)(35,"button",27),u("click",function(){return i.reset()}),a(36,"Reset"),n(),t(37,"button",28),u("click",function(){return i.load()}),d(38,"i",29),a(39," Apply "),n()()(),x(40,Ra,25,3,"div",30),t(41,"div",31),x(42,Wa,2,3,"div",32),t(43,"app-data-state",33)(44,"p-table",34),x(45,Ua,15,0,"ng-template",35)(46,Ha,18,11,"ng-template",36)(47,ja,4,0,"ng-template",37),n()()()()()),e&2&&(o(19),m("options",i.eventTypeOptions),f("ngModel",i.filters.event_type),o(4),m("options",i.severityOptions),f("ngModel",i.filters.severity),o(5),f("ngModel",i.filters.organization),o(3),f("ngModel",i.filters.ip_address),o(),f("ngModel",i.filters.date_from),m("showIcon",!0),o(),f("ngModel",i.filters.date_to),m("showIcon",!0),o(7),m("ngIf",i.summary),o(2),m("ngIf",i.message),o(),m("loading",i.loading),o(),m("value",i.logs)("paginator",!0)("rows",10)("rowHover",!0))},dependencies:[E,q,B,J,L,W,V,U,j,K,N,z,H,G,ee,X,se,ge,he,fe,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.sa-toolbar--wrap[_ngcontent-%COMP%]{flex-wrap:wrap}.security-logs__filters[_ngcontent-%COMP%]{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.security-logs__filters[_ngcontent-%COMP%] > input[type=date][_ngcontent-%COMP%]{min-height:2.55rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem}.security-logs__pre[_ngcontent-%COMP%]{margin:0;white-space:pre-wrap;font:inherit;font-size:.82rem;color:var(--text-color-secondary)}.security-logs__message[_ngcontent-%COMP%]{border-radius:.75rem;padding:.75rem 1rem;margin-bottom:.75rem;background:color-mix(in srgb,#16a34a 12%,var(--surface-card));color:#166534;font-weight:700}.security-logs__message.is-error[_ngcontent-%COMP%]{background:color-mix(in srgb,#dc2626 12%,var(--surface-card));color:#b91c1c}.sa-status.warning[_ngcontent-%COMP%]{background:#f59e0b26;color:#b45309}.sa-status.error[_ngcontent-%COMP%], .sa-status.critical[_ngcontent-%COMP%]{background:#ef444426;color:#b91c1c}.sa-status.info[_ngcontent-%COMP%]{background:#3b82f626;color:#1d4ed8}.sa-metrics[_ngcontent-%COMP%]{grid-template-col
3umns:repeat(3,minmax(0,1fr))}']})};function qa(c,r){if(c&1&&(t(0,"div",19)(1,"article",20),d(2,"div",21),t(3,"div",22),d(4,"i",23),n(),t(5,"div",24),a(6),n(),t(7,"div",25),a(8,"Database"),n()(),t(9,"article",20),d(10,"div",21),t(11,"div",22),d(12,"i",26),n(),t(13,"div",24),a(14),n(),t(15,"div",25),a(16,"Razorpay"),n()(),t(17,"article",20),d(18,"div",21),t(19,"div",22),d(20,"i",27),n(),t(21,"div",24),a(22),n(),t(23,"div",25),a(24,"Webhook Secret"),n()(),t(25,"article",20),d(26,"div",21),t(27,"div",22),d(28,"i",28),n(),t(29,"div",24),a(30),n(),t(31,"div",25),a(32,"Email"),n()(),t(33,"article",20),d(34,"div",21),t(35,"div",22),d(36,"i",29),n(),t(37,"div",24),a(38),y(39,"titlecase"),n(),t(40,"div",25),a(41,"Latest Cron"),n(),t(42,"div",30),a(43),n()(),t(44,"article",20),d(45,"div",21),t(46,"div",22),d(47,"i",31),n(),t(48,"div",24),a(49),n(),t(50,"div",25),a(51,"Failed Transactions"),n()()()),c&2){let e=g();o(),S("color-green",e.health.database_ok)("color-amber",!e.health.database_ok),o(5),p(e.health.database_ok?"OK":"Issue"),o(3),S("color-green",e.health.razorpay_configured)("color-amber",!e.health.razorpay_configured),o(5),p(e.health.razorpay_configured?"Configured":"Missing"),o(3),S("color-green",e.health.webhook_secret_configured)("color-amber",!e.health.webhook_secret_configured),o(5),p(e.health.webhook_secret_configured?"Configured":"Missing"),o(3),S("color-green",e.health.email_configured)("color-amber",!e.health.email_configured),o(5),p(e.health.email_configured?"Configured":"Check setup"),o(3),S("color-green",e.health.latest_cron_status==="success")("color-amber",e.health.latest_cron_status!=="success"),o(5),p(de(39,31,e.health.latest_cron_status)),o(5),p(e.health.latest_cron_name||"No cron run yet"),o(),S("color-green",e.health.pending_failed_transactions===0)("color-amber",e.health.pending_failed_transactions!==0),o(5),p(e.health.pending_failed_transactions)}}function Ya(c,r){if(c&1&&(t(0,"a",34),d(1,"i",35),t(2,"span"),a(3),n()()),c&2){let e=g(2);o(3),ue("",e.health.critical_unresolved_errors," critical unresolved billing error",e.health.critical_unresolved_errors===1?"":"s","")}}function Ga(c,r){if(c&1&&(t(0,"a",34),d(1,"i",31),t(2,"span"),a(3),n()()),c&2){let e=g(2);o(3),ue("",e.health.webhook_failures," unresolved webhook issue",e.health.webhook_failures===1?"":"s","")}}function Ka(c,r){if(c&1&&(t(0,"a",34),d(1,"i",36),t(2,"span"),a(3),n()()),c&2){let e=g(2);o(3),ue("",e.health.payment_verification_errors," payment verification issue",e.health.payment_verification_errors===1?"":"s","")}}function Qa(c,r){if(c&1&&(t(0,"div",32),x(1,Ya,4,2,"a",33)(2,Ga,4,2,"a",33)(3,Ka,4,2,"a",33),n()),c&2){let e=g();o(),m("ngIf",(e.health.critical_unresolved_errors||0)>0),o(),m("ngIf",(e.health.webhook_failures||0)>0),o(),m("ngIf",(e.health.payment_verification_errors||0)>0)}}var nn=class c{constructor(r){this.subscriptionService=r}health=null;loading=!1;message="";hasError=!1;ngOnInit(){this.load()}load(){this.loading=!0,this.message="",this.hasError=!1,this.subscriptionService.getBillingHealth().subscribe({next:r=>{this.health=r,this.loading=!1},error:()=>{this.loading=!1,this.hasError=!0,this.message="Unable to load billing health."}})}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-billing-health"]],decls:24,vars:6,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-heart"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-primary",3,"click","disabled"],[1,"pi","pi-refresh"],["errorTitle","Billing health unavailable","preset","stats-grid",3,"retry","loading","errorMessage","showRetry"],["class","sa-metrics sa-metrics--compact",4,"ngIf"],["class","billing-health__alerts",4,"ngIf"],[1,"sa-metrics","sa-metrics--compact"],[1,"sa-metric"],[1,"sa-metric__glow"],[1,"sa-metric__icon"],[1,"pi","pi-database"],[1,"sa-metric__value"],[1,"sa-metric__label"],[1,"pi","pi-wallet"],[1,"pi","pi-link"],[1,"pi","pi-envelope"],[1,"pi","pi-clock"],[1,"sa-metric__meta"],[1,"pi","pi-exclamation-circle"],[1,"billing-health__alerts"],["routerLink","/super-admin/billing-error-logs","class","sa-alert",4,"ngIf"],["routerLink","/super-admin/billing-error-logs",1,"sa-alert"],[1,"pi","pi-exclamation-triangle"],[1,"pi","pi-lock"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing ops"),n(),t(9,"h2",8),a(10,"Billing Health"),n(),t(11,"p",9),a(12,"Operational status for database, Razorpay, webhooks, email, cron, and failed payments."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"Health checks"),n(),t(17,"div",13)(18,"button",14),u("click",function(){return i.load()}),d(19,"i",15),a(20," Refresh "),n()()(),t(21,"app-data-state",16),u("retry",function(){return i.load()}),x(22,qa,52,33,"div",17)(23,Qa,4,3,"div",18),n()()()),e&2&&(o(18),m("disabled",i.loading),o(3),m("loading",i.loading)("errorMessage",i.hasError?i.message:null)("showRetry",!0),o(),m("ngIf",i.health),o(),m("ngIf",i.health))},dependencies:[E,B,Ke,Mt,yt,z,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
3align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.billing-health__alerts[_ngcontent-%COMP%]{display:grid;gap:.75rem}']})};function Ja(c,r){if(c&1&&(t(0,"article",56),d(1,"div",57),t(2,"div",58),d(3,"i",59),n(),t(4,"div",60),a(5),n(),t(6,"div",61),a(7),n(),t(8,"div",62),a(9),n()()),c&2){let e=r.$implicit,i=g(2);m("ngClass",e.color||""),o(3),m("ngClass",e.icon),o(2),p(e.currency?i.money(e.value):e.value),o(2),p(e.label),o(2),p(e.meta)}}function $a(c,r){if(c&1&&(t(0,"article",56),d(1,"div",57),t(2,"div",58),d(3,"i",59),n(),t(4,"div",60),a(5),n(),t(6,"div",61),a(7),n(),t(8,"div",62),a(9),n()()),c&2){let e=r.$implicit,i=g(2);m("ngClass",e.color||""),o(3),m("ngClass",e.icon),o(2),p(e.currency?i.money(e.value):e.value),o(2),p(e.label),o(2),p(e.meta)}}function Za(c,r){if(c&1&&(t(0,"div",63)(1,"span"),a(2),n(),t(3,"div"),d(4,"i"),n(),t(5,"strong"),a(6),n()()),c&2){let e=r.$implicit,i=g(2);o(2),p(e.label),o(2),xt("width",i.barWidth(e.total_revenue,i.analytics.revenue_by_month,"total_revenue"),"%"),o(2),p(i.money(e.total_revenue||0))}}function Xa(c,r){c&1&&(t(0,"p",64),a(1,"No paid revenue in this period."),n())}function eo(c,r){if(c&1&&(t(0,"div",63)(1,"span"),a(2),n(),t(3,"div"),d(4,"i"),n(),t(5,"strong"),a(6),n()()),c&2){let e=r.$implicit,i=g(2);o(2),p(e.package_name),o(2),xt("width",i.barWidth(e.total_revenue,i.analytics.revenue_by_package,"total_revenue"),"%"),o(2),p(i.money(e.total_revenue||0))}}function to(c,r){c&1&&(t(0,"p",64),a(1,"No package revenue found."),n())}function no(c,r){if(c&1&&(t(0,"div")(1,"span"),a(2),n(),t(3,"strong"),a(4),n()()),c&2){let e=r.$implicit,i=g(2);o(2),p(i.label(e.status)),o(2),p(e.count||0)}}function ro(c,r){if(c&1&&(t(0,"div",63)(1,"span"),a(2),n(),t(3,"div"),d(4,"i"),n(),t(5,"strong"),a(6),n()()),c&2){let e=r.$implicit,i=g(2);o(2),p(i.label(e.status)),o(2),xt("width",i.barWidth(e.count,i.analytics.payment_success_vs_failed,"count"),"%"),o(2),p(e.count||0)}}function io(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Date"),n(),t(3,"th"),a(4,"Company"),n(),t(5,"th"),a(6,"Package"),n(),t(7,"th"),a(8,"Payment Type"),n(),t(9,"th"),a(10,"Amount"),n(),t(11,"th"),a(12,"Status"),n()())}function ao(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),y(3,"date"),n(),t(4,"td"),a(5),n(),t(6,"td"),a(7),n(),t(8,"td"),a(9),n(),t(10,"td"),a(11),n(),t(12,"td")(13,"span",65),a(14),n()()()),c&2){let e=r.$implicit,i=g(2);o(2),p(T(3,7,e.date,"medium")),o(3),p(e.company),o(2),p(e.package),o(2),p(i.label(e.payment_type)),o(2),p(i.money(e.amount,e.currency)),o(2),m("ngClass",(e.status||"").toLowerCase()),o(),p(i.label(e.status))}}function oo(c,r){c&1&&(t(0,"tr")(1,"td",66)(2,"div",64),a(3,"No recent payments found."),n()()())}function so(c,r){if(c&1&&(t(0,"div",32)(1,"div",33),x(2,Ja,10,5,"article",34),n(),t(3,"div",35),x(4,$a,10,5,"article",34),n(),t(5,"div",36)(6,"div",37)(7,"h3",38),d(8,"i",39),a(9," Revenue by Month"),n(),t(10,"div",40),x(11,Za,7,4,"div",41)(12,Xa,2,0,"p",42),n()(),t(13,"div",37)(14,"h3",38),d(15,"i",43),a(16," Revenue by Package"),n(),t(17,"div",40),x(18,eo,7,4,"div",41)(19,to,2,0,"p",42),n()(),t(20,"div",37)(21,"h3",38),d(22,"i",44),a(23," Subscription Status"),n(),t(24,"div",45),x(25,no,5,2,"div",46),n()(),t(26,"div",37)(27,"h3",38),d(28,"i",47),a(29," Conversion & Payments"),n(),t(30,"div",48)(31,"div")(32,"span"),a(33,"Trial to Paid"),n(),t(34,"strong"),a(35),n()(),t(36,"div")(37,"span"),a(38,"Churn Rate"),n(),t(39,"strong"),a(40),n()()(),t(41,"div",49),x(42,ro,7,4,"div",41),n()()(),t(43,"div",37)(44,"div",50)(45,"h3",12),a(46," Recent Payments "),t(47,"span",51),a(48),n()()(),t(49,"p-table",52),x(50,io,13,0,"ng-template",53)(51,ao,15,10,"ng-template",54)(52,oo,4,0,"ng-template",55),n()()()),c&2){let e=g();o(2),m("ngForOf",e.metricCards.slice(0,4)),o(2),m("ngForOf",e.metricCards.slice(4)),o(7),m("ngForOf",e.analytics.revenue_by_month),o(),m("ngIf",!e.anal
3ytics.revenue_by_month.length),o(6),m("ngForOf",e.analytics.revenue_by_package),o(),m("ngIf",!e.analytics.revenue_by_package.length),o(6),m("ngForOf",e.analytics.subscription_status_breakdown),o(10),P("",e.analytics.trial_conversion_rate,"%"),o(5),P("",e.analytics.churn_rate,"%"),o(2),m("ngForOf",e.analytics.payment_success_vs_failed),o(6),p(e.analytics.recent_payments.length),o(),m("value",e.analytics.recent_payments)("paginator",!0)("rows",10)("rowHover",!0)}}var rn=class c{constructor(r){this.subscriptionService=r}analytics=null;loading=!1;message="";filters={date_from:"",date_to:"",plan_package:"",payment_type:""};ngOnInit(){this.load()}get metricCards(){return this.analytics?[{label:"Total Revenue",value:this.analytics.total_revenue,currency:!0,meta:"Paid transactions only",icon:"pi-wallet",color:"color-green"},{label:"MRR",value:this.analytics.monthly_recurring_revenue,currency:!0,meta:"Active monthly value",icon:"pi-chart-line",color:"color-blue"},{label:"ARR",value:this.analytics.annual_recurring_revenue,currency:!0,meta:"MRR multiplied by 12",icon:"pi-chart-bar",color:"color-purple"},{label:"Revenue This Month",value:this.analytics.revenue_this_month,currency:!0,meta:"Paid this calendar month",icon:"pi-calendar",color:"color-amber"},{label:"Active Subscriptions",value:this.analytics.active_subscriptions,meta:"Currently active companies",icon:"pi-check-circle",color:"color-blue"},{label:"Trial Companies",value:this.analytics.trial_companies,meta:"Companies in trial",icon:"pi-clock",color:"color-amber"},{label:"Expired Companies",value:this.analytics.expired_companies,meta:"Expired subscriptions",icon:"pi-ban",color:""},{label:"Payment Failed",value:this.analytics.payment_failed_count,meta:"Failed payment records",icon:"pi-exclamation-circle",color:"color-amber"}]:[]}load(){this.loading=!0,this.message="",this.subscriptionService.getRevenueAnalytics(this.filters).subscribe({next:r=>{this.analytics=r,this.loading=!1},error:()=>{this.analytics=null,this.message="Unable to load revenue analytics.",this.loading=!1}})}resetFilters(){this.filters={date_from:"",date_to:"",plan_package:"",payment_type:""},this.load()}money(r,e="INR"){return new Intl.NumberFormat("en-IN",{style:"currency",currency:e||"INR",maximumFractionDigits:2}).format(Number(r||0))}label(r){return String(r||"-").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}barWidth(r,e,i){let l=Number(r||0),s=Math.max(...e.map(C=>Number(C[i]||0)),0);return s>0?Math.max(l/s*100,4):0}exportCsv(){if(!this.analytics)return;let e=[["Date","Company","Package","Payment Type","Amount","Status"],...this.analytics.recent_payments.map(C=>[C.date,C.company,C.package,this.label(C.payment_type),C.amount,this.label(C.status)])].map(C=>C.map(A=>`"${String(A??"").replace(/"/g,'""')}"`).join(",")).join(` 4`),i=new Blob([e],{type:"text/csv;charset=utf-8;"}),l=window.URL.createObjectURL(i),s=document.createElement("a");s.href=l,s.download=`revenue-analytics-${new Date().toISOString().slice(0,10)}.csv`,s.click(),window.URL.revokeObjectURL(l)}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-revenue-analytics"]],decls:44,vars:10,consts:[[1,"sa-page","component-margin","revenue-analytics"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-chart-line"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar","sa-toolbar--single-line"],[1,"sa-toolbar__title"],[1,"sa-toolbar__filters","revenue-analytics__filters"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","From date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","From date",3,"ngModelChange","ngModel","showIcon"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","To date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","To date",3,"ngModelChange","ngModel","showIcon"],[1,"sa-search"],[1,"pi","pi-bookmark"],["pInputText","","type","text","placeholder","Package name, code or ID",3,"ngModelChange","ngModel"],["aria-label","Payment type",3,"ngModelChange","ngModel"],["value",""],["value","new_purchase"],["value","upgrade"],["value","add_users"],["value","renewal"],["type","button",1,"sa-btn-text",3,"click"],["type","button",1,"sa-btn-secondary",3,"click","disabled"],[1,"pi","pi-download"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-refresh"],["errorTitle","Revenue analytics unavailable","preset","stats-grid",3,"loading","errorMessage"],["class","revenue-analytics__stack",4,"ngIf"],[1,"revenue-analytics__stack"],[1,"sa-metrics"],["class","sa-metric",3,"ngClass",4,"ngFor","ngForOf"],[1,"sa-metrics","sa-metrics--compact"],[1,"revenue-analytics__grid"],[1,"sa-glass"],[1,"sa-card-title"],[1,"pi","pi-calendar"],[1,"bar-list"],["class","bar-row",4,"ngFor","ngForOf"],["class","sa-empty",4,"ngIf"],[1,"pi","pi-box"],[1,"pi","pi-list"],[1,"status-grid"],[4,"ngFor","ngForOf"],[1,"pi","pi-percentage"],[1,"conversion-grid"],[1,"bar-list","compact"],[1,"sa-toolbar"],[1,"sa-toolbar__count"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"sa-metric",3,"ngClass"],[1,"sa-metric__glow"],[1,"sa-metric__icon"],[1,"pi",3,"ngClass"],[1,"sa-metric__value"],[1,"sa-metric__label"],[1,"sa-metric__meta"],[1,"bar-row"],[1,"sa-empty"],[1,"sa-status",3,"ngClass"],["colspan","6"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing"),n(),t(9,"h2",8),a(10,"Revenue Analytics"),n(),t(11,"p",9),a(12,"Track SaaS revenue, subscriptions, trials, renewals, upgrades, and failed payments."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"Filters"),n(),t(17,"div",13)(18,"p-datepicker",14),v("ngModelChange",function(s){return h(i.filters.date_from,s)||(i.filters.date_from=s),s}),n(),t(19,"p-datepicker",15),v("ngModelChange",function(s){return h(i.filters.date_to,s)||(i.filters.date_to=s),s}),n(),t(20,"span",16),d(21,"i",17),t(22,"input",18),v("ngModelChange",function(s){return h(i.filters.plan_package,s)||(i.filters.plan_package=s),s}
4),n()(),t(23,"select",19),v("ngModelChange",function(s){return h(i.filters.payment_type,s)||(i.filters.payment_type=s),s}),t(24,"option",20),a(25,"All types"),n(),t(26,"option",21),a(27,"New purchase"),n(),t(28,"option",22),a(29,"Upgrade"),n(),t(30,"option",23),a(31,"Add users"),n(),t(32,"option",24),a(33,"Renewal"),n()(),t(34,"button",25),u("click",function(){return i.resetFilters()}),a(35,"Reset"),n(),t(36,"button",26),u("click",function(){return i.exportCsv()}),d(37,"i",27),a(38," Export CSV "),n(),t(39,"button",28),u("click",function(){return i.load()}),d(40,"i",29),a(41," Apply "),n()()(),t(42,"app-data-state",30),x(43,so,53,15,"div",31),n()()()),e&2&&(o(18),f("ngModel",i.filters.date_from),m("showIcon",!0),o(),f("ngModel",i.filters.date_to),m("showIcon",!0),o(3),f("ngModel",i.filters.plan_package),o(),f("ngModel",i.filters.payment_type),o(13),m("disabled",!i.analytics),o(6),m("loading",i.loading)("errorMessage",i.message||null),o(),m("ngIf",i.analytics))},dependencies:[E,q,ne,B,J,L,St,kt,W,Ot,V,U,j,K,N,H,G,he,fe,D],styles:['@charset "UTF-8";.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}[_nghost-%COMP%]{display:block}[_nghost-%COMP%] app-data-state{display:flex;flex-direction:column;gap:1.5rem}.revenue-analytics[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.revenue-analytics[_ngcontent-%COMP%] .sa-content[_ngcontent-%COMP%], .revenue-analytics[_ngcontent-%COMP%] .sa-metrics[_ngcontent-%COMP%]{gap:1.5rem}.revenue-analytics[_ngcontent-%COMP%] .sa-metrics--compact[_ngcontent-%COMP%]{gap:1.25rem}.revenue-analytics__stack[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.sa-toolbar--wrap[_ngcontent-%COMP%]{flex-wrap:nowrap;overflow-x:auto}.revenue-analytics__filters[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;min-width:0}.revenue-analytics[_ngcontent-%COMP%] .sa-toolbar__actions[_ngcontent-%COMP%]{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.5rem;flex:0 0 auto;margin-left:auto}.revenue-analytics__filters[_ngcontent-%COMP%] > input[type=date][_ngcontent-%COMP%], .revenue-analytics__filters[_ngcontent-%COMP%] > select[_ngcontent-%COMP%]{min-height:2.55rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit}.revenue-analytics__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.bar-list[_ngcontent-%COMP%]{display:grid;gap:.8rem}.bar-list.compact[_ngcontent-%COMP%]{margin-top:1rem}.bar-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(8rem,2fr) auto;gap:.75rem;
4align-items:center}.bar-row[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.82rem;font-weight:700}.bar-row[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{height:.65rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 10%,transparent);overflow:hidden}.bar-row[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{display:block;height:100%;min-width:.25rem;border-radius:inherit;background:var(--primary-color)}.bar-row[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:.9rem}.status-grid[_ngcontent-%COMP%], .conversion-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem}.status-grid[_ngcontent-%COMP%] > div[_ngcontent-%COMP%], .conversion-grid[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border:1px solid var(--surface-border);border-radius:var(--hrms-radius-md, .75rem);padding:.85rem;display:grid;gap:.25rem}.status-grid[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .conversion-grid[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.82rem;font-weight:700}.status-grid[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], .conversion-grid[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:1.35rem}@media (max-width: 1100px){.revenue-analytics__grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}@media (max-width: 700px){.bar-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})};function lo(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Date"),n(),t(3,"th"),a(4,"Backup Type"),n(),t(5,"th"),a(6,"Status"),n(),t(7,"th"),a(8,"File Path"),n(),t(9,"th"),a(10,"Error Message"),n()())}function co(c,r){if(c&1&&(t(0,"tr")(1,"td"),a(2),y(3,"date"),n(),t(4,"td"),a(5),n(),t(6,"td")(7,"span",31),a(8),n()(),t(9,"td",32),a(10),n(),t(11,"td"),a(12),n()()),c&2){let e=r.$implicit,i=g();o(2),p(T(3,6,e.started_at,"medium")),o(3),p(e.backup_type_label||i.label(e.backup_type)),o(2),m("ngClass",e.status),o(),p(e.status_label||i.label(e.status)),o(2),p(e.file_path||"-"),o(2),p(e.error_message||"-")}}function mo(c,r){c&1&&(t(0,"tr")(1,"td",33)(2,"div",34),a(3,"No backup logs found."),n()()())}var an=class c{constructor(r){this.subscriptionService=r}logs=[];loading=!1;message="";filters={backup_type:"",status:"",date_from:"",date_to:""};backupTypeOptions=[{value:"",label:"All types"},{value:"database",label:"Database"},{value:"billing_only",label:"Billing only"},{value:"invoices",label:"Invoices"},{value:"full",label:"Full"}];statusOptions=[{value:"",label:"All statuses"},{value:"started",label:"Started"},{value:"success",label:"Success"},{value:"failed",label:"Failed"}];ngOnInit(){this.load()}load(){this.loading=!0,this.message="",this.subscriptionService.getBackupLogs(this.filters).subscribe({next:r=>{this.logs=r,this.loading=!1},error:()=>{this.logs=[],this.message="Unable to load backup logs.",this.loading=!1}})}resetFilters(){this.filters={backup_type:"",status:"",date_from:"",date_to:""},this.load()}label(r){return String(r||"-").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-backup-logs"]],decls:40,vars:15,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-database"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar","sa-toolbar--wrap"],[1,"sa-toolbar__title"],[1,"sa-toolbar__filters","backup-logs__filters"],["variant","on"],["inputId","bl_backup_type","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bl_backup_type"],["inputId","bl_status","optionLabel","label","optionValue","value","styleClass","w-full",3,"ngModelChange","options","ngModel"],["for","bl_status"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","From date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","From date",3,"ngModelChange","ngModel","showIcon"],["appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","To date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input","ariaLabel","To date",3,"ngModelChange","ngModel","showIcon"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-text",3,"click"],["type","button",1,"sa-btn-primary",3,"click"],[1,"pi","pi-refresh"],[1,"sa-glass"],["errorTitle","Backup logs unavailable","preset","table",3,"retry","loading","errorMessage","showRetry"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],[1,"sa-status",3,"ngClass"],[1,"backup-logs__path"],["colspan","5"],[1,"sa-empty"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Billing ops"),n(),t(9,"h2",8),a(10,"Backup Logs"),n(),t(11,"p",9),a(12,"Review billing data, invoice backup, and verification runs."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"Filters"),n(),t(17,"div",13)(18,"p-floatlabel",14)(19,"p-dropdown",15),v("ngModelChange",function(s){return h(i.filters.backup_type,s)||(i.filters.backup_type=s),s}),n(),t(20,"label",16),a(21,"Backup Type"),n()(),t(22,"p-floatlabel",14)(23,"p-dropdown",17),v("ngModelChange",function(s){return h(i.filters.status,s)||(i.filters.status=s),s}),n(),t(24,"label",18),a(25,"Status"),n()(),t(26,"p-datepicker",19),v("ngModelChange",function(s){return h(i.filters.date_from,s)||(i.filters.date_from=s),s}),n(),t(27,"p-datepicker",20),v("ngModelChange",function(s){return h(i.filters.date_to,s)||(i.filters.date_to=s),s}),n()(),t(28,"div",21)(29,"button",22),u("click",function(){return i.resetFilters()}),a(30,"Reset"),n(),t(31,"button",23),u("click",function(){return i.load()}),d(32,"i",24),a(33," Apply "),n()()(),t(34,"div",25)(35,"app-data-state",26),u("retry",function(){return i.load()}),t(36,"p-table",27),x(37,lo,11,0,"ng-template",28)(38,co,13,9,"
4ng-template",29)(39,mo,4,0,"ng-template",30),n()()()()()),e&2&&(o(19),m("options",i.backupTypeOptions),f("ngModel",i.filters.backup_type),o(4),m("options",i.statusOptions),f("ngModel",i.filters.status),o(3),f("ngModel",i.filters.date_from),m("showIcon",!0),o(),f("ngModel",i.filters.date_to),m("showIcon",!0),o(8),m("loading",i.loading)("errorMessage",i.message||null)("showRetry",!!i.message),o(),m("value",i.logs)("paginator",!0)("rows",10)("rowHover",!0))},dependencies:[E,q,J,L,V,U,j,K,N,z,H,ee,X,se,ge,he,fe,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.sa-toolbar--wrap[_ngcontent-%COMP%]{flex-wrap:wrap}.backup-logs__filters[_ngcontent-%COMP%]{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.backup-logs__filters[_ngcontent-%COMP%] > input[type=date][_ngcontent-%COMP%]{min-height:2.55rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem}.backup-logs__path[_ngcontent-%COMP%]{max-width:32rem;word-break:break-word;color:var(--text-color-secondary)}.sa-status.success[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-status.started[_ngcontent-%COMP%]{background:#3b82f626;color:#0369a1}']})};function po(c,r){if(c&1&&(t(0,"div",41),a(1),n()),c&2){let e=g();S("is-error",e.hasError),o(),p(e.message)}}var on=class c{constructor(r){this.subscriptionService=r}form=this.emptyForm();testRecipient="";message="";hasError=!1;saving=!1;testing=!1;ngOnInit(){this.load()}load(){this.subscriptionService.getEmailConfiguration().subscribe({next:r=>{this.form=F(w(w({},this.emptyForm()),r),{email_password:""})},error:()=>this.showMessage("Unable to load email configuration.",!0)})}save(){let r=this.validateConfig();if(r){this.showMessage(r,!0);return}let e=w({},this.form);e.email_password||delete e.email_password,this.saving=!0,this.subscriptionService.saveEmailConfiguration(e).subscribe({next:i=>{this.form=F(w({},i),{email_password:""}),this.showMessage("Email configuration saved successfully.")},error:i=>this.showMessage(i?.error?.message||"Unable to save email configuration.",!0),complete:()=>this.saving=!1})}sendTestEmail(){if(!this.isEmail(this.testRecipient)){this.showMessage("Enter a valid recipient email address.",!0);return}this.testing=!0,this.subscriptionService.sendTestEmail(this.testRecipient).subscribe({next:r=>this.showMessage(r.message||"Test email sent successfully.",!r.success),error:r=>this.showMessage(r?.error?.message||"Unable to send test email.",!0),complete:()=>this.testing=!1})}
4onTlsChange(){this.form.use_tls&&(this.form.use_ssl=!1)}onSslChange(){this.form.use_ssl&&(this.form.use_tls=!1)}validateConfig(){if(!String(this.form.email_host||"").trim())return"SMTP host is required.";let r=Number(this.form.email_port||0);return!Number.isInteger(r)||r<1||r>65535?"SMTP port must be between 1 and 65535.":this.isEmail(this.form.default_from_email||"")?this.form.use_tls&&this.form.use_ssl?"TLS and SSL cannot both be enabled.":"":"Enter a valid default from email."}isEmail(r){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(r||"").trim())}showMessage(r,e=!1){this.message=r,this.hasError=e}emptyForm(){return{provider_name:"SMTP",email_host:"",email_port:587,email_username:"",email_password:"",default_from_email:"",use_tls:!0,use_ssl:!1,is_active:!0}}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-email-configuration"]],decls:82,vars:22,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-server"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__actions"],[1,"email-config__badge"],[1,"sa-glass",3,"ngSubmit"],[1,"sa-card-title"],[1,"pi","pi-cog"],[1,"email-config__grid"],["pInputText","","name","provider_name","placeholder","Gmail, Hostinger, Zoho",3,"ngModelChange","ngModel"],["pInputText","","name","email_host","required","","placeholder","smtp.gmail.com",3,"ngModelChange","ngModel"],["pInputText","","name","email_port","type","number","min","1","max","65535","required","",3,"ngModelChange","ngModel"],["pInputText","","name","email_username","autocomplete","username","placeholder","[email protected]",3,"ngModelChange","ngModel"],["pInputText","","name","email_password","type","password","autocomplete","new-password",3,"ngModelChange","ngModel","placeholder"],["pInputText","","name","default_from_email","type","email","required","","placeholder","[email protected]",3,"ngModelChange","ngModel"],[1,"email-config__toggles"],["for","use_tls",1,"email-config__toggle"],["name","use_tls","inputId","use_tls",3,"ngModelChange","ngModel","binary"],["for","use_ssl",1,"email-config__toggle"],["name","use_ssl","inputId","use_ssl",3,"ngModelChange","ngModel","binary"],["for","smtp_is_active",1,"email-config__toggle"],["name","is_active","inputId","smtp_is_active",3,"ngModelChange","ngModel","binary"],["class","email-config__message",3,"is-error",4,"ngIf"],[1,"email-config__actions"],["type","submit",1,"sa-btn-primary",3,"disabled"],[1,"sa-glass","email-config__test",3,"ngSubmit"],[1,"email-config__eyebrow"],[1,"sa-card-title",2,"margin","0.25rem 0"],[1,"pi","pi-send"],[1,"email-config__hint"],["pInputText","","name","test_recipient","type","email","required","","placeholder","[email protected]",3,"ngModelChange","ngModel"],[1,"email-config__message"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"SMTP Settings"),n(),t(9,"h2",8),a(10,"Email Configuration"),n(),t(11,"p",9),a(12,"Configure the SMTP account used for CRM activity reminder emails."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16,"SMTP account"),n(),t(17,"div",13)(18,"span",14),a(19),n()()(),t(20,"form",15),u("ngSubmit",function(){return i.save()}),t(21,"h3",16),d(22,"i",17),a(23," Connection settings"),n(),t(24,"div",18)(25,"label")(26,"span"),a(27,"Provider Name"),n(),t(28,"input",19),v("ngModelChange",function(s){return h(i.form.provider_name,s)||(i.form.provider_name=s),s}),n()(),t(29,"label")(30,"span"),a(31,"SMTP Host"),n(),t(32,"input",20),v("ngModelChange",function(s){return h(i.form.email_host,s)||(i.form.email_host=s),s}),n()(),t(33,"label")(34,"span"),a(35,"SMTP Port"),n(),t(36,"input",21),v("ngModelChange",function(s){return h(i.form.email_port,s)||(i.form.email_port=s),s}),n()(),t(37,"label")(38,"span"),a(39,"Email Username"),n(),t(40,"input",22),v("ngModelChange",function(s){return h(i.form.email_username,s)||(i.form.email_username=s),s}),n()(),t(41,"label")(42,"span"),a(43,"Email Password"),n(),t(44,"input",23),v("ngModelChange",function(s){return h(i.form.email_password,s)||(i.form.email_password=s),s}),n()(),t(45,"label")(46,"span"),a(47,"Default From Email"),n(),t(48,"input",24),v("ngModelChange",function(s){return h(i.form.default_from_email,s)||(i.form.default_from_email=s),s}),n()()(),t(49,"div",25)(50,"label",26)(51,"p-checkbox",27),v("ngModelChange",function(s){return h(i.form.use_tls,s)||(i.form.use_tls=s),s}),u("ngModelChange",function(){return i.onTlsChange()}),n(),t(52,"span"),a(53,"Use TLS"),n()(),t(54,"label",28)(55,"p-checkbox",29),v("ngModelChange",function(s){return h(i.form.use_ssl,s)||(i.form.use_ssl=s),s}),u("ngModelChange",function(){return i.onSslChange()}),n(),t(56,"span"),a(57,"Use SSL"),n()(),t(58,"label",30)(59,"p-checkbox",31),v("ngModelChange",function(s){return h(i.form.is_active,s)||(i.form.is_active=s),s}),n(),t(60,"span"),a(61,"Active"),n()()(),x(62,po,2,3,"div",32),t(63,"footer",33)(64,"button",34),a(65),n()()(),t(66,"form",35),u("ngSubmit",function(){return i.sendTestEmail()}),t(67,"div")(68,"span",36),a(69,"Test SMTP"),n(),t(70,"h3",37),d(71,"i",38),a(72," Send Test Email"),n(),t(73,"p",39),a(74,"Send a sample email to confirm these settings work before enabling reminder emails."),n()(),t(75,"label")(76,"span"),a(77,"Recipient Email"),n(),t(78,"input",40),v("ngModelChange",function(s){return h(i.testRecipient,s)||(i.testRecipient=s),s}),n()(),t(79,"footer",33)(80,"button",34),a(81),n()()()()()),e&2&&(o(18),S("is-live",i.form.is_active),o(),P(" ",i.form.is_active?"Active":"Inactive"," "),o(9),f("ngModel",i.form.provider_name),o(4),f("ngModel",i.form.email_host),o(4),f("ngModel",i.form.email_port),o(4),f("ngModel",i.form.email_username),o(4),f("ngModel",i.form.email_password),m("placeholder",i.form.has_password?"Password saved. Enter only to replace.":"SMTP password or app password"),o(4),f("ngModel",i.form.default_from_email),o(3),f("ngModel",i.form.use_tls),m("binary",!0),o(4),f("ngModel",i.form.use_ssl),m("binary",!0),o(4),f("ngModel",i.form.is_active),m("binary",!0),o(3),m("ngIf",i.message),o(2),m("disabled",i.saving),o(),P(" ",i.saving?"Saving...":"Save Settings"," "),o(13),f("ngModel",i.testRecipient),o(2),m("disabled",i.testing||!i.form.is_active),o(),P(" ",i.testing?"
4Sending...":"Send Test Email"," "))},dependencies:[E,B,L,Ee,W,Be,V,ke,mt,De,ct,U,ot,z,Ie,Te,H,G],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.email-config__badge[_ngcontent-%COMP%]{border-radius:999px;padding:.35rem .7rem;color:#854d0e;background:#fef3c7;font-weight:800;font-size:.82rem}
4.email-config__badge.is-live[_ngcontent-%COMP%]{color:#166534;background:#dcfce7}.email-config__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.email-config__grid[_ngcontent-%COMP%] > label[_ngcontent-%COMP%], .email-config__test[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{display:grid;gap:.35rem;font-weight:700}.email-config__grid[_ngcontent-%COMP%] label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%], .email-config__test[_ngcontent-%COMP%] label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.82rem}.email-config__grid[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .email-config__test[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-height:2.55rem;box-sizing:border-box}.email-config__toggles[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.email-config__toggle[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.45rem;font-weight:700}.email-config__toggle[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{cursor:pointer}.email-config__actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;margin-top:1rem}.email-config__message[_ngcontent-%COMP%]{margin-top:1rem;border-radius:.7rem;padding:.75rem;background:#dcfce7;color:#166534;font-weight:800}.email-config__message.is-error[_ngcontent-%COMP%]{background:#fee2e2;color:#991b1b}.email-config__test[_ngcontent-%COMP%]{max-width:48rem;display:grid;gap:1rem}.email-config__eyebrow[_ngcontent-%COMP%]{color:var(--primary-color);font-weight:800;text-transform:uppercase;font-size:.78rem}.email-config__hint[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}@media (max-width: 800px){.email-config__grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})};var go=()=>({standalone:!0});function uo(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Event"),n(),t(3,"th"),a(4,"Status"),n(),t(5,"th"),a(6,"Templates"),n(),t(7,"th"),a(8,"Email"),n(),d(9,"th"),n())}function _o(c,r){if(c&1){let e=M();t(0,"tr")(1,"td")(2,"div",49)(3,"strong"),a(4),n(),t(5,"small"),a(6),n()()(),t(7,"td")(8,"span",50),a(9),n()(),t(10,"td"),a(11),n(),t(12,"td")(13,"label",51)(14,"p-checkbox",52),u("ngModelChange",function(l){let s=_(e).$implicit,C=g();return b(C.toggleEvent(s,l))}),n(),t(15,"span"),a(16),n()()(),t(17,"td")(18,"button",15),u("click",function(){let l=_(e).$implicit,s=g();return b(s.selectEvent(l))}),a(19,"Manage"),n()()()}if(c&2){let e=r.$implicit,i=g();S("is-selected",(i.selectedEvent==null?null:i.selectedEvent.id)===e.id),o(4),p(e.name),o(2),p(e.code),o(2),S("is-disabled",!e.is_active)("is-missing",e.status==="Missing Template"),o(),P(" ",e.status||(e.is_active?"Active":"Disabled")," "),o(2),p(e.template_count||0),o(3),m("ngModel",e.is_active)("ngModelOptions",I(14,go))("binary",!0),o(2),p(e.is_active?"Enabled":"Disabled")}}function bo(c,r){c&1&&(t(0,"tr")(1,"td",53)(2,"div",54),a(3,"No email events found."),n()()())}function fo(c,r){if(c&1&&(t(0,"div",64),a(1),n()),c&2){let e=g(2);S("is-error",e.hasError),o(),p(e.message)}}function ho(c,r){if(c&1){let e=M();t(0,"section",65)(1,"h4"),a(2,"Template"),n(),t(3,"label")(4,"span"),a(5,"Subject"),n(),t(6,"input",66),v("ngModelChange",function(l){_(e);let s=g(2);return h(s.selectedTemplate.subject,l)||(s.selectedTemplate.subject=l),b(l)}),n()(),t(7,"label")(8,"span"),a(9,"HTML Body"),n(),t(10,"textarea",67),v("ngModelChange",function(l){_(e);let s=g(2);return h(s.selectedTemplate.body_html,l)||(s.selectedTemplate.body_html=l),b(l)}),n()(),t(11,"div",59)(12,"button",68),u("click",function(){_(e);let l=g(2);return b(l.saveTemplate())}),a(13,"Save Template"),n()()()}if(c&2){let e=g(2);o(6),f("ngModel",e.selectedTemplate.subject),o(4),f("ngModel",e.selectedTemplate.body_html)}}function vo(c,r){if(c&1){let e=M();t(0,"aside",55)(1,"span",26),a(2),n(),t(3,"h3",56),a(4),n(),t(5,"p",57),a(6),n(),t(7,"label")(8,"span"),a(9,"Test Recipient"),n(),t(10,"input",58),v("ngModelChange",function(l){_(e);let s=g();return h(s.testRecipient,l)||(s.testRecipient=l),b(l)}),n()(),t(11,"div",59)(12,"button",60),u("click",function(){_(e);let l=g();return b(l.sendTest())}),a(13,"Send Test Email"),n(),t(14,"button",61),u("click",function(){_(e);let l=g();return b(l.preview())}),a(15,"Preview Email"),n()(),x(16,fo,2,3,"div",62)(17,ho,14,2,"section",63),n()}if(c&2){let e=g();o(2),p(e.selectedEvent.code),o(2),p(e.selectedEvent.name),o(2),p(e.selectedEvent.description),o(4),f("ngModel",e.testRecipient),o(2),m("disabled",e.testing),o(2),m("disabled",e.previewing),o(2),m("ngIf",e.message),o(),m("ngIf",e.selectedTemplate)}}function xo(c,r){if(c&1&&(t(0,"section",69)(1,"span",26),a(2,"Preview"),n(),t(3,"h3",56),a(4),n(),d(5,"div",70),n()),c&2){let e=g();o(4),p(e.previewResult.rendered_subject||e.previewResult.subject),o(),m("innerHTML",e.previewResult.rendered_html||e.previewResult.body_html,et)}}function Co(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Event"),n(),t(3,"th"),a(4,"Recipient"),n(),t(5,"th"),a(6,"Status"),n(),t(7,"th"),a(8,"Sent"),n(),t(9,"th"),a(10,"Error"),n(),d(11,"th"),n())}function yo(c,r){if(c&1){let e=M();t(0,"button",72),u("click",function(){_(e);let l=g().$implicit,s=g();return b(s.resend(l))}),a(1,"Resend"),n()}}function Mo(c,r){if(c&1){let e=M();t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),n(),t(5,"td")(6,"span",50),a(7),n()(),t(8,"td"),a(9),y(10,"date"),n(),t(11,"td"),a(12),n(),t(13,"td")(14,"div",71)(15,"button",72),u("click",function(){let l=_(e).$implicit,s=g();return b(s.viewLog(l))}),a(16,"View"),n(),x(17,yo,2,0,"button",73),n()()()}if(c&2){let e=r.$implicit;
4o(2),p(e.event_code),o(2),p(e.recipient),o(2),S("is-disabled",e.status!=="sent"),o(),p(e.status),o(2),p(T(10,8,e.sent_at||e.created_at,"short")),o(3),p(e.error_message||"-"),o(5),m("ngIf",e.status==="failed")}}function Po(c,r){c&1&&(t(0,"tr")(1,"td",74)(2,"div",54),a(3,"No notification logs found."),n()()())}function wo(c,r){if(c&1){let e=M();t(0,"section",69)(1,"header",75)(2,"h3",76),a(3,"Email Content"),n(),t(4,"button",15),u("click",function(){_(e);let l=g();return b(l.selectedLog=null)}),a(5,"Close"),n()(),t(6,"h4"),a(7),n(),d(8,"div",70),n()}if(c&2){let e=g();o(7),p(e.selectedLog.subject),o(),m("innerHTML",e.selectedLog.body_html||"",et)}}var sn=class c{constructor(r){this.subscriptionService=r}events=[];logs=[];templates=[];selectedEvent=null;selectedTemplate=null;previewResult=null;selectedLog=null;dashboard={emails_sent_today:0,failed_emails:0,pending_reminders:0,renewal_emails_scheduled:0};logFilters={page_size:20,event_code:"",status:"",organization:"",recipient:"",date_from:"",date_to:""};testRecipient="";loading=!1;testing=!1;previewing=!1;message="";hasError=!1;ngOnInit(){this.load(),this.loadLogs()}load(){this.loading=!0,this.subscriptionService.getEmailEvents().subscribe({next:r=>{this.events=r,!this.selectedEvent&&r.length&&this.selectEvent(r[0])},complete:()=>this.loading=!1})}selectEvent(r){this.selectedEvent=r,this.previewResult=null,this.message="",this.subscriptionService.getEmailEventTemplates(r.code).subscribe({next:e=>{this.templates=e,this.selectedTemplate=e[0]?w({},e[0]):null}})}toggleEvent(r,e){this.subscriptionService.updateEmailEvent(r.id,{is_active:e}).subscribe({next:i=>{this.events=this.events.map(l=>l.id===i.id?i:l),this.selectedEvent?.id===i.id&&(this.selectedEvent=i)}})}saveTemplate(){this.selectedTemplate&&this.subscriptionService.updateEmailTemplate(this.selectedTemplate.id,this.selectedTemplate).subscribe({next:r=>{this.selectedTemplate=w({},r),this.showMessage("Template saved successfully."),this.load()},error:r=>this.showMessage(r?.error?.message||"Unable to save template.",!0)})}preview(){!this.selectedEvent||!this.selectedTemplate||(this.previewing=!0,this.subscriptionService.previewEmailEvent(this.selectedEvent.id,{subject:this.selectedTemplate.subject,body_html:this.selectedTemplate.body_html,sample_data:this.selectedTemplate.preview_data_json||{}}).subscribe({next:r=>this.previewResult=r,error:()=>this.showMessage("Unable to render preview.",!0),complete:()=>this.previewing=!1}))}sendTest(){if(this.selectedEvent){if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.testRecipient)){this.showMessage("Enter a valid test recipient email.",!0);return}this.testing=!0,this.subscriptionService.sendTestEventEmail(this.selectedEvent.id,this.testRecipient).subscribe({next:r=>{this.showMessage(r.message,!r.success),this.loadLogs()},error:r=>{this.showMessage(r?.error?.message||"Unable to send test email.",!0),this.loadLogs()},complete:()=>this.testing=!1})}}loadLogs(){this.subscriptionService.getEmailNotificationLogs(this.logFilters).subscribe({next:r=>this.logs=r}),this.subscriptionService.getEmailNotificationDashboard().subscribe({next:r=>this.dashboard=r})}viewLog(r){this.selectedLog=r}resend(r){this.subscriptionService.resendEmailNotification(r.id).subscribe({next:()=>this.loadLogs()})}showMessage(r,e=!1){this.message=r,this.hasError=e}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-email-notifications"]],decls:88,vars:23,consts:[[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-bell"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-secondary",3,"click"],[1,"pi","pi-refresh"],[1,"email-events__grid"],[1,"sa-glass"],["errorTitle","Events unavailable","preset","table",3,"loading"],["styleClass","p-datatable-sm custom-table",3,"value","rowHover"],["pTemplate","header"],["pTemplate","body"],["pTemplate","emptymessage"],["class","sa-glass email-events__panel",4,"ngIf"],["class","sa-glass email-events__preview",4,"ngIf"],[1,"email-events__eyebrow"],[1,"sa-toolbar__title",2,"margin","0.25rem 0 0"],[1,"sa-metrics"],[1,"sa-metric","color-green"],[1,"sa-metric__glow"],[1,"sa-metric__icon"],[1,"pi","pi-send"],[1,"sa-metric__value"],[1,"sa-metric__label"],[1,"sa-metric","color-amber"],[1,"pi","pi-times-circle"],[1,"sa-metric","color-blue"],[1,"pi","pi-clock"],[1,"sa-metric","color-purple"],[1,"pi","pi-calendar"],[1,"email-events__filters"],["pInputText","","name","log_event_code","placeholder","Event code",3,"ngModelChange","ngModel"],["pInputText","","name","log_status","placeholder","Status",3,"ngModelChange","ngModel"],["pInputText","","name","log_org","placeholder","Organization ID",3,"ngModelChange","ngModel"],["pInputText","","name","log_recipient","placeholder","Recipient",3,"ngModelChange","ngModel"],["name","log_from","appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","From date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input",3,"ngModelChange","ngModel","showIcon"],["name","log_to","appendTo","body","dateFormat","yy-mm-dd","dataType","string","placeholder","To date","styleClass","sa-datepicker","inputStyleClass","sa-datepicker-input",3,"ngModelChange","ngModel","showIcon"],["styleClass","p-datatable-sm custom-table",3,"value","paginator","rows","rowHover"],[1,"email-events__cell"],[1,"sa-status"],[1,"email-events__switch"],[3,"ngModelChange","ngModel","ngModelOptions","binary"],["colspan","5"],[1,"sa-empty"],[1,"sa-glass","email-events__panel"],[1,"sa-card-title",2,"margin","0.25rem 0"],[1,"email-events__hint"],["pInputText","","type","email","name","test_recipient","placeholder","[email protected]",3,"ngModelChange","ngModel"],[1,"email-events__actions"],["type","button",1,"sa-btn-primary",3,"click","disabled"],["type","button",1,"sa-btn-secondary",3,"click","disabled"],["class","email-events__message",3,"is-error",4,"ngIf"],["class","email-events__template",4,"ngIf"],[1,"email-events__message"],[1,"email-events__template"],["pInputText","","name","subject",3,"ngModelChange","ngModel"],["pInputTextarea","","name","body_html","rows","10",3,"ngModelChange","ngModel"],["type","button",1,"sa-btn-primary",3,"click"],[1,"sa-glass","email-events__preview"],[1,"email-events__preview-frame",3,"innerHTML"],[1,"email-events__row-actions"],["type","button",1,"sa-btn-text",3,"click"],["type","button","class","sa-btn-text",3,"click",4,"ngIf"],["colspan","6"],[1,"email-events__log-header"],[1,"sa-card-title",2,"margin","0"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Super Admin / Settings"),n(),t(9,"h2",8),a(10,"Email Notifications"),n(),t(11,"p",9),a(12,"Manage global business email events, templates, test delivery, and logs."),n()()()(),t(13,"div",10)(14,"div",11)(15,"h3",12),a(16," Events "),t(17,"span",13),a(18),n()(),t(19,"div",14)(20,"button",15),u("click",function(){return i.load()}),d(21,"i",16),a(22," Refresh "),n()()(),t(23,"div",17)(24,"div",18)(25,"app-data-state",19)(26,"p-table",20),x(27,uo,10,0,"ng-template",21)(28,_o,20,15,"ng-template",22)(29,bo,4,0,"ng-template",23),n()()(),x(30,vo,18,8,"aside",24),n(),x(31,xo,6,2,"section",25),t(32,"section",18)(33,"div",11)(34,"div")(35,"span",26),a(36,"Delivery Logs"),n(),t(37,"h3",27),a(38,"Recent Email Notifications"),n()(),t(39,"div",14)(40,"button",15),u("click",function(){return i.loadLogs()}),d(41,"i",16),a(42," Refresh Logs "),n()()(),t(43,"div",28)(44,"article",29),d(45,"div",30),t(46,"div",31),d(47,"i",32),n(),t(48,"div",33),a(49),n(),t(50,"div",34),a(51,"Sent Today"),n()(),t(52,"article",35),d(53,"div",30),t(54,"div",31),d(55,"i",36),n(),t(56,"div",33),a(57),n(),t(58,"div",34),a(59,"Failed"),n()(),t(60,"article",37),d(61,"div",30),t(62,"div",31),d(63,"i",38),n(),t(64,"div",33),a(65),n(),t(66,"div",34),a(67,"Pending"),n()(),t(68,"article",39),d(69,"div",30),t(70,"div",31),d(71,"i",40),n(),t(72,"div",33),a(73),n(),t(74,"div",34),a(75,"Renewal Scheduled"),n()()(),t(76,"div",41)(77,"input",42),v("ngModelChange",function(s){return h(i.logFilters.event_code,s)||(i.logFilters.event_code=s),s}),n(),t(78,"input",43),v("ngModelChange",function(s){return h(i.logFilters.status,s)||(i.logFilters.status=s),s}),n(),t(79,"input",44),v("ngModelChange",function(s){return h(i.logFilters.organization,s)||
4(i.logFilters.organization=s),s}),n(),t(80,"input",45),v("ngModelChange",function(s){return h(i.logFilters.recipient,s)||(i.logFilters.recipient=s),s}),n(),t(81,"p-datepicker",46),v("ngModelChange",function(s){return h(i.logFilters.date_from,s)||(i.logFilters.date_from=s),s}),n(),t(82,"p-datepicker",47),v("ngModelChange",function(s){return h(i.logFilters.date_to,s)||(i.logFilters.date_to=s),s}),n()(),t(83,"p-table",48),x(84,Co,12,0,"ng-template",21)(85,Mo,18,11,"ng-template",22)(86,Po,4,0,"ng-template",23),n()(),x(87,wo,9,2,"section",25),n()()),e&2&&(o(18),p(i.events.length),o(7),m("loading",i.loading),o(),m("value",i.events)("rowHover",!0),o(4),m("ngIf",i.selectedEvent),o(),m("ngIf",i.previewResult),o(18),p(i.dashboard.emails_sent_today),o(8),p(i.dashboard.failed_emails),o(8),p(i.dashboard.pending_reminders),o(8),p(i.dashboard.renewal_emails_scheduled),o(4),f("ngModel",i.logFilters.event_code),o(),f("ngModel",i.logFilters.status),o(),f("ngModel",i.logFilters.organization),o(),f("ngModel",i.logFilters.recipient),o(),f("ngModel",i.logFilters.date_from),m("showIcon",!0),o(),f("ngModel",i.logFilters.date_to),m("showIcon",!0),o(),m("value",i.logs)("paginator",!0)("rows",10)("rowHover",!0),o(4),m("ngIf",i.selectedLog))},dependencies:[E,B,J,L,W,V,U,z,N,Ie,Te,H,G,ze,j,K,he,fe,D],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}.email-events__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,26rem);gap:1rem;align-items:start}.email-events__cell[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.15rem}.email-events__cell[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-color)}.email-events__cell[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.78rem}.email-events__eyebrow[_ngcontent-%COMP%]{color:var(--primary-color);font-weight:800;text-transform:uppercase;font-size:.78rem}.email-events__hint[_ngcontent-%COMP%]{margin:0 0 .75rem;color:var(--text-color-secondary)}.email-events__panel[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .email-events__template[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:grid;gap:.35rem;font-weight:800;margin:.75rem 0}.email-events__panel[_ngcontent-%COMP%] label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%], .email-events__template[_ngcontent-%COMP%] label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.82rem}.email-events__panel[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .email-events__template[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .email-events__template[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .email-events__filters[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;box-sizing:border-box}.email-events__template[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.email-events__switch[_ngcontent-%COMP%]{display:flex!important;flex-direction:row!important;align-items:center;gap:.45rem;margin:0!important;font-weight:700}.email-events__actions[_ngcontent-%COMP%]{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}.email-events__message[_ngcontent-%COMP%]{border-radius:.7rem;padding:.75rem;background:#dcfc
4e7;color:#166534;font-weight:800;margin-top:.75rem}.email-events__message.is-error[_ngcontent-%COMP%]{background:#fee2e2;color:#991b1b}.email-events__preview[_ngcontent-%COMP%]{display:grid;gap:.75rem}.email-events__preview-frame[_ngcontent-%COMP%]{border:1px solid var(--surface-border);border-radius:.7rem;padding:1rem;background:#fff;color:#172033}.email-events__filters[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin:1rem 0}.email-events__row-actions[_ngcontent-%COMP%]{display:inline-flex;gap:.25rem;flex-wrap:wrap}.email-events__log-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:center}[_nghost-%COMP%] .custom-table tr.is-selected{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card))}[_nghost-%COMP%] .sa-status.is-disabled{background:#fee2e2;color:#991b1b}[_nghost-%COMP%] .sa-status.is-missing{background:#fef3c7;color:#854d0e}@media (max-width: 1000px){.email-events__grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.email-events__filters[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.email-events__filters[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})};var Oo=["htmlEditor"],So=["subjectInput"];function ko(c,r){if(c&1){let e=M();t(0,"button",31),u("click",function(){let l=_(e).$implicit,s=g();return b(s.select(l))}),t(1,"strong"),a(2),n(),t(3,"span"),a(4),n(),t(5,"small"),a(6),n()()}if(c&2){let e=r.$implicit,i=g();S("is-selected",(i.selected==null?null:i.selected.id)===e.id),o(2),p(e.name),o(2),p(e.code),o(2),p(e.is_active?"Active":"Inactive")}}function Eo(c,r){c&1&&(t(0,"div",32),a(1,"Loading templates..."),n())}function To(c,r){c&1&&(t(0,"div",32),a(1,"No templates found."),n())}function Io(c,r){if(c&1&&(t(0,"div",46),a(1),n()),c&2){let e=g(2);S("is-error",e.hasError),o(),p(e.message)}}function zo(c,r){if(c&1&&(t(0,"code"),a(1),n()),c&2){let e=r.$implicit;o(),p("{{ "+e+" }}")}}function Fo(c,r){if(c&1&&(t(0,"div",47)(1,"strong"),a(2,"Unsupported variables"),n(),x(3,zo,2,1,"code",27),n()),c&2){let e=g(2);o(3),m("ngForOf",e.unsupportedVariables)}}function Ao(c,r){if(c&1){let e=M();t(0,"form",33),u("ngSubmit",function(){_(e);let l=g();return b(l.save())}),t(1,"div",34)(2,"div")(3,"span",25),a(4),n(),t(5,"h3",26),a(6),n()(),t(7,"label",35)(8,"p-checkbox",36),v("ngModelChange",function(l){_(e);let s=g();return h(s.selected.is_active,l)||(s.selected.is_active=l),b(l)}),n(),t(9,"span"),a(10,"Active"),n()()(),t(11,"label")(12,"span"),a(13,"Subject"),n(),t(14,"input",37,0),v("ngModelChange",function(l){_(e);let s=g();return h(s.selected.subject,l)||(s.selected.subject=l),b(l)}),u("ngModelChange",function(){_(e);let l=g();return b(l.queuePreview())}),n()(),t(16,"div",38)(17,"strong"),a(18,"Sections"),n(),t(19,"button",39),u("dragstart",function(l){_(e);let s=g();return b(s.startSnippetDrag("header",l))})("click",function(){_(e);let l=g();return b(l.insertSnippet("header"))}),a(20,"Header"),n(),t(21,"button",39),u("dragstart",function(l){_(e);let s=g();return b(s.startSnippetDrag("body",l))})("click",function(){_(e);let l=g();return b(l.insertSnippet("body"))}),a(22,"Body"),n(),t(23,"button",39),u("dragstart",function(l){_(e);let s=g();return b(s.startSnippetDrag("footer",l))})("click",function(){_(e);let l=g();return b(l.insertSnippet("footer"))}),a(24,"Footer"),n(),t(25,"button",28),u("click",function(){_(e);let l=g();return b(l.insertSignature())}),a(26,"Signature"),n(),t(27,"button",28),u("click",function(){_(e);let l=g();return b(l.insertBrandBlock())}),a(28,"Branding"),n()(),t(29,"label")(30,"span"),a(31,"Rich Text HTML Body"),n(),t(32,"textarea",40,1),v("ngModelChange",function(l){_(e);let s=g();return h(s.selected.body_html,l)||(s.selected.body_html=l),b(l)}),u("ngModelChange",function(){_(e);let l=g();return b(l.queuePreview())})("drop",function(l){_(e);let s=g();return b(s.dropSnippet(l))})("dragover",function(l){_(e);let s=g();return b(s.allowDrop(l))}),n()(),t(34,"label")(35,"span"),a(36,"Plain Text Body"),n(),t(37,"textarea",41),v("ngModelChange",function(l){_(e);let s=g();return h(s.selected.body_text,l)||(s.selected.body_text=l),b(l)}),u("ngModelChange",function(){_(e);let l=g();return b(l.queuePreview())}),n()(),x(38,Io,2,3,"div",42)(39,Fo,4,1,"div",43),t(40,"footer",44)(41,"button",17),u("click",function(){_(e);let l=g();return b(l.resetDefault())}),a(42,"Reset to Default Template"),n(),t(43,"button",17),u("click",function(){_(e);let l=g();return b(l.preview(!0))}),a(44,"Preview"),n(),t(45,"button",17),u("click",function(){_(e);let l=g();return b(l.previewModalOpen=!0)}),a(46,"Open Preview"),n(),t(47,"button",45),a(48),n()()()}if(c&2){let e=g();o(4),p(e.selected.code),o(2),p(e.selected.name),o(2),f("ngModel",e.selected.is_active),m("binary",!0),o(6),f("ngModel",e.selected.subject),o(18),f("ngModel",e.selected.body_html),o(5),f("ngModel",e.selected.body_text),o(),m("ngIf",e.message),o(),m("ngIf",e.unsupportedVariables.length),o(2),m("disabled",e.saving),o(2),m("disabled",e.previewing),o(2),m("disabled",!e.previewResult),o(2),m("disabled",e.saving||e.unsupportedVariables.length>0),o(),P(" ",e.saving?"Saving...":"Save Template"," ")}}function Bo(c,r){if(c&1){let e=M();t(0,"button",49),u("click",function(){let l=_(e).$implicit,s=g(2);return b(s.insertVariable(l))}),a(1),n()}if(c&2){let e=r.$implicit;o(),P(" ","{{ "+e+" }}"," ")}}function Do(c,r){if(c&1&&(t(0,"section")(1,"h4"),a(2),n(),x(3,Bo,2,1,"button",48),n()),c&2){let e=r.$implicit,i=g();o(2),p(e),o(),m("ngForOf",i.variableGroups[e])}}function Vo(c,r){if(c&1&&(t(0,"section",50)(1,"div")(2,"span",25),a(3,"Live Preview"),n(),t(4,"h3",26),a(5),n()(),d(6,"div",51),n()),c&2){let e=g();o(5),p(e.renderedSubject),o(),m("innerHTML",e.renderedHtml,et)}}function Lo(c,r){if(c&1){let e=M();t(0,"div",52),u("click",function(){_(e);let l=g();return b(l.previewModalOpen=!1)}),t(1,"article",53),u("click",function(l){return _(e),b(l.stopPropagation())}),t(2,"header")(3,"strong"),a(4),n(),t(5,"button",28),u("click",function(){_(e);let l=g();return b(l.previewModalOpen=!1)}),a(6,"Close"),n()(),d(7,"div",54),n()()}if(c&2){let e=g();o(4),p(e.renderedSubject),o(3),m("innerHTML",e.renderedHtml,et)}}var ln=class c{constructor(r){this.subscriptionService=r}htmlEditor;subjectInput;templates=[];
4selected=null;previewResult=null;variableGroups={};sampleData={};loading=!1;saving=!1;previewing=!1;previewModalOpen=!1;message="";hasError=!1;unsupportedVariables=[];previewQueue=new vn;sub=new hn;lastPreviewKey="";ngOnInit(){this.sub.add(this.previewQueue.pipe(Cn(450),yn()).subscribe(()=>this.preview())),this.loadVariables(),this.load()}ngOnDestroy(){this.sub.unsubscribe()}get variableGroupNames(){return Object.keys(this.variableGroups)}get renderedSubject(){return this.previewResult?.rendered_subject||this.previewResult?.subject||""}get renderedHtml(){return this.previewResult?.rendered_html||this.previewResult?.body_html||""}load(){this.loading=!0,this.message="",this.subscriptionService.getEmailTemplates().subscribe({next:r=>{this.templates=r,this.select(r[0]||null),this.loading=!1},error:()=>{this.showMessage("Unable to load email templates.",!0),this.loading=!1}})}loadVariables(){this.subscriptionService.getEmailTemplateVariables().subscribe({next:r=>{this.variableGroups=r.groups||{},this.sampleData=r.sample_data||{}}})}select(r){this.selected=r?w({},r):null,this.previewResult=null,this.unsupportedVariables=[],this.lastPreviewKey="",this.message="",this.hasError=!1,this.sampleData=w(w({},this.sampleData),r?.preview_data_json||{}),this.queuePreview()}save(){if(this.selected){if(this.preview(!0,!0),this.unsupportedVariables.length){this.showMessage("Fix unsupported variables before saving.",!0);return}this.saving=!0,this.subscriptionService.updateEmailTemplate(this.selected.id,{subject:this.selected.subject,body_html:this.selected.body_html,body_text:this.selected.body_text,preview_data_json:this.sampleData,is_active:this.selected.is_active}).subscribe({next:r=>{this.templates=this.templates.map(e=>e.id===r.id?r:e),this.selected=w({},r),this.showMessage("Template saved successfully."),this.saving=!1},error:r=>{this.unsupportedVariables=r?.error?.unsupported_variables||[],this.showMessage(r?.error?.message||"Unable to save template.",!0),this.saving=!1}})}}preview(r=!1,e=!1){if(!this.selected||this.previewing)return;let i=JSON.stringify({subject:this.selected.subject,body_html:this.selected.body_html,sampleData:this.sampleData});!r&&i===this.lastPreviewKey||(this.lastPreviewKey=i,this.previewing=!0,this.subscriptionService.previewNotificationTemplate({subject:this.selected.subject,body_html:this.selected.body_html,sample_data:this.sampleData}).subscribe({next:l=>{this.previewResult=l,this.unsupportedVariables=l.unsupported_variables||l.validation?.unsupported_variables||[],this.unsupportedVariables.length&&!e?this.showMessage("Template contains unsupported variables.",!0):e||(this.message="",this.hasError=!1),this.previewing=!1},error:()=>{e||this.showMessage("Unable to render preview.",!0),this.previewing=!1}}))}queuePreview(){this.previewQueue.next(String(Date.now())+JSON.stringify(this.selected||{}))}insertVariable(r){this.insertAtCursor(`{{ ${r} }}`)}insertSnippet(r){let e={header:`<div style="padding:16px;background:{{ brand_color }};color:#ffffff;"><strong>{{ company_name }}</strong></div> 5`,body:`<div style="padding:16px;"><p>Hello {{ recipient_name }},</p><p>This is a reminder for {{ activity_title }} due on {{ due_date }}.</p></div> 6`,footer:`<div style="padding:16px;color:#64748b;border-top:1px solid #e2e8f0;">{{ footer_text }}</div> 7`};this.insertAtCursor(e[r])}insertSignature(){this.insertAtCursor(`<p>Regards,<br>{{ company_name }} Team</p> 8`)}insertBrandBlock(){this.insertAtCursor(`<div style="border-left:4px solid #2563eb;padding:12px;"><strong>{{ company_name }}</strong><br><a href="{{ activity_link }}">Open Activity</a></div> 9`)}startSnippetDrag(r,e){e.dataTransfer?.setData("text/plain",r)}allowDrop(r){r.preventDefault()}dropSnippet(r){r.preventDefault();let e=r.dataTransfer?.getData("text/plain");e&&this.insertSnippet(e)}resetDefault(){this.selected&&(this.saving=!0,this.subscriptionService.resetEmailTemplate(this.selected.id).subscribe({next:r=>{this.templates=this.templates.map(e=>e.id===r.id?r:e),this.select(r),this.showMessage("Default template restored."),this.saving=!1},error:()=>{this.showMessage("Unable to reset template.",!0),this.saving=!1}}))}generateSampleData(){this.sampleData={recipient_name:"Priya Shah",activity_title:"Proposal follow-up",subject:"Call",status:"Open",priority:"High",account_name:"Acme Corporation",contact_name:"Priya Shah",due_date:new Date().toISOString().slice(0,10),description:"Discuss approval and next steps.",company_name:"Infinity Enterprise",assigned_by:"Sales Manager",activity_link:"/home/crm/activity",company_logo:"",brand_color:"#2563eb",footer_text:"Infinity CRM Team",email_signature:"Regards, Infinity CRM Team"},this.preview(!0)}insertAtCursor(r){if(!this.selected)return;let e=this.htmlEditor?.nativeElement;if(!e){this.selected.body_html=`${this.selected.body_html||""}${r}`,this.queuePreview();return}let i=e.selectionStart??this.selected.body_html.length,l=e.selectionEnd??i,s=this.selected.body_html||"";this.selected.body_html=`${s.slice(0,i)}${r}${s.slice(l)}`,setTimeout(()=>{e.focus();let C=i+r.length;e.setSelectionRange(C,C)}),this.queuePreview()}showMessage(r,e=!1){this.message=r,this.hasError=e}static \u0275fac=function(e){return new(e||c)(O(Q))};static \u0275cmp=k({type:c,selectors:[["app-super-admin-email-templates"]],viewQuery:function(e,i){if(e&1&&(Je(Oo,5),Je(So,5)),e&2){let l;$e(l=Ze())&&(i.htmlEditor=l.first),$e(l=Ze())&&(i.subjectInput=l.first)}},decls:43,vars:9,consts:[["subjectInput",""],["htmlEditor",""],[1,"sa-page","component-margin"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-file-edit"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],[1,"sa-toolbar"],[1,"sa-toolbar__title"],[1,"sa-toolbar__count"],[1,"sa-toolbar__actions"],["type","button",1,"sa-btn-secondary",3,"click","disabled"],[1,"pi","pi-refresh"],[1,"email-templates__layout"],[1,"sa-glass","email-templates__list"],["type","button",3,"is-selected","click",4,"ngFor","ngForOf"],["class","email-templates__state",4,"ngIf"],["class","sa-glass email-templates__editor",3,"ngSubmit",4,"ngIf"],[1,"sa-glass","email-templates__helper"],[1,"email-templates__eyebrow"],[1,"sa-card-title",2,"margin","0"],[4,"ngFor","ngForOf"],["type","button",1,"sa-btn-secondary",3,"click"],["class","sa-glass email-templates__preview",4,"ngIf"],["class","email-templates__modal",3,"click",4,"ngIf"],["type","button",3,"click"],[1,"email-templates__state"],[1,"sa-glass","email-templates__editor",3,"ngSubmit"],[1,"email-templates__editor-head"],["for","template_is_active",1,"email-templates__toggle"],["name","is_active","inputId","template_is_active",3,"ngModelChange","ngModel","binary"],["pInputText","","name","subject","required","",3,"ngModelChange","ngModel"],[1,"email-templates__snippets"],["type","button","draggable","true",1,"sa-btn-secondary",3,"dragstart","click"],["pInputTextarea","","name","body_html","rows","16","required","",3,"ngModelChange","drop","dragover","ngModel"],["pInputTextarea","","name","body_text","rows","7",3,"ngModelChange","ngModel"],["class","email-templates__message",3,"is-error",4,"ngIf"],["class","email-templates__invalid",4,"ngIf"],[1,"email-templates__actions"],["type","submit",1,"sa-btn-primary",3,"disabled"],[1,"email-templates__message"],[1,"email-templates__invalid"],["type","button","class","email-templates__chip",3,"click",4,"ngFor","ngForOf"],["type","button",1,"email-templates__chip",3,"click"],[1,"sa-glass","email-templates__preview"],[1,"email-templates__preview-frame",3,"innerHTML"],[1,"email-templates__modal",3,"click"],[3,"click"],[3,"innerHTML"]],template:function(e,i){e&1&&(t(0,"section",2)(1,"header",3),d(2,"div",4),t(3,"div",5)(4,"div",6),d(5,"i",7),n(),t(6,"div",8)(7,"span",9),a(8,"Super Admin / Settings"),n(),t(9,"h2",10),a(10,"Email Template Editor"),n(),t(11,"p",11),a(12,"Preview reminder emails and insert supported dynamic variables before saving."),n()()()(),t(13,"div",12)(14,"div",13)(15,"h3",14),a(16," Templates "),t(17,"span",15),a(18),n()(),t(19,"div",16)(20,"button",17),u("click",function(){return i.load()}),d(21,"i",18),a(22," Refresh "),n()()(),t(23,"div",19)(24,"aside",20),x(25,ko,7,5,"button",21)(26,Eo,2,0,"div",22)(27,To,2,0,"div",22),n(),x(28,Ao,49,14,"form",23),t(29,"aside",24)(30,"div")(31,"span",25),a(32,"Variable Helper"),n(),t(33,"h3",26),a(34,"Dynamic Variables"),n()(),x(35,Do,4,2,"section",27),t(36,"section")(37,"h4"),a(38,"Sample Preview Data"),n(),t(39,"button",28),u("click",function(){return i.generateSampleData()}),a(40,"Generate Sample Data"),n()()()(),x(41,Vo,7,2,"section",29)(42,Lo,8,2,"div",30),n()()),e&2&&(o(18),p(i.templates.length),o(2),m("disabled",i.loading),o(5),m("ngForOf",i.templates),o(),m("ngIf",i.loading),o(),m("ngIf",!i.loading&&!i.templates.length),o(),m("ngIf",i.selected),o(7),m("ngForOf",i.variableGroupNames),o(6),m("ngIf",i.previewResult),o(),m("ngIf",i.previewModalOpen))},dependencies:[E,ne,B,L,Ee,W,V,ke,mt,U,ot,z,Ie,Te,H,G,ze],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
9align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}[_nghost-%COMP%]{display:block;min-width:0;width:100%}.email-templates__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr) minmax(0,16rem);gap:1rem;align-items:start;width:100%;min-width:0}.email-templates__list[_ngcontent-%COMP%], .email-templates__helper[_ngcontent-%COMP%], .email-templates__editor[_ng
9content-%COMP%]{display:flex;flex-direction:column;gap:.75rem;min-width:0;max-width:100%;overflow:hidden}.email-templates__list[_ngcontent-%COMP%], .email-templates__helper[_ngcontent-%COMP%]{max-height:calc(100vh - 14rem);overflow-y:auto}.email-templates__list[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.15rem;text-align:left;background:var(--surface-ground);color:var(--text-color);border:1px solid var(--surface-border);border-radius:.7rem;padding:.7rem .8rem;cursor:pointer;width:100%;box-sizing:border-box;min-height:auto;font-weight:600}.email-templates__list[_ngcontent-%COMP%] button[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-color);font-size:.92rem}.email-templates__list[_ngcontent-%COMP%] button[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .email-templates__list[_ngcontent-%COMP%] button[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-weight:500;text-transform:none;font-size:.78rem}.email-templates__list[_ngcontent-%COMP%] button.is-selected[_ngcontent-%COMP%]{border-color:color-mix(in srgb,var(--primary-color) 55%,var(--surface-border));background:color-mix(in srgb,var(--primary-color) 10%,var(--surface-card));box-shadow:inset 3px 0 0 var(--primary-color)}.email-templates__eyebrow[_ngcontent-%COMP%]{color:var(--primary-color);font-weight:800;text-transform:uppercase;font-size:.78rem}.email-templates__helper[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:var(--text-color-secondary);margin:.25rem 0;flex:1 0 100%}.email-templates__helper[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.4rem}.email-templates__chip[_ngcontent-%COMP%]{text-align:left;background:var(--surface-ground);color:var(--text-color);border:1px solid var(--surface-border);border-radius:999px;padding:.4rem .7rem;cursor:pointer;min-height:auto;font-weight:600;font-size:.8rem;width:auto}.email-templates__editor-head[_ngcontent-%COMP%], .email-templates__actions[_ngcontent-%COMP%], .email-templates__snippets[_ngcontent-%COMP%]{display:flex;gap:.55rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.email-templates__snippets[_ngcontent-%COMP%]{justify-content:flex-start}.email-templates__snippets[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{width:100%;font-size:.8rem;color:var(--text-color-secondary)}.email-templates__editor[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{display:grid;gap:.35rem;font-weight:700;min-width:0}.email-templates__editor[_ngcontent-%COMP%] label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.82rem}.email-templates__editor[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .email-templates__editor[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;max-width:100%;box-sizing:border-box;min-width:0}.email-templates__editor[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.45;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.email-templates__toggle[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.45rem;font-weight:700}.email-templates__toggle[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{cursor:pointer}.email-templates__actions[_ngcontent-%COMP%]{justify-content:flex-end}.email-templates__message[_ngcontent-%COMP%], .email-templates__invalid[_ngcontent-%COMP%]{border-radius:.7rem;padding:.75rem;background:#dcfce7;color:#166534;font-weight:800}.email-templates__message.is-error[_ngcontent-%COMP%], .email-templates__invalid[_ngcontent-%COMP%]{background:#fee2e2;color:#991b1b}code[_ngcontent-%COMP%]{display:inline-block;border-radius:999px;padding:.22rem .5rem;margin:.15rem;background:var(--surface-card);border:1px solid var(--surface-border);color:inherit}.email-templates__preview[_ngcontent-%COMP%]{display:grid;gap:.75rem}.email-templates__preview-frame[_ngcontent-%COMP%]{border:1px solid var(--surface-border);border-radius:.7rem;padding:1rem;background:#fff;color:#172033;overflow:auto;max-width:100%;text-align:left}.email-templates__preview-frame[_ngcontent-%COMP%] *, .email-templates__modal[_ngcontent-%COMP%] article[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] *{text-align:left!important}.email-templates__preview-frame[_ngcontent-%COMP%] table, .email-templates__modal[_ngcontent-%COMP%] article[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] table{margin-left:0!important;margin-right:auto!important}.email-templates__preview-frame[_ngcontent-%COMP%] [align=center], .email-templates__preview-frame[_ngcontent-%COMP%] [style*="text-align: center"], .email-templates__preview-frame[_ngcontent-%COMP%] [style*="text-align:center"], .email-templates__modal[_ngcontent-%COMP%] article[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] [align=center], .email-templates__modal[_ngcontent-%COMP%] article[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] [style*="text-align: center"], .email-templates__modal[_ngcontent-%COMP%] article[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] [style*="text-align:center"]{text-align:left!important}.email-templates__state[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.9rem;padding:.5rem 0}.email-templates__modal[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:5000;background:#0f172a9e;display:grid;place-items:center;padding:1rem}.email-templates__modal[_ngcontent-%COMP%] article[_ngcontent-%COMP%]{width:min(920px,100%);max-height:92vh;overflow:auto;border-radius:.7rem;background:#fff;color:#172033}.email-templates__modal[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid #e2e8f0}.email-templates__modal[_ngcontent-%COMP%] article[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{padding:1rem;max-width:100%;overflow-x:auto;text-align:left}@media (max-width: 1200px){.email-templates__layout[_ngcontent-%COMP%]{grid-template-columns:minmax(0,14rem) minmax(0,1fr) minmax(0,14rem)}}@media (max-width: 980px){.email-templates__layout[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.email-templates__helper[_ngcontent-%COMP%]{grid-column:1/-1;max-height:none}}@media (max-width: 700px){.email-templates__layout[_ngcontent-%COMP%]{grid-template-columns:1fr}.email-templates__list[_ngcontent-%COMP%], .email-templates__helper[_ngcontent-%COMP%]{max-height:16rem}.email-templates__editor-head[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column}.email-templates__actions[_ngcontent-%COMP%]{justify-content:stretch}.email-templates__actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}']})};var cn=class c{constructor(r,e){this.http=r;this.authService=e}baseUrl=`${R.apiUrl}api/super-admin/onboarding`;getAnalytics(){return this.http.get(`${this.baseUrl}/analytics/`,this.getHeaders())}getStatus(r){let e=new Ae().set("company_id",r);return this.http.get(`${this.baseUrl}/status/`,F(w({},this.getHeaders()),{params:e}))}getGuidance(r){let e=new Ae().set("company_id",r);return this.http.get(`${this.baseUrl}/guidance/`,F(w({},this.getHeaders()),{params:e}))}validateImport(r,e,i){let l={entity_type:r,csv_content:e};return i&&(l.company_id=i),this.http.post(`${this.baseUrl}/import/validate/`,l,this.getHeaders())}getHeaders(){let r=this.authService.getToken();return{headers:new Me({Authorization:r?`Bearer ${r}`:""})}}static \u0275fac=function(e){return new(e||c)(me(Pe),me(we))};static \u0275prov=ye({token:c,factory:c.\u0275fac,providedIn:"root"})};function Ro(c,r){c&1&&(t(0,"tr")(1,"th"),a(2,"Company"),n(),t(3,"th"),a(4,"Health"),n(),t(5,"th"),a(6,"State"),n(),d(7,"th"),n())}function Wo(c,r){if(c&1){let e=M();t(0,"tr")(1,"td"),a(2),n(),t(3,"td"),a(4),n(),t(5,"td"),d(6,"p-tag",44),n(),t(7,"td")(8,"button",45),u("click",function(){let l=_(e).$implicit,s=g(2);return b(s.selectCompany(l))}),a(9,"Inspect"),n()()()}if(c&2){let e=r.$implicit,i=g(2);o(2),p(e.company_name),o(2),P("",e.health_score,"%"),o(2),m("value",e.onboarding_state)("severity",i.getHealthSeverity(e.onboarding_state))}}function Uo(c,r){if(c&1&&(t(0,"div",46)(1,"div")(2,"strong"),a(3),n(),t(4,"small"),a(5),n()(),t(6,"div",47),a(7),n()()),c&2){let e=r.$implicit;o(3),p(e.step),o(2),P("",e.incomplete_companies," companies incomplete"),o(2),P("",e.dropoff_rate,"%")}}function Ho(c,r){if(c&1&&(t(0,"article",55),d(1,"i",56),t(2,"div")(3,"h3"),a(4),n(),t(5,"p"),a(6),n()()()),c&2){let e=r.$implicit;o(),m("ngClass",e.completed?"pi-check-circle text-green-600":"pi-circle-off text-orange-500"),o(3),p(e.title),o(2),p(e.detail)}}function jo(c,r){if(c&1&&(nt(0),t(1,"div",51),d(2,"p-tag",44),t(3,"span"),a(4),n(),t(5,"strong"),a(6),n()(),d(7,"p-progressBar",52),t(8,"div",53),x(9,Ho,7,3,"article",54),n(),rt()),c&2){let e=r.ngIf,i=g(3);o(2),m("value",e.onboarding_state)("severity",i.getHealthSeverity(e.onboarding_state)),o(2),ue("",e.completed_steps,"/",e.total_steps," steps complete"),o(2),P("",e.health_score,"% health"),o(),m("value",e.completion_rate),o(2),m("ngForOf",e.checklist)}}function qo(c,r){if(c&1&&(t(0,"li"),a(1),n()),c&2){let e=r.$implicit;o(),p(e)}}function Yo(c,r){if(c&1&&(t(0,"ul",59),x(1,qo,2,1,"li",60),n()),c&2){let e=g().ngIf;o(),m("ngForOf",e.reminders)}}function Go(c,r){if(c&1&&(t(0,"li"),a(1),n()),c&2){let e=r.$implicit;o(),p(e)}}function Ko(c,r){if(c&1&&(nt(0),d(1,"p-message",57),x(2,Yo,2,1,"ul",58),t(3,"h3"),a(4,"Role Playbook"),n(),t(5,"ul",59),x(6,Go,2,1,"li",60),n(),rt()),c&2){let e=r.ngIf;o(),Mn("text","Role: ",e.role_name,""),o(),m("ngIf",e.reminders.length),o(4),m("ngForOf",e.role_playbook)}}function Qo(c,r){if(c&1){let e=M();t(0,"div",28)(1,"div",29)(2,"div",48)(3,"div")(4,"h2"),a(5,"Onboarding Flow Documentation"),n(),t(6,"p"),a(7),n()(),t(8,"p-dropdown",49),v("ngModelChange",function(l){_(e);let s=g(2);return h(s.selectedCompanyId,l)||(s.selectedCompanyId=l),b(l)}),u("onChange",function(){_(e);let l=g(2);return b(l.onCompanyIdChange())}),n()(),x(9,jo,10,7,"ng-container",50),n(),t(10,"div",29)(11,"div",30)(12,"h2"),a(13,"Onboarding Troubleshooting Guide"),n(),t(14,"p"),a(15,"Role-aware guidance and invite/import readiness checks."),n()(),x(16,Ko,7,4,"ng-container",50),n()()}if(c&2){let e=g().ngIf,i=g();o(7),P("",i.selectedCompanyName||"Selected company"," checklist and activation footprint."),o(),m("options",e.activation_report),f("ngModel",i.selectedCompanyId),o(),m("ngIf",i.selectedCompanyStatus),o(7
9),m("ngIf",i.guidance)}}function Jo(c,r){if(c&1&&(t(0,"article",68)(1,"strong"),a(2),y(3,"uppercase"),n(),t(4,"span"),a(5),n(),t(6,"span"),a(7),n(),t(8,"p"),a(9),n()()),c&2){let e=r.$implicit;m("ngClass",e.severity),o(2),p(de(3,5,e.severity)),o(3),P("Row ",e.row||"-",""),o(2),p(e.column||"-"),o(2),p(e.message)}}function $o(c,r){if(c&1&&(t(0,"div",66),x(1,Jo,10,7,"article",67),n()),c&2){let e=g().ngIf;o(),m("ngForOf",e.errors)}}function Zo(c,r){if(c&1&&(t(0,"div",61),d(1,"p-message",62),t(2,"div",63)(3,"article",64)(4,"span"),a(5,"Total Rows"),n(),t(6,"strong"),a(7),n()(),t(8,"article",64)(9,"span"),a(10,"Valid Rows"),n(),t(11,"strong"),a(12),n()(),t(13,"article",64)(14,"span"),a(15,"Errors"),n(),t(16,"strong"),a(17),n()(),t(18,"article",64)(19,"span"),a(20,"Warnings"),n(),t(21,"strong"),a(22),n()()(),x(23,$o,2,1,"div",65),n()),c&2){let e=r.ngIf;o(),m("severity",e.can_proceed?"success":"error")("text",e.can_proceed?"Validation passed with safe mode checks.":"Validation found blocking issues."),o(6),p(e.total_rows),o(5),p(e.valid_rows),o(5),p(e.error_count),o(5),p(e.warning_count),o(),m("ngIf",e.errors.length)}}function Xo(c,r){if(c&1){let e=M();t(0,"div",13)(1,"div",14)(2,"article",15),d(3,"div",16),t(4,"div",17),d(5,"i",18),n(),t(6,"div",19),a(7),n(),t(8,"div",20),a(9,"Total Companies"),n(),t(10,"div",21),a(11,"Tracked in onboarding funnel"),n()(),t(12,"article",22),d(13,"div",16),t(14,"div",17),d(15,"i",23),n(),t(16,"div",19),a(17),n(),t(18,"div",20),a(19,"Organization Linked"),n(),t(20,"div",21),a(21),n()(),t(22,"article",24),d(23,"div",16),t(24,"div",17),d(25,"i",25),n(),t(26,"div",19),a(27),n(),t(28,"div",20),a(29,"Modules Configured"),n(),t(30,"div",21),a(31),n()(),t(32,"article",26),d(33,"div",16),t(34,"div",17),d(35,"i",27),n(),t(36,"div",19),a(37),n(),t(38,"div",20),a(39,"First Data Loaded"),n(),t(40,"div",21),a(41),n()()(),t(42,"div",28)(43,"div",29)(44,"div",30)(45,"h2"),a(46,"Activation Optimization Report"),n(),t(47,"p"),a(48,"Companies with the lowest health score are surfaced first for intervention."),n()(),t(49,"p-table",31),x(50,Ro,8,0,"ng-template",32)(51,Wo,10,4,"ng-template",33),n()(),t(52,"div",29)(53,"div",30)(54,"h2"),a(55,"Drop-off Points"),n(),t(56,"p"),a(57,"Focus teams on the steps with highest incompletion rate."),n()(),x(58,Uo,8,3,"div",34),n()(),x(59,Qo,17,5,"div",35),t(60,"div",36)(61,"div",30)(62,"h2"),a(63,"Import Validation"),n(),t(64,"p"),a(65,"Validation-first onboarding import checks with duplicate prevention and row-level diagnostics."),n()(),t(66,"div",37)(67,"p-dropdown",38),v("ngModelChange",function(l){_(e);let s=g();return h(s.entityType,l)||(s.entityType=l),b(l)}),n(),t(68,"input",39),u("change",function(l){_(e);let s=g();return b(s.onImportFileSelected(l))}),n(),t(69,"button",40),u("click",function(){_(e);let l=g();return b(l.runValidation())}),d(70,"i",41),a(71," Validate CSV "),n()(),t(72,"textarea",42),v("ngModelChange",function(l){_(e);let s=g();return h(s.csvContent,l)||(s.csvContent=l),b(l)}),n(),x(73,Zo,24,7,"div",43),n()()}if(c&2){let e=r.ngIf,i=g();o(7),p(e.funnel.total_companies),o(10),P("",i.getActivationPercent(e.funnel.organization_linked,e.funnel.total_companies),"%"),o(4),P("",e.funnel.organization_linked," companies linked"),o(6),P("",i.getActivationPercent(e.funnel.modules_configured,e.funnel.total_companies),"%"),o(4),P("",e.funnel.modules_configured," companies"),o(6),P("",i.getActivationPercent(e.funnel.first_data_loaded,e.funnel.total_companies),"%"),o(4),P("",e.funnel.first_data_loaded," companies"),o(8),m("value",e.activation_report)("rows",10)("paginator",!0),o(9),m("ngForOf",e.dropoff_points),o(),m("ngIf",i.selectedCompanyId),o(8),m("options",i.entityOptions),f("ngModel",i.entityType),o(2),m("disabled",i.validatingImport),o(3),f("ngModel",i.csvContent),o(),m("ngIf",i.importValidationResult)}}var mn=class c{constructor(r){this.onboardingService=r}loading=!0;errorMessage=null;analytics=null;selectedCompanyId=null;selectedCompanyName="";selectedCompanyStatus=null;guidance=null;entityType="leads";csvContent="";validatingImport=!1;importValidationResult=null;entityOptions=[{label:"Leads",value:"leads"},{label:"Contacts",value:"contacts"},{label:"Employees",value:"employees"},{label:"Products",value:"products"},{label:"Inventory",value:"inventory"},{label:"Invoices",value:"invoices"}];ngOnInit(){this.loadAnalytics()}loadAnalytics(){this.loading=!0,this.errorMessage=null,this.onboardingService.getAnalytics().subscribe({next:r=>{this.analytics=r,this.loading=!1;let e=r.activation_report[0];e&&this.selectCompany(e)},error:()=>{this.errorMessage="Unable to load onboarding analytics right now.",this.loading=!1}})}selectCompany(r){this.selectedCompanyId=r.company_id,this.selectedCompanyName=r.company_name,this.importValidationResult=null,this.loadCompanyDetail()}onCompanyIdChange(){let r=(this.analytics?.activation_report||[]).find(e=>e.company_id===this.selectedCompanyId);r&&(this.selectedCompanyName=r.company_name,this.loadCompanyDetail())}loadCompanyDetail(){this.selectedCompanyId&&(this.onboardingService.getStatus(this.selectedCompanyId).subscribe({next:r=>{this.selectedCompanyStatus=r},error:()=>{this.selectedCompanyStatus=null}}),this.onboardingService.getGuidance(this.selectedCompanyId).subscribe({next:r=>{this.guidance=r},error:()=>{this.guidance=null}}))}onImportFileSelected(r){let i=r.target.files?.[0];if(!i)return;let l=new FileReader;l.onload=()=>{this.csvContent=String(l.result||"")},l.readAsText(i)}runValidation(){if(!this.csvContent.trim()){this.importValidationResult={entity_type:this.entityType,total_rows:0,processed_rows:0,progress_percent:0,valid_rows:0,error_count:1,warning_count:0,can_proceed:!1,safe_mode:!0,errors:[{row:null,column:null,severity:"error",message:"Provide CSV content or upload a file first."}]};return}this.validatingImport=!0,this.onboardingService.validateImport(this.entityType,this.csvContent,this.selectedCompanyId||void 0).subscribe({next:r=>{this.importValidationResult=r,this.validatingImport=!1},error:r=>{let e=r?.error?.detail||"Import validation failed. Please check CSV format and try again.";this.importValidationResult={entity_type:this.entityType,total_rows:0,processed_rows:0,progress_percent:0,valid_rows:0,error_count:1,warning_count:0,can_proceed:!1,safe_mode:!0,errors:[{row:null,column:null,severity:"error",message:e}]},this.validatingImport=!1}})}getHealthSeverity(r){return r==="healthy"?"success":r==="at_risk"?"warn":"danger"}getActivationPercent(r,e){return e?Math.round(r/e*100):0}
vendor: 4,453 bytes, line 9
9static \u0275fac=function(e){return new(e||c)(O(cn))};static \u0275cmp=k({type:c,selectors:[["app-onboarding-center"]],decls:16,vars:3,consts:[[1,"sa-page","component-margin","onboarding-center"],[1,"hrms-page-hero"],[1,"hrms-page-hero__glow"],[1,"hrms-page-hero__inner"],[1,"hrms-page-hero__icon"],[1,"pi","pi-sparkles"],[1,"hrms-page-hero__copy"],[1,"hrms-page-hero__eyebrow"],[1,"hrms-page-hero__title"],[1,"hrms-page-hero__desc"],[1,"sa-content"],["errorTitle","Onboarding insights unavailable","preset","stats-grid",3,"loading","errorMessage"],["class","onboarding-center__stack",4,"ngIf"],[1,"onboarding-center__stack"],[1,"sa-metrics"],[1,"sa-metric"],[1,"sa-metric__glow"],[1,"sa-metric__icon"],[1,"pi","pi-building"],[1,"sa-metric__value"],[1,"sa-metric__label"],[1,"sa-metric__meta"],[1,"sa-metric","color-blue"],[1,"pi","pi-link"],[1,"sa-metric","color-purple"],[1,"pi","pi-th-large"],[1,"sa-metric","color-green"],[1,"pi","pi-database"],[1,"onboarding-center__grid"],[1,"sa-glass"],[1,"onboarding-center__section-head"],["styleClass","p-datatable-sm",3,"value","rows","paginator"],["pTemplate","header"],["pTemplate","body"],["class","onboarding-center__dropoff",4,"ngFor","ngForOf"],["class","onboarding-center__grid",4,"ngIf"],[1,"sa-glass","onboarding-center__import-card"],[1,"onboarding-center__import-controls"],["optionLabel","label","optionValue","value",3,"ngModelChange","options","ngModel"],["type","file","accept",".csv,text/csv",3,"change"],["type","button",1,"sa-btn-primary",3,"click","disabled"],[1,"pi","pi-check"],["rows","6","placeholder","Paste CSV content here",3,"ngModelChange","ngModel"],["class","onboarding-center__import-summary",4,"ngIf"],[3,"value","severity"],["type","button",1,"sa-btn-text",3,"click"],[1,"onboarding-center__dropoff"],[1,"onboarding-center__dropoff-value"],[1,"onboarding-center__section-head","onboarding-center__section-head--row"],["optionLabel","company_name","optionValue","company_id","placeholder","Select company",3,"ngModelChange","onChange","options","ngModel"],[4,"ngIf"],[1,"onboarding-center__status-head"],[3,"value"],[1,"onboarding-center__checklist"],["class","onboarding-center__checklist-item",4,"ngFor","ngForOf"],[1,"onboarding-center__checklist-item"],[1,"pi",3,"ngClass"],["severity","info",3,"text"],["class","onboarding-center__list",4,"ngIf"],[1,"onboarding-center__list"],[4,"ngFor","ngForOf"],[1,"onboarding-center__import-summary"],[3,"severity","text"],[1,"onboarding-center__cards","onboarding-center__cards--compact"],[1,"card","onboarding-card"],["class","onboarding-center__error-list",4,"ngIf"],[1,"onboarding-center__error-list"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"]],template:function(e,i){e&1&&(t(0,"section",0)(1,"header",1),d(2,"div",2),t(3,"div",3)(4,"div",4),d(5,"i",5),n(),t(6,"div",6)(7,"span",7),a(8,"Customer activation"),n(),t(9,"h2",8),a(10,"Onboarding Center"),n(),t(11,"p",9),a(12,"Track first-use completion, identify drop-offs, validate imports, and accelerate team activation without changing stable platform flows."),n()()()(),t(13,"div",10)(14,"app-data-state",11),x(15,Xo,74,17,"div",12),n()()()),e&2&&(o(14),m("loading",i.loading)("errorMessage",i.errorMessage),o(),m("ngIf",i.analytics))},dependencies:[E,q,ne,B,Ct,L,W,V,U,j,K,N,Qe,gt,Fn,zn,z,ee,X,Wn,Rn,D],styles:['@charset "UTF-8";.sa-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sa-content[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_saFadeIn .25s ease-out;display:flex;flex-direction:column;gap:1.5rem}@keyframes _ngcontent-%COMP%_saFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sa-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;width:100%;min-width:0}.sa-toolbar__title[_ngcontent-%COMP%]{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;white-space:nowrap}.sa-toolbar__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color);font-size:.78rem;font-weight:800}.sa-toolbar__filters[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.65rem;align-items:center;flex:1 1 auto;min-width:0}.sa-toolbar__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:.55rem;
9align-items:center;flex:0 0 auto;margin-left:auto}.sa-search[_ngcontent-%COMP%]{position:relative;flex:1 1 14rem;min-width:11rem;max-width:18rem;width:auto}.sa-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none;z-index:1}.sa-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.55rem .75rem .55rem 2.15rem;border-radius:.7rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);font:inherit;box-sizing:border-box}.sa-toolbar__filters[_ngcontent-%COMP%] > .p-floatlabel[_ngcontent-%COMP%], .sa-toolbar__filters[_ngcontent-%COMP%] > p-floatlabel[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-toolbar__filters .p-floatlabel{flex:0 0 12rem;width:12rem;min-width:11rem;max-width:14rem}.sa-toolbar__filters[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%], .sa-toolbar[_ngcontent-%COMP%] .sa-btn-text[_ngcontent-%COMP%]{flex:0 0 auto;white-space:nowrap}@media (max-width: 900px){.sa-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap}.sa-toolbar__filters[_ngcontent-%COMP%]{flex:1 1 100%;order:3;overflow-x:auto;padding-bottom:.15rem}.sa-toolbar__actions[_ngcontent-%COMP%]{margin-left:0}.sa-search[_ngcontent-%COMP%]{flex:1 1 12rem;max-width:none}}.sa-metrics[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}@media (max-width: 1024px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics[_ngcontent-%COMP%]{grid-template-columns:1fr}}.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.sa-metrics--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}.sa-metric[_ngcontent-%COMP%]{position:relative;overflow:hidden;padding:1.35rem 1.4rem;border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 90%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.4rem}.sa-metric[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--surface-border))}.sa-metric__glow[_ngcontent-%COMP%]{position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 20%,transparent),transparent 70%);pointer-events:none}.sa-metric__icon[_ngcontent-%COMP%]{width:2.6rem;height:2.6rem;border-radius:var(--hrms-radius-md, .75rem);display:flex;align-items:center;justify-content:center;font-size:1.15rem;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);margin-bottom:.15rem}.sa-metric__value[_ngcontent-%COMP%]{font-size:1.55rem;font-weight:800;color:var(--text-color);letter-spacing:-.02em;line-height:1.2}.sa-metric__label[_ngcontent-%COMP%]{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.sa-metric__meta[_ngcontent-%COMP%]{font-size:.78rem;color:var(--text-color-secondary)}.sa-metric.color-blue[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#3b82f6 20%,var(--surface-border))}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#3b82f61f;color:#3b82f6}.sa-metric.color-blue[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%)}.sa-metric.color-purple[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#8b5cf6 20%,var(--surface-border))}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#8b5cf61f;color:#8b5cf6}.sa-metric.color-purple[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%)}.sa-metric.color-green[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#10b981 20%,var(--surface-border))}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#10b9811f;color:#10b981}.sa-metric.color-green[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}.sa-metric.color-amber[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 20%,var(--surface-border))}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__icon[_ngcontent-%COMP%]{background:#f59e0b1f;color:#d97706}.sa-metric.color-amber[_ngcontent-%COMP%] .sa-metric__glow[_ngcontent-%COMP%]{background:radial-gradient(circle,rgba(245,158,11,.25),transparent 70%)}.sa-glass[_ngcontent-%COMP%]{border-radius:var(--hrms-radius-lg, 1rem);border:var(--hrms-border-soft, 1px solid var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 98%,transparent),color-mix(in srgb,var(--surface-card) 94%,transparent));box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));padding:1.35rem 1.45rem}.sa-card-title[_ngcontent-%COMP%]{margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;letter-spacing:-.01em}.sa-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:.45rem}.sa-btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 85%,#000));color:var(--primary-color-text, #fff);border:none;padding:.6rem 1.2rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 25%,transparent);transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none}.sa-btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 35%,transparent);filter:brightness(1.08);color:var(--primary-color-text, #fff)}.sa-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.sa-btn-secondary[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-ground));color:var(--text-color);border:1px solid var(--surface-border);padding:.55rem 1rem;border-radius:var(--hrms-radius-md, .75rem);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.sa-btn-secondary[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-card));border-color:color-mix(in srgb,var(--primary-color) 40%,var(--surface-border))}.sa-btn-text[_ngcontent-%COMP%]{background:transparent;border:none;color:var(--primary-color);font-weight:600;font-size:.88rem;cursor:pointer;padding:.45rem .65rem}.sa-btn-text[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.sa-quick-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.sa-quick-action[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:var(--hrms-shadow-card, 0 4px 16px rgba(0, 0, 0, .04));transition:all .2s ease}.sa-quick-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.sa-quick-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--surface-border));box-shadow:var(--hrms-shadow-elevated, 0 10px 28px rgba(0, 0, 0, .08))}.sa-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}.sa-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-status.active[_ngcontent-%COMP%], .sa-status.status-active[_ngcontent-%COMP%]{background:#10b98126;color:#059669}.sa-status.inactive[_ngcontent-%COMP%], .sa-status.status-inactive[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--text-color-secondary) 15%,transparent);color:var(--text-color-secondary)}.sa-status.pending[_ngcontent-%COMP%], .sa-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#ca8a04}.sa-status.failed[_ngcontent-%COMP%], .sa-status.status-failed[_ngcontent-%COMP%]{background:#ef444426;color:#dc2626}.sa-alert[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;border-radius:var(--hrms-radius-md, .75rem);border:1px solid color-mix(in srgb,#f59e0b 35%,var(--surface-border));background:color-mix(in srgb,#f59e0b 10%,var(--surface-card));color:var(--text-color);text-decoration:none;font-weight:600}.sa-alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#d97706}.super-admin-page[_ngcontent-%COMP%], .super-admin-dashboard[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.super-admin-page__subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}.super-admin-page__empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-color-secondary);font-size:.9rem}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-thead>tr>th{background:color-mix(in srgb,var(--surface-ground) 60%,var(--surface-card))!important;color:var(--text-color-secondary)!important;font-weight:700!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:2px solid var(--surface-border)!important;padding:.75rem 1rem!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr>td, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr>td{padding:.85rem 1rem!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-color)!important;font-size:.875rem!important;vertical-align:middle!important}[_nghost-%COMP%] .custom-table.p-datatable .p-datatable-tbody>tr:hover, [_nghost-%COMP%] .p-datatable.custom-table .p-datatable-tbody>tr:hover{background:color-mix(in srgb,var(--primary-color) 4%,transparent)!important}[_nghost-%COMP%] .custom-table .p-paginator, [_nghost-%COMP%] .p-datatable.custom-table .p-paginator{padding:.85rem .35rem .15rem!important}[_nghost-%COMP%] .hrms-tab-nav{margin-bottom:.25rem}.sa-datepicker[_ngcontent-%COMP%], [_nghost-%COMP%] .sa-datepicker{display:inline-flex!important;width:11.5rem!important;min-width:11.5rem!important;max-width:13rem!important}[_nghost-%COMP%] .sa-datepicker.p-datepicker, [_nghost-%COMP%] .p-datepicker.sa-datepicker{width:100%!important;min-width:0!important;max-width:100%!important}[_nghost-%COMP%] .sa-datepicker .p-datepicker-input, [_nghost-%COMP%] .sa-datepicker-input{width:100%!important;min-height:2.6rem!important;font-size:.88rem!important}[_nghost-%COMP%] .sa-datepicker--full, [_nghost-%COMP%] .sa-datepicker--full.p-datepicker{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.sa-toolbar__filters[_ngcontent-%COMP%] :is(input[type=date][_ngcontent-%COMP%], input[type=datetime-local][_ngcontent-%COMP%]){min-height:2.6rem;min-width:11.5rem;border-radius:.55rem;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-color);padding:.45rem .7rem;font:inherit;font-size:.88rem;box-sizing:border-box}[_nghost-%COMP%]{display:block}[_nghost-%COMP%] app-data-state{display:flex;flex-direction:column;gap:1.5rem}.onboarding-center[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.onboarding-center[_ngcontent-%COMP%] .sa-content[_ngcontent-%COMP%], .onboarding-center[_ngcontent-%COMP%] .sa-metrics[_ngcontent-%COMP%]{gap:1.5rem}.onboarding-center__stack[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.onboarding-center__hero[_ngcontent-%COMP%]{margin-bottom:0}.onboarding-center__cards[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.onboarding-center__cards--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(4,minmax(0,1fr))}.onboarding-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem}.onboarding-card[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-color-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.onboarding-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:1.45rem;color:var(--text-color)}.onboarding-card[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:var(--text-color-secondary)}.onboarding-center__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1.5rem}.onboarding-center__section-head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.1rem}.onboarding-center__section-head[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.35rem 0 0;color:var(--text-color-secondary)}.onboarding-center__section-head--row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.onboarding-center__section-head--row[_ngcontent-%COMP%] p-dropdown[_ngcontent-%COMP%]{min-width:18rem}.onboarding-center__dropoff[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--surface-border)}.onboarding-center__dropoff[_ngcontent-%COMP%]:last-child{border-bottom:0}.onboarding-center__dropoff[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{text-transform:capitalize}.onboarding-center__dropoff[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:var(--text-color-secondary)}.onboarding-center__dropoff-value[_ngcontent-%COMP%]{font-weight:700}.onboarding-center__status-head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.onboarding-center__checklist[_ngcontent-%COMP%]{margin-top:.75rem;display:grid;gap:.7rem}.onboarding-center__checklist-item[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto 1fr;gap:.6rem;
9align-items:start}.onboarding-center__checklist-item[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:.96rem}.onboarding-center__checklist-item[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.2rem 0 0;color:var(--text-color-secondary)}.onboarding-center__list[_ngcontent-%COMP%]{margin:.45rem 0 .9rem;padding-left:1.15rem;color:var(--text-color-secondary)}.onboarding-center__import-card[_ngcontent-%COMP%]{display:grid;gap:.9rem}.onboarding-center__import-controls[_ngcontent-%COMP%]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.onboarding-center__import-controls[_ngcontent-%COMP%] p-dropdown[_ngcontent-%COMP%]{min-width:14rem}.onboarding-center__import-card[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;border:1px solid var(--surface-border);border-radius:.7rem;padding:.75rem;background:var(--surface-card);color:var(--text-color)}.onboarding-center__error-list[_ngcontent-%COMP%]{display:grid;gap:.55rem}.onboarding-center__error-list[_ngcontent-%COMP%] article[_ngcontent-%COMP%]{border:1px solid var(--surface-border);border-radius:.65rem;padding:.65rem;display:grid;grid-template-columns:auto auto auto 1fr;gap:.65rem;align-items:baseline}.onboarding-center__error-list[_ngcontent-%COMP%] article.error[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#dc2626 45%,var(--surface-border))}.onboarding-center__error-list[_ngcontent-%COMP%] article.warning[_ngcontent-%COMP%]{border-color:color-mix(in srgb,#f59e0b 45%,var(--surface-border))}.onboarding-center__error-list[_ngcontent-%COMP%] article[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--text-color-secondary)}@media (max-width: 1100px){.onboarding-center__cards[_ngcontent-%COMP%], .onboarding-center__cards--compact[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-center__grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}@media (max-width: 640px){.onboarding-center__cards[_ngcontent-%COMP%], .onboarding-center__cards--compact[_ngcontent-%COMP%]{grid-template-columns:1fr}.onboarding-center__section-head--row[_ngcontent-%COMP%]{flex-direction:column}.onboarding-center__error-list[_ngcontent-%COMP%] article[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})};var sg=[{path:"dashboard",component:At,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Dashboard"}},{path:"companies",component:Rt,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Companies"}},{path:"users",component:Gt,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Users"}},{path:"employees",component:qt,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Users"}},{path:"plans",component:Ut,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Plans"}},{path:"subscriptions",component:Ht,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Subscription Admin"}},{path:"billing-dashboard",redirectTo:"subscriptions",pathMatch:"full"},{path:"billing-history",component:Jt,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Global View"}},{path:"revenue-analytics",component:rn,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Revenue Analytics"}},{path:"billing-email-logs",component:Zt,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Global View"}},{path:"billing-error-logs",component:en,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Global View"}},{path:"billing-security-logs",component:tn,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Security Logs"}},{path:"billing-health",component:nn,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Global View"}},{path:"backup-logs",component:an,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Backup Logs"}},{path:"coupons",component:Xt,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Coupons"}},{path:"invoices",component:Kt,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Invoices"}},{path:"billing-settings",component:$t,canActivate:[ie],data:{moduleKey:"Super Admin",
9subModuleKey:"Billing Settings"}},{path:"email-configuration",component:on,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Settings"}},{path:"email-notifications",component:sn,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Settings"}},{path:"email-templates",component:ln,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Billing Settings"}},{path:"onboarding-center",component:mn,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Dashboard"}},{path:"help-desk",component:Qt,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Help Desk"}},{path:"collaboration/chat",loadComponent:()=>import("./chunk-UE77BKSK.js").then(c=>c.ChatPageComponent),canActivate:[Sn],data:{moduleKey:"Collaboration",subModuleKey:"Internal Chat"}},{path:"blogs",component:Nn,canActivate:[ie],data:{moduleKey:"Super Admin",subModuleKey:"Blogs"}},{path:"pre-login-modals",redirectTo:"pre-login-cms/modals",pathMatch:"full"},{path:"header-menu",redirectTo:"pre-login-cms/menus/header",pathMatch:"full"},{path:"pre-login-cms",loadChildren:()=>import("./chunk-6MU377YL.js")}];export{sg as superAdminRoutes};
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.