PageSourceSearch

https://vocport.gov.in/main-BOTDSEHO.js

js vocport.gov.in collected 2026-09-25 06:31:39 UTC 290,923 bytes, 1 lines download raw bytes

1import{a as z,b as Ve}from"./chunk-CRAYU2IG.js";import"./chunk-7Y4FQRRS.js";import{a as Xt}from"./chunk-BA5RI6RM.js";import"./chunk-I7XIRC2S.js";import{a as en}from"./chunk-A5M5H5PX.js";import{a as Ne}from"./chunk-LPGZUZAP.js";import{a as he}from"./chunk-OEYLC74G.js";import{a as Gt}from"./chunk-U4H4SNCJ.js";import{D as Jt,c as qt,g as Kt,k as Zt,y as Qt}from"./chunk-T3OC74ZZ.js";import{a as G,b as Bt,c as de,d as A,e as fe,f as Ut,g as jt,h as Wt,i as pe}from"./chunk-F3TC52TI.js";import{a as $t,b as _e,c as Re,d as me}from"./chunk-7S5VARFA.js";import{a as Lt,b as Rt,c as Ht,d as zt}from"./chunk-NAOEBZYB.js";import{a as Yt}from"./chunk-247YCUVF.js";import"./chunk-K2BAHOWP.js";import{c as Nt,d as Vt,e as Ft}from"./chunk-4QTHKBSW.js";import{C as Dt,D as le,a as De,k as Tt,l as ce,m as N,r as At,t as Le,u as It,w as L}from"./chunk-EQ6PZGEX.js";import{$a as ye,A as mt,Ac as Ie,B as $,Ca as Pe,D as xe,Db as P,Dc as St,Ea as Ot,Eb as b,Gb as k,Gc as Et,Hb as B,Ka as xt,Na as wt,Nb as a,Ob as s,Pb as g,Qb as ie,Rb as oe,Sb as ot,Tb as S,U as gt,X as ut,Y as ft,Yb as v,Zb as C,_ as F,ab as it,ba as _t,cb as Pt,da as D,dc as Q,ea as nt,ec as J,fb as ge,fc as X,g as tt,gb as r,ha as ht,ia as bt,ic as ve,jb as yt,jc as l,kc as x,lb as y,lc as M,m as Oe,ma as Ct,mb as kt,mc as Se,na as p,nc as Ee,oa as m,oc as ae,p as W,pa as Z,pc as re,qc as se,r as dt,sb as I,sc as Te,ta as vt,ub as ke,wa as Mt,wc as u,xb as w,xc as f,y as ue,yc as Ae,z as pt,za as we}from"./chunk-QZFOZYL5.js";import{a as te,b as ne,h as lt,j}from"./chunk-SZAW6ZBW.js";var nn=lt(Gt());var Y=class n{constructor(t){this.el=t}ngAfterViewInit(){let t=this.el.nativeElement;if(!t)return;(!t.rel||!t.rel.includes("noopener"))&&(t.rel=[t.rel,"noopener","noreferrer"].filter(Boolean).join(" "));let e=t.getAttribute("aria-label");if(e&&e.includes("opens in a new browser tab")||(t.textContent||"").toLowerCase().includes("opens in a new browser tab"))return;let i=" (opens in a new browser tab)";e?t.setAttribute("aria-label",e+i):t.textContent?.trim()&&t.setAttribute("aria-label",t.textContent.trim()+i)}static \u0275fac=function(e){return new(e||n)(y(Pe))};static \u0275dir=ke({type:n,selectors:[["a","target","_blank"],["a","target","_new"]]})};var Fe=class n{THEME_KEY="user-theme";theme=Ot("light");constructor(){this.initializeTheme()}initializeTheme(){let t=localStorage.getItem(this.THEME_KEY);if(t)this.setTheme(t);else{let e=window.matchMedia("(prefers-color-scheme: dark)").matches;this.setTheme(e?"dark":"light")}}toggleTheme(){let t=this.theme()==="light"?"dark":"light";this.setTheme(t)}setTheme(t){this.theme.set(t),localStorage.setItem(this.THEME_KEY,t),this.updateBodyClass(t)}updateBodyClass(t){t==="dark"?document.body.classList.add("dark-theme"):document.body.classList.remove("dark-theme")}static \u0275fac=function(e){return new(e||n)};static \u0275prov=F({token:n,factory:n.\u0275fac,providedIn:"root"})};var un=["languageSelect"],fn=()=>({exact:!0});function _n(n,t){if(n&1&&(a(0,"option",127),l(1),s()),n&2){let e=t.$implicit;b("value",e.code),P("lang",e.code),r(),M(" ",e.name," ")}}var He=class n{constructor(t,e,i){this.router=t;this.translate=e;this.themeService=i;this.router.events.pipe($(o=>o instanceof G)).subscribe(o=>{this.currentRoute=o.url,this.closeAllDropdowns()})}currentUser=null;isMenuOpen=!1;openIndex=null;fontSize=100;isAboutDropdownOpen=!1;isOperationsDropdownOpen=!1;isMediaDropdownOpen=!1;isTendersDropdownOpen=!1;isCareersDropdownOpen=!1;currentRoute="";currentLanguage="en";languageAnnouncement="";languages=[{code:"en",name:"English",flag:"\u{1F1EC}\u{1F1E7}"},{code:"ta",name:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD",flag:"\u{1F1EE}\u{1F1F3}"},{code:"hi",name:"\u0939\u093F\u0902\u0926\u0940",flag:"\u{1F1EE}\u{1F1F3}"}];languageSelect;isTamilLanguage(){return this.currentLanguage==="ta"}isHindiLanguage(){return this.currentLanguage==="hi"}ngOnInit(){this.currentRoute=this.router.url,this.currentLanguage=this.translate.currentLang||this.translate.defaultLang||"en",this.translate.onLangChange.subscribe(t=>{this.currentLanguage=t.lang})}switchLanguage(t){if(!t||!this.languages.find(o=>o.code===t)){this.resetLanguageSelect();return}let e=this.translate.currentLang||this.translate.defaultLang||"en";if(t===e){this.resetLanguageSelect();return}let i=this.languages.find(o=>o.code===t)?.name||t;nn.default.fire({title:this.translate.instant("LANG.CHANGE_TITLE"),text:this.translate.instant("LANG.CHANGE_MESSAGE",{lang:i}),icon:"question",showCancelButton:!0,confirmButtonText:this.translate.instant("LANG.CONFIRM"),cancelButtonText:this.translate.instant("LANG.CANCEL"),confirmButtonColor:"#2947A3"}).then(o=>{o.isConfirmed?this.applyLanguage(t,i):this.resetLanguageSelect()})}applyLanguage(t,e){this.currentLanguage=t,this.languageAnnouncement=`Language changed to ${e}`,setTimeout(()=>{this.languageAnnouncement=""},3e3),this.translate.use(t).subscribe({next:()=>{console.log("Language changed successfully to:",t),localStorage.setItem("selectedLanguage",t)},error:i=>{console.error("Error changing language:",i)}})}resetLanguageSelect(){this.currentLanguage=this.translate.currentLang||this.translate.defaultLang||"en",this.languageSelect&&(this.languageSelect.nativeElement.value=this.currentLanguage)}ngOnDestroy(){}toggleMenu(){this.isMenuOpen=!this.isMenuOpen}toggleSubmenu(t){this.openIndex=this.openIndex===t?null:t}logout(){}isAuthenticated(){return!1}isAdmin(){return!1}
1adjustFontSize(t){t==="+"?this.fontSize=Math.min(this.fontSize+10,150):t==="-"?this.fontSize=Math.max(this.fontSize-10,80):this.fontSize=100,document.documentElement.style.fontSize=this.fontSize+"%"}printPage(){window.print()}isAboutRouteActive(){return this.currentRoute.startsWith("/about")}isOperationsRouteActive(){return this.currentRoute.startsWith("/operations")}isMediaRouteActive(){return this.currentRoute.startsWith("/media")}isTendersRouteActive(){return this.currentRoute.startsWith("/tenders")}isCareersRouteActive(){return this.currentRoute.startsWith("/careers")}isDepartmentsRouteActive(){return this.currentRoute.startsWith("/departments")}toggleDropdown(t,e){let i=document.getElementById(`${t}Dropdown`)?.closest(".nav-item.dropdown");document.querySelectorAll(".nav-item.dropdown").forEach(o=>{if(o!==i){o.classList.remove("show");let c=o.querySelector(".dropdown-menu");c&&c.classList.remove("show")}}),setTimeout(()=>{let c=i?.classList.contains("show");switch(t){case"about":this.isAboutDropdownOpen=!!c;break;case"operations":this.isOperationsDropdownOpen=!!c;break;case"media":this.isMediaDropdownOpen=!!c;break;case"tenders":this.isTendersDropdownOpen=!!c;break;case"careers":this.isCareersDropdownOpen=!!c;break}},50)}closeDropdown(t){switch(t){case"about":this.isAboutDropdownOpen=!1;break;case"operations":this.isOperationsDropdownOpen=!1;break;case"media":this.isMediaDropdownOpen=!1;break;case"tenders":this.isTendersDropdownOpen=!1;break;case"careers":this.isCareersDropdownOpen=!1;break}this.closeMenu()}closeDropdownOnLinkClick(t){t.target.closest("a[routerLink], a[href]")&&this.closeAllDropdowns()}closeMenu(){let t=document.getElementById("primaryMenu");t&&t.classList.remove("show"),this.closeAllDropdowns()}closeAllDropdowns(){this.isAboutDropdownOpen=!1,this.isOperationsDropdownOpen=!1,this.isMediaDropdownOpen=!1,this.isTendersDropdownOpen=!1,this.isCareersDropdownOpen=!1,document.querySelectorAll(".nav-item.dropdown").forEach(t=>{t.classList.remove("show","dropdown-active");let e=t.querySelector(".dropdown-menu");e&&e.classList.remove("show")}),document.querySelectorAll(".dropdown-menu.show").forEach(t=>{t.classList.remove("show")})}onDocumentClick(t){let e=t.target,i=e.closest(".nav-item.dropdown")!==null,o=e.closest(".dropdown-menu")!==null,c=e.closest(".dropdown-toggle")!==null;if(!(e.closest(".navbar")!==null)){this.closeAllDropdowns();return}!i&&!o&&!c&&this.closeAllDropdowns()}goToScreenReader(){this.router.navigate(["/screen-reader"])}toggleTheme(){this.themeService.toggleTheme()}handleKeydown(t,e){switch(t.key){case"Enter":case" ":t.preventDefault(),this.toggleDropdown(e,t);break;case"ArrowDown":t.preventDefault(),this.focusFirstItem(e);break;case"Escape":this.closeDropdown(e),document.getElementById(`${e}Dropdown`)?.focus();break}}focusFirstItem(t){setTimeout(()=>{document.querySelector(`#${t}Dropdown + .dropdown-menu a`)?.focus()},0)}handleItemKeydown(t){let e=t.target,i=e.closest(".dropdown-menu"),o=Array.from(i?.querySelectorAll(".dropdown-link-item")||[]),c=o.indexOf(e);t.key==="ArrowDown"&&(t.preventDefault(),o[c+1]?.focus()),t.key==="ArrowUp"&&(t.preventDefault(),o[c-1]?.focus()),t.key==="Tab"&&(!t.shiftKey&&c===o.length-1&&this.closeAllDropdowns(),t.shiftKey&&c===0&&this.closeAllDropdowns()),t.key==="Escape"&&(this.closeAllDropdowns(),i?.previousElementSibling?.focus())}goToMainContent(t){t.preventDefault();let e=document.getElementById("main-content");if(!e)return;let i=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", "),c=Array.from(e.querySelectorAll(i)).filter(d=>d.offsetParent!==null)[0];e.setAttribute("tabindex","-1"),e.scrollIntoView({behavior:"smooth",block:"start"}),e.classList.add("focus-highlight"),setTimeout(()=>{c?(c.focus(),c.classList.add("skip-focus-ring"),setTimeout(()=>c.classList.remove("skip-focus-ring"),2e3)):e.focus(),setTimeout(()=>e.classList.remove("focus-highlight"),2e3)},450)}static \u0275fac=function(e){return new(e||n)(y(A),y(_e),y(Fe))};static \u0275cmp=I({type:n,selectors:[["app-header"]],viewQuery:function(e,i){if(e&1&&Q(un,5),e&2){let o;J(o=X())&&(i.languageSelect=o.first)}},hostBindings:function(e,i){e&1&&v("click",function(c){return i.onDocumentClick(c)},!1,ge)},decls:373,vars:294,consts:[["languageSelect",""],[1,"top-header"],["aria-live","polite","aria-atomic","true",1,"visually-hidden"],[1,"container-fluid"],[1,"row","align-items-center","g-2"],[1,"col-xl-4","col-lg-4","col-md-4","mt-md-0"],[1,"govt-info"],[1,"govt-text"],["aria-hidden","true",1,"separator"],[1,"ministry-text"],[1,"col-xl-3","col-lg-3","col-md-3","text-center"],["href","#main-content",1,"skip-btn",3,"click"],[1,"col-xl-5","col-lg-5","col-md-5","mt-md-0"],[1,"d-flex","flex-wrap","justify-content-lg-end","justify-content-center","align-items-center","gap-2","gap-md-3"],[1,"d-flex","align-items-center","gap-2"],[1,"language-switcher"],["for","language-select",1,"language-label"],["name","language-select","id","language-select",1,"language-select",3,"change","value"],[3,"value",4,"ngFor","ngForOf"],[1,"icon-btn",3,"click","title"],["aria-hidden","true",1,"ri-volume-up-fill"],[1,"icon-btn","theme-toggle",3,"click","title"],["aria-hidden","true",3,"ngClass"],[1,"font-size-control
1s"],[1,"accessibility-btn",3,"click"],[1,"accessibility-btn",3,"click","title"],["aria-hidden","true",1,"ri-printer-line"],[1,"gst-details"],[1,"gst-text"],[1,"main-header"],[1,"container-fluid","px-md-5"],[1,"row","align-items-center","g-2","g-md-3"],[1,"col-lg-4","col-md-5","col-12"],[1,"logo-group","d-flex","align-items-center","flex-wrap","gap-2","gap-md-3"],["src","assets/images/logo/Emblem_of_India.svg",1,"emblem-logo",3,"alt"],[1,"port-logos","d-flex","align-items-center","gap-2"],["src","assets/images/logo/vocIcon.jpg",1,"voc-logo",3,"alt"],["src","assets/images/logo/vocEmbem.jpg",1,"authority-logo",3,"alt"],[1,"col-lg-4","d-none","d-lg-block"],[1,"col-lg-4","col-md-7","col-12"],[1,"partner-logos","d-flex","align-items-center","justify-content-md-end","justify-content-center","gap-2"],[1,"glass-card"],["src","assets/images/logo/swatch.png",1,"partner-logo",3,"alt"],["src","assets/images/logo/sagarmala.png",1,"partner-logo",3,"alt"],[1,"navbar","navbar-expand-lg","main-navbar","sticky-top"],[1,"row","w-100"],[1,"col-12","d-lg-none","mb-2"],["type","button","data-bs-toggle","collapse","data-bs-target","#primaryMenu","aria-controls","primaryMenu","aria-expanded","false",1,"navbar-toggler","w-100"],[1,"navbar-toggler-icon"],[1,"ms-2"],[1,"col-12"],["id","primaryMenu",1,"collapse","navbar-collapse","justify-content-between"],[1,"navbar-nav","me-auto","mb-2","mb-lg-0"],[1,"nav-item"],["routerLink","/","routerLinkActive","active",1,"nav-link","no-icon",3,"click","routerLinkActiveOptions"],["aria-hidden","true",1,"ri-home-5-line","me-1"],[1,"nav-item","dropdown"],["id","aboutDropdown","role","button","tabindex","0","data-bs-toggle","dropdown","data-bs-auto-close","true","aria-haspopup","menu","aria-controls","aboutDropdown-menu",1,"nav-link","dropdown-toggle","no-icon",3,"click","keydown"],["aria-hidden","true",1,"ri-information-line","me-1"],["aria-hidden","true",1,"ri-arrow-down-s-line","dropdown-arrow","ms-1"],["aria-labelledby","aboutDropdown","id","aboutDropdown-menu",1,"dropdown-menu","modern-dropdown","enhanced-dropdown",3,"click"],[1,"dropdown-content-wrapper"],[1,"dropdown-left-section"],[1,"dropdown-column"],[1,"dropdown-column-title"],[1,"dropdown-link-list"],["routerLink","/about/chairperson",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/know-your-port","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/history","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/layout","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/management","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/awards","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/accreditations","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/statistics","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/milestones","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/admin-reports","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/csr","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/about/projects","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/tariff/calculator","routerLinkActive","active",1,"nav-link",3,"click"],["id","operationsDropdown","role","button","tabindex","0","data-bs-toggle","dropdown","data-bs-auto-close","true","aria-haspopup","menu","aria-controls","operationsDropdown-menu",1,"nav-link","dropdown-toggle","no-icon",3,"click","keydown"],["aria-hidden","true",1,"ri-ship-2-line","me-1"],["aria-labelledby","operationsDropdown","id","operationsDropdown-menu",1,"dropdown-menu","modern-dropdown","enhanced-dropdown",3,"click"],["routerLink","/operations/tariff","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/operations/ship-chandling-license",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/operations/sor-general","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/operations/stevedore-portal",1,"dropdown-link-item",3,"keydown","click"],["href","https://epis.vocport.gov.in/epis_voc/","target","_blank","rel","noopener noreferrer","appNewTabAccessibility","",1,"dropdown-link-item","external-link",3,"click","keydown"],["aria-hidden","true",1,"ri-external-link-line","ms-1","small-icon"],["routerLink","/operations/vessel-position","routerLinkActive","active",1,"dropdown-link-item",3,"click","keydown"],["href","https://epis.vocport.gov.in:8180/epis_voc/","target","_blank","rel","noopener noreferrer","appNewTabAccessibility","",1,"dropdown-link-item","external-link",3,"click","keydown"],["routerLink","/operations/agents","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["routerLink","/operations/berthing-facilities","routerLinkActive","active",1,"dropdown-link-item",3,"click","keydown"],["routerLink","/operations/navigation-facilities","routerLinkActive","active",1,"dropdown-link-item",3,"click","keydown"],["routerLink","/operations/storage-facilities","routerLinkActive","active",1,"dropdown-link-item",3,"keydown","click"],["id","mediaDropdown","role","button","tabindex","0","data-bs-toggle","dropdown","data-bs-auto-close","true","aria-haspopup","menu","aria-controls","mediaDropdown-menu",1,"nav-link","dropdown-toggle","no-icon",3,"click","keydown"],["aria-hidden","true",1,"ri-newspaper-line","me-1"],["aria-labelledby","mediaDropdown","i
1d","mediaDropdown-menu",1,"dropdown-menu","modern-dropdown","enhanced-dropdown",3,"click"],["routerLink","/media/latest-news","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/media/trade-news","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/media/newsletter","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/media/press-releases","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/media/gallery","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/media/video-gallery","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/media/circular-notices","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/media/downloads","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["id","tendersDropdown","role","button","tabindex","0","data-bs-toggle","dropdown","data-bs-auto-close","true","aria-haspopup","menu","aria-controls","tendersDropdown-menu",1,"nav-link","dropdown-toggle","no-icon",3,"click","keydown"],["aria-hidden","true",1,"ri-auction-line","me-1"],["aria-labelledby","tendersDropdown","id","tendersDropdown-menu",1,"dropdown-menu","modern-dropdown","enhanced-dropdown",3,"click"],["routerLink","/tenders/new","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/tenders/status","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/tenders/awards","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/tenders/quotations","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["href","https://www.tenderwizard.com/ROOTAPP/Mobility/index.html?dc=encSJquowZCGt9W3/BV0epa2w==#/home","target","_blank","rel","noopener noreferrer","appNewTabAccessibility","",1,"dropdown-link-item","external-link",3,"click"],["aria-hidden","true",1,"ri-global-line","me-2"],["href","https://etenders.gov.in/eprocure/app","target","_blank","rel","noopener noreferrer","appNewTabAccessibility","",1,"dropdown-link-item","external-link",3,"click"],["aria-hidden","true",1,"ri-government-line","me-2"],["id","careersDropdown","role","button","tabindex","0","data-bs-toggle","dropdown","data-bs-auto-close","true","aria-haspopup","menu","aria-controls","careersDropdown-menu",1,"nav-link","dropdown-toggle","no-icon",3,"click","keydown"],["aria-hidden","true",1,"ri-briefcase-2-line","me-1"],["aria-labelledby","careersDropdown","id","careersDropdown-menu",1,"dropdown-menu","modern-dropdown","enhanced-dropdown",3,"click"],["routerLink","/careers/applications","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["routerLink","/careers/results","routerLinkActive","active",1,"dropdown-link-item",3,"click"],["href","https://onlinevacancy.shipmin.nic.in/","target","_blank","rel","noopener noreferrer","appNewTabAccessibility","",1,"dropdown-link-item","external-link",3,"click"],["routerLink","/contact-info","routerLinkActive","active",1,"nav-link","no-icon",3,"click"],["aria-hidden","true",1,"ri-contacts-book-2-line","me-1"],["routerLink","/vigilance/vigilance-dashboard","routerLinkActive","active",1,"nav-link","no-icon",3,"click"],["aria-hidden","true",1,"ri-shield-user-line","me-1"],["href","https://idbi.bankpg.com/vocport/Login.aspx","target","_blank","rel","noopener noreferrer","appNewTabAccessibility","",1,"nav-link","no-icon","payment-btn"],[3,"value"]],template:function(e,i){if(e&1){let o=S();a(0,"header",1)(1,"div",2),l(2),s(),a(3,"div",3)(4,"div",4)(5,"div",5)(6,"div",6)(7,"span",7),l(8),u(9,"translate"),s(),a(10,"span",8),l(11,"|"),s(),a(12,"span",9),l(13),u(14,"translate"),s()()(),a(15,"div",10)(16,"a",11),v("click",function(d){return p(o),m(i.goToMainContent(d))}),l(17),u(18,"translate"),s()(),a(19,"div",12)(20,"div",13)(21,"div",14)(22,"div",15)(23,"label",16),l(24),u(25,"translate"),s(),a(26,"select",17,0),v("change",function(d){return p(o),m(i.switchLanguage(d.target.value))}),w(28,_n,2,3,"option",18),s()(),a(29,"button",19),u(30,"translate"),u(31,"translate"),v("click",function(){return p(o),m(i.goToScreenReader())}),g(32,"i",20),s(),a(33,"button",21),u(34,"translate"),u(35,"translate"),u(36,"translate"),u(37,"translate"),v("click",function(){return p(o),m(i.toggleTheme())}),g(38,"i",22),s(),a(39,"div",23)(40,"button",24),u(41,"translate"),v("click",function(){return p(o),m(i.adjustFontSize("-"))}),l(42,"A-"),s(),a(43,"button",24),u(44,"translate"),v("click",function(){return p(o),m(i.adjustFontSize("reset"))}),l(45,"A"),s(),a(46,"button",24),u(47,"translate"),v("click",function(){return p(o),m(i.adjustFontSize("+"))}),l(48,"A+"),s(),a(49,"button",25),u(50,"translate"),u(51,"translate"),v("click",function(){return p(o),m(i.printPage())}),g(52,"i",26),s()()(),a(53,"div",27)(54,"span",28),l(55,"GST: 33AAALT0206D1ZP"),s()()()()()()(),a(56,"header",29)(57,"div",30)(58,"div",31)(59,"div",32)(60,"div",33),g(61,"img",34),u(62,"translate"),a(63,"div",35),g(64,"img",36),u(65,"translate"),g(66,"img",37),u(67,"translate"),s()()(),g(68,"div",38),a(69,"div",39)(70,"div",40)(71,"div",41),g(72,"img",42),u(73,"translate"),s(),a(74,"div",41),g(75,"img",43),u(76,"translate"),s()()()()()(),a(77,"nav",44),u(78,"translate"),a(79,"div",3)(80,"div",45)(81,"div",46)(82,"button",47),u(83,"translate"),g(84,"span",48),a(85,"span",49),l(86),u(87,"translate"),s()()(),a(88,"div",50)(89,"div",51)(90,"ul",52)(91,"li",53)(92,"a",54),v("click",function(){return p(o),m(i.closeMenu())}),g(93,"i",55),l(94),u(95,"translate"),s()(),a(96,"li",56)(97,"a",57),v("click",function(d){return p(o),m(i.toggleDropdown("about",d))})("keydown",function(d){return p(o),m(i.handleKeydown(d,"about"))}),g(98,"i",58),l(99),u(100,"translate"),g(101,"i",59),s(),a(102,"div",60),v("click",function(d){return p(o),m(i.closeDropdownOnLinkClick(d))}),a(103,"div",61)(104,"div",62)(105,"div",63)(106,"h6",64),l(107),u(108,"translate"),s(),a(109,"ul",65)(110,"li")(111,"a",66),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(112),u(113,"translate"),s()(),a(114,"li")(115,"a",67),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(116),u(117,"translate"),s()(),a(118,"li")(119,"a",68),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(120),u(121,"translate"),s()(),a(122,"li")(123,"a",69),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(124),u(125,"translate"),s()(),a(126,"li")(127,"a",70),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(128),u(129,"translate"),s()(),a(130,"li")(131,"a",71),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(132),u(133,"translate"),s()()()(),a(134,"div",63)(135,"h6",64),l(136),u(137,"translate"),s(),a(138,"ul",65)(139,"li")(140,"a",72),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(141),u(142,"translate"),s()(),a(143,"li")(144,"a",73),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(145),u(146,"translate"),s()(),a(147,"li")(148,"a",74),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(149),u(150,"translate"),s()(),a(151,"li")(152,"a",75),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(153),u(154,"translate"),s()(),a(155,"li")(156,"a",76),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(157),u(158,"translate"),s()(),a(159,"li")(160,"a",77),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("about"))}),l(161),u(162,"translate"),s()()()()()()()(),a(163,"li",53)(164,"a",78),v("click",function(){return p(o),m(i.closeMenu())}),l(165),u(166,"translate"),s()(),a(167,"li",56)(168,"a",79),v("click",function(d){return p(o),m(i.toggleDropdown("operations",d))})("keydown",function(d){return p(o),m(i.handleKeydown(d,"operations"))}),g(169,"i",80),l(170),u(171,"translate"),g(172,"i",59),s(),a(173,"div",81),v("click",function(d){return p(o),m(i.closeDropdownOnLinkClick(d))}
1),a(174,"div",61)(175,"div",62)(176,"div",63)(177,"h6",64),l(178),u(179,"translate"),s(),a(180,"ul",65)(181,"li")(182,"a",82),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("operations"))}),l(183),u(184,"translate"),s()(),a(185,"li")(186,"a",83),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("operations"))}),l(187),u(188,"translate"),s()(),a(189,"li")(190,"a",84),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("operations"))}),l(191),u(192,"translate"),s()(),a(193,"li")(194,"a",85),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("operations"))}),l(195),u(196,"translate"),s()(),a(197,"li")(198,"a",86),v("click",function(){return p(o),m(i.closeDropdown("operations"))})("keydown",function(d){return p(o),m(i.handleItemKeydown(d))}),l(199),u(200,"translate"),g(201,"i",87),s()(),a(202,"li")(203,"a",88),v("click",function(){return p(o),m(i.closeDropdown("operations"))})("keydown",function(d){return p(o),m(i.handleItemKeydown(d))}),l(204),u(205,"translate"),s()()()(),a(206,"div",63)(207,"h6",64),l(208),u(209,"translate"),s(),a(210,"ul",65)(211,"li")(212,"a",89),v("click",function(){return p(o),m(i.closeDropdown("operations"))})("keydown",function(d){return p(o),m(i.handleItemKeydown(d))}),l(213),u(214,"translate"),g(215,"i",87),s()(),a(216,"li")(217,"a",90),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("operations"))}),l(218),u(219,"translate"),s()(),a(220,"li")(221,"a",91),v("click",function(){return p(o),m(i.closeDropdown("operations"))})("keydown",function(d){return p(o),m(i.handleItemKeydown(d))}),l(222),u(223,"translate"),s()(),a(224,"li")(225,"a",92),v("click",function(){return p(o),m(i.closeDropdown("operations"))})("keydown",function(d){return p(o),m(i.handleItemKeydown(d))}),l(226),u(227,"translate"),s()(),a(228,"li")(229,"a",93),v("keydown",function(d){return p(o),m(i.handleItemKeydown(d))})("click",function(){return p(o),m(i.closeDropdown("operations"))}),l(230),u(231,"translate"),s()()()()()()()(),a(232,"li",56)(233,"a",94),v("click",function(d){return p(o),m(i.toggleDropdown("media",d))})("keydown",function(d){return p(o),m(i.handleKeydown(d,"media"))}),g(234,"i",95),l(235),u(236,"translate"),g(237,"i",59),s(),a(238,"div",96),v("click",function(d){return p(o),m(i.closeDropdownOnLinkClick(d))}),a(239,"div",61)(240,"div",62)(241,"div",63)(242,"h6",64),l(243),u(244,"translate"),s(),a(245,"ul",65)(246,"li")(247,"a",97),v("click",function(){return p(o),m(i.closeDropdown("media"))}),l(248),u(249,"translate"),s()(),a(250,"li")(251,"a",98),v("click",function(){return p(o),m(i.closeDropdown("media"))}),l(252),u(253,"translate"),s()(),a(254,"li")(255,"a",99),v("click",function(){return p(o),m(i.closeDropdown("media"))}),l(256),u(257,"translate"),s()(),a(258,"li")(259,"a",100),v("click",function(){return p(o),m(i.closeDropdown("media"))}),l(260),u(261,"translate"),s()()()(),a(262,"div",63)(263,"h6",64),l(264),u(265,"translate"),s(),a(266,"ul",65)(267,"li")(268,"a",101),v("click",function(){return p(o),m(i.closeDropdown("media"))}),l(269),u(270,"translate"),s()(),a(271,"li")(272,"a",102),v("click",function(){return p(o),m(i.closeDropdown("media"))}),l(273),u(274,"translate"),s()(),a(275,"li")(276,"a",103),v("click",function(){return p(o),m(i.closeDropdown("media"))}),l(277),u(278,"translate"),s()(),a(279,"li")(280,"a",104),v("click",function(){return p(o),m(i.closeDropdown("media"))}),l(281),u(282,"translate"),s()()()()()()()(),a(283,"li",56)(284,"a",105),v("click",function(d){return p(o),m(i.toggleDropdown("tenders",d))})("keydown",function(d){return p(o),m(i.handleKeydown(d,"tenders"))}),g(285,"i",106),l(286),u(287,"translate"),g(288,"i",59),s(),a(289,"div",107),v("click",function(d){return p(o),m(i.closeDropdownOnLinkClick(d))}),a(290,"div",61)(291,"div",62)(292,"div",63)(293,"h6",64),l(294),u(295,"translate"),s(),a(296,"ul",65)(297,"li")(298,"a",108),v("click",function(){return p(o),m(i.closeDropdown("tenders"))}),l(299),u(300,"translate"),s()(),a(301,"li")(302,"a",109),v("click",function(){return p(o),m(i.closeDropdown("tenders"))}),l(303),u(304,"translate"),s()(),a(305,"li")(306,"a",110),v("click",function(){return p(o),m(i.closeDropdown("tenders"))}),l(307),u(308,"translate"),s()(),a(309,"li")(310,"a",111),v("click",function(){return p(o),m(i.closeDropdown("tenders"))}),l(311),u(312,"translate"),s()()()(),a(313,"div",63)(314,"h6",64),l(315),u(316,"translate"),s(),a(317,"ul",65)(318,"li")(319,"a",112),v("click",function(){return p(o),m(i.closeDropdown("tenders"))}),g(320,"i",113),l(321),u(322,"translate"),g(323,"i",87),s()(),a(324,"li")(325,"a",114),v("click",function(){return p(o),m(i.closeDropdown("tenders"))}),g(326,"i",115),l(327),u(328,"translate"),g(329,"i",87),s()()()()()()()(),a(330,"li",56)(331,"a",116),v("click",function(d){return p(o),m(i.toggleDropdown("careers",d))})("keydown",function(d){return p(o),m(i.handleKeydown(d,"careers"))}),g(332,"i",117),l(333),u(334,"translate"),g(335,"i",59),s(),a(33
16,"div",118),v("click",function(d){return p(o),m(i.closeDropdownOnLinkClick(d))}),a(337,"div",61)(338,"div",62)(339,"div",63)(340,"h6",64),l(341),u(342,"translate"),s(),a(343,"ul",65)(344,"li")(345,"a",119),v("click",function(){return p(o),m(i.closeDropdown("careers"))}),l(346),u(347,"translate"),s()(),a(348,"li")(349,"a",120),v("click",function(){return p(o),m(i.closeDropdown("careers"))}),l(350),u(351,"translate"),s()(),a(352,"li")(353,"a",121),v("click",function(){return p(o),m(i.closeDropdown("careers"))}),g(354,"i",115),l(355),u(356,"translate"),g(357,"i",87),s()()()()()()()(),a(358,"li",53)(359,"a",122),v("click",function(){return p(o),m(i.closeMenu())}),g(360,"i",123),l(361),u(362,"translate"),s()(),a(363,"li",53)(364,"a",124),v("click",function(){return p(o),m(i.closeMenu())}),g(365,"i",125),l(366),u(367,"translate"),s()()(),a(368,"a",126),u(369,"translate"),l(370),u(371,"translate"),g(372,"i",87),s()()()()()()}e&2&&(r(2),x(i.languageAnnouncement),r(3),k("lang-tamil",i.isTamilLanguage())("lang-hindi",i.currentLanguage==="hi"),r(3),x(f(9,127,"HEADER.GOVT_OF_INDIA")),r(5),x(f(14,129,"HEADER.MINISTRY")),r(4),M(" ",f(18,131,"HEADER.SKIP_TO_CONTENT")," "),r(7),x(f(25,133,"HEADER.LANGUAGE")),r(2),b("value",i.currentLanguage),r(2),b("ngForOf",i.languages),r(),b("title",f(30,135,"HEADER.SCREEN_READER")),P("aria-label",f(31,137,"HEADER.SCREEN_READER")),r(4),b("title",i.themeService.theme()==="light"?f(34,139,"HEADER.SWITCH_TO_DARK_MODE"):f(35,141,"HEADER.SWITCH_TO_LIGHT_MODE")),P("aria-label",i.themeService.theme()==="light"?f(36,143,"HEADER.SWITCH_TO_DARK_MODE"):f(37,145,"HEADER.SWITCH_TO_LIGHT_MODE")),r(5),b("ngClass",i.themeService.theme()==="light"?"ri-moon-line":"ri-sun-line"),r(2),P("aria-label",f(41,147,"HEADER.DECREASE_FONT_SIZE")),r(3),P("aria-label",f(44,149,"HEADER.RESET_FONT_SIZE")),r(3),P("aria-label",f(47,151,"HEADER.INCREASE_FONT_SIZE")),r(3),b("title",f(50,153,"HEADER.PRINT_PAGE")),P("aria-label",f(51,155,"HEADER.PRINT_PAGE")),r(12),b("alt",f(62,157,"HEADER.STATE_EMBLEM_ALT")),r(3),b("alt",f(65,159,"HEADER.VOC_LOGO_ALT")),r(2),b("alt",f(67,161,"HEADER.AUTHORITY_LOGO_ALT")),r(6),b("alt",f(73,163,"HEADER.SWATCH_BHARAT_ALT")),r(3),b("alt",f(76,165,"HEADER.SAGARMALA_ALT")),r(2),k("lang-tamil",i.isTamilLanguage()),P("aria-label",f(78,167,"HEADER.MAIN_NAVIGATION")),r(5),P("aria-label",f(83,169,"HEADER.TOGGLE_NAVIGATION")),r(4),x(f(87,171,"HEADER.MENU")),r(6),b("routerLinkActiveOptions",Te(293,fn)),r(2),M(" ",f(95,173,"HEADER.HOME")," "),r(2),k("show",i.isAboutDropdownOpen)("dropdown-active",i.isAboutRouteActive()),r(),P("aria-expanded",i.isAboutDropdownOpen),r(2),M(" ",f(100,175,"HEADER.ABOUT_US")," "),r(2),k("rotated",i.isAboutDropdownOpen),r(6),x(f(108,177,"ABOUT_MENU.CORPORATE_INFO")),r(5),M(" ",f(113,179,"ABOUT_MENU.CHAIRPERSON_VOCPA")," "),r(4),M(" ",f(117,181,"ABOUT_MENU.KNOW_YOUR_PORT")," "),r(4),M(" ",f(121,183,"ABOUT_MENU.PORT_HISTORY")," "),r(4),M(" ",f(125,185,"ABOUT_MENU.PORT_LAYOUT")," "),r(4),M(" ",f(129,187,"ABOUT_MENU.MANAGEMENT")," "),r(4),M(" ",f(133,189,"ABOUT_MENU.AWARDS_RECOGNITIONS")," "),r(4),x(f(137,191,"ABOUT_MENU.OUR_COMMITMENT")),r(5),M(" ",f(142,193,"ABOUT_MENU.ACCREDITATIONS")," "),r(4),M(" ",f(146,195,"ABOUT_MENU.STATISTICAL_INFO")," "),r(4),M(" ",f(150,197,"ABOUT_MENU.IMPORTANT_MILESTONES")," "),r(4),M(" ",f(154,199,"ABOUT_MENU.REPORTS")," "),r(4),M(" ",f(158,201,"ABOUT_MENU.CSR_ACTIVITIES")," "),r(4),M(" ",f(162,203,"ABOUT_MENU.MAJOR_PROJECTS")," "),r(4),M(" ",f(166,205,"HEADER.TARIFF")," "),r(2),k("show",i.isOperationsDropdownOpen)("dropdown-active",i.isOperationsRouteActive()),r(),P("aria-expanded",i.isOperationsDropdownOpen),r(2),M(" ",f(171,207,"HEADER.PORT_OPERATIONS")," "),r(2),k("rotated",i.isOperationsDropdownOpen),r(6),x(f(179,209,"OPERATIONS_MENU.OPERATIONS")),r(5),M(" ",f(184,211,"OPERATIONS_MENU.SHIPPING_TARIFF")," "),r(4),M(" ",f(188,213,"OPERATIONS_MENU.SHIP_CHA
1NDLING_LICENSE")," "),r(4),M(" ",f(192,215,"OPERATIONS_MENU.SOR_GENERAL")," "),r(4),M(" ",f(196,217,"OPERATIONS_MENU.STEVEDORE_PORTAL")," "),r(4),M(" ",f(200,219,"OPERATIONS_MENU.POS_PORTAL")," "),r(5),M(" ",f(205,221,"OPERATIONS_MENU.VESSEL_POSITION")," "),r(4),x(f(209,223,"OPERATIONS_MENU.AGENTS")),r(5),M(" ",f(214,225,"OPERATIONS_MENU.AGENTS_LOGIN")," "),r(5),M(" ",f(219,227,"OPERATIONS_MENU.AGENTS_DETAILS")," "),r(4),M(" ",f(223,229,"OPERATIONS_MENU.BERTHING_FACILITIES")," "),r(4),M(" ",f(227,231,"OPERATIONS_MENU.NAVIGATION_FACILITIES")," "),r(4),M(" ",f(231,233,"OPERATIONS_MENU.STORAGE_FACILITIES")," "),r(2),k("show",i.isMediaDropdownOpen)("dropdown-active",i.isMediaRouteActive()),r(),P("aria-expanded",i.isMediaDropdownOpen),r(2),M(" ",f(236,235,"HEADER.NEWS_MEDIA")," "),r(2),k("rotated",i.isMediaDropdownOpen),r(6),x(f(244,237,"MEDIA_MENU.NEWS")),r(5),M(" ",f(249,239,"MEDIA_MENU.LATEST_NEWS")," "),r(4),M(" ",f(253,241,"MEDIA_MENU.TRADE_NEWS")," "),r(4),M(" ",f(257,243,"MEDIA_MENU.NEWSLETTER")," "),r(4),M(" ",f(261,245,"MEDIA_MENU.PRESS_RELEASES")," "),r(4),x(f(265,247,"MEDIA_MENU.MEDIA")),r(5),M(" ",f(270,249,"MEDIA_MENU.PHOTO_GALLERY")," "),r(4),M(" ",f(274,251,"MEDIA_MENU.VIDEO_GALLERY")," "),r(4),M(" ",f(278,253,"MEDIA_MENU.CIRCULARS")," "),r(4),M(" ",f(282,255,"MEDIA_MENU.DOWNLOADS")," "),r(2),k("show",i.isTendersDropdownOpen)("dropdown-active",i.isTendersRouteActive()),r(),P("aria-expanded",i.isTendersDropdownOpen),r(2),M(" ",f(287,257,"HEADER.TENDERS")," "),r(2),k("rotated",i.isTendersDropdownOpen),r(6),x(f(295,259,"TENDERS_MENU.TENDER_MANAGEMENT")),r(5),M(" ",f(300,261,"TENDERS_MENU.NEW_TENDER")," "),r(4),M(" ",f(304,263,"TENDERS_MENU.STATUS_OF_TENDER")," "),r(4),M(" ",f(308,265,"TENDERS_MENU.AWARD_OF_TENDER")," "),r(4),M(" ",f(312,267,"TENDERS_MENU.QUOTATION")," "),r(4),x(f(316,269,"TENDERS_MENU.E_SERVICES")),r(6),M("",f(322,271,"TENDERS_MENU.E_TENDER")," "),r(6),M("",f(328,273,"TENDERS_MENU.CPPP_E_TENDER")," "),r(3),k("show",i.isCareersDropdownOpen)("dropdown-active",i.isCareersRouteActive()),r(),P("aria-expanded",i.isCareersDropdownOpen),r(2),M(" ",f(334,275,"HEADER.CAREERS")," "),r(2),k("rotated",i.isCareersDropdownOpen),r(6),x(f(342,277,"CAREERS_MENU.RECRUITMENT")),r(5),M(" ",f(347,279,"CAREERS_MENU.APPLICATIONS")," "),r(4),M(" ",f(351,281,"CAREERS_MENU.RESULTS")," "),r(5),M("",f(356,283,"CAREERS_MENU.ONLINE_RECRUITMENT_PORTAL")," "),r(6),M(" ",f(362,285,"HEADER.CONTACT_US")," "),r(5),M(" ",f(367,287,"HEADER.VIGILANCE")," "),r(2),P("aria-label",f(369,289,"HEADER.GO_TO_PAYMENT")),r(2),M(" ",f(371,291,"HEADER.ONLINE_PAYMENT_GATEWAY")," "))},dependencies:[L,Tt,ce,pe,fe,Ut,me,Re,Y,Ne],styles:[`.top-header[_ngcontent-%COMP%]{background:var(--footer-bg);backdrop-filter:blur(12px);color:#fff;box-shadow:0 2px 8px #0000001a;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:1000}.top-header[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.5),transparent)}.top-header[_ngcontent-%COMP%]   .row[_ngcontent-%COMP%]{flex-wrap:wrap;row-gap:.5rem}.top-header[_ngcontent-%COMP%]   .row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{min-width:0}@media (max-width: 767.98px){.top-header[_ngcontent-%COMP%]   .row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%;width:100%}}.top-header[_ngcontent-%COMP%]   .d-flex[_ngcontent-%COMP%]{flex-wrap:wrap;row-gap:.5rem}.top-header[_ngcontent-%COMP%]   .govt-info[_ngcontent-%COMP%], .top-header[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]{flex-wrap:wrap;min-width:0}.top-header[_ngcontent-%COMP%]   .govt-text[_ngcontent-%COMP%], .top-header[_ngcontent-%COMP%]   .ministry-text[_ngcontent-%COMP%]{white-space:normal}.dark-theme[_ngcontent-%COMP%]   .top-header[_ngcontent-%COMP%]{background:#0b1941}.govt-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.govt-text[_ngcontent-%COMP%], .ministry-text[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:600;letter-spacing:.3px;line-height:1.4;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.2);margin:0}
1.separator[_ngcontent-%COMP%]{color:#fff6;font-weight:300;margin:0 .25rem}.header-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.language-switcher[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center}.language-label[_ngcontent-%COMP%]{position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%);color:#fff;font-size:.8125rem;font-weight:600;white-space:nowrap}.language-select[_ngcontent-%COMP%]{background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;padding:.175rem 1rem .375rem .55rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;min-width:110px}.language-select[_ngcontent-%COMP%]:hover, .language-select[_ngcontent-%COMP%]:focus{background-color:#ffffff40;border-color:#fff6;outline:none;box-shadow:0 0 0 2px #dbaf5780}.language-select[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--focus-ring-color-dark, #DBAF57)!important;outline-offset:2px!important}.language-select[_ngcontent-%COMP%]   option[_ngcontent-%COMP%]{background:#13296c;color:#fff;padding:.5rem}.font-size-controls[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;background:#ffffff1a;padding:.25rem;border-radius:6px}.accessibility-btn[_ngcontent-%COMP%], .icon-btn[_ngcontent-%COMP%]{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.175rem .425rem;border-radius:4px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .3s ease;min-width:32px;display:flex;align-items:center;justify-content:center;text-decoration:none}.accessibility-btn[_ngcontent-%COMP%]:hover, .icon-btn[_ngcontent-%COMP%]:hover{background:#fff;color:#1e3a8a;transform:translateY(-1px);box-shadow:0 2px 6px #ffffff4d}.accessibility-btn[_ngcontent-%COMP%]:active, .icon-btn[_ngcontent-%COMP%]:active{transform:translateY(0)}.accessibility-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%], .icon-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1rem}.theme-toggle[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{transition:transform .5s ease}.theme-toggle[_ngcontent-%COMP%]:hover   i[_ngcontent-%COMP%]{transform:rotate(30deg)}.contact-details[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.contact-info[_ngcontent-%COMP%]{display:flex;align-items:center;color:#ffffffe6;text-decoration:none;font-size:.8125rem;font-weight:500;transition:all .3s ease}.contact-info[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.875rem}.contact-info[_ngcontent-%COMP%]:hover{color:#fff;text-decoration:none}.contact-text[_ngcontent-%COMP%]{display:inline-block}.lang-tamil[_ngcontent-%COMP%]   .govt-text[_ngcontent-%COMP%], .lang-tamil[_ngcontent-%COMP%]   .ministry-text[_ngcontent-%COMP%]{font-size:.6875rem;letter-spacing:.2px}.lang-tamil[_ngcontent-%COMP%]   .language-select[_ngcontent-%COMP%]{font-size:.75rem;min-width:100px;padding:.3125rem 1.75rem .3125rem .625rem}.lang-hindi[_ngcontent-%COMP%]   .govt-text[_ngcontent-%COMP%], .lang-hindi[_ngcontent-%COMP%]   .ministry-text[_ngcontent-%COMP%]{font-size:.75rem;letter-spacing:.2px;line-height:1.5}.lang-hindi[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{font-size:.85rem;padding:.6rem .7rem}.lang-hindi[_ngcontent-%COMP%]   .nav-link.dropdown-toggle[_ngcontent-%COMP%]{font-size:.8rem}.lang-hindi[_ngcontent-%COMP%]   .dropdown-arrow[_ngcontent-%COMP%]{font-size:.75rem}.gst-details[_ngcontent-%COMP%]{background:#ffffff1f;padding:.25rem .6rem;border-radius:6px;border:1px solid rgba(255,255,255,.2)}.gst-text[_ngcontent-%COMP%]{font-size:.75rem;font-weight:600;color:#fff;letter-spacing:.5px}@media (max-width: 768px){.gst-details[_ngcontent-%COMP%]{display:inline-flex;max-width:100%;flex-wrap:wrap}}.main-header[_ngcontent-%COMP%]{background:var(--header-bg);padding:1rem 0;border-bottom:2px solid var(--border-color);box-shadow:0 4px 12px #0000000d;position:relative;z-index:999}.main-header[_ngcontent-%COMP%]   .row[_ngcontent-%COMP%]{flex-wrap:wrap;row-gap:.75rem}.main-header[_ngcontent-%COMP%]   .row[_ngcontent-%COMP%] > [class*=col-][_ngcontent-%COMP%]{min-width:0}.logo-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;min-width:0}.port-logos[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.partner-logos[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;min-width:0}.emblem-logo[_ngcontent-%COMP%]{height:85px;width:auto;object-fit:contain;flex-shrink:0}@media (max-width: 992px){.emblem-logo[_ngcontent-%COMP%]{height:70px}}@media (max-width: 768px){.emblem-logo[_ngcontent-%COMP%]{height:60px}}@media (max-width: 576px){.emblem-logo[_ngcontent-%COMP%]{height:50px}}.voc-logo[_ngcontent-%COMP%]{height:85px;width:auto;object-fit:contain;flex-shrink:0}@media (max-width: 992px){.voc-logo[_ngcontent-%COMP%]{height:70px}}@media (max-width: 768px){.voc-logo[_ngcontent-%COMP%]{height:60px}}@media (max-width: 576px){.voc-logo[_ngcontent-%COMP%]{height:50px}}.authority-logo[_ngcontent-%COMP%]{height:70px;width:auto;object-fit:contain;flex-shrink:0}@media (max-width: 992px){.authority-logo[_ngcontent-%COMP%]{height:60px}}@media (max-width: 768px){.authority-logo[_ngcontent-%COMP%]{height:50px}}@media (max-width: 576px){.authority-logo[_ngcontent-%COMP%]{height:45px}}.glass-card[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff,#eef3ff);border-radius:8px;border:1px solid rgba(41,71,163,.15);box-shadow:0 4px 12px #0d2d611a;padding:.5rem;transition:all .3s ease;flex-shrink:0}.glass-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0d2d6126}.partner-logo[_ngcontent-%COMP%]{height:65px;width:auto;object-fit:contain;border-radius:4px}@media (max-width: 992px){.partner-logo[_ngcontent-%COMP%]{height:55px}}@media (max-width: 768px){.partner-logo[_ngcontent-%COMP%]{height:50px}}@media (max-width: 576px){.partner-logo[_ngcontent-%COMP%]{height:45px}}.main-navbar[_ngcontent-%COMP%]{background:var(--header-bg);backdrop-filter:blur(12px);border-bottom:2px solid var(--border-color);box-shadow:0 4px 16px #0000000f;padding:.75rem 1.5rem;transition:all .3s ease;position:relative;z-index:9999;overflow-x:visible}.navbar-nav[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap}.nav-item[_ngcontent-%COMP%]{position:relative;flex:0 1 auto;min-width:0}.nav-link[_ngcontent-%COMP%]{color:var(--text-color);font-weight:600;font-size:.9375rem;transition:all .3s ease;position:relative;display:flex;align-items:center;white-space:normal;border-radius:6px;flex-shrink:0;letter-spacing:1px}.nav-link[_ngcontent-%COMP%]:hover{color:#2947a3;background:#2563eb0d}.nav-link.active[_ngcontent-%COMP%]{color:#13296c!important;font-weight:700;background:#ffc1071a}.nav-link[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1rem}.nav-link[_ngcontent-%COMP%]:not(.dropdown-toggle):after{content:"";position:absolute;bottom:.25rem;left:50%;transform:translate(-50%);height:2px;width:0;background:linear-gradient(90deg,#2947a3,#708bdb);transition:all .3s ease;border-radius:2px}.nav-link[_ngcontent-%COMP%]:not(.dropdown-toggle):hover:after{width:calc(100% - 2rem)}.nav-link[_ngcontent-%COMP%]:not(.dropdown-toggle).active:after{width:calc(100% - 2rem);background:linear-gradient(90deg,#dbaf57,#e8d5b0);height:3px}.nav-link.dropdown-toggle[_ngcontent-%COMP%]{gap:.175rem}.dropdown-arrow[_ngcontent-%COMP%]{font-size:.875rem;transition:transform .3s ease,color .3s ease;color:#64748b;flex-shrink:0}.nav-link.dropdown-toggle[_ngcontent-%COMP%]:hover   .dropdown-arrow[_ngcontent-%COMP%]{color:#2947a3}.nav-link.dropdown-toggle.active[_ngcontent-%COMP%]   .dropdown-arrow[_ngcontent-%COMP%]{color:#dbaf57}.dropdown-arrow.rotated[_ngcontent-%COMP%]{transform:rotate(180deg);color:#2947a3}.nav-link.dropdown-toggle.active[_ngcontent-%COMP%]   .dropdown-arrow.rotated[_ngcontent-%COMP%]{color:#dbaf57}.dropdown-toggle[_ngcontent-%COMP%]:after{display:none!important}.nav-item.dropdown.dropdown-active[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{color:#13296c!important;background:#ffc1071a;font-weight:700}.modern-dropdown[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;display:none;border-radius:16px;border:1px solid var(--border-color);background:var(--card-bg);box-shadow:0 8px 24px #0000001f,0 4px 8px #00000014;backdrop-filter:blur(20px);padding:0;min-width:320px;width:max-content;max-width:calc(100vw - 2rem);z-index:99999;overflow-y:auto;opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;visibility:hidden}.modern-dropdown[_ngcontent-%COMP%]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2947a3,#3b82f6,#60a5fa,#2947a3);background-size:200% 100%;border-radius:16px 16px 0 0;animation:_ngcontent-%COMP%_gradientShift 3s ease infinite}@keyframes _ngcontent-%COMP%_gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.modern-dropdown.enhanced-dropdown[_ngcontent-%COMP%]{max-width:1000px}.dropdown-content-wrapper[_ngcontent-%COMP%]{display:flex;width:100%}.dropdown-left-section[_ngcontent-%COMP%]{flex:1;background:linear-gradient(135deg,#13296c,#0b1941);padding:2rem 1.5rem;display:flex;gap:2rem;border-radius:16px 0 0 16px;overflow-y:auto;max-height:500px}.dropdown-left-section[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.dropdown-left-section[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:6px}.dropdown-left-section[_ngcontent-%COMP%]::-webkit-scrollbar-track{background-color:#0000001a}.dropdown-column[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.5rem}.dropdown-column-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;color:#fff;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.5px}.dropdown-link-list[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.dropdown-link-item[_ngcontent-%COMP%]{color:#fff;text-decoration:none;font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:6px;transition:all .3s ease;display:block}.dropdown-link-item[_ngcontent-%COMP%]:hover{background-color:#ffffff26;color:#fff;transform:translate(4px);padding-left:1rem}.dropdown-link-item.active[_ngcontent-%COMP%], .dropdown-link-item.router-link-active[_ngcontent-%COMP%]{background-color:#ffffff40;font-weight:600;border-left:3px solid #ffffff;padding-left:.8125rem}.dropdown-link-item.external-link[_ngcontent-%COMP%]{color:#708bdb;border-left:3px solid #2947A3;padding-left:.8125rem}.dropdown-link-item.external-link[_ngcontent-%COMP%]   i.ri-external-link-line[_ngcontent-%COMP%]{font-size:.75rem;opacity:.7;margin-left:.25rem}.dropdown-link-item.external-link[_ngcontent-%COMP%]:hover{background-color:#3b82f633;color:#dbeafe}.nav-item.dropdown.show[_ngcontent-%COMP%] > .modern-dropdown[_ngcontent-%COMP%], .dropdown-menu.show.modern-dropdown[_ngcontent-%COMP%]{display:flex!important;opacity:1!important;transform:translateY(0)!important;pointer-events:auto!important;visibility:visible!important}.payment-btn[_ngcontent-%COMP%]{background:linear-gradient(135deg,#8c2f26,#c25038);color:#fff!important;border-radius:8px;padding:.425rem 1rem!important;border:1px solid #3E170E;font-weight:700;letter-spacing:.3px;display:inline-flex;align-items:center;gap:.3rem;box-shadow:0 4px 12px #8c2f2640;transition:all .3s ease}.payment-btn[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #c2503859;text-decoration:none;color:#190b41!important}.payment-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.875rem}.navbar-toggler[_ngcontent-%COMP%]{border:2px solid var(--border-color);border-radius:6px;padding:.625rem 1rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-color);background:var(--bg-color)}.navbar-toggler[_ngcontent-%COMP%]:hover{border-color:#2947a3;background:#2563eb0d;color:#2947a3}.navbar-toggler[_ngcontent-%COMP%]:focus{outline:none;box-shadow:0 0 0 3px #dbaf5780}@media (min-width: 992px){.navbar-toggler[_ngcontent-%COMP%]{display:none}}.navbar-toggler-icon[_ngcontent-%COMP%]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231a3661' stroke-width='2'%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E")}@media (max-width: 1200px){.modern-dropdown.enhanced-dropdown[_ngcontent-%COMP%]{min-width:600px;max-width:calc(100vw - 2rem)}.navbar-nav[_ngcontent-%COMP%]{flex-wrap:wrap;row-gap:.5rem}.nav-link[_ngcontent-%COMP%]{font-size:.75rem;padding:.5625rem .875rem}}@media (min-width: 1200px) and (max-width: 1400px){.navbar-nav[_ngcontent-%COMP%]{flex-wrap:wrap;row-gap:.5rem}.nav-link[_ngcontent-%COMP%]{font-size:.9375rem}}@media (max-width: 992px){.govt-info[_ngcontent-%COMP%], .logo-group[_ngcontent-%COMP%], .partner-logos[_ngcontent-%COMP%]{justify-content:center}.modern-dropdown.enhanced-dropdown[_ngcontent-%COMP%]{min-width:auto;max-width:100%;left:0;right:0}.dropdown-content-wrapper[_ngcontent-%COMP%]{flex-direction:column}.dropdown-left-section[_ngcontent-%COMP%]{border-radius:16px 16px 0 0;padding:1.5rem 1rem;gap:1.5rem;max-height:400px}.navbar-nav[_ngcontent-%COMP%]{flex-direction:column;width:100%;flex-wrap:nowrap}.nav-link[_ngcontent-%COMP%]{width:100%;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(37,99,235,.1)}.nav-link[_ngcontent-%COMP%]:not(.dropdown-toggle):after{display:none}}@media (max-width: 768px){.top-header[_ngcontent-%COMP%]{padding:.625rem 0}.language-label[_ngcontent-%COMP%]{position:static;transform:none;margin-right:.375rem;font-size:.75rem}.language-select[_ngcontent-%COMP%]{font-size:.75rem;padding:.3125rem 1.5rem .3125rem .625rem}.accessibility-btn[_ngcontent-%COMP%]{padding:.3125rem .5rem;font-size:.6875rem;min-width:28px}.contact-info[_ngcontent-%COMP%]{font-size:.75rem}.main-header[_ngcontent-%COMP%]{padding:.875rem 0}.glass-card[_ngcontent-%COMP%]{padding:.375rem}.main-navbar[_ngcontent-%COMP%]{padding:.5rem 1rem}.navbar-collapse[_ngcontent-%COMP%]{margin-top:.75rem;background:var(--bg-color);border-radius:8px;padding:.5rem;box-shadow:0 4px 12px #00000014}.modern-dropdown[_ngcontent-%COMP%]{position:static;display:none;max-height:0;overflow:hidden;transition:all .35s ease;padding:0;background:transparent;min-width:auto;opacity:0;pointer-events:none;visibility:hidden;border:none;box-shadow:none}.nav-item.dropdown.show[_ngcontent-%COMP%] > .modern-dropdown[_ngcontent-%COMP%], .dropdown-menu.show.modern-dropdown[_ngcontent-%COMP%]{display:flex!important;opacity:1;max-height:800px;pointer-events:auto;visibility:visible;margin-top:.5rem;padding:0}.modern-dropdown.enhanced-dropdown[_ngcontent-%COMP%]{flex-direction:column;width:100%;max-width:100%}.dropdown-left-section[_ngcontent-%COMP%]{border-radius:8px;padding:1.25rem 1rem;gap:1.25rem;max-height:none;flex-direction:column;width:100%;max-width:100%}.dropdown-column[_ngcontent-%COMP%]{width:100%;max-width:100%;flex:1 1 auto}.dropdown-link-list[_ngcontent-%COMP%], .dropdown-link-item[_ngcontent-%COMP%]{width:100%;max-width:100%;box-sizing:border-box}.dropdown-column-title[_ngcontent-%COMP%]{font-size:.875rem;margin-bottom:.75rem}.dropdown-link-item[_ngcontent-%COMP%]{font-size:.8125rem;padding:.5rem .625rem;white-space:normal;overflow-wrap:anywhere}.payment-btn[_ngcontent-%COMP%]{width:100%;justify-content:center;padding:.75rem 1rem!important;font-size:.8125rem}}@media (max-width: 576px){.govt-text[_ngcontent-%COMP%], .ministry-text[_ngcontent-%COMP%]{font-size:.6875rem}.language-select[_ngcontent-%COMP%]{font-size:.75rem;padding:.3125rem 1.5rem .3125rem .625rem;min-width:90px}.accessibility-btn[_ngcontent-%COMP%]{padding:.3125rem .5rem;font-size:.6875rem;min-width:28px}.contact-info[_ngcontent-%COMP%]{font-size:.75rem}.main-navbar[_ngcontent-%COMP%]{padding:.5rem}.nav-link[_ngcontent-%COMP%]{f
1ont-size:.875rem;padding:.625rem .875rem}.lang-tamil[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{font-size:.75rem;padding:.625rem}.lang-tamil[_ngcontent-%COMP%]   .dropdown-arrow[_ngcontent-%COMP%]{font-size:.6875rem}}.lang-tamil[_ngcontent-%COMP%]   .govt-text[_ngcontent-%COMP%], .lang-tamil[_ngcontent-%COMP%]   .ministry-text[_ngcontent-%COMP%]{font-size:.6875rem;letter-spacing:.2px;line-height:1.3}.lang-tamil[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{font-size:.8125rem;padding:.625rem .75rem}.lang-tamil[_ngcontent-%COMP%]   .nav-link.dropdown-toggle[_ngcontent-%COMP%]{font-size:.75rem;padding:.625rem}.lang-tamil[_ngcontent-%COMP%]   .dropdown-arrow[_ngcontent-%COMP%]{font-size:.75rem}.main-navbar[_ngcontent-%COMP%]   .nav-link.no-icon[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]:first-child{display:none!important}.nav-link[_ngcontent-%COMP%]{white-space:normal}.nav-link[_ngcontent-%COMP%]:focus, .dropdown-link-item[_ngcontent-%COMP%]:focus{outline:2px solid #DBAF57;outline-offset:2px}.skip-btn[_ngcontent-%COMP%]{background:#dbaf57;color:#0b1941;border:none;padding:5px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:.3s ease;text-decoration:none;display:inline-block}.skip-btn[_ngcontent-%COMP%]:hover{background:#dbaf57;transform:translateY(-1px)}#main-content[_ngcontent-%COMP%]{scroll-margin-top:120px}`]})};function hn(n,t){if(n&1){let e=S();a(0,"div",82)(1,"button",83),u(2,"translate"),v("click",function(){p(e);let o=C();return m(o.toggleMapInfoCard())}),g(3,"i",84),s(),a(4,"div",85),g(5,"i",86),a(6,"span",87),l(7),u(8,"translate"),s()(),a(9,"div",88),g(10,"i",89),a(11,"span"),l(12),u(13,"translate"),s()(),a(14,"div",90),g(15,"i",91),a(16,"a",92),l(17,"[email protected]"),s()(),a(18,"div",93)(19,"a",94),g(20,"i",95),l(21),u(22,"translate"),s()()()}n&2&&(r(),P("aria-label",f(2,4,"FOOTER.CLOSE_MAP_INFO_CARD")),r(6),x(f(8,6,"FOOTER.VOC_PORT_AUTHORITY")),r(5),x(f(13,8,"FOOTER.ADDRESS")),r(9),M(" ",f(22,10,"FOOTER.VIEW_LARGER_MAP")," "))}var ze=class n{constructor(t,e){this.websiteApiService=t;this.translate=e}lastUpdated=new Date;currentYear=new Date().getFullYear();visitorCount=0;isLoadingCount=!1;hasIncremented=!1;isMapInfoCardVisible=!0;currentLanguage="en";isTamilLanguage(){return this.currentLanguage==="ta"}isHindiLanguage(){return this.currentLanguage==="hi"}ngOnInit(){this.currentLanguage=this.translate.currentLang||this.translate.defaultLang||"en",this.translate.onLangChange.subscribe(t=>{this.currentLanguage=t.lang}),this.loadVisitorCount(),setTimeout(()=>{this.incrementVisitorCount()},500)}ngAfterViewInit(){this.initializeTooltips()}ngOnDestroy(){}loadVisitorCount(){this.isLoadingCount=!0,this.websiteApiService.getVisitorCount().subscribe({next:t=>{t?.statusCode===200&&t?.data?.count!==void 0?this.visitorCount=t.data.count:t?.data?.count!==void 0&&(this.visitorCount=t.data.count),this.isLoadingCount=!1},error:t=>{console.error("Error loading visitor count:",t),this.isLoadingCount=!1}})}incrementVisitorCount(){sessionStorage.getItem("visitorCountIncremented")?this.hasIncremented=!0:this.websiteApiService.incrementVisitorCount().subscribe({next:e=>{e?.statusCode===200&&e?.data?.count!==void 0?(this.visitorCount=e.data.count,sessionStorage.setItem("visitorCountIncremented","true"),this.hasIncremented=!0):e?.data?.count!==void 0&&(this.visitorCount=e.data.count,sessionStorage.setItem("visitorCountIncremented","true"),this.hasIncremented=!0)},error:e=>{console.error("Error incrementing visitor count:",e)}})}get visitorDigits(){return this.visitorCount.toString().split("")}initializeTooltips(){setTimeout(()=>{let t=document.querySelectorAll('[data-bs-toggle="tooltip"]');t&&typeof bootstrap<"u"&&t.forEach(e=>{new bootstrap.Tooltip(e)})},100)}toggleMapInfoCard(){this.isMapInfoCardVisible=!this.isMapInfoCardVisible}static \u0275fac=function(e){return new(e||n)(y(Yt),y(_e))};static \u0275cmp=I({type:n,selectors:[["app-footer"]],decls:237,vars:160,consts:[[1,"voc-footer"],[1,"footer-main"],[1,"container-fluid"],[1,"footer-top","row","gy-4","align-items-start"],[1,"col-lg-5","col-md-12"],[1,"footer-brand-section"],[1,"footer-map-section"],[1,"map-container"],["src",Pt`https://www.google.com/maps?q=8.751361,78.192361&z=16&output=embed`,"width","100%","height","230","allowfullscreen","","loading","lazy","referrerpolicy","no-referrer-when-downgrade",2,"border","0","border-radius","12px",3,"title"],["class","map-info-card",4,"ngIf"],[1,"map-overlay"],["href","https://www.google.com/maps/search/?api=1&query=8.751361,78.192361","target","_blank","rel","noopener noreferrer",1,"map-link-btn"],["aria-hidden","true",1,"ri-map-pin-3-fill"],[1,"col-lg-7","col-md-12"],[1,"footer-links-grid","row","g-3","g-md-4"],[1,"footer-links-column","col-12","col-md-4"],[1,"footer-title"],["routerLink","/pensioner-port"],["href","https://etenders.gov.in/eprocure/app?page=FrontEndLatestActiveTendersOrgwise&service=page&org=V.O.Chidambaranar%20Port%20Trust","target","_blank","rel","noopener noreferrer"],["aria-hidden","true",1,"ri-external-link-line","ms-1","small-icon"],["routerLink","/related-links"],["routerLink","/faq"],["routerLink","/gst-registration"],["routerLink","/bill-refund-details"],["routerLink","/sitemap"],["href","https://webgis.vocport.gov.in/land_info_sys/index.php","target","_blank","rel","noopener noreferrer"],["routerLink","/operations/ship-chandling-license"],["routerLink","/operations/vessel-position"],["routerLink","/operations/stevedore-portal"],["routerLink","/about/projects"],["routerLink","/eodb"],["routerLink","/services"],["routerLink","/services/contractor-registration"],["routerLink","/department-dashboard"],["routerLink","/gis-detail
1s"],["routerLink","/rti"],["routerLink","/grievances-form"],["routerLink","/feedback-form"],["routerLink","/website-policy"],["routerLink","/holidays"],["routerLink","/help"],[1,"footer-cert-row"],[1,"container"],[1,"row","align-items-center","gy-3"],[1,"col-md-7"],[1,"footer-certifications","d-flex","flex-wrap","justify-content-center","justify-content-md-start","gap-3"],["data-bs-toggle","tooltip","data-bs-placement","top",1,"cert-badge"],["aria-hidden","true",1,"ri-shield-check-line"],["aria-hidden","true",1,"ri-leaf-line"],["aria-hidden","true",1,"ri-shield-star-line"],["aria-hidden","true",1,"ri-lock-line"],[1,"col-md-5","footer-right"],[1,"footer-social-list"],["href","https://facebook.com/vocpa.tuticorin","target","_blank","rel","noopener noreferrer",1,"social-link"],["aria-hidden","true",1,"ri-facebook-fill"],["href","https://x.com/vocpa_tuticorin?t=_w_q0WDmNkUaN7nJikMPEA&s=08","target","_blank","rel","noopener noreferrer",1,"social-link"],["aria-hidden","true",1,"ri-twitter-x-fill"],["href","https://instagram.com/vocport_tuticorin","target","_blank","rel","noopener noreferrer","aria-label","Instagram, opens in a new browser tab",1,"social-link"],["aria-hidden","true",1,"ri-instagram-fill"],["href","https://youtube.com/@vocport_tuticorin","target","_blank","rel","noopener noreferrer","aria-label","YouTube, opens in a new browser tab",1,"social-link"],["aria-hidden","true",1,"ri-youtube-fill"],[1,"footer-legal-list"],["routerLink","/terms"],["routerLink","/privacy"],["routerLink","/disclaimer"],["routerLink","/accessibility"],["routerLink","/website-monitoring-plan"],["routerLink","/contingency-management-plan"],["routerLink","/security-policy"],[1,"footer-bottom"],[1,"col-md-3","col-12"],[1,"footer-govt-info-left"],["href","https://www.india.gov.in/","target","_blank","rel","noopener noreferrer",1,"text-decoration-none"],[1,"govt-badge","d-inline-flex","align-items-center","px-3","py-2"],["aria-hidden","true",1,"ri-government-line","me-2"],[1,"me-2"],["aria-hidden","true",1,"ri-external-link-line","text-warning"],[1,"col-md-6","col-12"],[1,"copyright-section","text-center"],[1,"footer-metrics","text-md-end","text-start"],[1,"visitor-counter","mb-1"],[1,"last-updated"],[1,"map-info-card"],["type","button",1,"info-card-close",3,"click"],["aria-hidden","true",1,"ri-close-line"],[1,"info-card-location"],["aria-hidden","true",1,"ri-map-pin-2-fill"],[1,"info-card-location-name"],[1,"info-card-address"],["aria-hidden","true",1,"ri-building-line"],[1,"info-card-email"],["aria-hidden","true",1,"ri-mail-line"],["href","mailto:[email protected]"],[1,"info-card-actions"],["href","https://www.google.com/maps/search/?api=1&query=8.751361,78.192361","target","_blank","rel","noopener noreferrer",1,"action-btn","larger-map-btn"],["aria-hidden","true",1,"ri-map-2-line"]],template:function(e,i){e&1&&(a(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7),g(8,"iframe",8),u(9,"translate"),w(10,hn,23,12,"div",9),a(11,"div",10)(12,"a",11),g(13,"i",12),a(14,"span"),l(15),u(16,"translate"),s()()()()()()(),a(17,"div",13)(18,"div",14)(19,"div",15)(20,"h2",16),l(21),u(22,"translate"),s(),a(23,"ul")(24,"li")(25,"a",17),l(26),u(27,"translate"),s()(),a(28,"li")(29,"a",18),l(30),u(31,"translate"),g(32,"i",19),s()(),a(33,"li")(34,"a",20),l(35),u(36,"translate"),s()(),a(37,"li")(38,"a",21),l(39),u(40,"translate"),s()(),a(41,"li")(42,"a",22),l(43),u(44,"translate"),s()(),a(45,"li")(46,"a",23),l(47),u(48,"translate"),s()(),a(49,"li")(50,"a",24),l(51),u(52,"translate"),s()(),a(53,"li")(54,"a",25),l(55),u(56,"translate"),g(57,"i",19),s()()()(),a(58,"div",15)(59,"h2",16),l(60),u(61,"translate"),s(),a(62,"ul")(63,"li")(64,"a",26),l(65),u(66,"translate"),s()(),a(67,"li")(68,"a",27),l(69),u(70,"translate"),s()(),a(71,"li")(72,"a",28),l(73),u(74,"translate"),s()(),a(75,"li")(76,"a",29),l(77),u(78,"translate"),s()(),a(79,"li")(80,"a",30),l(81),u(82,"translate"),s()(),a(83,"li")(84,"a",31),l(85),u(86,"translate"),s()(),a(87,"li")(88,"a",32),l(89),u(90,"translate"),s()()()(),a(91,"div",15)(92,"h2",16),l(93),u(94,"translate"),s(),a(95,"ul")(96,"li")(97,"a",33),l(98),u(99,"translate"),s()(),a(100,"li")(101,"a",34),l(102),u(103,"translate"),s()(),a(104,"li")(105,"a",35),l(106),u(107,"translate"),s()(),a(108,"li")(109,"a",36),l(110),u(111,"translate"),s()(),a(112,"li")(113,"a",37),l(114),u(115,"translate"),s()(),a(116,"li")(117,"a",38),l(118),u(119,"translate"),s()(),a(120,"li")(121,"a",39),l(122),u(123,"translate"),s()(),a(124,"li")(125,"a",40),l(126),u(127,"translate"),s()()()()()()()()(),a(128,"div",41)(129,"div",42)(130,"div",43)(131,"div",44)(132,"div",45)(133,"div",46),u(134,"translate"),g(135,"i",47),a(136,"span"),l(137,"ISO 9001:2015"),s()(),a(138,"div",46),u(139,"translate"),g(140,"i",48),a(141,"span"),l(142,"ISO 14001:2015"),s()(),a(143,"div",46),u(144,"translate"),g(145,"i",49),a(146,"span"),l(147,"ISO 45001:2018"),s()(),a(148,"div",46),u(149,"translate"),g(150,"i",50),a(151,"span"),l(152),u(153,"translate"),s()(),a(154,"div",46),u(155,"translate"),g(156,"i",50),a(157,"span"),l(158),u(159,"translate"),s()()()(),a(160,"div",51)(161,"ul",52)(162,"li")(163,"a",53),u(164,"translate"),g(165,"i",54),s()(),a(166,"li")(167,"a",55),u(168,"translate"),g(169,"i",56),s()(),a(170,"li")(171,"a",57),g(172,"i",58),s()(),a(173,"li")(174,"a",59),g(175,"i",60),s()()(),a(176,"ul",61)(177,"li")(178,"a",62),l(179),u(180,"translate"),s()(),a(181,"li")(182,"a",63),l(183),u(184,"translate"),s()(),a(185,"li")(186,"a",64),l(187),u(188,"translate"),s()(),a(189,"li")(190,"a",65),l(191),u(192,"translate"),s()(),a(193,"li")(194,"a",66),l(195),u(196,"translate"),s()(),a(197,"li")(198,"a",67),l(199),u(200,"translate"),s()(),a(201,"li")(202,"a",68),l(203),u(204,"translate"),s()()()()()()(),a(205,"div",69)(206,"div",42)(207,"div",43)(208,"div",70)(209,"div",71)(210,"a",72)(211,"div",73),g(212,"i",74),a(213,"span",75),l(214),u(215,"translate"),s(),g(216,"i",76),s()()()(),a(217,"div",77)(218,"div",78)(219,"p")(220,"span"),l(221),u(222,"translate"),u(223,"translate"),s()()()(),a(224,"div",70)(225,"div",79)(226,"div",80)(227,"span"),l(228),u(229,"translate"),a(230,"strong"),l(231),u(232,"number"),s()()(),a(233,"div",81),l(234),u(235,"translate"),u(236,"date"),s()()()()()()()),e&2&&(k("lang-tamil",i.isTamilLanguage())("lang-hindi",i.isHindiLanguage()),r(8),b("title",f(9,57,"FOOTER.MAP_TITLE")),r(2),b("ngIf",i.isMapInfoCardVisible),r(5),x(f(16,59,"FOOTER.VIEW_ON_GOOGLE_MAPS")),r(6),M(" ",f(22,61,"FOOTER.QUICK_LINKS")," "),r(5),x(f(27,63,"FOOTER.EMPLOYEE_P
1ENSIONER_PORTAL")),r(4),M("",f(31,65,"HEADER.TENDERS")," "),r(5),x(f(36,67,"FOOTER.RELATED_LINKS")),r(4),x(f(40,69,"FOOTER.FAQ")),r(4),x(f(44,71,"FOOTER.GST_REGISTRATION")),r(4),x(f(48,73,"FOOTER.BILL_PAYMENTS_REFUNDS")),r(4),x(f(52,75,"FOOTER.SITE_MAP")),r(4),M("",f(56,77,"GIS-VOC Port Authority")," "),r(5),M(" ",f(61,79,"FOOTER.SERVICES")," "),r(5),M("",f(66,81,"FOOTER.SHIPPING_CHANDLING")," "),r(4),x(f(70,83,"OPERATIONS_MENU.VESSEL_POSITION")),r(4),M("",f(74,85,"OPERATIONS_MENU.STEVEDORE_PORTAL")," "),r(4),x(f(78,87,"ABOUT_MENU.MAJOR_PROJECTS")),r(4),x(f(82,89,"FOOTER.EODB")),r(4),x(f(86,91,"FOOTER.SERVICES")),r(4),x(f(90,93,"FOOTER.CONTRACT_REGISTRATION")),r(4),M(" ",f(94,95,"FOOTER.IMPORTANT")," "),r(5),x(f(99,97,"FOOTER.DEPARTMENT_DASHBOARD")),r(4),x(f(103,99,"FOOTER.GIS_LAND_MANAGEMENT")),r(4),x(f(107,101,"FOOTER.RIGHT_TO_INFORMATION")),r(4),x(f(111,103,"FOOTER.PORT_GRIEVANCE_FORUM")),r(4),x(f(115,105,"FOOTER.FEEDBACK")),r(4),x(f(119,107,"FOOTER.WEBSITE_POLICIES")),r(4),x(f(123,109,"FOOTER.HOLIDAYS")),r(4),x(f(127,111,"FOOTER.HELP")),r(7),P("title",f(134,113,"FOOTER.ISO_9001_TOOLTIP")),r(5),P("title",f(139,115,"FOOTER.ISO_14001_TOOLTIP")),r(5),P("title",f(144,117,"FOOTER.ISO_45001_TOOLTIP")),r(5),P("title",f(149,119,"FOOTER.ISPS_TOOLTIP")),r(4),x(f(153,121,"FOOTER.ISPS_COMPLIANT")),r(2),P("title",f(155,123,"FOOTER.ISO_45001_ENERGY_TOOLTIP")),r(4),x(f(159,125,"FOOTER.ISO_45001_ENERGY")),r(5),P("aria-label",f(164,127,"FOOTER.FACEBOOK")+", opens in a new browser tab"),r(4),P("aria-label",f(168,129,"FOOTER.TWITTER_X")+", opens in a new browser tab"),r(12),x(f(180,131,"FOOTER.TERMS")),r(4),x(f(184,133,"FOOTER.PRIVACY")),r(4),x(f(188,135,"FOOTER.DISCLAIMER")),r(4),x(f(192,137,"FOOTER.ACCESSIBILITY")),r(4),x(f(196,139,"FOOTER.MONITORING_PLAN")),r(4),x(f(200,141,"FOOTER.CONTINGENCY_PLAN")),r(4),x(f(204,143,"FOOTER.SECURITY_POLICY")),r(11),x(f(215,145,"FOOTER.NATIONAL_PORTAL_OF_INDIA")),r(7),Ee("\xA9 ",i.currentYear," ",f(222,147,"FOOTER.VOC_PORT_AUTHORITY"),". ",f(223,149,"FOOTER.ALL_RIGHTS_RESERVED"),"."),r(7),M("",f(229,151,"FOOTER.TOTAL_VISITORS"),": "),r(3),x(f(232,153,i.visitorCount)),r(3),Se(" ",f(235,155,"FOOTER.LAST_UPDATED"),": ",Ae(236,157,i.lastUpdated,"dd MMM yyyy")," "))},dependencies:[L,N,It,Le,pe,fe,me,Re,Y],styles:[`.voc-footer[_ngcontent-%COMP%]{background:var(--footer-bg);color:#e8eeff;font-family:Poppins,Inter,sans-serif;position:relative;overflow:hidden}.voc-footer[_ngcontent-%COMP%]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa,#93c5fd)}.footer-main[_ngcontent-%COMP%]{padding:2.5rem 0 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.footer-cert-row[_ngcontent-%COMP%]{background:#0003;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:.75rem 0}.footer-top[_ngcontent-%COMP%]{margin-bottom:1.5rem}.footer-brand-section[_ngcontent-%COMP%]{padding:.2rem;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(135deg,#0b2a5599,#124b9066);box-shadow:0 8px 24px #00000040;backdrop-filter:blur(10px);transition:transform .3s ease,box-shadow .3s ease}.footer-brand-section[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0000004d}.footer-brand-section[_ngcontent-%COMP%]   .brand-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid rgba(96,165,250,.2)}.footer-brand-section[_ngcontent-%COMP%]   .brand-header[_ngcontent-%COMP%]   .footer-logo[_ngcontent-%COMP%]{width:65px;height:65px;object-fit:contain;filter:brightness(0) invert(1);flex-shrink:0;background:#ffffff0d;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.footer-brand-section[_ngcontent-%COMP%]   .brand-header[_ngcontent-%COMP%]   .brand-title-info[_ngcontent-%COMP%]{flex:1}.footer-brand-section[_ngcontent-%COMP%]   .brand-header[_ngcontent-%COMP%]   .brand-title-info[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:.35rem;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.2)}.footer-brand-section[_ngcontent-%COMP%]   .brand-header[_ngcontent-%COMP%]   .brand-title-info[_ngcontent-%COMP%]   .brand-subtitle[_ngcontent-%COMP%]{font-size:.8rem;color:#b8c5e8;line-height:1.4;margin:0}.footer-brand-section[_ngcontent-%COMP%]   .footer-map-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]{position:relative;width:100%;min-height:230px;height:auto;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000004d;border:2px solid rgba(96,165,250,.3);transition:all .3s ease}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]:hover{border-color:#60a5fa99;box-shadow:0 6px 16px #60a5fa33}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]:hover   .map-overlay[_ngcontent-%COMP%]{opacity:1}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   iframe[_ngcontent-%COMP%]{width:100%;height:230px;border:none;border-radius:12px}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]{position:absolute;top:8px;left:8px;background:var(--card-bg);border-radius:10px;box-shadow:0 4px 16px #0003;max-width:230px;width:calc(100% - 24px);z-index:20;padding:14px;animation:_ngcontent-%COMP%_slideInDown .4s ease-out;transition:transform .3s ease,box-shadow .3s ease}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-close[_ngcontent-%COMP%]{position:absolute;top:6px;right:6px;background:#0000000f;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;width:22px;height:22px;transition:all .2s ease;color:#5f6368}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-close[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-close[_ngcontent-%COMP%]:hover{background:#0000001f;
1color:#1a1a1a}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-close[_ngcontent-%COMP%]:focus{outline:2px solid #4285f4;outline-offset:2px}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-location[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-location[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#d93025;font-size:1.1rem;flex-shrink:0}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-location[_ngcontent-%COMP%]   .info-card-location-name[_ngcontent-%COMP%]{font-size:.85rem;font-weight:600;color:var(--text-color);line-height:1.3}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-address[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:.78rem;color:#5f6368;line-height:1.5}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-address[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#4285f4;font-size:.9rem;margin-top:2px;flex-shrink:0}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-address[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{flex:1}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-email[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.78rem}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-email[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#4285f4;font-size:.9rem;flex-shrink:0}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-email[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:#1a73e8;text-decoration:none;transition:color .2s ease}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-email[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#1557b0;text-decoration:underline}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-actions[_ngcontent-%COMP%]{display:flex;gap:6px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-actions[_ngcontent-%COMP%]   .action-btn[_ngcontent-%COMP%]{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;border-radius:6px;font-size:.7rem;font-weight:500;text-decoration:none;transition:all .2s ease}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-actions[_ngcontent-%COMP%]   .action-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.85rem}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-actions[_ngcontent-%COMP%]   .larger-map-btn[_ngcontent-%COMP%]{background:#1a73e8;color:#fff}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-actions[_ngcontent-%COMP%]   .larger-map-btn[_ngcontent-%COMP%]:hover{background:#1557b0}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-overlay[_ngcontent-%COMP%]{position:absolute;bottom:10px;right:10px;opacity:0;transition:opacity .3s ease;z-index:10}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-overlay[_ngcontent-%COMP%]   .map-link-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#2563ebf2,#3b82f6e6);color:#fff;text-decoration:none;border-radius:8px;font-size:.75rem;font-weight:600;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;backdrop-filter:blur(10px)}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-overlay[_ngcontent-%COMP%]   .map-link-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1rem}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-overlay[_ngcontent-%COMP%]   .map-link-btn[_ngcontent-%COMP%]:hover{background:linear-gradient(135deg,#2563eb,#3b82f6);transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66}@keyframes _ngcontent-%COMP%_slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.footer-brand-section[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.3}
1.footer-brand-section[_ngcontent-%COMP%]   .location-details[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.5rem}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;transition:all .3s ease}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]:hover{background:#ffffff14;border-color:#60a5fa66;transform:translate(3px)}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]   .location-icon[_ngcontent-%COMP%]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#60a5fa33,#3b82f626);border:1px solid rgba(96,165,250,.3);border-radius:8px;flex-shrink:0;transition:all .3s ease}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]   .location-icon[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#60a5fa;font-size:1.1rem}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]:hover   .location-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#60a5fa4d,#3b82f640);border-color:#60a5fa80;transform:scale(1.1)}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]   .location-content[_ngcontent-%COMP%]{flex:1;min-width:0}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]   .location-content[_ngcontent-%COMP%]   h6[_ngcontent-%COMP%]{font-size:.75rem;font-weight:600;color:#93c5fd;margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.5px}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]   .location-content[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:.85rem;color:#c5d1ff;margin:0;line-height:1.4;word-wrap:break-word}.footer-links-column[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:600;color:#fff;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(96,165,250,.3)}.footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:#c5d1ff;text-decoration:none;font-size:.875rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:before{content:"";width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;transform:translate(-5px);transition:all .3s ease}.footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#60a5fa;padding-left:5px}.footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover:before{opacity:1;transform:translate(0)}.footer-certifications[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap;padding-top:1rem;justify-content:center}.footer-certifications[_ngcontent-%COMP%]   .cert-badge[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:#60a5fa1a;border:1px solid rgba(96,165,250,.3);border-radius:16px;font-size:.75rem;color:#c5d1ff;transition:all .3s ease}.footer-certifications[_ngcontent-%COMP%]   .cert-badge[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#60a5fa;font-size:.9rem}.footer-certifications[_ngcontent-%COMP%]   .cert-badge[_ngcontent-%COMP%]:hover{background:#60a5fa26;border-color:#60a5fa80;transform:translateY(-2px)}.footer-bottom[_ngcontent-%COMP%]{background:#0000004d;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom[_ngcontent-%COMP%]   .copyright-section[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:#a8b5d8}.voc-footer[_ngcontent-%COMP%]   .footer-right[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;
1gap:.75rem}.voc-footer[_ngcontent-%COMP%]   .footer-social-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.75rem}.voc-footer[_ngcontent-%COMP%]   .footer-social-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin:0;padding:0}.voc-footer[_ngcontent-%COMP%]   .footer-social-list[_ngcontent-%COMP%]   .social-link[_ngcontent-%COMP%]{width:32px;height:32px;border-radius:50%;background:#60a5fa1a;border:1px solid rgba(96,165,250,.3);display:flex;align-items:center;justify-content:center;color:#c5d1ff;text-decoration:none;transition:all .3s ease}.voc-footer[_ngcontent-%COMP%]   .footer-social-list[_ngcontent-%COMP%]   .social-link[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1rem}.voc-footer[_ngcontent-%COMP%]   .footer-social-list[_ngcontent-%COMP%]   .social-link[_ngcontent-%COMP%]:hover{background:#60a5fa33;border-color:#60a5fa;color:#fff;transform:translateY(-2px)}.voc-footer[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.voc-footer[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin:0;padding:0;display:flex;align-items:center}.voc-footer[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]:before{content:"|";color:#6b7a9f;font-size:.8rem;margin-right:.75rem}.voc-footer[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:#b8c5e8;text-decoration:none;font-size:.8rem;transition:color .3s ease}.voc-footer[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#60a5fa}.voc-footer[_ngcontent-%COMP%]   .footer-metrics[_ngcontent-%COMP%]{font-size:.85rem;color:#a8b5d8}.voc-footer[_ngcontent-%COMP%]   .footer-metrics[_ngcontent-%COMP%]   .visitor-counter[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;justify-content:end}.voc-footer[_ngcontent-%COMP%]   .footer-metrics[_ngcontent-%COMP%]   .visitor-counter[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#60a5fa}.voc-footer[_ngcontent-%COMP%]   .footer-metrics[_ngcontent-%COMP%]   .visitor-counter[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{color:#fff;font-weight:600}.voc-footer[_ngcontent-%COMP%]   .footer-metrics[_ngcontent-%COMP%]   .last-updated[_ngcontent-%COMP%]{font-size:.8rem;color:#8b9bc8}.voc-footer[_ngcontent-%COMP%]   .govt-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .95rem;background:linear-gradient(135deg,#2563eb33,#60a5fa1f);border:1px solid rgba(96,165,250,.45);border-radius:18px;color:#cfe4ff;font-size:.9rem;font-weight:700;letter-spacing:.1px;box-shadow:0 4px 12px #0000002e}.voc-footer[_ngcontent-%COMP%]   .govt-badge[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#7fb3ff;font-size:1.15rem}@media (max-width: 1200px){.footer-links-grid[_ngcontent-%COMP%]{gap:1.5rem}}@media (max-width: 992px){.footer-main[_ngcontent-%COMP%]{padding:2rem 0 1.25rem}.footer-bottom-content[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start!important}.footer-right[_ngcontent-%COMP%]{align-items:flex-start!important;width:100%}}@media (max-width: 768px){.footer-main[_ngcontent-%COMP%]{padding:1.75rem 0 1rem}.footer-brand-section[_ngcontent-%COMP%]{padding:1.25rem}.footer-brand-section[_ngcontent-%COMP%]   .brand-header[_ngcontent-%COMP%]{flex-direction:column;text-align:center;align-items:center;gap:.75rem}.footer-brand-section[_ngcontent-%COMP%]   .brand-header[_ngcontent-%COMP%]   .footer-logo[_ngcontent-%COMP%]{margin:0 auto}.footer-brand-section[_ngcontent-%COMP%]   .brand-header[_ngcontent-%COMP%]   .brand-title-info[_ngcontent-%COMP%]{text-align:center}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]{max-width:calc(100% - 16px);top:8px;left:8px;padding:12px}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-location[_ngcontent-%COMP%]   .info-card-location-name[_ng
1content-%COMP%]{font-size:.8rem}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-address[_ngcontent-%COMP%], .footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-email[_ngcontent-%COMP%]{font-size:.72rem}.footer-brand-section[_ngcontent-%COMP%]   .map-container[_ngcontent-%COMP%]   .map-info-card[_ngcontent-%COMP%]   .info-card-actions[_ngcontent-%COMP%]   .action-btn[_ngcontent-%COMP%]{font-size:.65rem;padding:5px 6px}.footer-brand-section[_ngcontent-%COMP%]   .location-details[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.6rem}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]   .location-content[_ngcontent-%COMP%]   h6[_ngcontent-%COMP%]{font-size:.7rem}.footer-brand-section[_ngcontent-%COMP%]   .location-item[_ngcontent-%COMP%]   .location-content[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:.8rem}.footer-links-column[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{text-align:center}.footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{align-items:center}.footer-certifications[_ngcontent-%COMP%]{justify-content:center}.footer-bottom-content[_ngcontent-%COMP%]{text-align:center}.footer-right[_ngcontent-%COMP%]{align-items:center!important;width:100%}.footer-social-list[_ngcontent-%COMP%], .footer-legal-list[_ngcontent-%COMP%]{justify-content:center}.footer-govt-info[_ngcontent-%COMP%]{flex-direction:column;text-align:center}}@media (max-width: 480px){.footer-main[_ngcontent-%COMP%]{padding:1.5rem 0 1rem}.footer-brand-section[_ngcontent-%COMP%]   .brand-info[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%]{font-size:1.1rem}.footer-certifications[_ngcontent-%COMP%]{flex-direction:column;align-items:center}.footer-legal-list[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem;align-items:center}.footer-legal-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]:before{display:none}}.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{font-size:.85rem}.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.75rem;line-height:1.4}.lang-tamil[_ngcontent-%COMP%]   .info-card-location-name[_ngcontent-%COMP%]{font-size:.85rem}.lang-tamil[_ngcontent-%COMP%]   .info-card-address[_ngcontent-%COMP%], .lang-tamil[_ngcontent-%COMP%]   .info-card-email[_ngcontent-%COMP%]{font-size:.72rem}.lang-tamil[_ngcontent-%COMP%]   .info-card-actions[_ngcontent-%COMP%]   .action-btn[_ngcontent-%COMP%]{font-size:.68rem;padding:5px 7px}.lang-tamil[_ngcontent-%COMP%]   .map-link-btn[_ngcontent-%COMP%]{font-size:.8rem;padding:6px 10px}.lang-tamil[_ngcontent-%COMP%]   .cert-badge[_ngcontent-%COMP%]{font-size:.7rem;padding:4px 8px}.lang-tamil[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.75rem}.lang-tamil[_ngcontent-%COMP%]   .govt-badge[_ngcontent-%COMP%], .lang-tamil[_ngcontent-%COMP%]   .copyright-section[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:.8rem}.lang-tamil[_ngcontent-%COMP%]   .visitor-counter[_ngcontent-%COMP%], .lang-tamil[_ngcontent-%COMP%]   .last-updated[_ngcontent-%COMP%]{font-size:.75rem}.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin-bottom:.4rem}.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{white-space:normal;word-break:break-word;display:block;max-width:100%}.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:focus{outline:3px solid var(--focus-ring-color-dark, #DBAF57);outline-offset:2px}@media (max-width: 992px){.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{font-size:.8rem}.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.7rem}
1.lang-tamil[_ngcontent-%COMP%]   .info-card-location-name[_ngcontent-%COMP%]{font-size:.8rem}.lang-tamil[_ngcontent-%COMP%]   .map-link-btn[_ngcontent-%COMP%]{font-size:.75rem;padding:5px 8px}}@media (max-width: 768px){.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{font-size:.75rem}.lang-tamil[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.65rem}.lang-tamil[_ngcontent-%COMP%]   .cert-badge[_ngcontent-%COMP%]{font-size:.65rem;padding:3px 6px}.lang-tamil[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.7rem}.lang-tamil[_ngcontent-%COMP%]   .govt-badge[_ngcontent-%COMP%], .lang-tamil[_ngcontent-%COMP%]   .copyright-section[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:.75rem}}.lang-hindi[_ngcontent-%COMP%]{word-break:break-word;overflow-wrap:break-word}.lang-hindi[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{font-size:.8rem}.lang-hindi[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.7rem;line-height:1.5}.lang-hindi[_ngcontent-%COMP%]   .info-card-location-name[_ngcontent-%COMP%]{font-size:.8rem;line-height:1.4}.lang-hindi[_ngcontent-%COMP%]   .info-card-address[_ngcontent-%COMP%], .lang-hindi[_ngcontent-%COMP%]   .info-card-email[_ngcontent-%COMP%]{font-size:.68rem;line-height:1.5}.lang-hindi[_ngcontent-%COMP%]   .info-card-actions[_ngcontent-%COMP%]   .action-btn[_ngcontent-%COMP%]{font-size:.65rem;padding:4px 6px}.lang-hindi[_ngcontent-%COMP%]   .map-link-btn[_ngcontent-%COMP%]{font-size:.75rem;padding:5px 9px}.lang-hindi[_ngcontent-%COMP%]   .cert-badge[_ngcontent-%COMP%]{font-size:.65rem;padding:3px 7px}.lang-hindi[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.7rem;line-height:1.4}.lang-hindi[_ngcontent-%COMP%]   .govt-badge[_ngcontent-%COMP%], .lang-hindi[_ngcontent-%COMP%]   .copyright-section[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:.75rem}.lang-hindi[_ngcontent-%COMP%]   .visitor-counter[_ngcontent-%COMP%], .lang-hindi[_ngcontent-%COMP%]   .last-updated[_ngcontent-%COMP%]{font-size:.7rem}.lang-hindi[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin-bottom:.4rem}.lang-hindi[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{white-space:normal;word-break:break-word;display:block;max-width:100%}@media (max-width: 992px){.lang-hindi[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{font-size:.75rem}.lang-hindi[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.65rem}.lang-hindi[_ngcontent-%COMP%]   .info-card-location-name[_ngcontent-%COMP%]{font-size:.75rem}.lang-hindi[_ngcontent-%COMP%]   .map-link-btn[_ngcontent-%COMP%]{font-size:.7rem;padding:4px 7px}}@media (max-width: 768px){.lang-hindi[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   .footer-title[_ngcontent-%COMP%]{font-size:.7rem}.lang-hindi[_ngcontent-%COMP%]   .footer-links-column[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.6rem}.lang-hindi[_ngcontent-%COMP%]   .cert-badge[_ngcontent-%COMP%]{font-size:.6rem;padding:2px 5px}.lang-hindi[_ngcontent-%COMP%]   .footer-legal-list[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:.65rem}.lang-hindi[_ngcontent-%COMP%]   .govt-badge[_ngcontent-%COMP%], .lang-hindi[_ngcontent-%COMP%]   .copyright-section[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:.7rem}}`]})};function bn(n,t){n&1&&g(0,"i",5)}function Cn(n,t){n&1&&g(0,"i",6)}function vn(n,t){n&1&&(a(0,"ul",7)(1,"li")(2,"a",8),g(3,"i",9),s()(),a(4,"li")(5,"a",10),g(6,"i",11),s()(),a(7,"li")(8,"a",12),g(9,"i",13),s()(),a(10,"li")(11,"a",14),g(12,"i",15),s()(),a(13,"li")(14,"a",16),g(15,"i",17),s()(),a(16,"li")(17,"a",18),g(18,"i",19),s()()())}var Be=class n{isExpanded=!1;toggleSidebar(){this.isExpanded=!this.isExpanded}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=I({type:n,selectors:[["app-social-sidebar"]],decls:5,vars:6,consts:[[1,"social-sidebar"],["type","button","aria-controls","social-links","aria-label","Toggle Social Media",1,"toggle-btn",3,"click"],["class","ri-share-line","aria-hidden","true",4,"ngIf"],["class","ri-close-line","aria-hidden","true",4,"ngIf"],["id","social-links","class","social-icons-grid show","aria-label","Social Media Links",4,"ngIf"],["aria-hidden","true",1,"ri-share-line"],["aria-hidden","true",1,"ri-close-line"],["id","social-links","aria-label","Social Media Links",1,"social-icons-grid","show"],["href","https://facebook.com/vocpa.tuticorin","target","_blank","rel","noopener noreferrer","aria-label","Facebook, opens in a new browser tab",1,"social-icon","facebook"],["aria-hidden","true",1,"ri-facebook-fill"],["href","https://x.com/vocpa_tuticorin?t=_w_q0WDmNkUaN7nJikMPEA&s=08","target","_blank","rel","noopener noreferrer","aria-label","Twitter / X, opens in a new browser tab",1,"social-icon","twitter"],["aria-hidden","true",1,"ri-twitter-x-fill"],["href","https://youtube.com/@vocport_tuticorin","target","_blank","rel","noopener noreferrer","aria-label","YouTube, opens in a new browser tab",1,"social-icon","youtube"],["aria-hidden","true",1,"ri-youtube-fill"],["href","https://instagram.com/vocport_tuticorin","target","_blank","rel","noopener noreferrer","aria-label","Instagram, opens in a new browser tab",1,"social-icon","instagram"],["aria-hidden","true",1,"ri-instagram-fill"],["href","https://linkedin.com/in/voc-port-authority-tuticorin-6b1a482b7","target","_blank","rel","noopener noreferrer","aria-label","LinkedIn, opens in a new browser tab",1,"social-icon","linkedin"],["aria-hidden","true",1,"ri-linkedin-box-fill"],["href","https://login.microsoftonline.com/common/o
1auth2/v2.0/authorize?client_id=4765445b-32c6-49b0-83e6-1d93765276ca&redirect_uri=https%3A%2F%2Fwww.office.com%2Flandingv2&response_type=code%20id_token&scope=openid%20profile%20https%3A%2F%2Fwww.office.com%2Fv2%2FOfficeHome.All&response_mode=form_post&nonce=639197151817094108.MmZmZTM5ODUtNDdkZC00OTE5LTg0ODgtMTNiMDI5YjMzODEwODg1NTdlZTMtNDEyYS00MDZjLWFmZTgtM2ZhMmZmY2I5Zjc0&ui_locales=en-US&mkt=en-US&client-request-id=91b367f9-6e8c-4e56-a4fa-e27ffb5424e7&state=xrLVsp_5p1bBypCUORr9YFUzxH7uTIgs6htiQVae62-ZBbxem6vcF_aP4PGsDudtOsubUWvWH1WdCHj8eaHDaNbvMFV-x0Ewfh_vpE9TjSc7mJtRp_YLY33BUUM3NWOqiw_uRJHTd9qjksthRkMW3D8gA8bmxgDK-dH7pUCTCF06vzWE9vMOHHiDouv5B7AWQdv7kAD7X8OixjOamaMsIoIyL0piFudm7EF7-mAo-ParDd740dt2pZ8Nv-wnnIfB-BlyfusXH22b8kJpRi669Yl8P3iTYjBw_ZC8zPlwxy0N0W-Uj7Jw9QTaC9UU7IKCL0Gaghmd51CLOzjaHRIACGbggSGHmjiJwEonjUmwc2C-GUkH5GC5l3FOxh94dI2LExWV9kEjigcr8gcmbSVNtMGFkieUiTljNTanVs4te7QMBxZv8FoHf8dZ2I_j6ZOhsx7iwMlHaNaqfNeH0h6tSthFgvff682CdffW9i4zZbJawOitRDhqwO5K1WnMBpT4g2myJccMgTGHRIpMGyWo2qekKK362p072o3_N_dH-50&x-client-SKU=ID_NET8_0&x-client-ver=8.14.0.0","aria-label","Web Mail, opens in a new browser tab",1,"social-icon","webmail"],["aria-hidden","true",1,"ri-mail-fill"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"button",1),v("click",function(){return i.toggleSidebar()}),w(2,bn,1,0,"i",2)(3,Cn,1,0,"i",3),s(),w(4,vn,19,0,"ul",4),s()),e&2&&(k("expanded",i.isExpanded),r(),P("aria-expanded",i.isExpanded),r(),b("ngIf",!i.isExpanded),r(),b("ngIf",i.isExpanded),r(),b("ngIf",i.isExpanded))},dependencies:[L,N,Y],styles:[".social-sidebar[_ngcontent-%COMP%]{position:fixed;top:50%;right:5px;transform:translateY(-50%);z-index:999999;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.toggle-btn[_ngcontent-%COMP%]{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b2a55,#1e40af);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:20px;z-index:1000000;position:relative}.toggle-btn[_ngcontent-%COMP%]:hover{background:linear-gradient(135deg,#1e40af,#0b2a55)}.toggle-btn[_ngcontent-%COMP%]:focus, .toggle-btn[_ngcontent-%COMP%]:focus-visible{outline:3px solid #ffbf47;outline-offset:4px;box-shadow:0 0 0 6px #ffbf4759}.social-icons-grid[_ngcontent-%COMP%]{list-style:none;margin:0;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#fffffff2;border-radius:12px;box-shadow:0 8px 24px #00000026}.social-icons-grid[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}.social-icon[_ngcontent-%COMP%]{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;border-radius:8px}.social-icon[_ngcontent-%COMP%]:focus, .social-icon[_ngcontent-%COMP%]:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}.social-icon.facebook[_ngcontent-%COMP%]{background:#1877f2}.social-icon.twitter[_ngcontent-%COMP%]{background:#000}.social-icon.youtube[_ngcontent-%COMP%]{background:red}.social-icon.instagram[_ngcontent-%COMP%]{background:#e4405f}.social-icon.linkedin[_ngcontent-%COMP%]{background:#0077b5}.social-icon.webmail[_ngcontent-%COMP%]{background:#2100b5}@media (max-width: 768px){.social-sidebar[_ngcontent-%COMP%]{display:none!important}}"]})};var Mn=["messagesContainer"],On=["chatInput"],xn=()=>[1,2,3,4,5];function wn(n,t){n&1&&(a(0,"small",47),l(1," Full name is required "),s())}function Pn(n,t){n&1&&(a(0,"small",48),l(1," Please enter a valid email address "),s())}function yn(n,t){n&1&&(a(0,"small",49),l(1," Please enter a valid email address. "),s())}function kn(n,t){n&1&&(a(0,"small",50),l(1," Organization name is required "),s())}function Sn(n,t){n&1&&(a(0,"small",51),l(1," Enter a valid mobile number "),s())}function En(n,t){n&1&&(a(0,"small",49),l(1," Please enter a valid 10-digit phone number. "),s())}function Tn(n,t){if(n&1){let e=S();a(0,"div",23)(1,"div",24)(2,"div",25),g(3,"img",26),s(),a(4,"p",27),l(5,"Welcome!"),s(),a(6,"p",28),l(7,"Please provide your details to start."),s(),a(8,"div",29)(9,"label",30),l(10," Full Name "),a(11,"span",31),l(12,"*"),s()(),a(13,"input",32),se("ngModelChange",function(o){p(e);let c=C();return re(c.userDetails.name,o)||(c.userDetails.name=o),m(o)}),v("keydown.enter",function(){p(e);let o=C();return m(o.submitUserDetails())})("input",function(){p(e);let o=C();return m(o.clearError("name"))}),s(),w(14,wn,2,0,"small",33),s(),a(15,"div",29)(16,"label",34),l(17," Email "),a(18,"span",31),l(19,"*"),s()(),a(20,"input",35),se("ngModelChange",function(o){p(e);let c=C();return re(c.userDetails.email,o)||(c.userDetails.email=o),m(o)}
1),s(),w(21,Pn,2,0,"small",36),s(),w(22,yn,2,0,"small",37),a(23,"div",29)(24,"label",38),l(25," Organization "),a(26,"span",31),l(27,"*"),s()(),a(28,"input",39),se("ngModelChange",function(o){p(e);let c=C();return re(c.userDetails.organization,o)||(c.userDetails.organization=o),m(o)}),v("keydown.enter",function(){p(e);let o=C();return m(o.submitUserDetails())})("input",function(){p(e);let o=C();return m(o.clearError("organization"))}),s(),w(29,kn,2,0,"small",40),s(),a(30,"div",29)(31,"label",41),l(32," Phone Number "),a(33,"span",42),l(34,"(Optional)"),s()(),a(35,"input",43),se("ngModelChange",function(o){p(e);let c=C();return re(c.userDetails.phone,o)||(c.userDetails.phone=o),m(o)}),s(),a(36,"small",44),l(37," Mobile number must start with 6-9 and contain 10 digits "),s(),w(38,Sn,2,0,"small",45),s(),w(39,En,2,0,"small",37),a(40,"button",46),v("click",function(){p(e);let o=C();return m(o.submitUserDetails())}),l(41),s()()()}if(n&2){let e=C();r(13),k("error",e.invalidFields.includes("name")),ae("ngModel",e.userDetails.name),r(),b("ngIf",e.invalidFields.includes("name")),r(6),k("error",e.invalidFields.includes("email")),ae("ngModel",e.userDetails.email),r(),b("ngIf",e.invalidFields.includes("email")),r(),b("ngIf",e.invalidFields.includes("email")),r(6),k("error",e.invalidFields.includes("organization")),ae("ngModel",e.userDetails.organization),r(),b("ngIf",e.invalidFields.includes("organization")),r(6),ae("ngModel",e.userDetails.phone),r(3),b("ngIf",e.invalidFields.includes("phone")),r(),b("ngIf",e.invalidFields.includes("phone")),r(),b("disabled",e.isLoading),r(),M(" ",e.isLoading?"Starting...":"Start Chat"," ")}}function An(n,t){if(n&1){let e=S();a(0,"button",56),v("click",function(){let o=p(e).$implicit,c=C(2);return m(c.feedbackRating=o)}),s()}if(n&2){let e=t.$implicit,i=C(2);B(e<=i.feedbackRating?"ri-star-fill":"ri-star-line"),P("aria-pressed",i.feedbackRating===e)("aria-label","Rate "+e+" out of 5 stars")}}function In(n,t){if(n&1){let e=S();a(0,"div",23)(1,"div",24)(2,"p",27),l(3,"Thanks for chatting!"),s(),a(4,"p",28),l(5," We'd appreciate your feedback before you go. "),s(),a(6,"div",52),w(7,An,1,4,"button",53),s(),a(8,"label",54),l(9,"Feedback comments"),s(),a(10,"textarea",55),se("ngModelChange",function(o){p(e);let c=C();return re(c.feedbackSummary,o)||(c.feedbackSummary=o),m(o)}),s(),a(11,"button",46),v("click",function(){p(e);let o=C();return m(o.submitSessionFeedback())}),l(12),s()()()}if(n&2){let e=C();k("fading-out",e.isFadingOut),r(7),b("ngForOf",Te(6,xn)),r(3),ae("ngModel",e.feedbackSummary),r(),b("disabled",e.isFeedbackLoading),r(),M(" ",e.isFeedbackLoading?"Submitting...":"Submit Feedback"," ")}}function Dn(n,t){n&1&&(a(0,"div",73),g(1,"i",6),s())}function Ln(n,t){if(n&1&&g(0,"li",74),n&2){let e=t.$implicit;b("innerHTML",e,ye)}}function Rn(n,t){if(n&1){let e=S();a(0,"button",82),v("click",function(){p(e);let o=C(3).$implicit,c=C(2);return m(c.handleShowMore(o))}),g(1,"i",83),l(2),s()}if(n&2){let e=C(3).$implicit;r(2),M(" Show More (",e.paginationState==null?null:e.paginationState.totalItems," total) ")}}function Nn(n,t){if(n&1){let e=S();a(0,"div",84)(1,"span",85),l(2),s(),a(3,"div",86)(4,"button",87),v("click",function(){p(e);let o=C(3).$implicit,c=C(2);return m(c.goToPage(o,((o.paginationState==null?null:o.paginationState.currentPage)||1)-1))}),g(5,"i",88),s(),a(6,"span",89),l(7),s(),a(8,"button",90),v("click",function(){p(e);let o=C(3).$implicit,c=C(2);return m(c.goToPage(o,((o.paginationState==null?null:o.paginationState.currentPage)||1)+1))}),g(9,"i",91),s()()()}if(n&2){let e=C(3).$implicit,i=C(2);r(2),Ee(" Showing ",i.getItemRangeStart(e),"-",i.getItemRangeEnd(e)," of ",e.paginationState==null?null:e.paginationState.totalItems," "),r(2),b("disabled",(e.paginationState==null?null:e.paginationState.currentPage)===1),r(3),Se(" ",e.paginationState==null?null:e.paginationState.currentPage,"/",i.getTotalPages(e)," "),r(),b("disabled",(e.paginationState==null?null:e.paginationState.currentPage)===i.getTotalPages(e))}}function Vn(n,t){if(n&1&&(a(0,"div",77)(1,"ol",78),w(2,Ln,1,1,"li",79),s(),w(3,Rn,3,1,"button",8
10)(4,Nn,10,7,"div",81),s()),n&2){let e=C(2).$implicit,i=C(2);r(),b("start",i.getItemRangeStart(e)),r(),b("ngForOf",i.getVisibleItems(e)),r(),b("ngIf",i.showShowMoreButton(e)),r(),b("ngIf",i.showPaginationControls(e))}}function Fn(n,t){if(n&1&&g(0,"div",92),n&2){let e=C(2).$implicit,i=C(2);b("innerHTML",i.getMessageFooter(e.text),ye)}}function Hn(n,t){if(n&1&&(ie(0),g(1,"div",74),w(2,Vn,5,4,"div",75)(3,Fn,1,1,"div",76),oe()),n&2){let e=C().$implicit,i=C(2);r(),b("innerHTML",i.renderMessageText(e.text,e),ye),r(),b("ngIf",i.needsPagination(e)),r(),b("ngIf",i.needsPagination(e)&&i.getMessageFooter(e.text))}}function zn(n,t){if(n&1){let e=S();a(0,"a",95),v("click",function(o){p(e);let c=C().$implicit,d=C(4);return m(d.handleLinkClick(o,c))}),l(1),s()}if(n&2){let e=C().$implicit;r(),x(e)}}function Bn(n,t){if(n&1&&(ie(0),l(1),oe()),n&2){let e=C().$implicit;r(),x(e)}}function Un(n,t){if(n&1&&(ie(0),w(1,zn,2,1,"a",94)(2,Bn,2,1,"ng-container",18),oe()),n&2){let e=t.$implicit,i=C(4);r(),b("ngIf",i.isUrl(e)),r(),b("ngIf",!i.isUrl(e))}}function jn(n,t){if(n&1&&(ie(0),w(1,Un,3,2,"ng-container",93),oe()),n&2){let e=C().$implicit,i=C(2);r(),b("ngForOf",i.getTextParts(e.text))}}function Wn(n,t){if(n&1){let e=S();a(0,"a",99),v("click",function(o){let c=p(e).$implicit,d=C(4);return m(d.handleLinkClick(o,c.url))}),g(1,"i",100),a(2,"span"),l(3),s()()}if(n&2){let e=t.$implicit;r(3),x(e.title)}}function $n(n,t){if(n&1&&(a(0,"div",96)(1,"p",97),l(2,"Sources:"),s(),w(3,Wn,4,1,"a",98),s()),n&2){let e=C().$implicit;r(3),b("ngForOf",e.sources)}}function Gn(n,t){n&1&&(a(0,"div",101),g(1,"i",102),a(2,"span"),l(3,"Escalated to Support"),s()())}function Yn(n,t){if(n&1){let e=S();a(0,"button",106),v("click",function(){let o=p(e).$implicit,c=C(4);return m(c.handleNestedOptionClick(o))}),l(1),s()}if(n&2){let e=t.$implicit;r(),M(" ",e," ")}}function qn(n,t){if(n&1&&(a(0,"div",103)(1,"div",104),w(2,Yn,2,1,"button",105),s()()),n&2){let e=C().$implicit;r(2),b("ngForOf",e.nested_options)}}function Kn(n,t){if(n&1){let e=S();a(0,"button",112),v("click",function(){let o=p(e).$implicit,c=C(5);return m(c.handleCategoryClick(o))}),l(1),s()}if(n&2){let e=t.$implicit;r(),M(" ",e.category||e.title||e.name," ")}}function Zn(n,t){if(n&1&&(a(0,"div",110),w(1,Kn,2,1,"button",111),s()),n&2){let e=C(2).$implicit;r(),b("ngForOf",e.categories)}}function Qn(n,t){if(n&1){let e=S();a(0,"div",113)(1,"button",114),v("click",function(){p(e);let o=C(2).$implicit,c=C(2);return m(c.handleFeedback(o.id,"positive"))}),g(2,"i",13),s(),a(3,"button",115),v("click",function(){p(e);let o=C(2).$implicit,c=C(2);return m(c.handleFeedback(o.id,"negative"))}),g(4,"i",13),s()()}if(n&2){let e=C(2).$implicit;r(),k("active",e.feedback==="positive"),P("aria-pressed",e.feedback==="positive"),r(),B(e.feedback==="positive"?"ri-thumb-up-fill":"ri-thumb-up-line"),r(),k("active",e.feedback==="negative"),P("aria-pressed",e.feedback==="negative"),r(),B(e.feedback==="negative"?"ri-thumb-down-fill":"ri-thumb-down-line")}}function Jn(n,t){if(n&1&&(a(0,"div",107),w(1,Zn,2,1,"div",108)(2,Qn,5,10,"div",109),s()),n&2){let e=C().$implicit;r(),b("ngIf",e.categories&&e.categories.length>0),r(),b("ngIf",e.category!=="error")}}function Xn(n,t){n&1&&(a(0,"div",116),g(1,"i",117),s())}function ei(n,t){if(n&1&&(a(0,"div",63),w(1,Dn,2,0,"div",64),a(2,"div",65)(3,"div",66),w(4,Hn,4,3,"ng-container",18)(5,jn,2,1,"ng-container",18),s(),w(6,$n,4,1,"div",67)(7,Gn,4,0,"div",68)(8,qn,3,1,"div",69)(9,Jn,3,2,"div",70),a(10,"span",71),l(11),u(12,"date"),s()(),w(13,Xn,2,0,"div",72),s()),n&2){let e=t.$implicit,i=C(2);k("user-message",e.sender==="user")("bot-message",e.sender==="bot"),r(),b("ngIf",e.sender==="bot"),r(3),b("ngIf",i.hasMarkdown(e.text)),r(),b("ngIf",!i.hasMarkdown(e.text)),r(),b("ngIf",e.sources&&e.sources.length>0),r(),b("ngIf",e.escalated),r(),b("ngIf",e.nested_options&&e.nested_options.length>0),r(),b("ngIf",e.sender==="bot"),r(2),x(Ae(12,13,e.timestamp,"shortTime")),r(2),b("ngIf",e.sender==="user")}}function ti(n,t){n&1&&(a(0,"div",118)(1,"div",119),g(2,"span")(3,"span")(4,"span"),s()())}function ni(n,t){if(n&1){let e=S();a(0,"button",127),v("click",function(){let o=p(e).$implicit,c=C(4);return m(c.handleSuggestionClick(o))}),l(1),s()}if(n&2){let e=t.$implicit;r(),M(" ",e," ")}}function ii(n,t){if(n&1&&(a(0,"div",125),w(1,ni,2,1,"button",126),s()),n&2){let e=C(3);r(),b("ngForOf",e.suggestions)}}function oi(n,t){if(n&1){let e=S();a(0,"div",120)(1,"div",121)(2,"p",122),l(3,"Quick replies:"),s(),a(4,"button",123),v("click",function(){p(e);let o=C(2);return m(o.toggleSuggestions())}),g(5,"i",13),s()(),w(6,ii,2,1,"div",124),s()}if(n&2){let e=C(2);k("collapsed",e.isSuggestionsCollapsed),r(4),b("title",e.isSuggestionsCollapsed?"Expand":"Collapse"),P("aria-expanded",!e.isSuggestionsCollapsed)("aria-label",e.isSuggestionsCollapsed?"Expand quick replies":"Collapse quick replies"),r(),B(e.isSuggestionsCollapsed?"ri-arrow-up-s-line":"ri-arrow-down-s-line"),r(),b("ngIf",!e.isSuggestionsCollapsed)}}function ai(n,t){if(n&1){let e=S();a(0,"div",128)(1,"div",129)(2,"div",130),g(3,"i",102),a(4,"span"),l(5,"Request Human Support"),s()(),a(6,"label",131),l(7,"Reason for support request"),s(),a(8,"textarea",132),se("ngModelChange",function(o){p(e);let c=C(2);return re(c.escalationReason,o)||(c.escalationReason=o),m(o)}),s(),a(9,"div",133)(10,"button",134),v("click",function(){p(e);let o=C(2);
1return m(o.cancelEscalation())}),l(11," Cancel "),s(),a(12,"button",135),v("click",function(){p(e);let o=C(2);return m(o.submitEscalation())}),l(13),s()()()()}if(n&2){let e=C(2);r(8),ae("ngModel",e.escalationReason),r(2),b("disabled",e.isEscalationLoading),r(2),b("disabled",!e.escalationReason.trim()||e.isEscalationLoading),r(),M(" ",e.isEscalationLoading?"Submitting...":"Submit Request"," ")}}function ri(n,t){if(n&1){let e=S();a(0,"div",136)(1,"div",137)(2,"label",138),l(3," Type your message "),s(),a(4,"textarea",139),se("ngModelChange",function(o){p(e);let c=C(2);return re(c.inputMessage,o)||(c.inputMessage=o),m(o)}),s(),a(5,"button",140),v("click",function(){p(e);let o=C(2);return m(o.sendMessage(o.inputMessage))}),g(6,"i",141),s()(),a(7,"div",142)(8,"small"),g(9,"i",143),l(10," VOC Port Authority "),g(11,"i",144),s()()()}if(n&2){let e=C(2);r(4),ae("ngModel",e.inputMessage),r(),b("disabled",!e.inputMessage.trim())}}function si(n,t){if(n&1&&(ie(0),a(1,"div",57,0),w(3,ei,14,16,"div",58)(4,ti,5,0,"div",59),s(),w(5,oi,7,8,"div",60)(6,ai,14,4,"div",61)(7,ri,12,2,"div",62),oe()),n&2){let e=C();r(3),b("ngForOf",e.messages),r(),b("ngIf",e.isTyping),r(),b("ngIf",e.suggestions.length>0),r(),b("ngIf",e.showEscalationForm),r(),b("ngIf",!e.showEscalationForm)}}function ci(n,t){n&1&&g(0,"i",6)}function li(n,t){n&1&&g(0,"i",15)}function di(n,t){n&1&&(a(0,"span",145),l(1,"AI"),s())}var Ue=class n{constructor(t,e,i){this.aiChatbotService=t;this.router=e;this.cd=i}messagesContainer;chatInput;DEFAULT_SUGGESTIONS=["Vessel Position","New Tenders","Tariff Details","Contact Port","Careers","Latest News"];INACTIVITY_TIMEOUT=30*60*1e3;FEEDBACK_TIMEOUT=60*1e3;inactivityTimer;feedbackTimer;isOpen=!1;isMinimized=!1;isMaximized=!1;messages=[];inputMessage="";isTyping=!1;suggestions=this.DEFAULT_SUGGESTIONS;showFeedbackForm=!1;feedbackRating=0;feedbackSummary="";userId=null;sessionId=null;categories=[];showUserForm=!0;sessionHasMessages=!1;isLoading=!1;userDetails={name:"",email:"",organization:"",phone:""};invalidFields=[];isFadingOut=!1;isFeedbackLoading=!1;nestedOptionPath="";isSuggestionsCollapsed=!1;showEscalationForm=!1;escalationReason="";INITIAL_ITEMS_TO_SHOW=5;ITEMS_PER_PAGE=10;isEscalationLoading=!1;ngOnInit(){this.initializeGreeting()}ngOnDestroy(){this.clearInactivityTimer(),this.clearFeedbackTimer()}initializeGreeting(){this.messages=[{id:1,text:"Hello! I'm your VOC Port virtual assistant. I have knowledge about all services, facilities, and information from vocport.gov.in. How can I help you today?",sender:"bot",timestamp:new Date,category:"greeting",sources:[],categories:[]}]}scrollToBottom(){try{setTimeout(()=>{this.messagesContainer&&(this.messagesContainer.nativeElement.scrollTop=this.messagesContainer.nativeElement.scrollHeight)},100)}catch(t){console.error("Scroll error:",t)}}toggleChat(){this.isOpen?this.closeChatbot():this.openChatbot()}openChatbot(){this.isOpen=!0,this.showUserForm||setTimeout(()=>this.chatInput?.nativeElement.focus(),100)}closeChatbot(){this.isOpen&&(this.isOpen=!1,setTimeout(()=>{document.querySelector(".chat-toggle-btn")?.focus()},0))}toggleMinimize(){this.isMinimized=!this.isMinimized,this.isMinimized&&(this.isMaximized=!1)}toggleMaximize(){this.isMaximized=!this.isMaximized,this.isMaximized&&(this.isMinimized=!1)}toggleSuggestions(){this.isSuggestionsCollapsed=!this.isSuggestionsCollapsed}triggerBackendGreeting(){return j(this,null,function*(){try{let t=yield W(this.aiChatbotService.getGreeting(this.userId));t?.bot&&(this.messages=[{id:Date.now(),message_id:t.message_id,text:t.bot,sender:"bot",timestamp:new Date,category:t.category||"Greeting",sources:t.sources||[],categories:t.categories||[]}],this.suggestions=this.DEFAULT_SUGGESTIONS,this.cd.detectChanges(),this.scrollToBottom())}catch(t){console.error("Failed to load greeting:",t)}})}submitUserDetails(){return j(this,null,function*(){if(this.invalidFields=[],this.userDetails.name||this.invalidFields.push("name"),this.userDetails.email?this.isValidEmail(this.userDetails.email)||this.invalidFields.push("email"):this.invalidFields.push("email"),this.userDetails.organization||this.invalidFields.push("organization"),this.userDetails.phone&&!this.isValidPhone(this.userDetails.phone)&&this.invalidFields.push("phone"),!(this.invalidFields.length>0)){this.isLoading=!0,console.log("Submitting user details:",this.userDetails);try{let t=yield W(this.aiChatbotService.startChat(this.userDetails));console.log("Start chat response:",t),t?.user_id?(this.userId=t.user_id,this.showUserForm=!1,this.isOpen=!0,this.cd.detectChanges(),console.log("\u2714 User authenticated. Waiting for first message to create session..."),this.startInactivityTimer(),yield this.triggerBackendGreeting(),setTimeout(()=>this.chatInput?.nativeElement.focus(),200)):(console.warn("\u26A0 No user_id returned from server."),alert("Failed to start chat. Please try again."))}catch(t){console.error("Error submitting details:",t),alert("Failed to submit details \u2014 please try again.")}finally{this.isLoading=!1}}})}clearError(t){this.invalidFields=this.invalidFields.filter(e=>e!==t)}sendMessage(t){return j(this,null,function*(){if(this.showUserForm){alert("Please enter your details before starting the chat.");return}if(!t.trim())return;this.resetInactivityTimer();
1let e={id:Date.now(),text:t,sender:"user",timestamp:new Date};this.messages=[...this.messages,e],this.inputMessage="",this.isTyping=!0,this.suggestions=[],this.cd.detectChanges(),this.scrollToBottom();try{let i=yield W(this.aiChatbotService.sendMessage(t,this.sessionId,this.userId));i?.session_id&&!this.sessionId&&(this.sessionId=i.session_id,console.log("\u{1F4CC} New session created:",this.sessionId)),i?.message_id&&(this.sessionHasMessages=!0);let o={id:Date.now()+1,message_id:i?.message_id,text:i?.bot?.trim()?i.bot:i?.sources?.length>0?"Here's what I found related to your query \u2014 please check the official sources below:":i?.nested_options?.length>0?"Please select an option to continue:":"I apologize, but I'm having trouble processing that. Could you rephrase your question?",sender:"bot",timestamp:new Date,category:i?.category||"unknown",subcategory:i?.subcategory||null,sources:i?.sources||[],categories:i?.categories||[],nested_options:i?.nested_options||[],escalated:i?.escalated||!1,escalation_id:i?.escalation_id};if(this.messages=[...this.messages,o],this.isTyping=!1,this.cd.detectChanges(),this.scrollToBottom(),i?.nested_options?.length>0?this.nestedOptionPath||(this.nestedOptionPath=t,console.log("\u{1F4CD} Started nested path with:",this.nestedOptionPath)):i?.sources?.length>0?(console.log("\u{1F4CD} Nested path complete, resetting"),this.nestedOptionPath=""):this.nestedOptionPath="",i?.category==="Goodbye"){this.sessionHasMessages?this.showFeedbackForm=!0:(console.log("Skipping feedback \u2014 no real conversation happened."),this.resetChat());return}if(i?.escalation_pending){console.log("\u{1F4DE} Escalation pending - showing form to collect reason"),this.showEscalationForm=!0,this.suggestions=[],this.cd.detectChanges(),this.scrollToBottom();return}if(i?.escalated&&console.log("\u{1F4DE} Escalation completed, ID:",i.escalation_id),i?.suggestions?.length>0&&(this.suggestions=i.suggestions,this.cd.detectChanges()),(!i?.subcategory||i.subcategory==="None")&&i?.category)this.fetchSubcategoriesFor(i.category).then(c=>{if(c?.length>0){let d=ne(te({},o),{categories:c.map(O=>({name:O,parent:i.category}))});this.messages=this.messages.map(O=>O.id===o.id?d:O),this.cd.detectChanges()}});else if(i?.categories?.length>0){let c=ne(te({},o),{categories:i.categories.map(d=>typeof d=="string"?{name:d,parent:i.category}:{name:d.category||d.name,parent:i.category})});this.messages=this.messages.map(d=>d.id===o.id?c:d),this.cd.detectChanges()}}catch{let o={id:Date.now()+1,text:"I apologize, but I'm having trouble connecting to the server. Please try again later.",sender:"bot",timestamp:new Date,category:"error",sources:[]};this.messages=[...this.messages,o],this.isTyping=!1,this.cd.detectChanges(),this.scrollToBottom()}})}fetchSubcategoriesFor(t){return j(this,null,function*(){try{let e=yield W(this.aiChatbotService.getCategories());if(e?.status==="success"){let i=e.categories.find(o=>o.category===t);if(i?.subcategories)return Array.isArray(i.subcategories)?i.subcategories.map(o=>o):[]}}catch(e){console.error("Failed to load subcategories:",e)}return[]})}handleSuggestionClick(t){this.sendMessage(t)}submitEscalation(){return j(this,null,function*(){if(!this.escalationReason.trim())return;this.isEscalationLoading=!0;let t={id:Date.now(),text:this.escalationReason,sender:"user",timestamp:new Date};this.messages=[...this.messages,t],this.cd.detectChanges(),this.scrollToBottom();try{let e=yield W(this.aiChatbotService.sendMessage(this.escalationReason,this.sessionId,this.userId));e?.session_id&&!this.sessionId&&(this.sessionId=e.session_id),e?.message_id&&(this.sessionHasMessages=!0);let i={id:Date.now()+1,message_id:e?.message_id,text:e?.bot||"I've forwarded your request to our support team. They will contact you shortly.",sender:"bot",timestamp:new Date,category:e?.category||"Escalation",escalated:e?.escalated||!1,escalation_id:e?.escalation_id};this.messages=[...this.messages,i],e?.escalated&&console.log("\u{1F4DE} Escalation submitted, ID:",e.escalation_id)}catch{let i={id:Date.now()+1,text:"I apologize, but I'm having trouble forwarding your request. Please try again or c
1ontact our support team directly.",sender:"bot",timestamp:new Date,category:"error"};this.messages=[...this.messages,i]}finally{this.showEscalationForm=!1,this.escalationReason="",this.isEscalationLoading=!1,this.suggestions=this.DEFAULT_SUGGESTIONS,this.cd.detectChanges(),this.scrollToBottom()}})}cancelEscalation(){this.showEscalationForm=!1,this.escalationReason="",this.aiChatbotService.cancelEscalation(this.sessionId,this.userId).subscribe({next:e=>{console.log("Escalation cancelled on backend")},error:e=>{console.error("Failed to cancel escalation on backend",e)}});let t={id:Date.now(),text:"No problem! Let me know if you have any other questions or if you'd like to speak with support later.",sender:"bot",timestamp:new Date};this.messages=[...this.messages,t],this.suggestions=this.DEFAULT_SUGGESTIONS,this.cd.detectChanges(),this.scrollToBottom()}handleCategoryClick(t){let e=t.url;if(e)this.handleUrlNavigation(e);else{let i=t.category||t.title||t.name;this.sendMessage(i)}}handleNestedOptionClick(t){this.nestedOptionPath?this.nestedOptionPath=`${this.nestedOptionPath} ${t}`:this.nestedOptionPath=t,console.log("\u{1F4CD} Nested option path:",this.nestedOptionPath),this.sendMessageWithDisplayText(t,this.nestedOptionPath)}sendMessageWithDisplayText(t,e){return j(this,null,function*(){if(this.showUserForm){alert("Please enter your details before starting the chat.");return}this.resetInactivityTimer();let i={id:Date.now(),text:t,sender:"user",timestamp:new Date};this.messages=[...this.messages,i],this.inputMessage="",this.isTyping=!0,this.suggestions=[],this.cd.detectChanges(),this.scrollToBottom();try{let o=yield W(this.aiChatbotService.sendMessage(e,this.sessionId,this.userId));o?.session_id&&!this.sessionId&&(this.sessionId=o.session_id,console.log("\u{1F4CC} New session created:",this.sessionId)),o?.message_id&&(this.sessionHasMessages=!0);let c={id:Date.now()+1,message_id:o?.message_id,text:o?.bot?.trim()?o.bot:o?.sources?.length>0?"Here's what I found related to your query \u2014 please check the official sources below:":o?.nested_options?.length>0?"Please select an option to continue:":"I apologize, but I'm having trouble processing that. Could you rephrase your question?",sender:"bot",timestamp:new Date,category:o?.category||"unknown",subcategory:o?.subcategory||null,sources:o?.sources||[],categories:o?.categories||[],nested_options:o?.nested_options||[],escalated:o?.escalated||!1,escalation_id:o?.escalation_id};if(this.messages=[...this.messages,c],this.isTyping=!1,this.cd.detectChanges(),this.scrollToBottom(),o?.nested_options?.length>0||(o?.sources?.length>0?(console.log("\u{1F4CD} Nested path complete, resetting"),this.nestedOptionPath=""):this.nestedOptionPath=""),o?.category==="Goodbye"){this.sessionHasMessages?this.showFeedbackForm=!0:this.resetChat();return}if(o?.escalation_pending){console.log("\u{1F4DE} Escalation pending - showing form to collect reason"),this.showEscalationForm=!0,this.suggestions=[],this.cd.detectChanges(),this.scrollToBottom();return}o?.escalated&&console.log("\u{1F4DE} Escalation completed, ID:",o.escalation_id),o?.suggestions?.length>0&&(this.suggestions=o.suggestions,this.cd.detectChanges())}catch{let c={id:Date.now()+1,text:"I apologize, but I'm having trouble connecting to the server. Please try again later.",sender:"bot",timestamp:new Date,category:"error",sources:[]};this.messages=[...this.messages,c],this.isTyping=!1,this.cd.detectChanges(),this.scrollToBottom()}})}handleLinkClick(t,e){t.preventDefault(),this.handleUrlNavigation(e)}handleUrlNavigation(t){if(!t)return;let e=[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx"];if(e.some(o=>t.toLowerCase().endsWith(o))){window.open(t,"_blank");return}if(t.startsWith("/")){e.some(o=>t.toLowerCase().endsWith(o))?window.open(t,"_blank"):this.router.navigateByUrl(t);return}try{let o=new URL(t),c=window.location.host;o.host===c||o.host==="vocport.gov.in"||o.host==="www.vocport.gov.in"?this.router.navigateByUrl(o.pathname+o.search+o.hash):window.open(t,"_blank")}catch{t.startsWith("http")?window.open(t,"_blank"):this.router.navigateByUrl(t)}}onKeyPress(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),this.showUserForm?this.submitUserDetails():this.sendMessage(this.inputMessage))}handleFeedback(t,e){return j(this,null,function*(){let i=this.messages.find(c=>c.id===t);if(!i)return;i.feedback===e?i.feedback=null:i.feedback=e;let o=i.message_id;try{yield W(this.aiChatbotService.sendFeedback(this.sessionId,o,i.feedback==="positive"))}catch(c){console.error("Feedback error:",c)}})}resetChat(){return j(this,null,function*(){if(this.clearInactivityTimer(),this.sessionId)try{yield W(this.aiChatbotService.closeSession(this.sessionId)),this.show
1FeedbackForm=!0,this.startFeedbackTimer(),this.cd.detectChanges(),this.scrollToBottom()}catch(t){console.error("Failed to close chat session:",t),this.showFeedbackForm=!0,this.startFeedbackTimer(),this.sessionHasMessages=!1}else this.showUserForm=!0})}submitSessionFeedback(){return j(this,null,function*(){if(!this.sessionHasMessages){console.warn("Skipping feedback \u2014 no conversation happened."),this.resetChat();return}if(!this.feedbackRating){alert("Please select a rating (1\u20135)");return}this.isFeedbackLoading=!0,this.clearFeedbackTimer();try{yield W(this.aiChatbotService.submitSessionFeedback(this.sessionId,this.feedbackRating,this.feedbackSummary)),this.isFadingOut=!0,this.cd.detectChanges(),setTimeout(()=>{this.showFeedbackForm=!1,this.isFadingOut=!1,this.feedbackRating=0,this.feedbackSummary="",this.sessionHasMessages=!1,this.messages=[{id:Date.now(),text:"Thank you for your feedback! Starting a fresh session...",sender:"bot",timestamp:new Date}],this.sessionId=null,this.showUserForm=!0,this.cd.detectChanges()},500)}catch(t){console.error("Feedback submit error:",t),alert("Unable to submit feedback. Try again."),this.isFadingOut=!1}finally{this.isFeedbackLoading=!1}})}parseListContent(t){if(!t)return{header:"",items:[],footer:""};let e=t;e=e.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),e=e.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(O,E,T)=>`<a href="${this.convertToFullUrl(T)}" target="_blank" class="message-link">${E}</a>`);let i=e.split(/\n/),o=[],c="",d="";for(let O of i){let E=O.trim();if(E)if(/^\d+\.\s+/.test(E)){let T=E.replace(/^\d+\.\s+/,"");o.push(T)}else o.length>0?O.match(/^\s+/)?o[o.length-1]+="<br>"+E:d+=`<p>${E}</p>`:c+=`<p>${E}</p>`}return{header:c,items:o,footer:d}}renderMessageText(t,e){if(!t)return"";if(/(\d+\.\s+)/.test(t)){let{header:o,items:c,footer:d}=this.parseListContent(t);if(e&&c.length>this.INITIAL_ITEMS_TO_SHOW)return e.paginationState||(e.paginationState={totalItems:c.length,currentPage:1,itemsPerPage:this.ITEMS_PER_PAGE,isExpanded:!1}),o||"";let O=o+'<ol class="message-list">';return c.forEach(E=>{O+=`<li>${E}</li>`}),O+="</ol>",O+=d,O}let i=t;return i=i.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),i=i.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(o,c,d)=>`<a href="${this.convertToFullUrl(d)}" target="_blank" class="message-link">${c}</a>`),i.replace(/\n/g,"<br>")}getMessageFooter(t){let{footer:e}=this.parseListContent(t);return e}getMessageListItems(t){let{items:e}=this.parseListContent(t);return e}getVisibleItems(t){let e=this.getMessageListItems(t.text);if(!t.paginationState)return e.slice(0,this.INITIAL_ITEMS_TO_SHOW);let{currentPage:i,isExpanded:o,itemsPerPage:c}=t.paginationState;if(!o)return e.slice(0,this.INITIAL_ITEMS_TO_SHOW);let d=(i-1)*c,O=d+c;return e.slice(d,O)}needsPagination(t){return t.sender!=="bot"?!1:this.getMessageListItems(t.text).length>this.INITIAL_ITEMS_TO_SHOW}showShowMoreButton(t){return t.paginationState?!t.paginationState.isExpanded:!1}handleShowMore(t){t.paginationState&&(t.paginationState.isExpanded=!0,this.cd.detectChanges(),this.scrollToBottom())}getTotalPages(t){return t.paginationState?Math.ceil(t.paginationState.totalItems/t.paginationState.itemsPerPage):1}showPaginationControls(t){return!t.paginationState||!t.paginationState.isExpanded?!1:this.getTotalPages(t)>1}goToPage(t,e){t.paginationState&&e>=1&&e<=this.getTotalPages(t)&&(t.paginationState.currentPage=e,this.cd.detectChanges(),this.scrollToBottom())}getItemRangeStart(t){return t.paginationState?(t.paginationState.currentPage-1)*t.paginationState.itemsPerPage+1:1}getItemRangeEnd(t){if(!t.paginationState)return this.INITIAL_ITEMS_TO_SHOW;let e=t.paginationState.currentPage*t.paginationState.itemsPerPage;return Math.min(e,t.paginationState.totalItems)}convertToFullUrl(t){let e=t.replace("uploads/","api/files/");if(e.startsWith("http://")||e.startsWith("https://"))return e;let i=window.location.origin;return e.startsWith("/")?`${i}${e}`:`${i}/${e}`}handleMarkdownLink(t){this.handleUrlNavigation(t)}hasMarkdown(t){return/\*\*/.test(t)||/\d+\.\s+/.test(t)||/\[([^\]]+)\]\(([^)]+)\)/.test(t)}getTextParts(t){let e=/(https?:\/\/[^\s]+)/g;return t.split(e)}isUrl(t){return/(https?:\/\/[^\s]+)/g.test(t)}startInactivityTimer(){this.clearInactivityTimer(),this.inactivityTimer=setTimeout(()=>{console.log("Session timed out due to inactivity."),this.resetChat()},this.INACTIVITY_TIMEOUT)}resetInactivityTimer(){this.sessionId&&this.startInactivityTimer()}clearInactivityTimer(){this.inactivityTimer&&(clearTimeout(this.inactivityTimer),this.inactivityTimer=null)}startFeedbackTimer(){this.clearFeedbackTimer(),this.feedbackTimer=setTimeout(()=>{console.log("Feedback form timed out."),this.handleFeedbackTimeout()},this.FEEDBACK_TIMEOUT)}clearFeedbackTimer(){this.feedbackTimer&&(clearTimeout(this.feedbackTimer),this.feedbackTimer=null)}handleFeedbackTimeout(){this.isFadingOut=!0,this.cd.detectChanges(),setTimeout(()=>
1{this.showFeedbackForm=!1,this.isFadingOut=!1,this.feedbackRating=0,this.feedbackSummary="",this.sessionId=null,this.showUserForm=!0,this.cd.detectChanges()},500)}isValidEmail(t){return/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(t)}isValidPhone(t){return/^\d{10}$/.test(t)}static \u0275fac=function(e){return new(e||n)(y(Xt),y(A),y(Et))};static \u0275cmp=I({type:n,selectors:[["app-ai-chatbot"]],viewQuery:function(e,i){if(e&1&&(Q(Mn,5),Q(On,5)),e&2){let o;J(o=X())&&(i.messagesContainer=o.first),J(o=X())&&(i.chatInput=o.first)}},decls:25,vars:20,consts:[["messagesContainer",""],[1,"ai-chatbot-container"],["id","ai-chat-window","role","dialog","aria-label","AI Assistant chat window",1,"chat-window"],[1,"chat-header"],[1,"header-content"],[1,"bot-avatar"],["aria-hidden","true",1,"ri-message-ai-3-fill"],[1,"header-text"],[1,"status"],[1,"header-actions"],["title","Reset Chat","aria-label","Reset chat",1,"icon-btn",3,"click"],["aria-hidden","true",1,"ri-refresh-line"],["title","Maximize","aria-label","Maximize chat window",1,"icon-btn",3,"click"],["aria-hidden","true"],["title","Close","aria-label","Close chat window",1,"icon-btn","close-btn",3,"click"],["aria-hidden","true",1,"ri-close-line"],["class","user-form-container",4,"ngIf"],["class","user-form-container",3,"fading-out",4,"ngIf"],[4,"ngIf"],["type","button","aria-controls","ai-chat-window",1,"chat-toggle-btn",3,"click"],["class","ri-message-ai-3-fill","aria-hidden","true",4,"ngIf"],["class","ri-close-line","aria-hidden","true",4,"ngIf"],["class","notification-badge",4,"ngIf"],[1,"user-form-container"],[1,"user-form"],[1,"form-icon"],["src","assets/images/logo/waving_chatbot.png","alt","VOC Port AI Assistant","aria-hidden","true"],[1,"fw-bold","mb-1"],[1,"form-subtitle"],[1,"mb-3"],["for","ai-fullName",1,"form-label"],["aria-hidden","true",1,"text-danger"],["id","ai-fullName","name","fullName","type","text","placeholder","Enter full name","required","","aria-required","true","aria-describedby","ai-fullNameError","autocomplete","name",1,"form-input",3,"ngModelChange","keydown.enter","input","ngModel"],["id","ai-fullNameError","class","error-message","role","alert",4,"ngIf"],["for","ai-email",1,"form-label"],["id","ai-email","name","email","type","email","placeholder","Enter email address","required","","aria-required","true","aria-describedby","ai-emailError","autocomplete","email",1,"form-input",3,"ngModelChange","ngModel"],["id","ai-emailError","class","error-message","role","alert",4,"ngIf"],["class","error-message",4,"ngIf"],["for","ai-organization",1,"form-label"],["id","ai-organization","name","organization","type","text","placeholder","Enter organization name","required","","aria-required","true","aria-describedby","ai-organizationError","autocomplete","organization",1,"form-input",3,"ngModelChange","keydown.enter","input","ngModel"],["id","ai-organizationError","class","error-message","role","alert",4,"ngIf"],["for","ai-phone",1,"form-label"],[1,"text-muted"],["id","ai-phone","name","phone","type","tel","placeholder","Enter 10 digit mobile number","aria-describedby","ai-phoneHelp ai-phoneError","autocomplete","tel",1,"form-input",3,"ngModelChange","ngModel"],["id","ai-phoneHelp",1,"text-muted"],["id","ai-phoneError","class","error-message","role","alert",4,"ngIf"],["type","button",1,"submit-btn",3,"click","disabled"],["id","ai-fullNameError","role","alert",1,"error-message"],["id","ai-emailError","role","alert",1,"error-message"],[1,"error-message"],["id","ai-organizationError","role","alert",1,"error-message"],["id","ai-phoneError","role","alert",1,"error-message"],[1,"rating-stars"],["type","button","aria-hidden","false",3,"class","click",4,"ngFor","ngForOf"],["for","ai-feedbackSummary",1,"visually-hidden"],["id","ai-feedbackSummary","name","feedbackSummary","placeholder","Any additional comments? (Optional)","rows","3",1,"form-input",3,"ngModelChange","ngModel"],["type","button","aria-hidden","false",3,"click"],[1,"chat-messages"],["class","message",3,"user-message","bot-message",4,"ngFor","ngForOf"],["class","typing-indicator",4,"ngIf"],["class","suggestions-section",3,"collapsed",4,"ngIf"],["class","escalation-form-container",4,"ngIf"],["class","chat-input-container",4,"ngIf"],[1,"message"],["class","message-avatar",4,"ngIf"],[1,"message-content"],[1,"message-text"],["class","sources-section",4,"ngIf"],["class","escalation-indicator",4,"ngIf"],["class","nested-options-section",4,"ngIf"],["class","metadata-section",4,"ngIf"],[1,"message-time"],["class","message-avatar user-avatar",4,"ngIf"],[1,"message-avatar"],[3,"innerHTML"],["class","paginated-list-section",4,"ngIf"],["class","message-text footer-text",3,"innerHTML",4,"ngIf"],[1,"paginated-list-section"],[1,"message-list",3,"start"],[3,"innerHTML",4,"ngFor","ngForOf"],["class","show-more-btn",3,"click",4,"ngIf"],["class","pagination-controls",4,"ngIf"],[1,"show-more-btn",3,"click"],["aria-hidden","true",1,"ri-add-line"],[1,"pagination-controls"],[1,"pagination-info"],[1,"pagination-buttons"],["aria-label","Previous page",1,"page-btn",3,"click","disabled"],["aria-hidden","true",1,"ri-arrow-left-s-line"],[1,"page-indicator"],["aria-label","Next page",1,"page-btn",3,"click","disabled"],["aria-hidden","true",1,"ri-arrow-right-s-line"],[1,"message-text","footer-text",3,"innerHTML"],[4,"ngFor","ngForOf"],["href","javascript:void(0)","class","message-link",3,"click",4,"ngIf"],["href","javascript:void(0)",1,"message-link",3,"click"],[1,"sources-section"],[1,"sources-label"],["href","javascript:void(0)","class","source-link",3,"click",4,"ngFor","ngForOf"],["href","javascript:void(0)",1,"source-link",3,"click"],["aria-hidden","true",1,"ri-external-link-line",2,"font-size","12px"],[1,"escalation-indicator"],["aria-hidden","true",1,"ri-customer-service-2-line"],[1,"nested-options-section"],[1,"nested-options-list"],["class","nested-option-btn",3,"click",4,"ngFor","ngForOf"],[1,"nested-option-btn",3,"click"],[1,"metadata-section"],["class","categories-list",4,"ngIf"],["class","feedback-buttons",4,"ngIf"],[1,"categories-list"],["class","category-btn",3,"click",4,"ngFor","ngForOf"],[1,"category-btn",3,"click"],[1,"feedback-buttons"],["type","button","title","Helpful","aria-label","Mark this response as helpful",1,"feedback-btn",3,"click"],["type","button","title","Not helpful","aria-label","Mark this response as not helpful",1,"feedback-btn",3,"click"],[1,"message-avatar","user-avatar"],["aria-hidden","true",1,"ri-user-line"],[1,"typing-indicator"],[1,"typing-dots"],[1,"suggestions-section"],[1,"suggestions-header"],[1,"suggestions-label"],["aria-controls","suggestions-list",1,"suggestions-toggle-btn",3,"click","title"],["class","suggestions-list","id","suggestions-list",4,"ngIf"],["id","suggestions-list",1,"suggestions-list"],["class","suggestion-btn",3,"click",4,"ngFor","ngForOf"],[1,"suggestion-btn",3,"click"],[1,"escalation-form-container"],[1,"escalation-form"],[1,"escalation-header"],["for","ai-escalationReason",1,"visually-hidden"],["id","ai-escalationReason","name","escalationReason","placeholder","Please describe the reason for your support request...","rows","3",1,"escalation-input",3,"ngModelChange","ngModel"],[1,"escalation-actions"],[1,"escalation-cancel-btn",3,"click","disabled"],[1,"escalation-submit-btn",3,"click","disabled"],[1,"chat-input-container"],[1,"input-wrapper"],["for","ai-chatMessage",1,"visually-hidden"],["id","ai-chatMessage","name","chatMessage","placeholder","Type your message...",1,"chat-input",3,"ngModelChange","ngModel"],["aria-label","Send message",1,"send-btn",3,"click","disabled"],["aria-hidden","true",1,"ri-send-plane-fill"],[1,"input-footer"],["aria-hidden","true",1,"ri-anchor-line",2,"margin-right","4px","vertical-align","middle"],["aria-hidden","true",1,"ri-anchor-line",2,"margin-left","4px","vertical-align","middle"],[1,"notification-badge"]],template:function(e,i){e&1&&(a(0,"div",1)(1,"div",2)(2,"div",3)(3,"div",4)(4,"div",5),g(5,"i",6),s(),a(6,"div",7)(7,"h4"),l(8,"AI Assistant"),s(),a(9,"span",8),l(10,"Online"),s()()(),a(11,"div",9)(12,"button",10),v("click",function(){return i.resetChat()}),g(13,"i",11),s(),a(14,"button",12),v("click",function(){return i.toggleMaximize()}),g(15,"i",13),s(),a(16,"button",14),v("click",function(){return i.closeChatbot()}),g(17,"i",15),s()()(),w(18,Tn,42,18,"div",16)(19,In,13,7,"div",17)(20,si,8,5,"ng-container",18),s(),a(21,"button",19),v("click",function(){return i.toggleChat()}),w(22,ci,1,0,"i",20)(23,li,1,0,"i",21)(24,di,2,0,"span",22),s()()),e&2&&(r(),k("open",i.isOpen)("closed",!i.isOpen)("maximized",i.isMaximized),P("aria-hidden",i.isOpen?null:"true")("inert",i.isOpen?null:""),r(14),B(i.isMaximized?"ri-fullscreen-exit-line":"ri-fullscreen-line"),r(3),b("ngIf",i.showUserForm),r(),b("ngIf",i.showFeedbackForm),r(),b("ngIf",!i.showUserForm&&!i.showFeedbackForm),r(),k("open",i.isOpen),P("aria-expanded",i.isOpen)("aria-label",i.isOpen?"Close AI chat assistant":"Open AI chat assistant"),r(),b("ngIf",!i.isOpen),r(),b("ngIf",i.isOpen),r(),b("ngIf",!i.isOpen))},dependencies:[L,ce,N,Le,Jt,qt,Kt,Qt,Zt],styles:['@charset "UTF-8";.ai-chatbot-container[_ngcontent-%COMP%]{position:fixed;bottom:20px;right:20px;z-index:9999;font-family:Poppins,sans-serif}.chat-toggle-btn[_ngcontent-%COMP%]{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#081941,#2947a3);border:2px solid #fff;color:#fff;font-size:24px;
1cursor:pointer;box-shadow:0 4px 20px #08194166;display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;z-index:1001}.chat-toggle-btn[_ngcontent-%COMP%]:hover{transform:scale(1.1);box-shadow:0 6px 25px #08194180}.chat-toggle-btn[_ngcontent-%COMP%]:active{transform:scale(.95)}.chat-toggle-btn[_ngcontent-%COMP%]   .notification-badge[_ngcontent-%COMP%]{position:absolute;top:-5px;right:-5px;background:#dbaf57;color:#13296c;font-size:10px;font-weight:700;padding:4px 8px;border-radius:12px;border:2px solid #fff;min-width:24px;text-align:center}.chat-toggle-btn.open[_ngcontent-%COMP%]{background:linear-gradient(135deg,#c25038,#8c2f26)}.chat-window[_ngcontent-%COMP%]{position:absolute;bottom:80px;right:0;width:450px;height:700px;max-height:calc(100vh - 100px);background:#fff;border-radius:16px;box-shadow:0 8px 30px #00000026;display:flex;flex-direction:column;overflow:hidden;transform:translateY(20px) scale(.9);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-window.open[_ngcontent-%COMP%]{transform:translateY(0) scale(1);opacity:1;pointer-events:all}.chat-window.closed[_ngcontent-%COMP%]{transform:translateY(20px) scale(.9);opacity:0;pointer-events:none}.chat-window.maximized[_ngcontent-%COMP%]{width:90vw;height:90vh;max-height:90vh;bottom:20px;right:20px;position:fixed;z-index:1002}.chat-header[_ngcontent-%COMP%]{background:linear-gradient(135deg,#0a3c7d,#1a5ba8);color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0000001a;position:relative}.chat-header[_ngcontent-%COMP%]   .header-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;flex:1}.chat-header[_ngcontent-%COMP%]   .bot-avatar[_ngcontent-%COMP%]{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px;backdrop-filter:blur(10px)}.chat-header[_ngcontent-%COMP%]   .header-text[_ngcontent-%COMP%]{flex:1}.chat-header[_ngcontent-%COMP%]   .header-text[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:600;line-height:1.2}.chat-header[_ngcontent-%COMP%]   .header-text[_ngcontent-%COMP%]   .status[_ngcontent-%COMP%]{font-size:12px;opacity:.9;display:flex;align-items:center;gap:6px}.chat-header[_ngcontent-%COMP%]   .header-text[_ngcontent-%COMP%]   .status[_ngcontent-%COMP%]:before{content:"";width:8px;height:8px;border-radius:50%;background:#4ade80;display:inline-block;animation:_ngcontent-%COMP%_pulse 2s infinite}.chat-header[_ngcontent-%COMP%]   .header-actions[_ngcontent-%COMP%]{display:flex;gap:8px;position:relative;z-index:20}.chat-header[_ngcontent-%COMP%]   .icon-btn[_ngcontent-%COMP%]{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:16px}.chat-header[_ngcontent-%COMP%]   .icon-btn[_ngcontent-%COMP%]:hover{background:#ffffff4d;transform:scale(1.1)}.chat-messages[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa;display:flex;flex-direction:column;gap:16px}.chat-messages[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.chat-messages[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:transparent}.chat-messages[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ced4da;border-radius:3px}.chat-messages[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#adb5bd}.message[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:flex-end;max-width:85%;animation:_ngcontent-%COMP%_messageSlideIn .3s ease}.message.user-message[_ngcontent-%COMP%]{align-self:flex-end;flex-direction:row-reverse}.message.user-message[_ngcontent-%COMP%]   .message-content[_ngcontent-%COMP%]{background:linear-gradient(135deg,#0a3c7d,#1a5ba8);color:#fff;border-bottom-right-radius:4px}.message.user-message[_ngcontent-%COMP%]   .message-time[_ngcontent-%COMP%]{color:#fffc;text-align:right}.message.bot-message[_ngcontent-%COMP%]{align-self:flex-start}.message.bot-message[_ngcontent-%COMP%]   .message-content[_ngcontent-%COMP%]{background:#fff;color:#333;border-bottom-left-radius:4px;box-shadow:0 2px 4px #0000000d}
1.message.bot-message[_ngcontent-%COMP%]   .message-time[_ngcontent-%COMP%]{color:#6c757d}.message[_ngcontent-%COMP%]   .message-avatar[_ngcontent-%COMP%]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.message[_ngcontent-%COMP%]   .message-avatar.user-avatar[_ngcontent-%COMP%]{background:linear-gradient(135deg,#0a3c7d,#1a5ba8);color:#fff}.message[_ngcontent-%COMP%]   .message-content[_ngcontent-%COMP%]{padding:12px 16px;border-radius:16px;overflow-wrap:break-word;word-break:break-word;position:relative;max-width:100%}.message[_ngcontent-%COMP%]   .message-content[_ngcontent-%COMP%]   .message-link[_ngcontent-%COMP%]{color:#2563eb;text-decoration:underline;overflow-wrap:anywhere}.message[_ngcontent-%COMP%]   .message-content[_ngcontent-%COMP%]   .message-link[_ngcontent-%COMP%]:hover{text-decoration:none}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]{font-size:14px;line-height:1.5;margin-bottom:4px}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .message-list[_ngcontent-%COMP%]{margin:8px 0;padding-left:20px}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .message-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin-bottom:8px;padding:8px 12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #0a3c7d;list-style-position:outside}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .message-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{color:#0a3c7d;font-weight:600}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{font-weight:600;color:#1f2937}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:4px 0}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .paginated-list-section[_ngcontent-%COMP%]{margin-top:8px}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .paginated-list-section[_ngcontent-%COMP%]   .message-list[_ngcontent-%COMP%]{margin:8px 0;padding-left:20px}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .paginated-list-section[_ngcontent-%COMP%]   .message-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin-bottom:8px;padding:8px 12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #0a3c7d;list-style-position:outside}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .paginated-list-section[_ngcontent-%COMP%]   .message-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   strong[_ngcontent-%COMP%]{color:#0a3c7d;font-weight:600}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .paginated-list-section[_ngcontent-%COMP%]   .message-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a.message-link[_ngcontent-%COMP%]{color:#2563eb;text-decoration:underline;word-break:break-word}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .paginated-list-section[_ngcontent-%COMP%]   .message-list[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a.message-link[_ngcontent-%COMP%]:hover{text-decoration:none}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .show-more-btn[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;margin-top:8px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:8px;color:#0369a1;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .show-more-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:16px}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .show-more-btn[_ngcontent-%COMP%]:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);box-shadow:0 2px 8px #0ea5e933;transform:translateY(-1px)}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .show-more-btn[_ngcontent-%COMP%]:active{transform:translateY(0)}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .pagination-controls[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 12px;background:#f8f9fa;border-radius:8px;border:1px solid #2966A3}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .pagination-controls[_ngcontent-%COMP%]   .pagination-info[_ngcontent-%COMP%]{font-size:12px;color:#6c757d;font-weight:500}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .pagination-controls[_ngcontent-%COMP%]   .pagination-buttons[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .pagination-controls[_ngcontent-%COMP%]   .pagination-buttons[_ngcontent-%COMP%]   .page-btn[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#0a3c7d;cursor:pointer;transition:all .2s ease;font-size:16px}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .pagination-controls[_ngcontent-%COMP%]   .pagination-buttons[_ngcontent-%COMP%]   .page-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:#0a3c7d;color:#fff;border-color:#0a3c7d}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .pagination-controls[_ngcontent-%COMP%]   .pagination-buttons[_ngcontent-%COMP%]   .page-btn[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}.message[_ngcontent-%COMP%]   .message-text[_ngcontent-%COMP%]   .pagination-controls[_ngcontent-%COMP%]   .pagination-buttons[_ngcontent-%COMP%]   .page-indicator[_ngcontent-%COMP%]{font-size:13px;font-weight:600;color:#0a3c7d;min-width:40px;text-align:center}
1.message[_ngcontent-%COMP%]   .message-time[_ngcontent-%COMP%]{font-size:11px;opacity:.7;display:block;margin-top:4px}.typing-indicator[_ngcontent-%COMP%]   .typing-dots[_ngcontent-%COMP%]{display:flex;gap:4px;padding:8px 0}.typing-indicator[_ngcontent-%COMP%]   .typing-dots[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;background:#6c757d;animation:_ngcontent-%COMP%_typing 1.4s infinite}.typing-indicator[_ngcontent-%COMP%]   .typing-dots[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.typing-indicator[_ngcontent-%COMP%]   .typing-dots[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:nth-child(3){animation-delay:.4s}.chat-input-container[_ngcontent-%COMP%]{background:#fff;border-top:1px solid #2966A3;padding:16px;box-shadow:0 -2px 8px #0000000d}.chat-input-container[_ngcontent-%COMP%]   .input-wrapper[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:flex-end;background:#f8f9fa;border-radius:24px;padding:8px 12px;border:2px solid #2966A3;transition:all .2s}.chat-input-container[_ngcontent-%COMP%]   .input-wrapper[_ngcontent-%COMP%]:focus-within{border-color:#0a3c7d;box-shadow:0 0 0 3px #0a3c7d1a}.chat-input-container[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]{flex:1;border:none;background:transparent;resize:none;font-size:14px;font-family:Poppins,sans-serif;max-height:120px;overflow-y:auto;padding:8px 0;outline:none;line-height:1.5}.chat-input-container[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]::placeholder{color:#6c757d}.chat-input-container[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px}.chat-input-container[_ngcontent-%COMP%]   .chat-input[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ced4da;border-radius:2px}.chat-input-container[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]{width:36px;height:36px;border-radius:50%;border:none;background:linear-gradient(135deg,#0a3c7d,#1a5ba8);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:18px;flex-shrink:0}.chat-input-container[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px #0a3c7d4d}.chat-input-container[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]:active:not(:disabled){transform:scale(.95)}.chat-input-container[_ngcontent-%COMP%]   .send-btn[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.chat-input-container[_ngcontent-%COMP%]   .input-footer[_ngcontent-%COMP%]{margin-top:8px;display:flex;justify-content:center;align-items:center;width:100%}.chat-input-container[_ngcontent-%COMP%]   .input-footer[_ngcontent-%COMP%]   small[_ngcontent-%COMP%]{font-size:11px;color:#6c757d;text-align:center}@keyframes _ngcontent-%COMP%_messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}@keyframes _ngcontent-%COMP%_pulse{0%{box-shadow:0 0 #4ade80b3}70%{box-shadow:0 0 0 6px #4ade8000}to{box-shadow:0 0 #4ade8000}}@keyframes _ngcontent-%COMP%_float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.user-form-container[_ngcontent-%COMP%]{padding:20px;flex:1;display:flex;flex-direction:column;overflow-y:auto;background:#f8f9fa;transition:opacity .5s ease}.user-form-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.user-form-container[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:transparent}.user-form-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ced4da;border-radius:3px}.user-form-container.fading-out[_ngcontent-%COMP%]{opacity:0;pointer-events:none}.user-form[_ngcontent-%COMP%]{margin:auto;background:#fff;padding:20px;border-radius:16px;box-shadow:0 4px 15px #0000000d;text-align:center}.user-form[_ngcontent-%COMP%]   .form-icon[_ngcontent-%COMP%]{width:180px;height:180px;margin:-30px auto 10px;display:flex;align-items:center;justify-content:center;position:relative;z-index:5}.user-form[_ngcontent-%COMP%]   .form-icon[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15));animation:_ngcontent-%COMP%_float 3s ease-in-out infinite}@media (min-width: 769px) and (max-width: 1366px){.user-form[_ngcontent-%COMP%]   .form-icon[_ngcontent-%COMP%]{width:120px;height:120px;margin:-20px auto 10px}}.chat-window.maximized[_ngcontent-%COMP%]   .user-form[_ngcontent-%COMP%]   .form-icon[_ngcontent-%COMP%]{width:300px;height:300px;margin:-120px auto 20px}.user-form[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{color:#0a3c7d;margin-bottom:10px;font-size:18px}.user-form[_ngcontent-%COMP%]   .form-subtitle[_ngcontent-%COMP%]{color:#6c757d;font-size:13px;margin-bottom:20px}.user-form[_ngcontent-%COMP%]   .rating-stars[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.user-form[_ngcontent-%COMP%]   .rating-stars[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:28px;color:#8b5e00;cursor:pointer;transition:transform .2s}.user-form[_ngcontent-%COMP%]   .rating-stars[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]:hover{transform:scale(1.2)}.user-form[_ngcontent-%COMP%]   .form-input[_ngcontent-%COMP%]{width:100%;padding:12px 15px;margin-bottom:15px;border:1px solid #2966A3;border-radius:8px;font-size:14px;transition:all .2s}.user-form[_ngcontent-%COMP%]   .form-input[_ngcontent-%COMP%]:focus{border-color:#0a3c7d;box-shadow:0 0 0 3px #0a3c7d1a;outline:none}.user-form[_ngcontent-%COMP%]   .form-input.error[_ngcontent-%COMP%]{border-color:#dc3545;animation:_ngcontent-%COMP%_shake .5s cubic-bezier(.36,.07,.19,.97) both;box-shadow:0 0 0 3px #dc35451a}.user-form[_ngcontent-%COMP%]   .error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:12px;margin-top:-10px;margin-bottom:10px;text-align:left;padding-left:5px;display:block}@keyframes _ngcontent-%COMP%_shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.user-form[_ngcontent-%COMP%]   .submit-btn[_ngcontent-%COMP%]{width:100%;padding:12px;background:linear-gradient(135deg,#0a3c7d,#1a5ba8);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.user-form[_ngcontent-%COMP%]   .submit-btn[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0a3c7d33}.user-form[_ngcontent-%COMP%]   .submit-btn[_ngcontent-%COMP%]:disabled{opacity:.7;cursor:not-allowed}.suggestions-section[_ngcontent-%COMP%]{padding:10px 20px;background:#fff;border-bottom:1px solid #2966A3;transition:all .3s ease}.suggestions-section.collapsed[_ngcontent-%COMP%]{padding:8px 20px}.suggestions-section[_ngcontent-%COMP%]   .suggestions-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.suggestions-section[_ngcontent-%COMP%]   .suggestions-header[_ngcontent-%COMP%]   .suggestions-label[_ngcontent-%COMP%]{font-size:12px;color:#6c757d;margin:0}.suggestions-section[_ngcontent-%COMP%]   .suggestions-header[_ngcontent-%COMP%]   .suggestions-toggle-btn[_ngcontent-%COMP%]{background:#f8f9fa;border:1px solid #2966A3;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#6c757d;font-size:16px}.suggestions-section[_ngcontent-%COMP%]   .suggestions-header[_ngcontent-%COMP%]   .suggestions-toggle-btn[_ngcontent-%COMP%]:hover{background:#2966a3;color:#0a3c7d;transform:scale(1.1)}.suggestions-section.collapsed[_ngcontent-%COMP%]   .suggestions-header[_ngcontent-%COMP%]{margin-bottom:0}.suggestions-section[_ngcontent-%COMP%]   .suggestions-list[_ngcontent-%COMP%]{display:flex;gap:8px;flex-wrap:wrap;animation:_ngcontent-%COMP%_fadeSlideIn .3s ease-out}.suggestions-section[_ngcontent-%COMP%]   .suggestion-btn[_ngcontent-%COMP%]{padding:6px 12px;background:#f8f9fa;border:1px solid #2966A3;border-radius:20px;font-size:12px;color:#0a3c7d;cursor:pointer;transition:all .2s}.suggestions-section[_ngcontent-%COMP%]   .suggestion-btn[_ngcontent-%COMP%]:hover{background:#d6def5;border-color:#dee2e6}@keyframes _ngcontent-%COMP%_fadeSlideIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.sources-section[_ngcontent-%COMP%]{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.sources-label[_ngcontent-%COMP%]{font-size:12px;font-weight:600;color:#4b5563;margin:0 0 8px}.source-link[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:13px;color:#1f2937;text-decoration:none;margin-bottom:8px;word-break:break-word;background:#f3f4f6;padding:10px 12px;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s}.source-link[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#2563eb;font-size:16px}.source-link[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{font-weight:500}.source-link[_ngcontent-%COMP%]:hover{background:#e5e7eb;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d;text-decoration:none}.nested-options-section[_ngcontent-%COMP%]{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.nested-options-list[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px}.nested-option-btn[_ngcontent-%COMP%]{padding:10px 18px;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;border:none;border-radius:24px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0891b240}.nested-option-btn[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0891b259;background:linear-gradient(135deg,#0e7490,#0891b2)}.nested-option-btn[_ngcontent-%COMP%]:active{transform:translateY(0)}.metadata-section[_ngcontent-%COMP%]   .categories-list[_ngcontent-%COMP%]{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;width:100%}.metadata-section[_ngcontent-%COMP%]   .categories-list[_ngcontent-%COMP%]   .category-btn[_ngcontent-%COMP%]{padding:8px 16px;background:linear-gradient(135deg,#0a3c7d,#1a5ba8);color:#fff;border:none;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #0a3c7d33}.metadata-section[_ngcontent-%COMP%]   .categories-list[_ngcontent-%COMP%]   .category-btn[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0a3c7d4d;background:linear-gradient(135deg,#1a5ba8,#2563eb)}.feedback-buttons[_ngcontent-%COMP%]{display:flex;gap:8px;margin-top:8px}.feedback-buttons[_ngcontent-%COMP%]   .feedback-btn[_ngcontent-%COMP%]{background:none;border:none;color:#6c757d;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.feedback-buttons[_ngcontent-%COMP%]   .feedback-btn[_ngcontent-%COMP%]:hover{color:#0a3c7d;background:#0a3c7d0d}.feedback-buttons[_ngcontent-%COMP%]   .feedback-btn.active[_ngcontent-%COMP%]{color:#0a3c7d}.feedback-buttons[_ngcontent-%COMP%]   .feedback-btn[_ngcontent-%COMP%]:last-child:hover{color:#6c757d;background:#6c757d1a}.feedback-buttons[_ngcontent-%COMP%]   .feedback-btn[_ngcontent-%COMP%]:last-child.active{color:#6c757d}@media (max-width: 768px){.ai-chatbot-container[_ngcontent-%COMP%]{bottom:15px;right:15px}.chat-window[_ngcontent-%COMP%]{width:calc(100vw - 30px);max-width:450px;height:calc(100vh - 100px);max-height:700px;bottom:75px}.chat-toggle-btn[_ngcontent-%COMP%]{width:56px;height:56px;font-size:22px}}@media (max-width: 480px){.chat-window[_ngcontent-%COMP%]{width:calc(100vw - 20px);right:10px;bottom:70px}.chat-messages[_ngcontent-%COMP%]{padding:16px}.message[_ngcontent-%COMP%]{max-width:90%}}.escalation-indicator[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;border-radius:8px;font-size:13px;font-weight:500;animation:_ngcontent-%COMP%_escalationPulse 2s ease-in-out infinite;box-shadow:0 2px 8px #0596694d}.escalation-indicator[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:18px}@keyframes _ngcontent-%COMP%_escalationPulse{0%,to{box-shadow:0 2px 8px #0596694d}50%{box-shadow:0 4px 16px #05966980}}.escalation-form-container[_ngcontent-%COMP%]{padding:16px;background:#fff;border-top:1px solid #2966A3}.escalation-form[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px;animation:_ngcontent-%COMP%_formSlideIn .3s ease-out}.escalation-form[_ngcontent-%COMP%]   .escalation-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#92400e;font-weight:600;font-size:14px}.escalation-form[_ngcontent-%COMP%]   .escalation-header[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:20px}.escalation-form[_ngcontent-%COMP%]   .escalation-input[_ngcontent-%COMP%]{width:100%;padding:12px;border:1px solid #fbbf24;border-radius:8px;font-size:14px;font-family:Poppins,sans-serif;resize:none;background:#fff;transition:all .2s}.escalation-form[_ngcontent-%COMP%]   .escalation-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.escalation-form[_ngcontent-%COMP%]   .escalation-input[_ngcontent-%COMP%]::placeholder{color:#6b7280}.escalation-form[_ngcontent-%COMP%]   .escalation-actions[_ngcontent-%COMP%]{display:flex;gap:10px;margin-top:12px;justify-content:flex-end}.escalation-form[_ngcontent-%COMP%]   .escalation-cancel-btn[_ngcontent-%COMP%]{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.escalation-form[_ngcontent-%COMP%]   .escalation-cancel-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:#f3f4f6;border-color:#6b7280}.escalation-form[_ngcontent-%COMP%]   .escalation-cancel-btn[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.escalation-form[_ngcontent-%COMP%]   .escalation-submit-btn[_ngcontent-%COMP%]{padding:8px 20px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #f59e0b4d}.escalation-form[_ngcontent-%COMP%]   .escalation-submit-btn[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.escalation-form[_ngcontent-%COMP%]   .escalation-submit-btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes _ngcontent-%COMP%_formSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.ai-chatbot-container[_ngcontent-%COMP%]{bottom:80px!important;right:12px}.chat-toggle-btn[_ngcontent-%COMP%]{width:48px!important;height:48px!important;font-size:18px}.chat-toggle-btn[_ngcontent-%COMP%]   .notification-badge[_ngcontent-%COMP%]{font-size:9px;padding:3px 6px;top:-4px;right:-4px}}@media (max-width: 768px){.ai-chatbot-container[_ngcontent-%COMP%]{bottom:calc(70px + env(safe-area-inset-bottom))}}.form-input[_ngcontent-%COMP%]::placeholder{color:#13406c!important;opacity:1}']})};function pi(n,t){n&1&&g(0,"app-header")}function mi(n,t){n&1&&g(0,"app-social-sidebar")}function gi(n,t){n&1&&g(0,"app-footer")}function ui(n,t){n&1&&g(0,"app-ai-chatbot")}var je=class n{constructor(t,e,i){this.router=t;this.portalAuthService=e;this.viewportScroller=i}hideHeaderFooter=!1;portalUserRoutes=["user-dashboard","view-applied","stevedore-form","ship-chandling-form","pensioner-port","employee-profile-view","view-documents"];routerSubscription;ngOnInit(){this.checkRoute(),this.routerSubscription=this.router.events.pipe($(t=>t instanceof G)).subscribe(()=>{this.checkRoute(),this.scrollToTop()})}ngOnDestroy(){this.routerSubscription&&this.routerSubscription.unsubscribe()}scrollToTop(){setTimeout(()=>{this.viewportScroller.scrollToPosition([0,0]),window.scrollTo({top:0,left:0,behavior:"instant"}),document.documentElement&&(document.documentElement.scrollTop=0),document.body&&(document.body.scrollTop=0);let t=document.querySelector(".main-content");t&&(t.scrollTop=0)},0)}checkRoute(){let t=this.router.url,e=this.portalUserRoutes.some(c=>t.includes(c)),i=this.portalAuthService.isAuthenticated(),o=t.includes("pensioner-port")||t.includes("employee-profile-view")||t.includes("view-documents");this.hideHeaderFooter=o||e&&i}static \u0275fac=function(e){return new(e||n)(y(A),y(he),y(le))};static \u0275cmp=I({type:n,selectors:[[
1"app-website-layout"]],decls:7,vars:4,consts:[[1,"website-layout"],[4,"ngIf"],["id","main-content","tabindex","-1",1,"main-content"]],template:function(e,i){e&1&&(a(0,"div",0),w(1,pi,1,0,"app-header",1),a(2,"main",2),g(3,"router-outlet"),s(),w(4,mi,1,0,"app-social-sidebar",1)(5,gi,1,0,"app-footer",1)(6,ui,1,0,"app-ai-chatbot",1),s()),e&2&&(r(),b("ngIf",!i.hideHeaderFooter),r(3),b("ngIf",!i.hideHeaderFooter),r(),b("ngIf",!i.hideHeaderFooter),r(),b("ngIf",!i.hideHeaderFooter))},dependencies:[L,N,de,me,He,ze,Be,Ue],encapsulation:2})};var at=lt(Gt());function _i(n,t){n&1&&ot(0)}function hi(n,t){if(n&1){let e=S();a(0,"button",22),v("click",function(){p(e);let o=C().$implicit,c=C();return m(c.onMenuClick(o))})("focus",function(){p(e);let o=C().$implicit,c=C();return m(c.onMenuFocus(o))}),w(1,_i,1,0,"ng-container",23),s()}if(n&2){let e=C().$implicit,i=ve(4),o=C();k("active",o.isMenuItemActive(e))("expanded",o.isMenuExpanded(e.id)),P("title",o.sidebarState.isCollapsed?e.label:null)("aria-expanded",o.isMenuExpanded(e.id))("aria-controls","submenu-"+e.id)("aria-label",o.getMenuAriaLabel(e)),r(),b("ngTemplateOutlet",i)}}function bi(n,t){n&1&&ot(0)}function Ci(n,t){if(n&1){let e=S();a(0,"a",24),v("click",function(){p(e);let o=C().$implicit,c=C();return m(c.onMenuClick(o))}),w(1,bi,1,0,"ng-container",23),s()}if(n&2){let e=C().$implicit,i=ve(4),o=C();k("active",o.isMenuItemActive(e)),b("routerLink",e.route||null),P("title",o.sidebarState.isCollapsed?e.label:null)("aria-current",o.isMenuItemActive(e)?"page":null)("aria-label",o.getMenuAriaLabel(e)),r(),b("ngTemplateOutlet",i)}}function vi(n,t){if(n&1&&g(0,"i",30),n&2){let e=C(2).$implicit;B(e.icon)}}function Mi(n,t){n&1&&(Z(),a(0,"svg",31),g(1,"path",32),s())}function Oi(n,t){n&1&&(Z(),a(0,"svg",31),g(1,"path",33),s())}function xi(n,t){n&1&&(Z(),a(0,"svg",31),g(1,"path",34),s())}function wi(n,t){n&1&&(Z(),a(0,"svg",31),g(1,"path",35),s())}function Pi(n,t){n&1&&(Z(),a(0,"svg",31),g(1,"path",36),s())}function yi(n,t){n&1&&(Z(),a(0,"svg",31),g(1,"path",36),s())}function ki(n,t){n&1&&(Z(),a(0,"svg",31),g(1,"path",37),s())}function Si(n,t){if(n&1&&(a(0,"span",38),Z(),a(1,"svg",39),g(2,"path",40),s()()),n&2){let e=C(2).$implicit,i=C();k("expanded",i.isMenuExpanded(e.id))}}function Ei(n,t){if(n&1&&(a(0,"span",25),w(1,vi,1,3,"i",26)(2,Mi,2,0,"svg",27)(3,Oi,2,0,"svg",27)(4,xi,2,0,"svg",27)(5,wi,2,0,"svg",27)(6,Pi,2,0,"svg",27)(7,yi,2,0,"svg",27)(8,ki,2,0,"svg",27),s(),a(9,"span",28),l(10),s(),w(11,Si,3,2,"span",29)),n&2){let e=C().$implicit;r(),b("ngIf",e.icon&&e.icon.startsWith("ri-")),r(),b("ngIf",e.icon==="dashboard"),r(),b("ngIf",e.icon==="contracts"),r(),b("ngIf",e.icon==="kpi"),r(),b("ngIf",e.icon==="infractions"),r(),b("ngIf",e.icon==="invoices"),r(),b("ngIf",e.icon==="reports"),r(),b("ngIf",e.icon==="settings"),r(2),x(e.label),r(),b("ngIf",e.hasSubmenus)}}function Ti(n,t){if(n&1&&g(0,"i",30),n&2){let e=C(2).$implicit;B(e.icon)}}function Ai(n,t){if(n&1){let e=S();a(0,"a",41),v("click",function(){p(e);let o=C().$implicit,c=C();return m(c.onMenuClick(o))}),a(1,"span",25),w(2,Ti,1,3,"i",26),s(),a(3,"span",28),l(4),s()()}if(n&2){let e=C().$implicit,i=C();b("href",e.route,it),P("title",i.sidebarState.isCollapsed?e.label:null)("aria-label",i.getMenuAriaLabel(e)),r(2),b("ngIf",e.icon&&e.icon.startsWith("ri-")),r(2),x(e.label)}}function Ii(n,t){if(n&1&&g(0,"i",30),n&2){let e=C(2).$implicit;B(e.icon)}}function Di(n,t){if(n&1){let e=S();a(0,"a",46),v("click",function(){p(e);let o=C().$implicit,c=C(2).$implicit,d=C();return m(d.onSubmenuClick(o,c))})("keydown.space",function(o){p(e);let c=C().$implicit,d=C(2).$implicit;return C().onSubmenuClick(c,d),m(o.preventDefault())}),a(1,"span",47),w(2,Ii,1,3,"i",26),s(),a(3,"span",48),l(4),s()()}if(n&2){let e=C().$implicit,i=C(3);k("active",i.isMenuItemActive(e)),b("routerLink",e.route||null),P("aria-current",i.isMenuItemActive(e)?"page":null),r(2),b("ngIf",e.icon&&e.icon.startsWith("ri-")),r(2),x(e.label)}}function Li(n,t){if(n&1&&g(0,"i",30),n&2){let e=C(2).$implicit;B(e.icon)}}function Ri(n,t){if(n&1){let e=S();a(0,"a",41),v("click",function(){p(e);let o=C(3).$implicit,c=C();return m(c.onMenuClick(o))}),a(1,"span",47),w(2,Li,1,3,"i",26),s(),a(3,"span",48),l(4),s()()}if(n&2){let e=C().$implicit,i=C(2).$implicit,o=C();b("href",i.route,it),P("title",o.sidebarState.isCollapsed?i.label:null)("aria-label",i.label+" (opens in new tab)"),r(2),b("ngIf",e.icon&&e.icon.startsWith("ri-")),r(2),x(e.label)}}function Ni(n,t){if(n&1&&(a(0,"li",44),w(1,Di,5,6,"a",45)(2,Ri,5,5,"a",20),s()),n&2){let e=t.$implicit,i=C(2).$implicit;r(),b("ngIf",!e.external),r(),b("ngIf",i.external)}}function Vi(n,t){if(n&1&&(a(0,"ul",42),w(1,Ni,3,2,"li",43),s()),n&2){let e=C().$implicit,i=C();k("expanded",i.isMenuExpanded(e.id)),b("id","submenu-"+e.id),P("aria-label",i.getSubmenuAriaLabel(e))("inert",i.isMenuExpanded(e.id)?null:"")("aria-hidden",i.isMenuExpanded(e.id)?null:"true"),r(),b("ngForOf",e.submenus)}}function Fi(n,t){if(n&1&&(a(0,"li",17),w(1,hi,2,9,"button",18)(2,Ci,2,7,"a",19)(3,Ei,12,10,"ng-template",null,0,Ie)(
15,Ai,5,5,"a",20)(6,Vi,2,7,"ul",21),s()),n&2){let e=t.$implicit;k("has-submenu",e.hasSubmenus),r(),b("ngIf",!e.external&&e.hasSubmenus),r(),b("ngIf",!e.external&&!e.hasSubmenus),r(3),b("ngIf",e.external),r(),b("ngIf",e.hasSubmenus&&e.submenus)}}function Hi(n,t){if(n&1&&(a(0,"div",49)(1,"div",50),l(2),s(),a(3,"div",51),l(4),s()()),n&2){let e=C();r(),b("title",e.getUserDisplayName()),r(),x(e.getUserDisplayName()),r(2),x(e.getUserRole())}}function zi(n,t){n&1&&g(0,"div",52)}var We=class n{constructor(t,e,i){this.sidebarService=t;this.authService=e;this.router=i}menuItems=[];sidebarState={isCollapsed:!1,activeMenuItem:"dashboard",expandedMenus:[]};sidebarConfig=null;currentUser=null;subscriptions=[];ngOnInit(){this.loadUserData(),this.loadSidebarData(),this.setupSidebarConfig(),this.initializeActiveState()}ngOnDestroy(){this.subscriptions.forEach(t=>t.unsubscribe())}loadUserData(){this.currentUser=this.authService.getCurrentUser(),this.sidebarService.refreshMenuVisibility()}loadSidebarData(){let t=this.sidebarService.getMenuItems().subscribe(o=>{this.menuItems=o}),e=this.sidebarService.getSidebarState().subscribe(o=>{this.sidebarState=o}),i=this.sidebarService.getSidebarConfig().subscribe(o=>{this.sidebarConfig=o});this.subscriptions.push(t,e,i)}setupSidebarConfig(){if(this.currentUser){let t={logo:{src:"assets/images/logo/vocLogo.jpg",alt:"
1VOC Logo",title:"VOC Contract Management System"},user:{name:this.currentUser.fullName||this.currentUser.username,role:this.currentUser.role,avatar:this.getUserInitials()},menuItems:this.menuItems};this.sidebarService.setSidebarConfig(t)}}initializeActiveState(){setTimeout(()=>{let t=this.router.url;this.sidebarService.updateActiveMenuItemFromRoute(t)},100)}onMenuFocus(t){t.hasSubmenus&&t.submenus&&!this.isMenuExpanded(t.id)&&(this.sidebarService.closeAllSubmenus(),this.sidebarService.toggleMenuExpansion(t.id))}onMenuClick(t){if(t.external&&t.route){window.open(t.route,"_blank");return}if(t.hasSubmenus&&t.submenus){let e=this.isMenuExpanded(t.id);this.sidebarService.closeAllSubmenus(),e||(this.sidebarService.toggleMenuExpansion(t.id),setTimeout(()=>{if(this.isMenuExpanded(t.id)){let i=document.getElementById("submenu-"+t.id);i&&i.querySelector("a")?.focus()}},350));return}this.sidebarService.closeAllSubmenus(),this.sidebarService.setActiveMenuItem(t.id),t.route?this.router.navigate([t.route]):at.default.fire({title:"Coming Soon",text:`${t.label} module is under development!`,icon:"info",timer:2e3,showConfirmButton:!1})}onSubmenuClick(t,e){if(t.external&&t.route){window.open(t.route,"_blank");return}this.sidebarService.setActiveMenuItem(t.id),t.route?this.router.navigate([t.route]):at.default.fire({title:"Coming Soon",text:`${t.label} module is under development!`,icon:"info",timer:2e3,showConfirmButton:!1})}onToggleSidebar(){this.sidebarService.toggleSidebar()}isMenuExpanded(t){return this.sidebarService.isMenuExpanded(t)}isMenuItemActive(t){return this.sidebarState.activeMenuItem===t.id?!0:t.hasSubmenus&&t.submenus?t.submenus.some(e=>this.sidebarState.activeMenuItem===e.id):!1}getUserDisplayName(){return this.currentUser?.fullName||this.currentUser?.username||"User"}getUserRole(){return this.currentUser?.role||"User"}getUserInitials(){return this.getUserDisplayName().split(" ").map(e=>e[0]).join("").toUpperCase().substring(0,2)}getMenuAriaLabel(t){return t.hasSubmenus&&t.submenus&&t.submenus.length>0?`${t.label}, submenu group, ${t.submenus.length} items`:t.label}getSubmenuAriaLabel(t){let e=t.submenus?t.submenus.length:0;return`${t.label} submenu, ${e} items`}getSubmenuIcon(t){return{document:"\u{1F4C4}",plus:"\u2795",refresh:"\u{1F504}",close:"\u274C",list:"\u{1F4CB}",report:"\u{1F4CA}",money:"\u{1F4B0}",file:"\u{1F4C1}",history:"\u{1F552}",payment:"\u{1F4B3}",chart:"\u{1F4C8}",operations:"\u2699\uFE0F",custom:"\u{1F3A8}",users:"\u{1F465}",config:"\u2699\uFE0F",bell:"\u{1F514}",backup:"\u{1F4BE}"}[t]||"\u{1F4C4}"}static \u0275fac=function(e){return new(e||n)(y(Ve),y(z),y(A))};static \u0275cmp=I({type:n,selectors:[["app-dynamic-sidebar"]],decls:18,vars:6,consts:[["internalMenuInner",""],[1,"dynamic-sidebar"],[1,"sidebar-header",2,"display","none"],[1,"logo-section"],[1,"logo-container"],[1,"logo-circle"],["src","assets/images/logo/vocLogonoBg.png","alt","VOC Logo",1,"logo-image"],["aria-label","Sidebar navigation",1,"sidebar-nav"],[1,"nav-list"],["class","nav-item",3,"has-submenu",4,"ngFor","ngForOf"],[1,"sidebar-footer"],[1,"footer-content"],[1,"user-card"],[1,"avatar"],["title","Online",1,"status-dot"],["class","details",4,"ngIf"],["class","actions",4,"ngIf"],[1,"nav-item"],["type","button","class","nav-link","aria-haspopup","true",3,"active","expanded","click","focus",4,"ngIf"],["class","nav-link",3,"routerLink","active","click",4,"ngIf"],["target","_blank","rel","noopener noreferrer","class","nav-link","appNewTabAccessibility","",3,"href","click",4,"ngIf"],["class","submenu","role","group",3,"expanded","id",4,"ngIf"],["type","button","aria-haspopup","true",1,"nav-link",3,"click","focus"],[4,"ngTemplateOutlet"],[1,"nav-link",3,"click","routerLink"],[1,"nav-icon"],["aria-hidden","true",3,"class",4,"ngIf"],["viewBox","0 0 24 24","aria-hidden","true","focusable","false",4,"ngIf"],[1,"nav-label"],["class","nav-arrow","aria-hidden","true",3,"expanded",4,"ngIf"],["aria-hidden","true"],["viewBox","0 0 24 24","aria-hidden","true","focusable","false"],["d","M3 13H11V3H3V13ZM3 21H11V15H3V21ZM13 21H21V11H13V21ZM13 3V9H21V3H13Z","fill","currentColor"],["d","M14 2H6C4.9...","stroke","currentColor"],["d","M3 3V21H21"],["d","M12 9V13"],["d","M14 2H6C4.9..."],["d","M12 15C13.65..."],["aria-hidden","true",1,"nav-arrow"],["viewBox","0 0 24 24"],["d","M9 18L15 12L9 6","stroke","currentColor"],["target","_blank","rel","noopener noreferrer","appNewTabAccessibility","",1,"nav-link",3,"click","href"],["role","group",1,"submenu",3,"id"],["class","submenu-item",4,"ngFor","ngForOf"],[1,"submenu-item"],["class","submenu-link",3,"routerLink","active","click","keydown.space",4,"ngIf"],[1,"submenu-link",3,"click","keydown.space","routerLink"],[1,"submenu-icon"],[1,"submenu-label"],[1,"details"],[1,"name",3,"title"],[1,"role"],[1,"actions"]],template:function(e,i){e&1&&(a(0,"div",1)(1,"div",2)(2,"div",3)(3,"div",4)(4,"div",5),g(5,"img",6),s()()()(),a(6,"n
1av",7)(7,"ul",8),w(8,Fi,7,6,"li",9),s()(),a(9,"div",10)(10,"div",11)(11,"div",12)(12,"div",13)(13,"span"),l(14),s(),g(15,"span",14),s(),w(16,Hi,5,3,"div",15)(17,zi,1,0,"div",16),s()()()()),e&2&&(k("collapsed",i.sidebarState.isCollapsed),r(8),b("ngForOf",i.menuItems),r(6),x(i.getUserInitials()),r(2),b("ngIf",!i.sidebarState.isCollapsed),r(),b("ngIf",!i.sidebarState.isCollapsed))},dependencies:[L,ce,N,At,pe,fe,Y,Ne],styles:['.dynamic-sidebar[_ngcontent-%COMP%]{width:280px;height:100vh;background:#fff;color:#0f172a;position:fixed;left:0;top:0;z-index:1000;transition:width .3s ease,box-shadow .3s ease;overflow-x:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px #0206170f}.dynamic-sidebar[_ngcontent-%COMP%]:after{content:"";position:absolute;top:0;right:-1px;width:1px;height:100%;background:linear-gradient(180deg,#3b82f640,#6366f126 50%,#3b82f640)}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]{width:70px}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .logo-text[_ngcontent-%COMP%]{display:none}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .nav-label[_ngcontent-%COMP%]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .nav-arrow[_ngcontent-%COMP%]{display:none}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]{display:none!important}.sidebar-header[_ngcontent-%COMP%]{padding:10px;border-bottom:1px solid #b0b8c4;flex-shrink:0}.sidebar-header[_ngcontent-%COMP%]   .logo-section[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.sidebar-header[_ngcontent-%COMP%]   .logo-section[_ngcontent-%COMP%]   .logo-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px}.sidebar-header[_ngcontent-%COMP%]   .logo-section[_ngcontent-%COMP%]   .logo-container[_ngcontent-%COMP%]   .logo-circle[_ngcontent-%COMP%]{width:90px;height:70px;background:#fff;border:1px solid #b0b8c4;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0000000d;transition:all .3s ease}.sidebar-header[_ngcontent-%COMP%]   .logo-section[_ngcontent-%COMP%]   .logo-container[_ngcontent-%COMP%]   .logo-circle[_ngcontent-%COMP%]:hover{transform:scale(1.05);box-shadow:0 6px 16px #667eea66}.sidebar-header[_ngcontent-%COMP%]   .logo-section[_ngcontent-%COMP%]   .logo-container[_ngcontent-%COMP%]   .logo-circle[_ngcontent-%COMP%]   .logo-image[_ngcontent-%COMP%]{width:auto;height:38px;object-fit:contain}.sidebar-header[_ngcontent-%COMP%]   .logo-section[_ngcontent-%COMP%]   .logo-container[_ngcontent-%COMP%]   .logo-text[_ngcontent-%COMP%]{color:#111827;font-size:14px;font-weight:600;text-align:center;line-height:1.2;transition:all .3s ease}.sidebar-nav[_ngcontent-%COMP%]{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 0}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin-bottom:4px}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]{display:flex;align-items:center;padding:12px 20px;color:#374151;text-decoration:none;transition:all .3s ease;position:relative;border-radius:10px;border:none;background:none;width:100%;text-align:left;font-family:inherit;font-size:inherit;cursor:pointer}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:hover{background:#f8fafc;color:#111827;box-shadow:0 6px 20px #0206170d}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]:focus-visible{outline:2px solid #1d4ed8;outline-offset:-2px;background:#f0f4ff;box-shadow:0 0 0 3px #1d4ed826}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]{background:#e0ecff;color:#1d4ed8}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link.active[_ngcontent-%COMP%]:before{content:"";position:absolute;
1left:10px;top:0;bottom:0;width:3px;background:#1d4ed8}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]   .nav-icon[_ngcontent-%COMP%]{width:20px;height:20px;margin-right:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:background .2s ease}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]   .nav-icon[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{width:100%;height:100%}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]   .nav-icon[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:20px;line-height:1}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]   .nav-label[_ngcontent-%COMP%]{flex:1;font-size:14px;font-weight:600;min-width:0;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.3}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]   .nav-arrow[_ngcontent-%COMP%]{width:16px;height:16px;transition:transform .3s ease}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]   .nav-arrow.expanded[_ngcontent-%COMP%]{transform:rotate(90deg)}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .nav-link[_ngcontent-%COMP%]   .nav-arrow[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{width:100%;height:100%}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]{background:#f9fafb;max-height:0;overflow:hidden;transition:max-height .3s ease;list-style:none;margin:0;padding:0;border-left:2px dashed #b0b8c4}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu.expanded[_ngcontent-%COMP%]{max-height:60vh;overflow-y:auto;overflow-x:hidden}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu.expanded[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu.expanded[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#edf2f7;border-radius:2px}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu.expanded[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#93c5fd;border-radius:2px}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu.expanded[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#60a5fa}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]{list-style:none}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]   .submenu-link[_ngcontent-%COMP%]{display:flex;align-items:center;padding:10px 20px 10px 52px;color:#4b5563;text-decoration:none;font-size:13px;transition:all .3s ease;min-width:0}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]   .submenu-link[_ngcontent-%COMP%]:focus-visible{outline:2px solid #1d4ed8;outline-offset:-2px;background:#eef2ff;box-shadow:0 0 0 3px #1d4ed826}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]   .submenu-link[_ngcontent-%COMP%]:hover{background:#eef2ff;color:#1e3a8a;transform:translate(2px)}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]   .submenu-link.active[_ngcontent-%COMP%]{background:#e0ecff;color:#1d4ed8}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]   .submenu-link[_ngcontent-%COMP%]   .submenu-icon[_ngcontent-%COMP%]{margin-right:8px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]   .submenu-link[_ngcontent-%COMP%]   .submenu-icon[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{width:100%;height:100%}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]   .submenu-link[_ngcontent-%COMP%]   .submenu-icon[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:16px;line-height:1}.sidebar-nav[_ngcontent-%COMP%]   .nav-list[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]   .submenu-item[_ngcontent-%COMP%]   .submenu-link[_ngcontent-%COMP%]   .submenu-label[_ngcontent-%COMP%]{flex:1;min-width:0;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.3}@media (max-width: 768px){.dynamic-sidebar[_ngcontent-%COMP%]{width:100%;height:auto;min-height:100vh;position:relative;transform:none;transition:none;z-index:1000;overflow-x:hidden}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]{width:100%;transform:none}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .logo-text[_ngcontent-%COMP%]{display:block}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .nav-label[_ngcontent-%COMP%]{position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:none!important;display:inline!important}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .nav-arrow[_ngcontent-%COMP%]{display:inline-flex}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .submenu[_ngcontent-%COMP%]{display:block!important}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .submenu-link[_ngcontent-%COMP%]{padding-left:52px}.dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .details[_ngcontent-%COMP%], .dynamic-sidebar.collapsed[_ngcontent-%COMP%]   .actions[_ngcontent-%COMP%]{display:flex!important}.dynamic-sidebar[_ngcontent-%COMP%]   .sidebar-nav[_ngcontent-%COMP%]{flex:1;overflow-y:auto;max-height:calc(100vh - 200px)}.dynamic-sidebar[_ngcontent-%COMP%]   .sidebar-footer[_ngcontent-%COMP%]{flex-shrink:0}}.dynamic-sidebar[_ngcontent-%COMP%]::-webkit-scrollbar{width:4px}.dynamic-sidebar[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#edf2f7}.dynamic-sidebar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.dynamic-sidebar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar-footer[_ngcontent-%COMP%]{flex-shrink:0;padding:10px;border-top:1px solid #b0b8c4;background:#fff;margin-top:auto}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 6px 18px #0206170d}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]   .avatar[_ng
1content-%COMP%]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.5px;position:relative;flex-shrink:0}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]   .avatar[_ngcontent-%COMP%]   .status-dot[_ngcontent-%COMP%]{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;background:#22c55e;border:2px solid #fff;border-radius:50%}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]   .details[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]   .details[_ngcontent-%COMP%]   .name[_ngcontent-%COMP%]{font-size:.9rem;font-weight:700;color:#0f172a;white-space:normal;word-break:break-word}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]   .details[_ngcontent-%COMP%]   .role[_ngcontent-%COMP%]{font-size:.75rem;color:#64748b;text-transform:capitalize}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]   .actions[_ngcontent-%COMP%]{margin-left:auto;display:flex;gap:8px}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]   .actions[_ngcontent-%COMP%]   .action-btn[_ngcontent-%COMP%]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #b0b8c4;background:#fff;color:#334155;cursor:pointer;transition:all .2s ease}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .user-card[_ngcontent-%COMP%]   .actions[_ngcontent-%COMP%]   .action-btn[_ngcontent-%COMP%]:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;box-shadow:0 4px 10px #3b82f626}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .collapse-btn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;justify-content:center;width:100%;border:1px dashed #cbd5e1;background:#fff;color:#334155;border-radius:10px;padding:8px 10px;cursor:pointer;transition:all .2s ease}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .collapse-btn[_ngcontent-%COMP%]:hover{background:#f8fafc;border-color:#93c5fd;color:#1d4ed8}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .footer-meta[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:8px;color:#64748b;font-size:.75rem}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .footer-meta[_ngcontent-%COMP%]   .version[_ngcontent-%COMP%]{font-weight:700}.sidebar-footer[_ngcontent-%COMP%]   .footer-content[_ngcontent-%COMP%]   .footer-meta[_ngcontent-%COMP%]   .dot[_ngcontent-%COMP%]{opacity:.5}']})};var $e=class n{constructor(t,e){this.api=t;this.authService=e;this.loadNotifications(),this.refreshInterval=setInterval(()=>this.loadNotifications(),1e4)}notificationsSubject=new tt([]);notifications$=this.notificationsSubject.asObservable();unreadCountSubject=new tt(0);unreadCount$=this.unreadCountSubject.asObservable();refreshInterval;loadNotifications(){let t=this.authService.getCurrentUser();if(!t){this.notificationsSubject.next([]),this.unreadCountSubject.next(0);return}let e=(t.role||"").toLowerCase().trim();e==="super admin"||e==="super_admin"?this.loadSuperAdminNotifications([]):e==="admin"?this.loadAdminNotifications([]):e==="user"?this.loadUserNotifications([]):e==="super admin"||e==="super_admin"||e==="admin"?this.loadActivityNotifications([]):(this.notificationsSubject.next([]),this.unreadCountSubject.next(0))}loadActivityNotifications(t){this.api.getRecentActivities(24,30).subscribe({next:e=>{if(e?.statusCode===200&&Array.isArray(e?.data)){let i=e.data.map(d=>{let O={create:"content_create",update:"content_update",approve:"content_approve",unpublish:"content_unpublish"},E={create:"New Content Created",update:"Content Updated",approve:"Content Approved",unpublish:"Content Unpublished"},T=d.type,H=d.moduleLabel||d.module||"Content",V=d.itemTitle||`Item #${d.itemId}`,ee=d.createdByName||"Unknown User";return{id:d.id,type:O[T]||"content_create",title:E[T]||"Content Activity",message:`${ee} ${T==="create"?"created":T==="update"?"updated":T==="approve"?"approved":"unpublished"} ${H}: "${V}"`,module:d.module,moduleLabel:d.moduleLabel,itemId:d.itemId,itemTitle:d.itemTitle,createdBy:d.createdBy,createdByName:d.createdByName,createdAt:d.createdAt,isRead:!1,actionUrl:d.actionUrl}}),o=[...t,...i];o.sort((d,O)=>new Date(O.createdAt).getTime()-new Date(d.createdAt).getTime());let c=o.slice(0,50);this.notificationsSubject.next(c),this.updateUnreadCount(c)}},error:e=>{console.error("Failed to load activity notifications:",e),t.length>0&&(this.notificationsSubject.next(t),this.updateUnreadCount(t))}})}loadSuperAdminNotifications(t){this.api.getAllSiteUsers().subscribe({next:e=>{let i=e?.data?.data||e?.data||[],o=[...t],c=new Date,d=new Date(c.getTime()-24*60*60*1e3);
1i.forEach(O=>{let E=new Date(O.createdAt),T=O.updatedAt?new Date(O.updatedAt):E,H=E>=d,V=T>=d&&T.getTime()!==E.getTime();H&&o.push({id:O.id,type:"user_creation",title:"New User Created",message:`User "${O.fullName||O.username}" (${O.email}) has been created.`,userId:O.id,userName:O.fullName||O.username,createdAt:O.createdAt,isRead:!1,actionUrl:"/admin/settings/site-user"}),O.publish&&V&&T>E&&o.push({id:O.id+1e4,type:"user_approval",title:"User Approved",message:`User "${O.fullName||O.username}" has been approved and activated.`,userId:O.id,userName:O.fullName||O.username,approvedBy:O.updatedBy||O.approvedBy||"System Admin",approvedDate:O.updatedAt,status:"approved",createdAt:O.updatedAt,isRead:!1,actionUrl:"/admin/settings/site-user"})}),o.sort((O,E)=>new Date(E.createdAt).getTime()-new Date(O.createdAt).getTime()),this.loadActivityNotifications(o)},error:e=>{console.error("Failed to load super admin notifications:",e),this.loadActivityNotifications([])}})}loadAdminNotifications(t){this.api.getAllSiteUsers().subscribe({next:e=>{let i=e?.data?.data||e?.data||[],o=[...t];i.filter(d=>!d.publish).forEach(d=>{o.push({id:d.id,type:"pending_approval",title:"Pending User Approval",message:`User "${d.fullName||d.username}" (${d.email}) is waiting for your approval.`,userId:d.id,userName:d.fullName||d.username,status:"pending",createdAt:d.createdAt||new Date().toISOString(),isRead:!1,actionUrl:"/admin/settings/site-user"})}),o.sort((d,O)=>new Date(O.createdAt).getTime()-new Date(d.createdAt).getTime()),o.sort((d,O)=>new Date(O.createdAt).getTime()-new Date(d.createdAt).getTime()),this.loadActivityNotifications(o)},error:e=>{console.error("Failed to load admin notifications:",e),this.loadActivityNotifications([])}})}loadUserNotifications(t){let e=this.authService.getCurrentUser();if(!e){this.notificationsSubject.next([]),this.unreadCountSubject.next(0);return}this.api.getSiteUserById(e.id).subscribe({next:i=>{let o=i?.data||i,c=[];if(o){let E=o.updatedAt?new Date(o.updatedAt):null,T=o.createdAt?new Date(o.createdAt):null,H=new Date,V=new Date(H.getTime()-24*60*60*1e3);E&&T&&E>=V&&E.getTime()!==T.getTime()&&E&&T?o.publish?c.push({id:o.id,type:"approval_status",title:"Account Approved",message:"Your account has been approved. You can now access all features of the system.",status:"approved",createdAt:o.updatedAt,isRead:!1}):!o.publish&&E>T&&c.push({id:o.id,type:"approval_status",title:"Account Status Changed",message:"Your account status has been updated. Please contact administrator for more information.",status:"rejected",createdAt:o.updatedAt,isRead:!1}):!o.publish&&T&&T>=V&&c.push({id:o.id,type:"approval_status",title:"Account Pending Approval",message:"Your account is pending approval. You will be notified once it's reviewed.",status:"pending",createdAt:o.createdAt,isRead:!1})}let d=[...t,...c];d.sort((E,T)=>new Date(T.createdAt).getTime()-new Date(E.createdAt).getTime());let O=d.slice(0,50);this.notificationsSubject.next(O),this.updateUnreadCount(O)},error:i=>{console.error("Failed to load user notifications:",i),this.notificationsSubject.next([]),this.unreadCountSubject.next(0)}})}updateUnreadCount(t){let e=t.filter(i=>!i.isRead).length;this.unreadCountSubject.next(e)}markAsRead(t){let i=this.notificationsSubject.value.map(o=>o.id===t?ne(te({},o),{isRead:!0}):o);this.notificationsSubject.next(i),this.updateUnreadCount(i)}markAllAsRead(){let e=this.notificationsSubject.value.map(i=>ne(te({},i),{isRead:!0}));this.notificationsSubject.next(e),this.unreadCountSubject.next(0)}getNotifications(){return this.notificationsSubject.value}getUnreadCount(){return this.unreadCountSubject.value}static \u0275fac=function(e){return new(e||n)(D(en),D(z))};static \u0275prov=F({token:n,factory:n.\u0275fac,providedIn:"root"})};function Ui(n,t){if(n&1&&(a(0,"span",5),l(1),s()),n&2){let e=C();r(),x(e.unreadCount>99?"99+":e.unreadCount)}}function ji(n,t){if(n&1){let e=S();a(0,"button",15),v("click",function(o){p(e);let c=C(2);return m(c.markAllAsRead(o))}),g(1,"i",16),l(2," Mark all read "),s()}}function Wi(n,t){if(n&1&&(a(0,"span",30),g(1,"i",31),l(2),s()),n&2){let e=C(2).$implicit;r(2),M(" Approved by: ",e.approvedBy," ")}}function $i(n,t){if(n&1&&(a(0,"span",32),g(1,"i",33),l(2),s()),n&2){let e=C(2).$implicit,i=C(2);r(2),M(" ",i.formatDate(e.approvedDate)," ")}}function Gi(n,t){if(n&1&&(a(0,"div",27),w(1,Wi,3,1,"span",28)(2,$i,3,1,"span",29),s()),n&2){let e=C().$implicit;r(),b("ngIf",e.approvedBy),r(),b("ngIf",e.approvedDate)}}function Yi(n,t){n&1&&(a(0,"div",34),g(1,"span",35),s())}function qi(n,t){if(n&1){let e=S();a(0,"div",17),v("click",function(o){let c=p(e).$implicit,d=C(2);return m(d.onNotificationClick(c,o))})("keydown.enter",function(o){let c=p(e).$implicit,d=C(2);return m(d.onNotificationClick(c,o))})("keydown.space",function(o){let c=p(e).$implicit;return C(2).onNotificationClick(c,o),m(o.preventDefault())}),a(1,"div",18),g(2,"i",19),s(),a(3,"div",20)(4,"div",21),l(5),s(),a(6,"div",22),l(7),s(),w(8,Gi,3,2,"div",23),a(9,"div",24),g(10,"i",25),l(11),s()(),w(12,Yi,2,0,"div",26),s()}if(n&2){let e=t.$implicit,i=C(2);B("notification-"+i.getNotificationColor(e.type,e.status)),k("unread",!e.isRead),r(2),B(i.getNotificationIcon(e.type)),r(3),x(e.title),r(2),x(e.message),r(),b("ngIf",e.approvedBy||e.approvedDate),r(3),M(" ",i.formatDate(e.createdAt)," "),r(),b("ngIf",!e.isRead)}}function Ki(n,t){n&1&&(a(0,"div",36),g(1,"i",37),a(2,"p"),l(3,"No notifications"),s()())}function Zi(n,t){if(n&1){let e=S();a(0,"div",38)(1,"a",39),v("click",function(o){p(e);let c=C(2);return o.preventDefault(),m(c.isOpen=!1)}),l(2," View all notifications "),s()()}}function Qi(n,t){if(n&1&&(a(0,"div",6)(1,"div",7)(2,"h6",8),g(3,"i",9),l(4," Notifications "),s(),w(5,ji,3,0,"button",10),s(),a(6,"div",11),w(7,qi,13,11,"div",12)(8,Ki,4,0,"div",13),s(),w(9,Zi,3,0,"div",14),s()),n&2){let e=C();k("show",e.isOpen),r(5),b("ngIf",e.unreadCount>0),r(2),b("ngForOf",e.notifications),r(),b("ngIf",e.notifications.length===0),r(),b("ngIf",e.notifications.length>0)}}var Ge=class n{constructor(t,e){this.notificationService=t;this.router=e}notifications=[];unreadCount=0;isOpen=!1;subscriptions=[];
1ngOnInit(){let t=this.notificationService.notifications$.subscribe(i=>{this.notifications=i}),e=this.notificationService.unreadCount$.subscribe(i=>{this.unreadCount=i});this.subscriptions.push(t,e)}ngOnDestroy(){this.subscriptions.forEach(t=>t.unsubscribe())}onDocumentClick(t){t.target.closest(".notification-container")||(this.isOpen=!1)}toggleDropdown(t){t.stopPropagation(),this.isOpen=!this.isOpen}onNotificationClick(t,e){e.stopPropagation(),t.isRead||this.notificationService.markAsRead(t.id),t.actionUrl&&(this.router.navigate([t.actionUrl]),this.isOpen=!1)}markAllAsRead(t){t.stopPropagation(),this.notificationService.markAllAsRead()}getNotificationIcon(t){switch(t){case"user_creation":return"ri-user-add-line";case"user_approval":return"ri-checkbox-circle-line";case"pending_approval":return"ri-time-line";case"approval_status":return"ri-information-line";case"content_create":return"ri-add-circle-line";case"content_update":return"ri-edit-line";case"content_approve":return"ri-checkbox-circle-line";case"content_unpublish":return"ri-close-circle-line";default:return"ri-notification-line"}}getNotificationColor(t,e){return e==="rejected"?"error":e==="approved"||t==="content_approve"||t==="user_approval"?"success":t==="pending_approval"?"warning":t==="content_create"||t==="content_update"?"info":t==="content_unpublish"?"warning":"info"}formatDate(t){let e=new Date(t),i=new Date,o=i.getTime()-e.getTime(),c=Math.floor(o/6e4),d=Math.floor(o/36e5),O=Math.floor(o/864e5);return c<1?"Just now":c<60?`${c} min ago`:d<24?`${d} hour${d>1?"s":""} ago`:O<7?`${O} day${O>1?"s":""} ago`:e.toLocaleDateString("en-US",{month:"short",day:"numeric",year:e.getFullYear()!==i.getFullYear()?"numeric":void 0})}static \u0275fac=function(e){return new(e||n)(y($e),y(A))};static \u0275cmp=I({type:n,selectors:[["app-notification"]],hostBindings:function(e,i){e&1&&v("click",function(c){return i.onDocumentClick(c)},!1,ge)},decls:5,vars:4,consts:[[1,"notification-container",3,"click"],[1,"notification-bell",3,"click"],["aria-hidden","true",1,"ri-notification-3-line"],["class","notification-badge",4,"ngIf"],["class","notification-dropdown",3,"show",4,"ngIf"],[1,"notification-badge"],[1,"notification-dropdown"],[1,"n
1otification-header"],[1,"notification-title"],["aria-hidden","true",1,"ri-notification-line"],["class","mark-all-read-btn","title","Mark all as read",3,"click",4,"ngIf"],[1,"notification-list"],["class","notification-item","tabindex","0","role","button",3,"unread","class","click","keydown.enter","keydown.space",4,"ngFor","ngForOf"],["class","notification-empty",4,"ngIf"],["class","notification-footer",4,"ngIf"],["title","Mark all as read",1,"mark-all-read-btn",3,"click"],["aria-hidden","true",1,"ri-check-double-line"],["tabindex","0","role","button",1,"notification-item",3,"click","keydown.enter","keydown.space"],[1,"notification-icon-wrapper"],["aria-hidden","true"],[1,"notification-content"],[1,"notification-title-text"],[1,"notification-message"],["class","notification-meta",4,"ngIf"],[1,"notification-time"],["aria-hidden","true",1,"ri-time-line"],["class","notification-indicator",4,"ngIf"],[1,"notification-meta"],["class","approved-by",4,"ngIf"],["class","approved-date",4,"ngIf"],[1,"approved-by"],["aria-hidden","true",1,"ri-user-line"],[1,"approved-date"],["aria-hidden","true",1,"ri-calendar-line"],[1,"notification-indicator"],[1,"unread-dot"],[1,"notification-empty"],["aria-hidden","true",1,"ri-notification-off-line"],[1,"notification-footer"],["href","#","aria-label","View all notifications in full list",1,"view-all-link",3,"click"]],template:function(e,i){e&1&&(a(0,"div",0),v("click",function(c){return c.stopPropagation()}),a(1,"button",1),v("click",function(c){return i.toggleDropdown(c)}),g(2,"i",2),w(3,Ui,2,1,"span",3),s(),w(4,Qi,10,6,"div",4),s()),e&2&&(r(),P("aria-expanded",i.isOpen)("aria-label","Notifications"+(i.unreadCount>0?" ("+i.unreadCount+" unread)":"")),r(2),b("ngIf",i.unreadCount>0),r(),b("ngIf",i.isOpen))},dependencies:[L,ce,N],styles:[".notification-container[_ngcontent-%COMP%]{position:relative;display:inline-block}.notification-bell[_ngcontent-%COMP%]{position:relative;background:none;border:none;padding:.5rem;border-radius:8px;color:#2947a3;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.notification-bell[_ngcontent-%COMP%]:hover{background:#d6def5;color:#0b1941}.notification-bell[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1.5rem}.notification-bell[_ngcontent-%COMP%]   .notification-badge[_ngcontent-%COMP%]{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;padding:0 4px;border:2px solid #ffffff;box-shadow:0 2px 4px #0000001a}.notification-dropdown[_ngcontent-%COMP%]{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #d6def5;border-radius:12px;box-shadow:0 10px 25px #0b194126;width:380px;max-width:calc(100vw - 2rem);max-height:500px;z-index:2000;display:none;flex-direction:column;overflow-y:auto;animation:_ngcontent-%COMP%_dropdownFadeIn .2s ease-out}.notification-dropdown.show[_ngcontent-%COMP%]{display:flex}@keyframes _ngcontent-%COMP%_dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-dropdown[_ngcontent-%COMP%]   .notification-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #d6def5;background:linear-gradient(135deg,#d6def5,#fff)}.notification-dropdown[_ngcontent-%COMP%]   .notification-header[_ngcontent-%COMP%]   .notification-title[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:600;color:#0b1941;display:flex;align-items:center;gap:.5rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-header[_ngcontent-%COMP%]   .notification-title[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{color:#2947a3;font-size:1.125rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-header[_ngcontent-%COMP%]   .mark-all-read-btn[_ngcontent-%COMP%]{background:none;border:none;color:#2947a3;font-size:.875rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;display:flex;align-items:center;gap:.25rem;transition:all .2s ease}.notification-dropdown[_ngcontent-%COMP%]   .notification-header[_ngcontent-%COMP%]   .mark-all-read-btn[_ngcontent-%COMP%]:hover{background:#d6def5;color:#0b1941}.notification-dropdown[_ngcontent-%COMP%]   .notification-header[_ngcontent-%COMP%]   .mark-all-read-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.875rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]{flex:1;overflow-y:auto;max-height:400px}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#f3f4f6}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#708bdb;border-radius:3px}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#2947a3}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6;
1cursor:pointer;transition:all .2s ease;position:relative}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]:hover{background:#f9fafb}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item.unread[_ngcontent-%COMP%]{background:#3b82f60d;border-left:3px solid #3b82f6}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item.unread[_ngcontent-%COMP%]:hover{background:#3b82f61a}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item.notification-success[_ngcontent-%COMP%]{border-left-color:#10b981}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item.notification-warning[_ngcontent-%COMP%]{border-left-color:#f59e0b}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item.notification-error[_ngcontent-%COMP%]{border-left-color:#ef4444}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item.notification-info[_ngcontent-%COMP%]{border-left-color:#3b82f6}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-icon-wrapper[_ngcontent-%COMP%]{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d6def5;color:#2947a3}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-icon-wrapper[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1.25rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]{flex:1;min-width:0}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-title-text[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;color:#0b1941;margin-bottom:.25rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-message[_ngcontent-%COMP%]{font-size:.8125rem;color:#4b5563;line-height:1.4;margin-bottom:.5rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-meta[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;color:#6b7280}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-meta[_ngcontent-%COMP%]   .approved-by[_ngcontent-%COMP%], .notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-meta[_ngcontent-%COMP%]   .approved-date[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-meta[_ngcontent-%COMP%]   .approved-by[_ngcontent-%COMP%]   i[_ngcontent-%COMP%], .notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-meta[_ngcontent-%COMP%]   .approved-date[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.875rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-time[_ngcontent-%COMP%]{font-size:.75rem;color:#9ca3af;display:flex;align-items:center;gap:.25rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-content[_ngcontent-%COMP%]   .notification-time[_ng
1content-%COMP%]   i[_ngcontent-%COMP%]{font-size:.875rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-indicator[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:center;justify-content:center}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-item[_ngcontent-%COMP%]   .notification-indicator[_ngcontent-%COMP%]   .unread-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;background:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-empty[_ngcontent-%COMP%]{padding:3rem 1.25rem;text-align:center;color:#9ca3af}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-empty[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:.5rem;display:block}.notification-dropdown[_ngcontent-%COMP%]   .notification-list[_ngcontent-%COMP%]   .notification-empty[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:0;font-size:.875rem}.notification-dropdown[_ngcontent-%COMP%]   .notification-footer[_ngcontent-%COMP%]{padding:.75rem 1.25rem;border-top:1px solid #d6def5;text-align:center;background:#f9fafb}.notification-dropdown[_ngcontent-%COMP%]   .notification-footer[_ngcontent-%COMP%]   .view-all-link[_ngcontent-%COMP%]{color:#2947a3;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.notification-dropdown[_ngcontent-%COMP%]   .notification-footer[_ngcontent-%COMP%]   .view-all-link[_ngcontent-%COMP%]:hover{color:#0b1941;text-decoration:underline}@media (max-width: 768px){.notification-dropdown[_ngcontent-%COMP%]{width:320px;right:-10px}}"]})};function Ji(n,t){if(n&1){let e=S();a(0,"div",26),v("click",function(o){return p(e),m(o.stopPropagation())}),a(1,"a",27),v("click",function(o){return p(e),C().onSettingsClick(),m(o.preventDefault())}),g(2,"i",28),a(3,"span"),l(4,"Settings"),s()(),g(5,"div",29),a(6,"a",30),v("click",function(o){return p(e),C().onLogout(),m(o.preventDefault())}),g(7,"i",31),a(8,"span"),l(9,"Logout"),s()()()}if(n&2){let e=C();k("show",e.isUserDropdownOpen)}}function Xi(n,t){if(n&1){let e=S();a(0,"div",32),v("click",function(){p(e);let o=C();return m(o.closeMobileSidebar())})("keydown.escape",function(){p(e);let o=C();return m(o.closeMobileSidebar())}),s()}}var Ye=class n{constructor(t,e,i,o){this.authService=t;this.sidebarService=e;this.router=i;this.viewportScroller=o}currentUser=null;isUserDropdownOpen=!1;sidebarCollapsed=!1;mobileSidebarOpen=!1;routerSubscription;sidebarSub;ngOnInit(){this.currentUser=this.authService.getCurrentUser(),this.routerSubscription=this.router.events.pipe($(t=>t instanceof G)).subscribe(()=>{let t=document.querySelector(".top-bar");t&&t.classList.remove("skip-header-hidden"),this.scrollToTop()}),this.sidebarSub=this.sidebarService.getSidebarState().subscribe(t=>{this.sidebarCollapsed=t.isCollapsed})}ngOnDestroy(){this.routerSubscription&&this.routerSubscription.unsubscribe(),this.sidebarSub&&this.sidebarSub.unsubscribe()}scrollToTop(){setTimeout(()=>{this.viewportScroller.scrollToPosition([0,0]),window.scrollTo({top:0,left:0,behavior:"instant"}),document.documentElement&&(document.documentElement.scrollTop=0),document.body&&(document.body.scrollTop=0);let t=document.querySelector(".page-content");t&&(t.scrollTop=0)},0)}onDocumentClick(t){t.target.closest(".user-profile")||(this.isUserDropdownOpen=!1)}onKeydown(t){t.key==="Escape"&&this.mobileSidebarOpen&&(this.closeMobileSidebar(),document.querySelector(".sidebar-toggle")?.focus())}toggleSidebar(){window.innerWidth<=768?this.mobileSidebarOpen=!this.mobileSidebarOpen:this.sidebarService.toggleSidebar()}isMobileView(){return window.innerWidth<=768}closeMobileSidebar(){this.mobileSidebarOpen=!1}toggleUserDropdown(){this.isUserDropdownOpen=!this.isUserDropdownOpen}onSettingsClick(){this.isUserDropdownOpen=!1,this.router.navigate(["/admin/users"])}onLogout(){this.isUserDropdownOpen=!1,this.authService.logOut().subscribe({next:()=>{this.router.navigate(["/login"])},error:t=>{console.error("Logout error:",t),this.router.navigate(["/login"])}})}goToMainContent(t){t.preventDefault();let e=document.querySelector(".top-bar");e&&e.classList.add("skip-header-hidden");let i=document.getElementById("main-content");
1if(!i)return;let d=Array.from(i.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(O=>O.offsetParent!==null)[0];i.setAttribute("tabindex","-1"),i.scrollIntoView({behavior:"smooth",block:"start"}),i.classList.add("focus-highlight"),setTimeout(()=>{d?(d.focus(),d.classList.add("skip-focus-ring"),setTimeout(()=>d.classList.remove("skip-focus-ring"),2e3)):i.focus(),setTimeout(()=>i.classList.remove("focus-highlight"),2e3)},450)}static \u0275fac=function(e){return new(e||n)(y(z),y(Ve),y(A),y(le))};static \u0275cmp=I({type:n,selectors:[["app-admin-layout"]],hostBindings:function(e,i){e&1&&v("click",function(c){return i.onDocumentClick(c)},!1,ge)("keydown",function(c){return i.onKeydown(c)},!1,ge)},decls:33,vars:20,consts:[[1,"main-layout-container"],[1,"top-bar"],[1,"top-bar-left"],["href","#main-content",1,"skip-btn",3,"click"],["routerLink","/admin","aria-label","VOC Port Authority Admin Home",1,"topbar-brand"],["src","assets/images/logo/vocLogonoBg.png","alt","VOC Port Authority Logo",1,"topbar-logo"],[1,"topbar-title"],["aria-controls","mobile-sidebar",1,"sidebar-toggle",3,"click"],["aria-hidden","true",1,"ri-menu-line"],[1,"breadcrumb-container"],[1,"top-bar-right"],[1,"user-profile"],["tabindex","0","role","button",1,"user-info",3,"click","keydown.enter","keydown.space"],[1,"user-avatar"],["aria-hidden","true",1,"ri-user-line"],[1,"user-details"],[1,"user-name"],[1,"user-role"],[1,"dropdown-arrow"],["aria-hidden","true",1,"ri-arrow-down-s-line"],["class","dropdown-menu",3,"show","click",4,"ngIf"],[1,"layout-body"],["class","sidebar-backdrop","aria-hidden","true",3,"click","keydown.escape",4,"ngIf"],["id","mobile-sidebar",1,"mobile-drawer"],[1,"main-content-area"],["id","main-content","role","main","tabindex","-1",1,"page-content"],[1,"dropdown-menu",3,"click"],["href","#",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"ri-settings-3-line"],[1,"dropdown-divider"],["href","#",1,"dropdown-item","logout-item",3,"click"],["aria-hidden","true",1,"ri-logout-box-line"],["aria-hidden","true",1,"sidebar-backdrop",3,"click","keydown.escape"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"header",1)(2,"div",2)(3,"a",3),v("click",function(c){return i.goToMainContent(c)}),l(4,"Skip to Main Content"),s(),a(5,"a",4),g(6,"img",5),a(7,"span",6),l(8,"VOC Port Authority"),s()(),a(9,"button",7),v("click",function(){return i.toggleSidebar()}),g(10,"i",8),s(),g(11,"div",9),s(),a(12,"div",10),g(13,"app-notification"),a(14,"div",11)(15,"div",12),v("click",function(c){return c.stopPropagation(),i.toggleUserDropdown()})("keydown.enter",function(c){return c.stopPropagation(),i.toggleUserDropdown()})("keydown.space",function(c){return c.stopPropagation(),i.toggleUserDropdown(),c.preventDefault()}),a(16,"div",13),g(17,"i",14),s(),a(18,"div",15)(19,"span",16),l(20),s(),a(21,"span",17),l(22),s()(),a(23,"div",18),g(24,"i",19),s()(),w(25,Ji,10,2,"div",20),s()()(),a(26,"div",21),w(27,Xi,1,0,"div",22),a(28,"div",23),g(29,"app-dynamic-sidebar"),s(),a(30,"div",24)(31,"main",25),g(32,"router-outlet"),s()()()()),e&2&&(k("sidebar-collapsed",i.sidebarCollapsed)("mobile-menu-open",i.mobileSidebarOpen),r(9),P("aria-label",i.isMobileView()?i.mobileSidebarOpen?"Close navigation menu":"Open navigation menu":i.sidebarCollapsed?"Open navigation menu":"Close navigation menu")("aria-expanded",i.isMobileView()?i.mobileSidebarOpen:!i.sidebarCollapsed),r(5),k("active",i.isUserDropdownOpen),r(),P("aria-expanded",i.isUserDropdownOpen),r(5),x((i.currentUser==null?null:i.currentUser.fullName)||"User"),r(2),x((i.currentUser==null?null:i.currentUser.role)||"User"),r(2),k("rotated",i.isUserDropdownOpen),r(),b("ngIf",i.isUserDropdownOpen),r(2),b("ngIf",i.mobileSidebarOpen),r(),k("open",i.mobileSidebarOpen),P("role",i.mobileSidebarOpen?"dialog":null)("aria-modal",i.mobileSidebarOpen?"true":null)("aria-label",i.mobileSidebarOpen?"Navigation menu":null))},dependencies:[L,N,de,We,Ge],styles:[".main-layout-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh;min-height:0;background:linear-gradient(135deg,#d6def5,#f8fafc);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow:hidden}
1.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]{background:#fff;flex-shrink:0;border-bottom:1px solid #d6def5;padding:.5rem 1.5rem;min-height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1100;overflow:visible;flex-wrap:wrap;gap:.5rem;box-shadow:0 2px 4px #0b19411a}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;min-width:0}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .topbar-brand[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:#0b1941;padding-right:.75rem;border-right:1px solid #d6def5;flex-shrink:0}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .topbar-brand[_ngcontent-%COMP%]   .topbar-logo[_ngcontent-%COMP%]{height:34px;width:auto;display:block;object-fit:contain}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .topbar-brand[_ngcontent-%COMP%]   .topbar-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;line-height:1.1;color:#0b1941;white-space:nowrap}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .topbar-brand[_ngcontent-%COMP%]:hover{opacity:.85}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .sidebar-toggle[_ngcontent-%COMP%]{background:none;border:none;padding:.5rem;border-radius:8px;color:#2947a3;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .sidebar-toggle[_ngcontent-%COMP%]:hover{background:#d6def5;color:#0b1941}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .sidebar-toggle[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1.25rem}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .breadcrumb-container[_ngcontent-%COMP%]{min-width:0}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]:hover{background:#d6def5;border-color:#708bdb}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]   .user-avatar[_ngcontent-%COMP%]{width:36px;height:36px;background:linear-gradient(135deg,#0b1941,#13296c);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem;flex-shrink:0}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]   .user-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]   .user-details[_ngcontent-%COMP%]   .user-name[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;color:#0b1941;line-height:1.2}
1.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]   .user-details[_ngcontent-%COMP%]   .user-role[_ngcontent-%COMP%]{font-size:.75rem;color:#2947a3;text-transform:capitalize;line-height:1.2}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]   .dropdown-arrow[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;color:#2947a3;transition:all .2s ease}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]   .dropdown-arrow[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1rem;transition:transform .2s ease}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]   .dropdown-arrow[_ngcontent-%COMP%]   i.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile.active[_ngcontent-%COMP%]   .user-info[_ngcontent-%COMP%]{background:#d6def5;border-color:#708bdb}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;right:0;background:#fff;border:1px solid #d6def5;border-radius:12px;box-shadow:0 10px 25px #0b194126;
1min-width:200px;z-index:2000;margin-top:.5rem;animation:_ngcontent-%COMP%_dropdownFadeIn .2s ease-out;display:block}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu.show[_ngcontent-%COMP%]{display:block}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]   .dropdown-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#0b1941;text-decoration:none;transition:background-color .2s ease;font-size:.875rem;border:none;background:none;width:100%;text-align:left}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]   .dropdown-item[_ngcontent-%COMP%]:hover{background:#d6def5}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]   .dropdown-item[_ngcontent-%COMP%]:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]   .dropdown-item[_ngcontent-%COMP%]:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]   .dropdown-item[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:1rem;width:16px;text-align:center;flex-shrink:0;color:#2947a3}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]   .dropdown-item.logout-item[_ngcontent-%COMP%]{color:#ef4444}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]   .dropdown-item.logout-item[_ngcontent-%COMP%]:hover{background:#ef44441a}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]   .user-profile[_ngcontent-%COMP%]   .dropdown-menu[_ngcontent-%COMP%]   .dropdown-divider[_ngcontent-%COMP%]{height:1px;background:#d6def5;margin:.25rem 0}@keyframes _ngcontent-%COMP%_dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]{display:flex;flex:1;min-height:0;align-items:stretch;position:relative;overflow:hidden}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .sidebar-backdrop[_ngcontent-%COMP%]{display:none}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .mobile-drawer[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:stretch;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .mobile-drawer[_ngcontent-%COMP%]   app-dynamic-sidebar[_ngcontent-%COMP%]{flex-shrink:0;display:flex;min-height:0}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .mobile-drawer[_ngcontent-%COMP%]   app-dynamic-sidebar[_ngcontent-%COMP%]     .dynamic-sidebar{position:relative;left:auto;top:auto;height:100%;min-height:0;width:280px;z-index:1;overflow-y:auto;overflow-x:hidden}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .main-content-area[_ngcontent-%COMP%]{flex:1;min-width:0;min-height:0;padding:0;overflow-y:auto;overflow-x:auto;transition:margin-left .3s ease;background:linear-gradient(135deg,#d6def5,#f8fafc);display:flex;flex-direction:column}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .page-content[_ngcontent-%COMP%]{flex:1;min-height:0;overflow:visible}.main-layout-container.sidebar-collapsed[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .mobile-drawer[_ngcontent-%COMP%]   app-dynamic-sidebar[_ngcontent-%COMP%]     .dynamic-sidebar{width:70px}@media (max-width: 768px){.main-layout-container[_ngcontent-%COMP%]   .to
1p-bar[_ngcontent-%COMP%]{position:sticky;top:0;padding:.5rem .75rem;gap:.5rem}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]{flex:1 1 100%;justify-content:space-between;gap:.5rem;min-width:0}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]{flex:1 1 100%;justify-content:flex-end;gap:.75rem;min-width:0}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .sidebar-backdrop[_ngcontent-%COMP%]{display:block;position:absolute;inset:0;background:#00000080;z-index:1040}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .mobile-drawer[_ngcontent-%COMP%]{position:absolute;top:0;left:0;bottom:0;width:280px;max-width:85vw;z-index:1200;transform:translate(-100%);transition:transform .3s ease;box-shadow:0 8px 24px #0003;overflow-y:auto;overflow-x:hidden;background:#fff}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .mobile-drawer[_ngcontent-%COMP%]   app-dynamic-sidebar[_ngcontent-%COMP%]{width:100%}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .mobile-drawer[_ngcontent-%COMP%]   app-dynamic-sidebar[_ngcontent-%COMP%]     .dynamic-sidebar{position:relative;left:auto;top:auto;width:100%;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .main-content-area[_ngcontent-%COMP%]{width:100%!important;margin-left:0!important}.main-layout-container.mobile-menu-open[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .mobile-drawer[_ngcontent-%COMP%]{transform:translate(0)}}@media (max-width: 480px){.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .topbar-brand[_ngcontent-%COMP%]{border-right:none;padding-right:0}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%]   .topbar-brand[_ngcontent-%COMP%]   .topbar-title[_ngcontent-%COMP%]{display:none}}@media (max-width: 360px){.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]{padding:.5rem;min-height:auto}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-left[_ngcontent-%COMP%], .main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .top-bar-right[_ngcontent-%COMP%]{gap:.25rem}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .sidebar-toggle[_ngcontent-%COMP%]{padding:.25rem}.main-layout-container[_ngcontent-%COMP%]   .top-bar[_ngcontent-%COMP%]   .skip-btn[_ngcontent-%COMP%]{font-size:11px;padding:4px 8px}.main-layout-container[_ngcontent-%COMP%]   .layout-body[_ngcontent-%COMP%]   .main-content-area[_ngcontent-%COMP%]   .page-content[_ngcontent-%COMP%]{padding:.5rem}}.skip-btn[_ngcontent-%COMP%]{display:inline-block;background:#dbaf57;color:#0b1941;border:2px solid transparent;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.skip-btn[_ngcontent-%COMP%]:hover, .skip-btn[_ngcontent-%COMP%]:focus-visible{background:#0b1941;color:#fff;border-color:#dbaf57;outline:3px solid #DBAF57!important;outline-offset:2px!important}.skip-header-hidden[_ngcontent-%COMP%]{display:none!important}#main-content[_ngcontent-%COMP%]{scroll-margin-top:120px}#main-content[_ngcontent-%COMP%]:focus{outline:3px solid var(--focus-ring-color, #13296C);outline-offset:-3px}"]})};function eo(n,t){if(n&1&&(a(0,"span",20),g(1,"i",21),l(2),s()),n&2){let e=C();r(2),M("Welcome, ",e.currentUser.email," ")}}var qe=class n{constructor(t,e,i){this.portalAuthService=t;this.router=e;this.viewportScroller=i;this.currentUser=this.portalAuthService.getUser()}currentUser=null;currentYear=new Date().getFullYear();routerSubscription;ngOnInit(){this.routerSubscription=this.router.events.pipe($(t=>t instanceof G)).subscribe(()=>{this.scrollToTop()})}ngOnDestroy(){this.routerSubscription&&this.routerSubscription.unsubscribe()}scrollToTop(){setTimeout(()=>{this.viewportScroller.scrollToPosition([0,0]),window.scrollTo({top:0,left:0,behavior:"instant"}),document.documentElement&&(document.documentElement.scrollTop=0),document.body&&(document.body.scrollTop=0);let t=document.querySelector(".portal-main-content");t&&(t.scrollTop=0)},0)}logout(){this.portalAuthService.logout()}goToHome(){this.router.navigate(["/"])}static \u0275fac=function(e){return new(e||n)(y(he),y(A),y(le))};static \u0275cmp=I({type:n,selectors:[["app-portal-layout"]],decls:28,vars:2,consts:[[1,"portal-layout"],[1,"portal-header"],[1,"container-fluid","px-2","px-md-3"],[1,"d-flex","justify-content-between","align-items-center","py-2"],[1,"d-flex","align-items-center","gap-3"],["src","assets/images/logo/vocIcon.jpg","alt","",1,"portal-logo",2,"height","50px"],[1,"mb-0","fw-bold","text-white"],[1,"text-white-50"],["class","text-white",4,"ngIf"],[1,"btn","btn-outline-light","btn-sm",3,"click"],["aria-hidden","true",1,"ri-logout-box-r-line","me-1"],[1,"portal-main-content"],[1,"portal-footer"],[1,"container-fluid"],[1,"row","py-3"],[1,"col-md-6","text-center","text-md-start"],[1,"mb-0","text-muted","small"],[1,"col-md-6","text-center","text-md-end"],[1,"btn","btn-link","btn-sm","text-muted","p-0",3,"click"],["aria-hidden","true",1,"ri-home-line","me-1"],[1,"text-white"],["aria-hidden","true",1,"ri-user-line","me-1"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"header",1)(2,"div",2)(3,"div",3)(4,"div",4),g(5,"img",5),a(6,"div")(7,"h5",6),l(8,"V.O.CHIDAMBARANAR PORT AUTHORITY"),s(),a(9,"small",7),l(10,"Traffic Department Portal"),s()()(),a(11,"div",4),w(12,eo,3,1,"span",8),a(13,"button",9),v("click",function(){return i.logout()}),g(14,"i",10),l(15,"Logout "),s()()()()(),a(16,"main",11),g(17,"router-outlet"),s(),a(18,"footer",12)(19,"div",13)(20,"div",14)(21,"div",15)(22,"p",16),l(23),s()(),a(24,"div",17)(25,"button",18),v("click",function(){return i.goToHome()}),g(26,"i",19),l(27,"Back to Website "),s()()()()()()),e&2&&(r(12),b("ngIf",i.currentUser),r(11),M(" \xA9 ",i.currentYear," V.O.CHIDAMBARANAR PORT AUTHORITY. All rights reserved. "))},dependencies:[L,N,de,pe],styles:[".portal-layout[_ngcontent-%COMP%]{min-height:100vh;display:flex;flex-direction:column;background-color:#f8f9fa;overflow-x:auto;width:100%;max-width:100vw}.portal-header[_ngcontent-%COMP%]{background:linear-gradient(135deg,#0a3c7d,#1a5fa0);color:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}.portal-header[_ngcontent-%COMP%]   .portal-logo[_ngcontent-%COMP%]{border-radius:4px}.portal-header[_ngcontent-%COMP%]   h5[_ngcontent-%COMP%]{color:#fff!important}.portal-header[_ngcontent-%COMP%]   .btn-outline-danger[_ngcontent-%COMP%]{border-color:#ffffff80;color:#fff}.portal-header[_ngcontent-%COMP%]   .btn-outline-danger[_ngcontent-%COMP%]:hover{background-color:#ffffff1a;border-color:#fff}.portal-main-content[_ngcontent-%COMP%]{flex:1;padding:0;background-color:#f8f9fa;overflow-x:auto;width:100%;max-width:100vw}.portal-footer[_ngcontent-%COMP%]{background-color:#0a3c7d;color:#fff;margin-top:auto}.portal-footer[_ngcontent-%COMP%]   .text-muted[_ngcontent-%COMP%]{color:#fffc!important}.portal-footer[_ngcontent-%COMP%]   .btn-link[_ngcontent-%COMP%]{color:#fffc!important;text-decoration:none}.portal-footer[_ngcontent-%COMP%]   .btn-link[_ngcontent-%COMP%]:hover{color:#fff!important;text-decoration:underline}"]})};var _=class n{constructor(t,e){this.authService=t;this.router=e}canActivate(t,e){return this.authService.isAuthenticated()?!0:(this.router.navigate(["/login"],{queryParams:{returnUrl:e.url}}),!1)}static \u0275fac=function(e){return new(e||n)(D(z),D(A))};static \u0275prov=F({token:n,factory:n.\u0275fac,providedIn:"root"})},an=class n{constructor(t,e){this.authService=t;this.router=e}canActivate(t,e){return this.authService.isAuthenticated()&&this.authService.isAdmin()?!0:(this.router.navigate(["/unauthorized"]),!1)}static \u0275fac=function(e){return new(e||n)(D(z),D(A))};static \u0275prov=F({token:n,factory:n.\u0275fac,providedIn:"root"})};var Ke=class n{constructor(t,e){this.portalAuthService=t;this.router=e}canActivate(t,e){return this.portalAuthService.isAuthenticated()?!0:(this.router.navigate(["/operations/stevedore-portal"],{queryParams:{returnUrl:e.url}}),!1)}static \u0275fac=function(e){return new(e||n)(D(he),D(A))};static \u0275prov=F({token:n,factory:n.\u0275fac,providedIn:"root"})};var h=class n{constructor(t,e){this.authService=t;this.router=e}canActivate(t,e){let i=t.data.permission;return!i||this.authService.hasPermission(i)?!0:(this.router.navigate(["/forbidden"]),!1)}static \u0275fac=function(e){return new(e||n)(D(z),D(A))};static \u0275prov=F({token:n,factory:n.\u0275fac,providedIn:"root"})};var rn=[{path:"",component:je,children:[{path:"",loadChildren:()=>import("./chunk-KMWQ2NER.js").then(n=>n.WebsiteModule)}]},{path:"admin",component:Ye,canActivate:[_],children:[{path:"",loadComponent:()=>import("./chunk-YELAU3VC.js").then(n=>n.DashboardComponent)},{path:"dashboard",loadComponent:()=>import("./chunk-YELAU3VC.js").then(n=>n.DashboardComponent)},{path:"chatbot-dashboard",loadComponent:()=>import("./chunk-YSEIKDXT.js").then(n=>n.ChatbotDashboardComponent)},{path:"banner",loadComponent:()=>import("./chunk-YHO7Q7MR.js").then(n=>n.BannerComponent),canActivate:[_,h],data:{permission:"banner.view"}},{path:"scrolling-news",loadComponent:()=>import("./chunk-N4CUXSRQ.js").then(n=>n.ScrollingNewsComponent),canActivate:[_,h],data:{permission:"scrolling-news.view"}},{path:"home-video",loadComponent:()=>import("./chunk-UL7TGO75.js").then(n=>n.HomeVideoComponent),canActivate:[_,h],data:{permission:"home-video.view"}},{path:"port-history",loadComponent:()=>import("./chunk-UL5XYY6C.js").then(n=>n.PortHistoryComponent),canActivate:[_,h],data:{permission:"port-history.view"}},{path:"chairman-vocpa",loadComponent:()=>import("./chunk-CYYXLEPF.js").then(n=>n.ChairmanVocpaComponent),canActivate:[_,h],data:{permission:"chairman-vocpa.view"}},{path:"our-facilities",loadComponent:()=>import("./chunk-ZR3ZV6OQ.js").then(n=>n.OurFacilitiesComponent),canActivate:[_,h],data:{permission:"our-facilities.view"}},{path:"port-glance",loadComponent:()=>import("./chunk-RNEHQGDO.js").then(n=>n.PortGlanceComponent),canActivate:[_,h],data:{permission:"port-glance.view"}},{path:"our-service",loadComponent:()=>import("./chunk-YVEPG5WR.js").then(n=>n.OurServiceComponent),canActivate:[_,h],data:{permission:"our-service.view"}},{path:"what-new-section",loadComponent:()=>import("./chunk-TVH5BBYY.js").then(n=>n.WhatNewSectionComponent),canActivate:[_,h],data:{permission:"what-new-section.view"}},{path:"latest-events",loadComponent:()=>import("./chunk-VD2FWJO7.js").then(n=>n.LatestNewsComponent),canActivate:[_,h],data:{permission:"our-service.view"}},{path:"vision-mission",loadComponent:()=>import("./chunk-TI2LIFH3.js").then(n=>n.VisionMissionComponent),canActivate:[_,h],data:{permission:"latest-events.view"}},{path:"ministry-of-shipping",loadComponent:()=>import("./chunk-HTXA6DBX.js").then(n=>n.MinistryOfShippingComponent),canActivate:[_,h],data:{permission:"ministry-of-shipping.view"}},{path:"berth-plan",loadComponent:()=>import("./chunk-67MVTUBO.js").then(n=>n.BerthPlanComponent),canActivate:[_,h],data:{permission:"berth-plan.view"}},{path:"profile-biodata",loadComponent:()=>import("./chunk-OFD5M6AI.js").then(n=>n.ProfileBiodataComponent),canActivate:[_,h],data:{permission:"profile-biodata.view"}},{path:"know-your-port",loadComponent:()=>import("./chunk-72SEIY3X.js").then(n=>n.KnowYourPortComponent),canActivate:[_,h],data:{permission:"know-your-port.view"}},{path:"port-layout",loadComponent:()=>import("./chunk-YLLMGZPX.js").then(n=>n.PortLayoutComponent),canActivate:[_,h],data:{permission:"port-layout.view"}},{path:"management",loadComponent:()=>import("./chunk-EI3RO33B.js").then(n=>n.ManagementComponent),canActivate:[_,h],data:{permission:"management.view"}},{path:"accreditations",loadComponent:()=>import("./chunk-4QO3OPQ6.js").then(n=>n.AccreditationsComponent),canActivate:[_,h],data:{permission:"accreditations.view"}},{path:"important-milestones",loadComponent:()=>import("./chunk-5B7EJ66X.js").then(n=>n.ImportantMilestonesComponent),canActivate:[_,h],data:{permission:"milestones.view"}},{path:"csr-activities",loadComponent:()=>import("./chunk-EP52BSFT.js").then(n=>n.CsrComponent),canActivate:[_,h],data:{permission:"csr-activities.view"}},{path:"principal-officers",loadComponent:()=>import("./chunk-UI45GEKL.js").then(n=>n.PrincipalOfficersComponent),canActivate:[_,h],data:{permission:"principal-officers.view"}},{path:"awards-recognitions",loadComponent:()=>import("./chunk-3VZMULDM.js").then(n=>n.AwardsRecognitionsComponent),canActivate:[_,h],data:{permission:"awards-recognitions.view"}},{path:"statistical-information",loadComponent:()=>import("./chunk-YMIZES36.js").then(n=>n.StatisticalInformationComponent),canActivate:[_,h],data:{permission:"statistical-info.view"}},{path:"major-projects",loadComponent:()=>import("./chunk-6CMX466O.js").then(n=>n.MajorProjectsComponent),canActivate:[_,h],data:{permission:"major-projects.view"}},{path:"admin-annual-reports",loadComponent:()=>import("./chunk-KG6QBL54.js").then(n=>n.AdminAnnualReportsComponent),canActivate:[_,h],data:{permission:"admin-annual-reports.view"}},{path:"facilities",loadComponent:()=>import("./chunk-MORYUVYI.js").then(n=>n.AllFacilitiesComponent),canActivate:[_,h],data:{permission:"facilities.view"}},{path:"berthing-facilities",loadComponent:()=>import("./chunk-C67BTCSC.js").then(n=>n.BerthingFacilitiesComponent),canActivate:[_,h],data:{permission:"berthing-facilities.view"}},{path:"container-terminal",loadComponent:()=>import("./chunk-T2IG2EZ3.js").then(n=>n.ContainerTerminalComponent),canActivate:[_,h],data:{permission:"container-terminal.view"}},{path:"navigation-facilities",loadComponent:()=>import("./chunk-FRO3SINC.js").then(n=>n.NavigationFacilitiesComponent),canActivate:[_,h],data:{permission:"navigation-facilities.view"}},{path:"cargo-handling-equipment",loadComponent:()=>import("./chunk-SURFQI5N.js").then(n=>
1n.CargoHandlingEquipmentComponent),canActivate:[_,h],data:{permission:"cargo-equipment.view"}},{path:"storage-facilities",loadComponent:()=>import("./chunk-3L7KOENS.js").then(n=>n.StorageFacilitiesComponent),canActivate:[_,h],data:{permission:"storage-facilities.view"}},{path:"passenger-terminal",loadComponent:()=>import("./chunk-4UISTLSB.js").then(n=>n.PassengerTerminalComponent),canActivate:[_,h],data:{permission:"passenger-terminal.view"}},{path:"port-security",loadComponent:()=>import("./chunk-V745XRSS.js").then(n=>n.PortSecurityComponent),canActivate:[_,h],data:{permission:"port-security.view"}},{path:"port-fire-service",loadComponent:()=>import("./chunk-HOKXAW3D.js").then(n=>n.PortFireServiceComponent),canActivate:[_,h],data:{permission:"port-fire-service.view"}},{path:"port-safety",loadComponent:()=>import("./chunk-LWPVQV7O.js").then(n=>n.PortSafetyComponent)},{path:"meteorological-observatory",loadComponent:()=>import("./chunk-ZXE2VS5H.js").then(n=>n.MeteorologicalObservatoryComponent),canActivate:[_,h],data:{permission:"meteorological-observatory.view"}},{path:"bunkering",loadComponent:()=>import("./chunk-O4LBZSGC.js").then(n=>n.BunkeringComponent),canActivate:[_,h],data:{permission:"bunkering.view"}},{path:"other-facilities",loadComponent:()=>import("./chunk-LZPOHQNM.js").then(n=>n.OtherFacilitiesComponent),canActivate:[_,h],data:{permission:"other-facilities.view"}},{path:"customer-service-details",loadComponent:()=>import("./chunk-7ZZBEXT5.js").then(n=>n.CustomerServiceDetailsComponent),canActivate:[_,h],data:{permission:"customer-service-details.view"}},{path:"receiver-email",loadComponent:()=>import("./chunk-ZIU3AK2P.js").then(n=>n.ReceiverEmailComponent),canActivate:[_,h],data:{permission:"receiver-email.view"}},{path:"customs-service-existing",loadComponent:()=>import("./chunk-ALDE76CK.js").then(n=>n.CustomsServiceExistingComponent),canActivate:[_,h],data:{permission:"customs-service-existing.view"}},{path:"shipping-tariff",loadComponent:()=>import("./chunk-WIAAMENP.js").then(n=>n.ShippingTariffComponent),canActivate:[_,h],data:{permission:"shipping-tariff.view"}},{path:"sor-general",loadComponent:()=>import("./chunk-WOATAYU5.js").then(n=>n.SorGeneralComponent),canActivate:[_,h],data:{permission:"sor-general.view"}},{path:"sor-stevedoring",loadComponent:()=>import("./chunk-B2ZZ25MR.js").then(n=>n.SorStevedoringComponent),canActivate:[_,h],data:{permission:"sor-stevedoring.view"}},{path:"vessel-position",loadComponent:()=>import("./chunk-CXLKKSU7.js").then(n=>n.VesselPositionComponent),canActivate:[_,h],data:{permission:"vessel-position.view"}},{path:"agents-login",loadComponent:()=>import("./chunk-NFZMCJ2G.js").then(n=>n.AgentsLoginComponent),canActivate:[_,h],data:{permission:"agents-login.view"}},{path:"agents-details",loadComponent:()=>import("./chunk-PJE43PJ7.js").then(n=>n.AgentsDetailsComponent),canActivate:[_,h],data:{permission:"agent-details.view"}},{path:"environment-cell",loadComponent:()=>import("./chunk-EGSCA3Q6.js").then(n=>n.EnvironmentCellComponent),canActivate:[_,h],data:{permission:"environment-cell.view"}},{path:"pcs",loadComponent:()=>import("./chunk-UF37EU4A.js").then(n=>n.PcsComponent),canActivate:[_,h],data:{permission:"pcs.view"}},{path:"pcs-report",loadComponent:()=>import("./chunk-ZZAZ65Z7.js").then(n=>n.PcsReportComponent),canActivate:[_,h],data:{permission:"pcs-report.view"}},{path:"dept-show-hide",loadComponent:()=>import("./chunk-UHUHNQHE.js").then(n=>n.DeptShowHideComponent),canActivate:[_,h],data:{permission:"dept-toggle.view"}},{path:"new-tenders",loadComponent:()=>import("./chunk-Y7DNDGEV.js").then(n=>n.NewTendersComponent),canActivate:[_,h],data:{permission:"new-tenders.view"}},{path:"award-tender-list",loadComponent:()=>import("./chunk-Q55TOP5U.js").then(n=>n.DepartmentTenderDetailsComponent),canActivate:[_,h],data:{permission:"award-tender-list.view"}},{path:"award-vocpa-list",loadComponent:()=>import("./chunk-SLPCTWOP.js").then(n=>n.AwardVocpaDetailsComponent),canActivate:[_,h],data:{permission:"award-vocpa.view"}},{path:"tender-status-list",loadComponent:()=>import("./chunk-STJ2C47W.js").then(n=>n.TenderStatusDetailsComponent),canActivate:[_,h],data:{permission:"status-tender.view"}},{path:"quotation",loadComponent:()=>import("./chunk-B5OJJ5Y6.js").then(n=>n.QuotationComponent),canActivate:[_,h],data:{permission:"quotation.view"}},{path:"e-auction",loadComponent:()=>import("./chunk-JNMTVSDA.js").then(n=>n.EAuctionComponent),canActivate:[_,h],data:{permission:"e-auction.view"}},{path:"tender-status-new",loadComponent:()=>import("./chunk-N36FXF43.js").then(n=>n.TenderStatusNewComponent),canActivate:[_,h],data:{permission:"status-tender.view"}},{path:"award-of-tender-new",loadComponent:()=>import("./chunk-EX2YD7HH.js").then(n=>n.AwardOfTenderNewComponent),canActivate:[_,h],data:{permission:"award-tender.view"}},{path:"tender-management-form",loadComponent:()=>import("./chunk-X62EMNNV.js").then(n=>n.TenderManagementFormComponent)},{path:"quotation-form",loadComponent:()=>import("./chunk-X2PZC5UD.js").then(n=>n.QuotationFormComponent)},{path:"e-auction-form",loadComponent:()=>import("./chunk-AQD4NEQU.js").then(n=>n.EAuctionFormComponent)},{path:"tender-status-new/form",loadComponent:()=>import("./chunk-GTRSSFAH.js").then(n=>n.TenderStatusNewFormComponent)},{path:"award-of-tender-new-form",loadComponent:()=>import("./chunk-U3UDUCT3.js").then(n=>n.AwardOfTenderNewFormComponent)},{path:"traffic-department-form",loadComponent:()=>import("./chunk-ZYIV75D4.js").then(n=>n.TrafficDepartmentFormComponent)},{path:"mechanical-department-form",loadComponent:()=>import("./chunk-7UNVZ42A.js").then(n=>n.MechanicalDepartmentFormComponent)},{path:"medical-department-form",loadComponent:()=>import("./chunk-F7CZNTK6.js").then(n=>n.MedicalDepartmentFormComponent)},{path:"civil-department-form",loadComponent:()=>import("./chunk-HSYHBQMA.js").then(n=>n.CivilDepartmentFormComponent)},{path:"administration-department-form",loadComponent:()=>import("./chunk-FEI3BE7G.js").then(n=>n.AdministrationDepartmentFormComponent)},{path:"marine-department-form",loadComponent:()=>import("./chunk-RH4KNH3U.js").then(n=>n.MarineDepartmentFormComponent)},{path:"finance-department-form",loadComponent:()=>import("./chunk-QPQRUXEK.js").then(n=>n.FinanceDepartmentFormComponent)},{path:"edp-department-form",loadComponent:()=>import("./chunk-YVW4ILRZ.js").then(n=>n.EdpDepartmentFormComponent)},{path:"vocpa-department-form",loadComponent:()=>import("./chunk-RRVUWVOZ.js").then(n=>n.VocpaDepartmentFormComponent)},{path:"department-tender-status-form",loadComponent:()=>import("./chunk-NFERKHXU.js").then(n=>n.DepartmentTenderStatusFormComponent)},{path:"latest-news",loadComponent:()=>import("./chunk-KVTJHBTW.js").then(n=>n.LatestNewsComponent),canActivate:[_,h],data:{permission:"latest-news.view"}},{path:"trade-news",loadComponent:()=>import("./chunk-PLLGB6QP.js").then(n=>n.TradeNewsComponent),canActivate:[_,h],data:{permission:"trade-news.view"}},{path:"news-letter",loadComponent:()=>import("./chunk-FIYVRLLU.js").then(n=>n.NewsLetterComponent),canActivate:[_,h],data:{permission:"newsletter.view"}},{path:"press-releases",loadComponent:()=>import("./chunk-ZFH3DHPA.js").then(n=>n.PressReleasesComponent),canActivate:[_,h],data:{permission:"press-releases.view"}},{path:"photo-gallery",loadComponent:()=>import("./chunk-ZXMCQ4DE.js").then(n=>n.PhotoGalleryComponent),canActivate:[_,h],data:{permission:"photo-gallery.view"}},{path:"video-gallery",loadComponent:()=>import("./chunk-4RA6CQCN.js").then(n=>n.VideoGalleryComponent),canActivate:[_,h],data:{permission:"video-gallery.view"}},{path:"circular-and-notices",loadComponent:()=>import("./chunk-GTK5PU3U.js").then(n=>n.CircularAndNoticesComponent),canActivate:[_,h],data:{permission:"circular-and-notices.view"}},{path:"downloads",loadComponent:()=>import("./chunk-NQTQMSSQ.js").then(n=>n.DownloadsComponent),canActivate:[_,h],data:{permission:"downloads.view"}},{path:"careers",loadComponent:()=>import("./chunk-YIJEXCQK.js").then(n=>n.CareersComponent),canActivate:[_,h],data:{permission:"careers.view"}},{path:"career-form",loadComponent:()=>import("./chunk-AWJC3XIE.js").then(n=>n.CareerFormComponent)},{path:"career-applications",loadComponent:()=>import("./chunk-I25EI5ED.js").then(n=>n.CareerApplicationsComponent),canActivate:[_,h],data:{permission:"career-applications.view"}},{path:"career-results",loadComponent:()=>import("./chunk-IDRZJUBN.js").then(n=>n.CareerResultsComponent),canActivate:[_,h],data:{permission:"career-results.view"}},{path:"hall-ticket",loadComponent:()=>import("./chunk-OPSIGO2A.js").then(n=>n.HallTicketComponent),canActivate:[_,h],data:{permission:"manage-hall-ticket.view"}},{path:"introduction",loadComponent:()=>import("./chunk-US2EOBPZ.js").then(n=>n.IntroductionComponent),canActivate:[_,h],data:{permission:"gst-intro.view"}},{path:"gst-format",loadComponent:()=>import("./chunk-PTKGGYWH.js").then(n=>n.GstFormatComponent),canActivate:[_,h],data:{permission:"gst-format.view"}},{path:"percentage-rates-gst",loadComponent:()=>import("./chunk-SMWOLBAU.js").then(n=>n.PercentageRatesGstComponent),canActivate:[_,h],data:{permission:"gst-rates.view"}},{path:"helpline-for-gst",loadComponent:()=>import("./chunk-Y5DPBDEN.js").then(n=>n.HelplineForGstComponent),canActivate:[_,h],data:{permission:"gst-helpline.view"}},{path:"port-contact",loadComponent:()=>import("./chunk-LJRANTXG.js").then(n=>n.PortContactComponent),canActivate:[_,h],data:{permission:"port-contact.view"}},{path:"key-contact",loadComponent:()=>import("./chunk-PRYM6TZS.js").then(n=>n.KeyContactComponent),canActivate:[_,h],data:{permission:"key-contact.view"}},{path:"general-information",loadComponent:()=>import("./chunk-42UH5MAX.js").then(n=>n.GeneralInformationComponent),canActivate:[_,h],data:{permission:"general-info.view"}},{path:"circulars",loadComponent:()=>import("./chunk-KWWD7LHB.js").then(n=>n.CircularsComponent),canActivate:[_,h],data:{permission:"circulars.view"}},{path:"vocpa-acts-regulations",loadComponent:()=>import("./chunk-4HY4EVIS.js").then(n=>n.VocpaActsRegulationsComponent),canActivate:[_,h],data:{permission:"acts-regulations.view"}},{path:"vocpa-regulations",loadComponent:()=>import("./chunk-PCWT5CTV.js").then(n=>n.VocpaRegulationsComponent),canActivate:[_,h],data:{permission:"vocpa-regulations.view"}},{path:"vocpa-rules",loadComponent:()=>import("./chunk-RX7WBY6F.js").then(n=>n.VocpaRulesComponent),canActivate:[_,h],data:{permission:"vocpa-rules.view"}},{path:"forms-and-applications",loadComponent:()=>import("./chunk-OMXSHHWW.js").then(n=>n.FormsAndApplicationsComponent),canActivate:[_,h],data:{permission:"forms-applications.view"}},{path:"business-plan",loadComponent:()=>import("./chunk-UH2JDXZS.js").then(n=>n.BusinessPlanComponent),canActivate:[_,h],data:{permission:"business-plan.view"}},{path:"citizen-charter",loadComponent:()=>import("./chunk-MKKONNAE.js").then(n=>n.CitizenCharterComponent),canActivate:[_,h],data:{permission:"citizen-charter.view"}},{path:"tourism",loadComponent:()=>import("./chunk-GJ2COVVB.js").then(n=>n.TourismComponent),canActivate:[_,h],data:{permission:"tourism.view"}},{path:"public-grievances",loadComponent:()=>import("./chunk-QSLVNTOZ.js").then(n=>n.PublicGrievancesComponent),canActivate:[_,h],data:{permission:"public-grievances.view"}},{path:"ambient-air-quality",loadComponent:()=>import("./chunk-TDCSXXP3.js").then(n=>n.AmbientAirQualityComponent),canActivate:[_,h],data:{permission:"ambient-air-quality.view"}},{path:"pho-mmd",loadComponent:()=>import("./chunk-VIF2UHL5.js").then(n=>n.PhoMmdComponent),canActivate:[_,h],data:{permission:"pho-mmd.view"}},{path:"other-related-links",loadComponent:()=>import("./chunk-OAH2OBAF.js").then(n=>n.OtherRelatedLinksComponent),canActivate:[_,h],data:{permission:"other-related-links.view"}},{path:"gis-portal",loadComponent:()=>import("./chunk-QZSETOC6.js").then(n=>n.GisPortalComponent),canActivate:[_,h],data:{permission:"gis-portal.view"}},{path:"land-policy-guidelines",loadComponent:()=>import("./chunk-7JQFIANB.js").then(n=>n.LandPolicyGuidelinesComponent),canActivate:[_,h],data:{permission:"land-policy.view"}},{path:"land-use-plan",loadComponent:()=>import("./chunk-MOEAGODU.js").then(n=>n.LandUsePlanComponent),canActivate:[_,h],data:{permission:"land-use-plan.view"}},{path:"tariff-estate-rentals",loadComponent:()=>import("./chunk-Y3FPMGG5.js").then(n=>n.TariffEstateRentalsComponent),canActivate:[_,h],data:{permission:"tariff-estate.view"}},{path:"waterfront-policy",loadComponent:()=>import("./chunk-ZLH2UJNU.js").then(n=>n.WaterfrontPolicyComponent),canActivate:[_,h],data:{permission:"waterfront-policy.view"}},{path:"rti-contact",loadComponent:()=>import("./chunk-YHZ2SBKO.js").then(n=>n.RtiContactComponent),canActivate:[_,h],data:{permission:"rti-contact.view"}},{path:"vigilance-dashboard",loadComponent:()=>import("./chunk-7L7WZIOK.js").then(n=>n.VigilanceDashboardComponent),canActivate:[_,h],data:{permission:"vigilance.view"}},{path:"vigilance-report",loadComponent:()=>import("./chunk-L6GEQCYR.js").then(n=>n.VigilanceReportComponent),canActivate:[_,h],data:{permission:"vigilance-report.view"}},{path:"vigilance-guidelines",loadComponent:()=>import("./chunk-V4INSGB2.js").then(n=>n.VigilanceGuidelinesComponent),canActivate:[_,h],data:{permission:"vigilance-guidelines.view"}},{path:"vigilance-contact",loadComponent:()=>import("./chunk-V3AVGSRC.js").then(n=>n.VigilanceContactComponent),canActivate:[_,h],data:{permission:"vigilance-contact.view"}},{path:"vigilance-complaint",loadComponent:()=>import("./chunk-IOLE5ME7.js").then(n=>n.VigilanceComplaintComponent),canActivate:[_,h],data:{permission:"vigilance-complaint.view"}},{path:"sexual-harassment-complaints",loadComponent:()=>import("./chunk-LBW4YG6V.js").then(n=>n.SexualHarassmentComplaintsComponent),canActivate:[_,h],data:{permission:"sexual-harassment.view"}},{path:"eodb",loadComponent:()=>import("./chunk-U47PF4R2.js").then(n=>n.EodbComponent),canActivate:[_,h],data:{permission:"eodb.view"}},{path:"icegate",loadComponent:()=>import("./chunk-BSP4DGV6.js").then(n=>n.IcegateComponent),canActivate:[_,h],data:{permission:"icegate.view"}},{path:"esanchit",loadComponent:()=>import("./chunk-QZN5LLRM.js").then(n=>n.EsanchitComponent),canActivate:[_,h],data:{permission:"esanchit.view"}},{path:"pcs-eodb",loadComponent:()=>import("./chunk-F5QOT6WY.js").then(n=>n.PcsComponent),canActivate:[_,h],data:{permission:"pcs-2.view"}},{path:"eodb-dpiit",loadComponent:()=>import("./chunk-5KE6WFUQ.js").then(n=>n.EodbDpiitComponent),canActivate:[_,h],data:{permission:"eodb-dpiit.view"}},{path:"eodb-nlp",loadComponent:()=>import("./chunk-FBEVDMI3.js").then(n=>n.EodbNlpComponent),canActivate:[_,h],data:{permission:"eodb-nlp.view"}},{path:"eodb-contact",loadComponent:()=>import("./chunk-ELFXV2WZ.js").then(n=>n.EodbContactComponent),canActivate:[_,h],data:{permission:"eodb-contact.view"}},{path:"vocpt-highlight",loadComponent:()=>import("./chunk-CY4P5JKA.js").then(n=>n.VocptHighlightComponent),canActivate:[_,h],data:{permission:"vocpt-highlight.view"}},{path:"vocpt-digital",loadComponent:()=>import("./chunk-SGEYDVPB.js").then(n=>n.VocptDigitalComponent),canActivate:[_,h],data:{permission:"vocpt-digital.view"}},{path:"mobisodes",loadComponent:()=>import("./chunk-UYD4OJ63.js").then(n=>n.MobisodesComponent),canActivate:[_,h],data:{permission:"mobisodes.view"}},{path:"outreach",loadComponent:()=>import("./chunk-Z52BMMTG.js").then(n=>n.OutreachComponent),canActivate:[_,h],data:{permission:"outreach.view"}},{path:"website-policies",loadComponent:()=>import("./chunk-NJAHTV3E.js").then(n=>n.WebsitePoliciesComponent),canActivate:[_,h],data:{permission:"website-policies.view"}},{path:"faq",loadComponent:()=>import("./chunk-D54TEFH2.js").then(n=>n.FaqComponent),canActivate:[_,h],data:{permission:"faq.view"}},{path:"feedback",loadComponent:()=>import("./chunk-AOSQUUAA.js").then(n=>n.FeedbackComponent),canActivate:[_,h],data:{permission:"feedback.view"}},{path:"manage-forms",loadComponent:()=>import("./chunk-ZWDDGMG4.js").then(n=>n.ManageFormsComponent),canActivate:[_,h],data:{permission:"manage-forms.view"}},{path:"manage-forms/contractor-registration",loadComponent:()=>
1import("./chunk-CYOEZD3J.js").then(n=>n.ContractorRegistrationComponent),canActivate:[_,h],data:{permission:"contractor-registration.view"}},{path:"covid",loadComponent:()=>import("./chunk-MNNCA4K7.js").then(n=>n.CovidComponent),canActivate:[_,h],data:{permission:"covid.view"}},{path:"holidays",loadComponent:()=>import("./chunk-U4G7LMHW.js").then(n=>n.HolidaysComponent),canActivate:[_,h],data:{permission:"holidays.view"}},{path:"contractor-registration",loadComponent:()=>import("./chunk-BROSBDAK.js").then(n=>n.ContractorRegistrationComponent),canActivate:[_,h],data:{permission:"contractor-registration.view"}},{path:"page-titles",loadComponent:()=>import("./chunk-XFF6H5RK.js").then(n=>n.PageTitlesComponent),canActivate:[_,h],data:{permission:"page-titles.view"}},{path:"settings/site-user",loadComponent:()=>import("./chunk-OW4OEK3X.js").then(n=>n.SiteUserComponent),canActivate:[_,h],data:{permission:"site-user.view"}},{path:"settings/site-role",loadComponent:()=>import("./chunk-AH5UKZTT.js").then(n=>n.SiteRoleComponent),canActivate:[_,h],data:{permission:"site-role.view"}},{path:"settings/role-permission",loadComponent:()=>import("./chunk-TOOURWDT.js").then(n=>n.RolePermissionComponent),canActivate:[_,h],data:{permission:"role-permission.view"}},{path:"settings/department",loadComponent:()=>import("./chunk-JOVFDLUD.js").then(n=>n.DepartmentComponent),canActivate:[_,h],data:{permission:"department.view"}},{path:"settings/menu",loadComponent:()=>import("./chunk-BFA6OQFY.js").then(n=>n.MenuComponent),canActivate:[_,h],data:{permission:"menu.view"}},{path:"settings/sub-menu",loadComponent:()=>import("./chunk-3VHRRZWR.js").then(n=>n.SubMenuComponent),canActivate:[_,h],data:{permission:"sub-menu.view"}},{path:"settings/user-log-history",loadComponent:()=>import("./chunk-MCYUTNW3.js").then(n=>n.UserLogHistoryComponent),canActivate:[_,h],data:{permission:"user-log-history.view"}},{path:"employees-management",loadComponent:()=>import("./chunk-Q5OZ7LF6.js").then(n=>n.EmployeesManagementComponent)},{path:"view-documents",loadComponent:()=>import("./chunk-XCQY7FQZ.js").then(n=>n.ViewDocumentsComponent)},{path:"document-upload",loadComponent:()=>import("./chunk-2HU476VY.js").then(n=>n.DocumentUploadComponent)},{path:"document-type-master",loadComponent:()=>import("./chunk-WPZBUTZF.js").then(n=>n.DocumentTypeMasterComponent)},{path:"financial-year-master",loadComponent:()=>import("./chunk-F66C24IN.js").then(n=>n.FinancialYearMasterComponent)},{path:"folder-management",loadComponent:()=>import("./chunk-BXEPRUSC.js").then(n=>n.FolderManagementComponent)},{path:"uploaded-assets",loadComponent:()=>import("./chunk-EHFHHCPB.js").then(n=>n.EmployeeAssetsListComponent)},{path:"employee-pensioner-portal",redirectTo:"employees-management",pathMatch:"full"},{path:"traffic/ship-chandling-license",loadComponent:()=>import("./chunk-P733O3LF.js").then(n=>n.ShipChandlingLicenseComponent)},{path:"traffic/stevedore-license",loadComponent:()=>import("./chunk-IMUESDGT.js").then(n=>n.StevedoreLicenseComponent)},{path:"traffic/ship-chandling-license-preview",loadComponent:()=>import("./chunk-W5624OKZ.js").then(n=>n.ShipChandlingLicensePreviewComponent)},{path:"traffic/stevedore-portal-preview",loadComponent:()=>import("./chunk-7QUWURRY.js").then(n=>n.StevedorePortalPreviewComponent)},{path:"bill-payment",loadComponent:()=>import("./chunk-AWABWMHD.js").then(n=>n.BillPaymentComponent),canActivate:[_,h],data:{permission:"bill-payment-item.view"}},{path:"refund-status",loadComponent:()=>import("./chunk-QR6XONGA.js").then(n=>n.RefundStatusComponent),canActivate:[_,h],data:{permission:"refund-status.view"}},{path:"vessel-status",loadComponent:()=>import("./chunk-HBFOTUAC.js").then(n=>n.VesselStatusComponent),canActivate:[_,h],data:{permission:"vessel-status.view"}}]},{path:"login",loadChildren:()=>import("./chunk-RJSWNV62.js").then(n=>n.AuthModule)},{path:"portal",component:qe,canActivate:[Ke],children:[{path:"user-dashboard",loadComponent:()=>import("./chunk-HVQ2LGZN.js").then(n=>n.AccessPortalUserDashbaordComponent)},{path:"view-applied",loadComponent:()=>import("./chunk-DE26NUFC.js").then(n=>n.AppliedFormsViewComponent)},{path:"stevedore-form",loadComponent:()=>import("./chunk-5WWON3EG.js").then(n=>n.StevedoreFormComponent)},{path:"ship-chandling-form",loadComponent:()=>import("./chunk-IN6HYV4G.js").then(n=>n.ShipChandlingLicenseComponent)},{path:"house-agent-form/cha",loadComponent:()=>import("./chunk-F3ODUQB4.js").then(n=>n.CustomHouseAgentFormComponent)},{path:"house-agent-form/steamer",loadComponent:()=>import("./chunk-F3ODUQB4.js").then(n=>n.CustomHouseAgentFormComponent)},{path:"house-agent-form/port",loadComponent:()=>import("./chunk-F3ODUQB4.js").then(n=>n.CustomHouseAgentFormComponent)}]},{path:"forbidden",loadComponent:()=>import("./chunk-EXR7ZRPU.js").then(n=>n.Page403Component)},{path:"**",redirectTo:""}];var sn=(n,t)=>{let e=n.url.toLowerCase(),i=e.includes("/api/")||e.includes("api/")||e.includes("/api");if(!(e.includes("/assets/")&&!i||e.endsWith(".json")||e.endsWith(".svg"))){let c=n.headers,d=n.clone({withCredentials:!0}),O=localStorage.getItem("accessToken"),E=localStorage.getItem("portal_token"),T=localStorage.getItem("employeePortalToken"),H=e.includes("/public/"),V=e.includes("/employee-pensioner-portal/"),ee=H&&e.includes("/port-operations/"),Me=e.includes("/admin/")||!H&&!V;return console.log(`[AuthInterceptor] URL: ${n.url}, isEmployeeApi: ${V}, hasEmployeeToken: ${!!T}`),V&&T&&!c.has("Authorization")?c=c.set("Authorization",`Bearer ${T}`):ee&&E&&!c.has("Authorization")?c=c.set("Authorization",`Bearer ${E}`):Me&&O&&!c.has("Authorization")&&(c=c.set("Authorization",`Bearer ${O}`)),H&&!c.has("X-Public-Token")&&(c=c.set("X-Public-Token","voc-port-public-token-2025")),d=d.clone({headers:c}),t(d).pipe(xe(ct=>{if(ct.status===401){let Ce=window.location.pathname;V||Ce.includes("/pensioner-port")||Ce.includes("/employee-profile-view")?Ce!=="/pensioner-port"&&(localStorage.removeItem("employeePortalToken"),localStorage.removeItem("employeePortalUser"),window.location.href="/pensioner-port"):Me&&!H&&Ce.startsWith("/admin")&&!(Ce==="/login")&&(localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),localStorage.removeItem("user"),window.location.href="/login")}return Oe(()=>ct)}))}return t(n)};var cn=(n,t)=>t(n).pipe(xe(e=>{let i="An error occurred";if(e.error instanceof ErrorEvent)i=e.error.message;else if(e.status===0)i="Network Error - Please check if the backend server is running and CORS is configured correctly",console.error("Network Error Details:",{url:n.url,method:n.method,error:e});else switch(e.status){case 400:i=e.error?.message||"Bad Request - Please check your input";break;case 401:i="Unauthorized - Please login again";break;case 403:i=e.error?.message||"Forbidden - You do not have permission";break;case 404:i=e.error?.message||"Not Found - The requested resource was not found";break;case 500:i=e.error?.message||"Internal Server Error - Please try again later";break;case 503:i="Service Unavailable - Please try again later";break;default:i=e.error?.message||`Error ${e.status}: ${e.statusText||"Unknown Error"}`}return console.error("HTTP Error:",{status:e.status,statusText:e.statusText,url:n.url,method:n.method,error:e.error,message:e.message}
1),Oe(()=>ne(te({},e),{errorMessage:i,originalError:e}))}));var to="@",no=(()=>{class n{doc;delegate;zone;animationType;moduleImpl;_rendererFactoryPromise=null;scheduler=null;injector=nt(vt);loadingSchedulerFn=nt(io,{optional:!0});_engine;constructor(e,i,o,c,d){this.doc=e,this.delegate=i,this.zone=o,this.animationType=c,this.moduleImpl=d}ngOnDestroy(){this._engine?.flush()}loadImpl(){let e=()=>this.moduleImpl??import("./chunk-46ZMV7BW.js").then(o=>o),i;return this.loadingSchedulerFn?i=this.loadingSchedulerFn(e):i=e(),i.catch(o=>{throw new ft(5300,!1)}).then(({\u0275createEngine:o,\u0275AnimationRendererFactory:c})=>{this._engine=o(this.animationType,this.doc);let d=new c(this.delegate,this._engine,this.zone);return this.delegate=d,d})}createRenderer(e,i){let o=this.delegate.createRenderer(e,i);if(o.\u0275type===0)return o;typeof o.throwOnSyntheticProps=="boolean"&&(o.throwOnSyntheticProps=!1);let c=new rt(o);return i?.data?.animation&&!this._rendererFactoryPromise&&(this._rendererFactoryPromise=this.loadImpl()),this._rendererFactoryPromise?.then(d=>{let O=d.createRenderer(e,i);c.use(O),this.scheduler??=this.injector.get(Mt,null,{optional:!0}),this.scheduler?.notify(10)}).catch(d=>{c.use(o)}),c}begin(){this.delegate.begin?.()}end(){this.delegate.end?.()}whenRenderingDone(){return this.delegate.whenRenderingDone?.()??Promise.resolve()}componentReplaced(e){this._engine?.flush(),this.delegate.componentReplaced?.(e)}static \u0275fac=function(i){kt()};static \u0275prov=F({token:n,factory:n.\u0275fac})}return n})(),rt=class{delegate;replay=[];\u0275type=1;constructor(t){this.delegate=t}use(t){if(this.delegate=t,this.replay!==null){for(let e of this.replay)e(t);this.replay=null}}get data(){return this.delegate.data}destroy(){this.replay=null,this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}get destroyNode(){return this.delegate.destroyNode}appendChild(t,e){this.delegate.appendChild(t,e)}insertBefore(t,e,i,o){this.delegate.insertBefore(t,e,i,o)}removeChild(t,e,i){this.delegate.removeChild(t,e,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,o){this.delegate.setAttribute(t,e,i,o)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,o){this.delegate.setStyle(t,e,i,o)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){this.shouldReplay(e)&&this.replay.push(o=>o.setProperty(t,e,i)),this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i,o){return this.shouldReplay(e)&&this.replay.push(c=>c.listen(t,e,i,o)),this.delegate.listen(t,e,i,o)}shouldReplay(t){return this.replay!==null&&t.startsWith(to)}},io=new _t("");function ln(n="animations"){return wt("NgAsyncAnimations"),ht([{provide:yt,useFactory:(t,e,i)=>new no(t,e,i,n),deps:[De,Lt,we]},{provide:xt,useValue:n==="noop"?"NoopAnimations":"BrowserAnimations"}])}var st=class{constructor(t,e="./assets/i18n/",i=".json"){this.http=t;this.prefix=e;this.suffix=i}getTranslation(t){let e=`${this.prefix}${t}${this.suffix}`;return this.http.get(e).pipe(dt(i=>i))}};function dn(n){return new st(n,"./assets/i18n/",".json")}function oo(n){let t=n,e=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return e===1&&i===0?1:5}var pn=["en-IN",[["a","p"],["am","pm"],void 0],[["am","pm"],void 0,void 0],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],void 0,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],void 0,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[0,0],["dd/MM/yy","dd-MMM-y","d MMMM y","EEEE, d MMMM, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}
1, {0}",void 0,"{1} 'at' {0}",void 0],[".",",",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":"],["#,##,##0.###","#,##,##0%","\xA4#,##,##0.00","#E0"],"INR","\u20B9","Indian Rupee",{JPY:["JP\xA5","\xA5"]},"ltr",oo];Dt(pn);var mn={providers:[St({eventCoalescing:!0}),jt(rn,Wt({scrollPositionRestoration:"top",anchorScrolling:"enabled"})),Vt(Ft([sn,cn])),ln(),bt(me.forRoot({loader:{provide:$t,useFactory:dn,deps:[Nt]},fallbackLang:"en",useDefaultLang:!0}))]};var Ze=class n{constructor(t){this.el=t}isActive=!1;lastFocusedElement=null;backgroundElements=[];active=!1;ngOnChanges(t){t.isActive&&(this.isActive?this.activate():this.deactivate())}ngOnDestroy(){this.deactivate()}activate(){this.active||(this.active=!0,this.lastFocusedElement=document.activeElement,this.trapBackground())}deactivate(){this.active&&(this.active=!1,this.releaseBackground(),this.lastFocusedElement&&document.body.contains(this.lastFocusedElement)&&this.lastFocusedElement.focus(),this.lastFocusedElement=null)}trapBackground(){let e=this.el.nativeElement.parentElement;for(;e&&e.parentElement&&!Array.from(e.parentElement.children).some(o=>o!==e);)e=e.parentElement;!e||!e.parentElement||Array.from(e.parentElement.children).forEach(i=>{i!==e&&!i.hasAttribute("inert")&&(i.setAttribute("inert",""),i.setAttribute("aria-hidden","true"),this.backgroundElements.push(i))})}releaseBackground(){this.backgroundElements.forEach(t=>{t.removeAttribute("inert"),t.removeAttribute("aria-hidden")}),this.backgroundElements=[]}focusFirstElement(){setTimeout(()=>{if(!this.active)return;let t=this.el.nativeElement,e=document.activeElement;if(e&&t.contains(e))return;let i=t.querySelector('[role="dialog"], .modal-content')||t;i.setAttribute("tabindex","-1"),i.focus({preventScroll:!0})},400)}handleKeydown(t){if(t.key!=="Tab"||!this.isActive)return;let e=this.getFocusableElements();if(e.length===0)return;let i=e[0],o=e[e.length-1];t.shiftKey&&document.activeElement===i?(t.preventDefault(),o.focus()):!t.shiftKey&&document.activeElement===o&&(t.preventDefault(),i.focus())}getFocusableElements(){let t=this.el.nativeElement;return Array.from(t.querySelectorAll('button:not([disabled]):not([tabindex="-1"]), [href]:not([tabindex="-1"]), input:not([disabled]):not([tabindex="-1"]), select:not([disabled]):not([tabindex="-1"]), textarea:not([disabled]):not([tabindex="-1"]), [tabindex]:not([tabindex="-1"]):not([tabindex="-1"]), [role="button"]:not([tabindex="-1"])'))}static \u0275fac=function(e){return new(e||n)(y(Pe))};static \u0275dir=ke({type:n,selectors:[["","appFocusTrap",""]],hostBindings:function(e,i){e&1&&v("keydown",function(c){return i.handleKeydown(c)})},inputs:{isActive:[0,"appFocusTrap","isActive"]},features:[Ct]})};var ao=["continueBtn"],ro=["cancelBtn"],so=["modalContainer"];function co(n,t){if(n&1&&(ie(0),a(1,"p",15),l(2," You are leaving VOC Port Authority website and going to "),a(3,"strong"),l(4),s(),l(5,". The link will open in a new browser tab. "),s(),oe()),n&2){let e=C();r(4),x(e.domain)}}function lo(n,t){if(n&1&&(a(0,"p",15),l(1," This document will open in a new browser tab: "),a(2,"strong"),l(3),s()()),n&2){let e=C();r(3),x(e.documentName)}}var Qe=class n{continueBtn;cancelBtn;modalContainer;isModalOpen=!1;lastFocusedElement=null;externalUrl="";domain="";documentName="";isExternal=!0;constructor(){}ngOnInit(){}ngAfterViewInit(){let t=document.getElementById("externalLinkModal");t?.addEventListener("shown.bs.modal",()=>{this.isModalOpen=!0,setTimeout(()=>{this.cancelBtn?.nativeElement.focus()},50)}),t?.addEventListener("hidden.bs.modal",()=>{this.isModalOpen=!1,this.lastFocusedElement?.focus()})}redirect(){window.open(this.externalUrl,"_blank","noopener,noreferrer");let t=document.getElementById("externalLinkModal");window.bootstrap.Modal.getInstance(t)?.hide()}openDialog(t){this.externalUrl=t;try{let o=new URL(t,window.location.origin);if(this.domain=o.hostname,this.isExternal=o.origin!==window.location.origin,this.isExternal)this.documentName="";else{let c=decodeURIComponent(o.pathname),d=c.split("/").filter(Boolean).pop()||c||o.hostname;this.documentName=d}}catch{this.domain=t,this.documentName=t,this.isExternal=!0}
1let e=document.getElementById("externalLinkModal"),i=new window.bootstrap.Modal(e,{backdrop:"static",keyboard:!0,focus:!1});this.isModalOpen=!0,i.show()}getContinueAriaLabel(){return`Continue and open ${(this.isExternal?this.domain:this.documentName)||"this link"} in a new browser tab`}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=I({type:n,selectors:[["app-external-link-modal"]],viewQuery:function(e,i){if(e&1&&(Q(ao,5),Q(ro,5),Q(so,5)),e&2){let o;J(o=X())&&(i.continueBtn=o.first),J(o=X())&&(i.cancelBtn=o.first),J(o=X())&&(i.modalContainer=o.first)}},decls:19,vars:5,consts:[["modalContainer",""],["newTabDesc",""],["cancelBtn",""],["continueBtn",""],["id","externalLinkModal","tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","external-link-dialog-title","aria-describedby","external-link-dialog-description","data-focus-trap-managed","true",1,"modal","fade",3,"appFocusTrap"],[1,"modal-dialog","mt-5","custom-top-modal"],["tabindex","-1",1,"modal-content"],[1,"modal-header"],["id","external-link-dialog-title",1,"modal-title","h5"],["type","button","data-bs-dismiss","modal","aria-label","Close dialog","tabindex","-1",1,"btn-close"],["id","external-link-dialog-description",1,"modal-body"],[4,"ngIf","ngIfElse"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal","aria-label","Cancel and stay on the current page",1,"btn","btn-secondary"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"mb-0"]],template:function(e,i){if(e&1){let o=S();a(0,"div",4,0)(2,"div",5)(3,"div",6)(4,"div",7)(5,"h2",8),l(6),s(),g(7,"button",9),s(),a(8,"div",10),w(9,co,6,1,"ng-container",11)(10,lo,4,1,"ng-template",null,1,Ie),s(),a(12,"div",12)(13,"button",13,2),l(15," Cancel "),s(),a(16,"button",14,3),v("click",function(){return p(o),m(i.redirect())}),l(18," Continue "),s()()()()()}if(e&2){let o=ve(11);b("appFocusTrap",i.isModalOpen),r(6),M(" ",i.isExternal?"Leave Site?":"Open in New Browser Tab?"," "),r(3),b("ngIf",i.isExternal)("ngIfElse",o),r(7),P("aria-label",i.getContinueAriaLabel())}},dependencies:[L,N,Ze],encapsulation:2})};var Je=class n{constructor(t,e,i){this.authService=t;this.router=e;this.ngZone=i;this.userActivity$=mt(ue(window,"mousemove"),ue(window,"mousedown"),ue(window,"keypress"),ue(window,"touchstart"),ue(window,"scroll"))}INACTIVITY_TIMEOUT=15*60*1e3;activitySubscription;userActivity$;startMonitoring(){this.stopMonitoring(),this.authService.isAuthenticated()&&(console.log("Starting session activity monitoring..."),this.ngZone.runOutsideAngular(()=>{this.activitySubscription=this.userActivity$.pipe(gt(()=>pt(this.INACTIVITY_TIMEOUT)),ut(()=>{this.ngZone.run(()=>{console.log("Session timed out due to inactivity"),this.handleTimeout()})})).subscribe()}))}stopMonitoring(){this.activitySubscription&&(this.activitySubscription.unsubscribe(),this.activitySubscription=void 0)}handleTimeout(){this.stopMonitoring(),this.authService.logout().subscribe({next:()=>{this.router.navigate(["/login"],{queryParams:{timeout:"true"}})},error:()=>{this.router.navigate(["/login"],{queryParams:{timeout:"true"}})}})}static \u0275fac=function(e){return new(e||n)(D(z),D(A),D(we))};static \u0275prov=F({token:n,factory:n.\u0275fac,providedIn:"root"})};var mo=["a[href]",'button:not([disabled]):not([tabindex="-1"])','input:not([disabled]):not([type="hidden"]):not([tabindex="-1"])','select:not([disabled]):not([tabindex="-1"])','textarea:not([disabled]):not([tabindex="-1"])','[tabindex]:not([tabindex="-1"])','[contenteditable="true"]',"iframe"].join(","),Xe=class n{constructor(t){this.document=t;this.keyHandler=e=>this.onKeydown(e),this.document.addEventListener("keydown",this.keyHandler,!0),this.setupObserver()}lastFocused=null;activeDialog=null;observer=null;keyHandler;detectionTimer=null;ngOnDestroy(){this.observer?.disconnect(),this.document.removeEventListener("keydown",this.keyHandler,!0),this.detectionTimer&&clearTimeout(this.detectionTimer),this.release()}setupObserver(){this.observer=new MutationObserver(()=>this.scheduleDialogDetection()),this.observer.observe(this.document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class","style","display","hidden"]})}scheduleDialogDetection(){this.detectionTimer&&clearTimeout(this.detectionTimer),this.detectionTimer=setTimeout(()=>{this.detectionTimer=null,this.detectDialog()},0)}isDialogElement(t){return!(t instanceof HTMLElement)||t.closest(".swal2-container")||t.hasAttribute("appFocusTrap")||t.hasAttribute("data-focus-trap-managed")?!1:t.classList.contains("modal")||t.getAttribute("role")==="dialog"||t.getAttribute("role")==="alertdialog"}getActiveDialog(){let t=Array.from(this.document.querySelectorAll('.modal, [role="dialog"], [role="alertdialog"]')).filter(e=>{if(!this.isDialogElement(e)||e.hasAttribute("inert")||e.getAttribute("aria-hidden")==="true")return!1;if(e.classList.contains("show"))return!0;let i=getComputedStyle(e);return i.display!=="none"&&i.visibility!=="hidden"});return t[t.length-1]||null}detectDialog(){let t=this.getActiveDialog();t&&t!==this.activeDialog?(this.lastFocused=this.document.activeElement,this.activeDialog=t,this.applySemantics(t),this.focusInitialElement(t)):!t&&this.activeDialog&&this.release()}applySemantics(t){if(t.setAttribute("aria-modal","true"),!t.getAttribute("aria-labelledby")&&!t.getAttribute("aria-label")){let e=t.querySelector('.modal-title, .modal-header h1, .modal
1-header h2, .modal-header h3, .modal-header h4, .modal-header h5, [role="document"] h1, [role="document"] h2, [role="document"] h3, [role="document"] h4, [role="document"] h5');if(e&&e.textContent&&e.textContent.trim()){let i=e.id;i||(i="dialog-title-"+Date.now(),e.id=i),t.setAttribute("aria-labelledby",i)}}}focusInitialElement(t){setTimeout(()=>{if(!this.activeDialog||!this.document.body.contains(this.activeDialog))return;let e=this.getFocusableElements(t);if(e.length>0)e[0].focus();else{let i=t.querySelector('.modal-content, [role="document"], .modal-dialog')||t;i.setAttribute("tabindex","-1"),i.focus()}},50)}getFocusableElements(t){return Array.from(t.querySelectorAll(mo)).filter(e=>e.getAttribute("tabindex")==="-1"?!1:e.getClientRects().length>0||e.offsetParent!==null)}onKeydown(t){let e=this.activeDialog;if(!e||!e.isConnected||!this.document.body.contains(e)){this.detectDialog();return}if(t.key==="Tab"){let i=this.getFocusableElements(e),o=this.document.activeElement;if(i.length===0){t.preventDefault();return}let c=i[0],d=i[i.length-1];e.contains(o)?t.shiftKey&&o===c?(t.preventDefault(),t.stopPropagation(),d.focus()):!t.shiftKey&&o===d&&(t.preventDefault(),t.stopPropagation(),c.focus()):(t.preventDefault(),t.stopPropagation(),c.focus())}else t.key==="Escape"&&this.closeOnEscape(e)}closeOnEscape(t){let e=t.querySelector('[data-bs-dismiss="modal"], [data-dismiss="modal"], button[aria-label*="Close" i], button[aria-label*="close" i], .btn-close, button.close');e&&e.click()}release(){this.lastFocused&&this.lastFocused.isConnected&&this.document.contains(this.lastFocused)&&this.lastFocused.focus(),this.activeDialog=null,this.lastFocused=null}static \u0275fac=function(e){return new(e||n)(D(De))};static \u0275prov=F({token:n,factory:n.\u0275fac,providedIn:"root"})};var uo="Official website of V.O.Chidambaranar Port Authority providing port services, tenders, logistics and maritime operations.",fo="V.O.Chidambaranar Port Trust, Tuticorin Port Trust, ports in India, second-largest port in Tamil Nadu, fourth-largest container terminal in India, Port Tenders, Port Quotations.",et=class n{constructor(t,e,i,o,c,d,O,E,T){this.router=t;this.viewportScroller=e;this.translate=i;this.authService=o;this.sessionActivityService=c;this.titleService=d;this.meta=O;this.activatedRoute=E;this.focusTrapService=T;this.translate.addLangs(this.availableLanguages),this.translate.setDefaultLang("en");let H=localStorage.getItem("selectedLanguage");if(H&&this.availableLanguages.includes(H))this.translate.use(H).subscribe({next:()=>this.updateHtmlLang(H),error:V=>console.error("Error loading saved language:",V)});else{let V=this.translate.getBrowserLang(),ee=V&&this.availableLanguages.includes(V)?V:"en";this.translate.use(ee).subscribe({next:()=>{this.updateHtmlLang(ee),localStorage.setItem("selectedLanguage",ee)},error:Me=>console.error("Error loading language:",Me)})}}title="VOC Port Authority";routerSubscription;langSubscription;lastTrigger=null;dialogTrigger=null;availableLanguages=["en","ta","hi"];langLocaleMap={en:"en",ta:"ta",hi:"hi"};updateHtmlLang(t){let e=this.langLocaleMap[t]||"en";document.documentElement.lang=e,document.documentElement.dir="ltr",this.meta.updateTag({name:"language",content:t==="ta"?"ta":t==="hi"?"hi":"en"})}switchLanguage(t){this.availableLanguages.includes(t)?(this.translate.use(t),localStorage.setItem("selectedLanguage",t),this.updateHtmlLang(t)):console.warn(`Language '${t}' is not available. Available languages: ${this.availableLanguages.join(", ")}`)}getCurrentLanguage(){return this.translate.currentLang||this.translate.defaultLang||"en"}ngOnInit(){this.setupDialogFocusTracking(),this.setupSwalAria(),this.langSubscription=this.translate.onLangChange.subscribe(t=>{this.updateHtmlLang(t.lang)}),this.routerSubscription=this.router.events.pipe($(t=>t instanceof G)).subscribe(()=>{this.scrollToTop();let t=this.getChild(this.activatedRoute),e=t.snapshot.data.title,i=t.snapshot.data.description,o=t.snapshot.data.keywords;e||(e=t.routeConfig?.path||""),(!e||e==="")&&(e="Home");let c=this.formatTitle(e);this.titleService.setTitle(`V.O.C Port Authority \u2013 ${c}`),this.meta.updateTag({name:"description",content:i||uo}),this.meta.updateTag({name:"keywords",content:o||fo})}),this.sessionActivityService.startMonitoring(),this.authService.currentUser$.subscribe(t=>{t?this.sessionActivityService.startMonitoring():this.sessionActivityService.stopMonitoring()})}getChild(t){for(;t.firstChild;)t=t.firstChild;return t}setupSwalAria(){new MutationObserver(e=>
1{for(let i of e)i.addedNodes.forEach(o=>{if(!(o instanceof HTMLElement))return;let c=o.classList?.contains("swal2-popup")?[o]:Array.from(o.querySelectorAll(".swal2-popup"));if(c.length>0){let O=document.activeElement instanceof HTMLElement&&document.activeElement!==document.body?document.activeElement:null;this.dialogTrigger=O||this.lastTrigger}c.forEach(O=>O.removeAttribute("aria-describedby")),(o.matches?.('a[target="_blank"]')?[o]:Array.from(o.querySelectorAll('a[target="_blank"]'))).forEach(O=>this.announceNewTab(O))}),i.removedNodes.forEach(o=>{if(!(o instanceof HTMLElement))return;(o.classList?.contains("swal2-popup")?[o]:Array.from(o.querySelectorAll(".swal2-popup"))).length>0&&this.restoreDialogFocus()})}).observe(document.body,{childList:!0,subtree:!0})}setupDialogFocusTracking(){document.addEventListener("click",t=>{let i=t.target?.closest?.('button, a[href], input:not([disabled]), select, textarea, [tabindex]:not([tabindex="-1"]), [role="button"]');i&&(this.lastTrigger=i)},!0)}restoreDialogFocus(){let t=this.dialogTrigger;setTimeout(()=>{let e=null;t&&document.contains(t)&&!this.isDisabled(t)?e=t:e=this.findFallback(t),e&&e.focus({preventScroll:!0}),this.dialogTrigger=null},0)}isDisabled(t){return t.hasAttribute("disabled")||t.disabled===!0}findFallback(t){let e=t?.closest("form, .form-group, fieldset, .modal, .card-body")||null;if(e){let o=e.querySelector('input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])');if(o)return o}let i=document.getElementById("main-content")||document.getElementById("mainContent");if(i){let o=i.querySelector("a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])");return o||(i.setAttribute("tabindex","-1"),i)}return null}announceNewTab(t){if(!document.body.contains(t)||t.querySelector(".new-tab-visually-hidden"))return;let e=t.getAttribute("aria-label")||"",i=t.getAttribute("aria-describedby"),o=e||t.textContent||"";if(i&&i.split(/\s+/).forEach(d=>{let O=document.getElementById(d);O&&(o+=" "+(O.textContent||""))}),/opens in a new (tab|window)|new tab|new window/i.test(o))return;let c=document.createElement("span");c.className="visually-hidden new-tab-visually-hidden",c.textContent=", opens in a new browser tab",t.appendChild(c)}formatTitle(t){return t.replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase())}scrollToTop(){this.viewportScroller.scrollToPosition([0,0]),window.scrollTo({top:0,left:0,behavior:"instant"}),document.documentElement&&(document.documentElement.scrollTop=0),document.body&&(document.body.scrollTop=0)}ngOnDestroy(){this.routerSubscription?.unsubscribe(),this.langSubscription?.unsubscribe()}static \u0275fac=function(e){return new(e||n)(y(A),y(le),y(_e),y(z),y(Je),y(zt),y(Ht),y(Bt),y(Xe))};static \u0275cmp=I({type:n,selectors:[["app-root"]],decls:2,vars:0,template:function(e,i){e&1&&g(0,"router-outlet")(1,"app-external-link-modal")},dependencies:[de,Qe],encapsulation:2})};if(typeof window<"u"){let n=()=>{};console.log=n,console.error=n,console.warn=n,console.info=n,console.debug=n,console.trace=n,console.table=n,console.group=n,console.groupEnd=n,console.groupCollapsed=n,console.time=n,console.timeEnd=n,console.count=n,console.clear=n}Rt(et,mn).catch(n=>{});

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.