1import{b as A}from"./chunk-H3ZOHFO7.js";import"./chunk-CIKJJUSN.js";import"./chunk-RRZRS5BZ.js";import"./chunk-LY7WOQZN.js";import"./chunk-T3PLPHIG.js";import"./chunk-2JW6ZMWV.js";import"./chunk-NIP74ZKI.js";import"./chunk-QNUNLKYK.js";import{r as $}from"./chunk-RE4JJFV5.js";import"./chunk-COEKBYWO.js";import"./chunk-E2K2LIS4.js";import{a as R}from"./chunk-KJKRX6VS.js";import"./chunk-2CRWMDGS.js";import"./chunk-4WMDX4SQ.js";import"./chunk-IQLKO45Z.js";import"./chunk-V6KBZVCY.js";import"./chunk-6FQQM4CE.js";import"./chunk-VTTO24NQ.js";import"./chunk-Y5VOXWTF.js";import{n as G,q as B}from"./chunk-YWHNFDXQ.js";import"./chunk-FCTHY2PU.js";import"./chunk-DPVJW3LI.js";import{f as q,h as H,i as j}from"./chunk-GW33KQPR.js";import"./chunk-TUEKBDZZ.js";import"./chunk-RLPOKPIS.js";import"./chunk-TPES7EAS.js";import"./chunk-QXJM3TTT.js";import"./chunk-TMOIAHHX.js";import{$a as z,Eb as I,Fb as v,Hb as w,Ib as r,Jb as _,Kb as k,Lb as y,Sa as F,Wa as s,Xa as d,Za as D,_a as E,aa as S,ab as x,bb as t,cb as o,cc as L,db as g,ga as i,kb as P,o as M,p as b,q as p,qb as O,r as C,sa as h,tb as m,za as T}from"./chunk-DJNWGYMM.js";import"./chunk-VOZAGDK7.js";import"./chunk-E5QWB6YB.js";var Y=()=>["/pages/lms/courses"];function Z(n,l){if(n&1&&(t(0,"div",17)(1,"div",24),p(),t(2,"svg",25),g(3,"path",26),o()(),C(),t(4,"div",21)(5,"span",22),r(6),o(),t(7,"span",23),r(8,"Modules"),o()()()),n&2){let e=m(3);i(),v("completed",(e.courseData==null?null:e.courseData.status.overall)==100),i(5),y("",e.courseData==null?null:e.courseData.status.completedModuleCnt," / ",e.courseData==null||e.courseData.modules==null?null:e.courseData.modules.length)}}function U(n,l){if(n&1&&(t(0,"div",15),s(1,Z,9,4,"div",17),t(2,"div",17)(3,"div",18),p(),t(4,"svg",19),g(5,"path",20),o()(),C(),t(6,"div",21)(7,"span",22),r(8),o(),t(9,"span",23),r(10,"Complete"),o()()()()),n&2){let e=m(2);i(),d((e.courseData==null||e.courseData.modules==null?null:e.courseData.modules.length)>1?1:-1),i(7),k("",e.courseData==null?null:e.courseData.status.overall,"%")}}function N(n,l){if(n&1&&(t(0,"div",34)(1,"div",35)(2,"span"),r(3,"Modules Completed"),o(),t(4,"strong"),r(5),o()()()),n&2){let e=m(3);i(5),y("",e.courseData==null?null:e.courseData.status.completedModuleCnt," / ",e.courseData==null||e.courseData.modules==null?null:e.courseData.modules.length)}}function W(n,l){if(n&1&&(t(0,"div",16)(1,"div",27)(2,"h3"),r(3,"Overall Progress"),o(),t(4,"div",28),p(),t(5,"svg",29),g(6,"circle",30)(7,"circle",31),o(),C(),t(8,"div",32)(9,"span",33),r(10),o()()()(),s(11,N,6,2,"div",34),o()),n&2){let e=m(2);i(7),I("stroke-dashoffset",e.courseData==null?null:e.courseData.status.overall4Ring),i(3),k("",e.courseData==null?null:e.courseData.status.overall,"%"),i(),d((e.courseData==null||e.courseData.modules==null?null:e.courseData.modules.length)>1?11:-1)}}function J(n,l){if(n&1&&(t(0,"div",2)(1,"div",6)(2,"div",7)(3,"a",8),r(4,"Courses"),o(),t(5,"span",9),r(6,"/"),o(),t(7,"span",10),r(8),o()(),t(9,"div",11)(10,"div",12)(11,"h1",13),r(12),o(),t(13,"p",14),r(14),o(),s(15,U,11,2,"div",15),o(),s(16,W,12,4,"div",16),o()()()),n&2){let e=m();i(3),x("routerLink",L(6,Y)),i(5),_(e.courseData==null?null:e.courseData.name),i(4),_(e.courseData==null?null:e.courseData.name),i(2),_(e.courseData==null?null:e.courseData.brief),i(),d((e.courseData==null||e.courseData.status==null?null:e.courseData.status.status)!="completed"?15:-1),i(),d((e.courseData==null||e.courseData.status==null?null:e.courseData.status.status)!="completed"?16:-1)}}function K(n,l){n&1&&(t(0,"div",3)(1,"div",36),g(2,"div",37),o(),t(3,"p"),r(4,"Loading course content..."),o()())}function Q(n,l){n&1&&(t(0,"div",4)(1,"div",38),p(),t(2,"svg",19),g(3,"path",39),o()(),C(),t(4,"h3",40),r(5,"Unable to Load Course"),o(),t(6,"p",41),r(7,"An error occurred while loading the course."),g(8,"br"),r(9,"Please try again later."),o(),t(10,"div",42)(11,"a",43),p(),t(12,"svg",19),g(13,"path",44),o(),r(14," Back to Courses "),o()()()),n&2&&(i(11),x("routerLink",L(1,Y)))}function X(n,l){if(n&1&&(t(0,"a",66)(1,"div",71),p(),t(2,"svg",25),g(3,"path",72),o(),C(),t(4,"span"),r(5,"View Certificate"),o()()()),n&2){let e=m(3);x("href",e.courseData.status.certificateUrl,S)}}function ee(n,l){if(n&1&&(t(0,"div",45)(1,"div",52),g(2,"div",53),t(3,"div",54)(4,"div",55)(5,"div",56)(6,"span"),r(7,"COMPLETED"),o()(),t(8,"div",57),g(9,"img",58)(10,"div",59),o(),t(11,"div",60)(12,"span",61),r(13,"\u2605"),o(),t(14,"span",62),r(15,"\u2605"),o(),t(16,"span",61),r(17,"\u2605"),o()(),t(18,"h2",63),r(19),o(),t(20,"div",64)(21,"span",65),r(22,"\u2726"),o()(),s(23,X,6,1,"a",66),o()(),g(24,"div",67)(25,"div",68)(26,"div",69)(27,"div",70),o()()),n&2){let e=m(2);i(9),x("src",e.courseData==null?null:e.courseData.badge,S)("alt",e.courseData==null?null:e.courseData.name),i(10),_(e.courseData==null?null:e.courseData.name),i(4),d(e.courseData.status.certificateUrl?23:-1)}}function te(n,l){if(n&1&&(t(0,"p",48),r(1),o()),n&2){let e=m(2);
1i(),k("",e.courseData==null||e.courseData.modules==null?null:e.courseData.modules.length," modules to complete your certification")}}function ne(n,l){if(n&1){let e=P();t(0,"button",94),O("click",function(a){M(e);let u=m().$implicit;return m(2).toggleModule(u),b(a.stopPropagation())}),p(),t(1,"svg",19),g(2,"path",81),o()()}if(n&2){let e=m().$implicit;F("aria-expanded",e.expanded)("aria-label",e.expanded?"Collapse module":"Expand module"),i(),v("rotated",e.expanded)}}function oe(n,l){if(n&1&&(t(0,"span"),r(1),o()),n&2){let e=m().$index;i(),_(e+1)}}function ie(n,l){n&1&&(p(),t(0,"svg",19),g(1,"path",95),o())}function re(n,l){n&1&&(p(),t(0,"svg",19),g(1,"path",96),o())}function ae(n,l){if(n&1&&(t(0,"p",87),r(1),o()),n&2){let e=m().$implicit;i(),_(e.brief)}}function ce(n,l){n&1&&(t(0,"span"),r(1,"Review"),o())}function le(n,l){n&1&&(t(0,"span"),r(1,"Resume"),o())}function se(n,l){n&1&&(t(0,"span"),r(1,"Start"),o())}function de(n,l){if(n&1){let e=P();t(0,"button",97),O("click",function(a){M(e);let u=m().$implicit;return m(2).go2ModuleLecture(u),b(a.stopPropagation())}),s(1,ce,2,0,"span")(2,le,2,0,"span")(3,se,2,0,"span"),p(),t(4,"svg",19),g(5,"path",98),o()()}if(n&2){let e=m().$implicit;w(e.statusClass),i(),d(e.status=="completed"?1:e.status=="in-progress"?2:3)}}function ge(n,l){n&1&&(p(),t(0,"svg",101),g(1,"path",107),o())}function me(n,l){n&1&&(p(),t(0,"svg",101),g(1,"path",108)(2,"path",109)(3,"path",110)(4,"path",111)(5,"path",112)(6,"path",113),o())}function pe(n,l){n&1&&(p(),t(0,"svg",102),g(1,"path",96),o())}function ue(n,l){if(n&1){let e=P();t(0,"div",99),O("click",function(a){let u=M(e).$implicit,f=m().$implicit;return m(2).go2Lecture(f._key,u),b(a.stopPropagation())}),t(1,"div",100),s(2,ge,2,0,":svg:svg",101),s(3,me,7,0,":svg:svg",101),s(4,pe,2,0,":svg:svg",102),o(),t(5,"div",103)(6,"div",104)(7,"span",105),r(8),o()(),t(9,"span",106),r(10),o()()()}if(n&2){let e=l.$implicit;w(e.statusClass),i(2),d(!e.locked&&e.type==="videoLecture"?2:-1),i(),d(!e.locked&&e.type=="exam"?3:-1),i(),d(e.locked?4:-1),i(4),_(e.title),i(2),_(e.description)}}function _e(n,l){if(n&1){let e=P();t(0,"div",73),s(1,ne,3,4,"button",74),t(2,"div",75),O("click",function(){let a=M(e).$implicit,u=m(2);return b(u.toggleModule(a))}),t(3,"div",76)(4,"div",77),s(5,oe,2,1,"span"),s(6,ie,2,0,":svg:svg",19),s(7,re,2,0,":svg:svg",19),o(),t(8,"div",78)(9,"div",79)(10,"button",80),p(),t(11,"svg",19),g(12,"path",81),o()(),C(),t(13,"div")(14,"h3",82),r(15),o(),t(16,"p",83)(17,"span",84),p(),t(18,"svg",85),g(19,"path",86),o(),r(20),o()()()(),s(21,ae,2,1,"p",87),o()(),C(),t(22,"div",88),s(23,de,6,3,"button",89),o()(),t(24,"div",90)(25,"div",91)(26,"div",92),E(27,ue,11,7,"div",93,D),o()()()()}if(n&2){let e=l.$implicit;
1w(e.statusClass),v("expanded",e.expanded),i(),d((e.lectures==null?null:e.lectures.length)>0?1:-1),i(4),d(!e.completed&&!e.locked?5:-1),i(),d(e.completed?6:-1),i(),d(e.locked?7:-1),i(4),v("rotated",e.expanded),i(4),_(e.name),i(5),y(" ",e.lectures==null?null:e.lectures.length," ",(e.lectures==null?null:e.lectures.length)===1?"lecture":"lectures"," "),i(),d(e.brief?21:-1),i(2),d(!e.locked&&(e.lectures==null?null:e.lectures.length)>0?23:-1),i(4),z(e.lectures)}}function Ce(n,l){n&1&&(t(0,"div",51)(1,"h2",114),r(2,"You are not enrolled in this course"),o(),t(3,"button",115),r(4,"< Back to Courses Page"),o()())}function fe(n,l){if(n&1&&(t(0,"div",5),s(1,ee,28,4,"div",45),t(2,"div",46)(3,"h2",47),r(4,"Course Content"),o(),s(5,te,2,1,"p",48),o(),t(6,"div",49),E(7,_e,29,15,"div",50,D),o(),s(9,Ce,5,0,"div",51),o()),n&2){let e=m();i(),d((e.courseData==null||e.courseData.status==null?null:e.courseData.status.status)=="completed"?1:-1),i(4),d((e.courseData==null||e.courseData.modules==null?null:e.courseData.modules.length)>1?5:-1),i(2),z(e.courseData==null?null:e.courseData.modules),i(2),d(e.courseData!=null&&e.courseData.enrollment?-1:9)}}var ke=(()=>{class n{api;route;router;notify;loading=!1;error=null;courseData=null;courseID=null;constructor(e,c,a,u){this.api=e,this.route=c,this.router=a,this.notify=u,this.courseID=this.route.snapshot.paramMap.get("id")}ngOnInit(){this.loadCourse()}loadCourse(){this.loading=!0,this.error=null,this.api.get(`LMS/course/${this.courseID}`,!1).subscribe({next:e=>{this.courseData=e,this.courseData.modules.forEach(c=>{switch(c.status){case"completed":c.statusClass="completed",c.completed=!0;break;case"inProgress":case"in-progress":c.statusClass="in-progress",c.inProgress=!0;break;default:c.statusClass="enrolled",c.enrolled=!0;break}c.expanded=!1,c.lectures&&c.lectures.length>0&&(c.lectures.sort((a,u)=>(a.order||0)-(u.order||0)),c.lectures.forEach((a,u)=>{let f=u>0?c.lectures[u-1]:null,V=!f||!this.courseData.lectureOrderRequirement||this.courseData.lectureOrderRequirement&&f.status==="completed";a.status==="completed"?(a.statusClass="completed",a.locked=!1):V?(a.statusClass="inProgress",a.locked=!1):(a.statusClass="locked",a.locked=!0,a.lockReason=`Please complete "${f.title}" first`)}))}),this.loading=!1},error:e=>{this.error=e?.error?.message||e?.message||"Failed to load course",this.loading=!1}})}retryLoad(){this.loadCourse()}toggleModule(e){e.lectures?.length!=0&&(e.expanded=!e.expanded)}go2ModuleLecture(e){if(e.lectures?.length==0)return;let c=e.lectures.find(a=>a.status=="not-started"||a.status=="inProgress");c||(c=e.lectures[0]),this.router.navigate(this.lectureRoute(e._key,c._key))}go2Lecture(e,c){if(c.locked){this.notify.openWarningModal(c.lockReason);return}this.router.navigate(this.lectureRoute(e,c._key))}lectureRoute(e,c){let a=["/pages/lms/course",this.courseID,"module",e,"lecture",c];return this.courseData?.provider==="safesport"?[...a,"safesport"]:a}static \u0275fac=function(c){return new(c||n)(h(R),h(q),h(H),h($))};static \u0275cmp=T({type:n,selectors:[["lms-course"]],decls:6,vars:6,consts:[[1,"course-container"],[3,"title","hideBanner"],[1,"course-header"],[1,"loading-container"],[1,"error-container"],[1,"curriculum-section"],[1,"header-content"],[1,"breadcrumb"],[1,"breadcrumb-link",3,"routerLink"],[1,"breadcrumb-separator"],[1,"breadcrumb-current"],[1,"header-main"],[1,"course-info"],[1,"course-title","text-uppercase"],[1,"course-description"],[1,"course-stats"],[1,"progress-card"],[1,"stat-card"],[1,"stat-icon","progress"],["viewBox","0 0 24 24","fill","currentColor"],["d","M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M15.5,8.5L10.62,13.38L8.5,11.26L7.08,12.68L10.62,16.22L16.92,9.92L15.5,8.5M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37Z"],[1,"stat-info"],[1,"stat-number"],[1,"stat-label"],[1,"stat-icon","modules"],["version","1.1","viewBox","0 0 100 100","xmlns","http://www.w3.org/2000/svg","fill","currentColor"],["d","m99.938 30.23v46.375c0 6.5391-5.3008 11.84-11.84 11.84h-76.258c-3.1406 0-6.1523-1.2461-8.3711-3.4688-2.2188-2.2188-3.4688-5.2305-3.4688-8.3711v-53.27c0-3.1406 1.2461-6.1523 3.4688-8.3711 2.2188-2.2188 5.2305-3.4688 8.3711-3.4688h26.637c0.78906 0 1.5586 0.23438 2.2148 0.67188l9.3398 6.2266h38.07c6.5391 0 11.84 5.3008 11.84 11.84zm-53.332-4.5273-9.3398-6.2266h-25.426c-1.0234 0-2.0039 0.40625-2.7266 1.1289-0.72266 0.72266-1.1289 1.7031-1.1289 2.7266v53.27c0 1.0234 0.40625 2.0039 1.1289 2.7266 0.72266 0.72266 1.7031 1.1289 2.7266 1.1289h76.258c2.1289 0 3.8555-1.7266 3.8555-3.8555v-34.137h-18.996c-0.78906 0-1.5586-0.23438-2.2148-0.67188l-24.137-16.094zm45.348 8.7812v-4.2539c0-2.1289-1.7266-3.8555-3.8555-3.8555h-26.098l12.164 8.1094z","fill-rule","evenodd"],[1,"progress-header"],[1,"progress-circle"],["viewBox","0 0 125 125"],["cx","60","cy","60","r","57.3",1,"progress-ring-bg"],["cx","60","cy","60","r","57.3",1,"progress-ring-fill"],[1,"progress-text"],[1,"progress-percentage"],[1,"progress-detail
1s"],[1,"detail-row"],[1,"loading-spinner"],[1,"spinner"],[1,"error-icon"],["d","M12,2L3.09,21H20.91L12,2M13,18H11V16H13M13,14H11V10H13"],[1,"error-title"],[1,"error-message"],[1,"error-actions"],[1,"back-button",3,"routerLink"],["d","M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"],[1,"certificate-badge-container"],[1,"section-header"],[1,"section-title"],[1,"section-subtitle"],[1,"modules-list"],[1,"module-item",3,"class","expanded"],[1,"text-center"],[1,"certificate-plaque"],[1,"plaque-shine"],[1,"plaque-border"],[1,"plaque-inner"],[1,"ribbon-banner"],[1,"badge-icon"],[1,"course-badge-img",3,"src","alt"],[1,"badge-glow"],[1,"trophy-stars"],[1,"star"],[1,"star","large"],[1,"plaque-title","primary-fg"],[1,"plaque-divider"],[1,"divider-ornament"],["target","_blank",1,"certificate-btn","btn-larger",3,"href"],[1,"corner-ornament","top-left"],[1,"corner-ornament","top-right"],[1,"corner-ornament","bottom-left"],[1,"corner-ornament","bottom-right"],[1,"flex-center","gap-12"],["d","m71.875 83.422-4.0625-3.3242c-1.7266-1.4141-4.2109-1.4141-5.9375 0l-4.0625 3.3242v-15.453c1.957 1.4727 4.3945 2.3438 7.0312 2.3438s5.0742-0.87109 7.0312-2.3438zm9.375-59.203c0.86328 0 1.5625 0.69922 1.5625 1.5625v40.625c0 0.86328-0.69922 1.5625-1.5625 1.5625h-6.25v-3.5273c0.99219-1.7188 1.5625-3.7188 1.5625-5.8477 0-6.4727-5.2461-11.719-11.719-11.719s-11.719 5.2461-11.719 11.719c0 2.1289 0.57031 4.1289 1.5625 5.8477v3.5273h-35.938c-0.86328 0-1.5625-0.69922-1.5625-1.5625v-40.625c0-0.86328 0.69922-1.5625 1.5625-1.5625zm-16.406 25.781c4.7461 0 8.5938 3.8477 8.5938 8.5938s-3.8477 8.5938-8.5938 8.5938-8.5938-3.8477-8.5938-8.5938 3.8477-8.5938 8.5938-8.5938zm-38.281 5.4688c-0.86328 0-1.5625 0.69922-1.5625 1.5625s0.69922 1.5625 1.5625 1.5625h17.969c0.86328 0 1.5625-0.69922 1.5625-1.5625s-0.69922-1.5625-1.5625-1.5625zm0-11.719c-0.86328 0-1.5625 0.69922-1.5625 1.5625s0.69922 1.5625 1.5625 1.5625h22.266c0.86328 0 1.5625-0.69922 1.5625-1.5625s-0.69922-1.5625-1.5625-1.5625zm14.844-10.938c-0.86328 0-1.5625 0.69922-1.5625 1.5625s0.69922 1.5625 1.5625 1.5625h16.016c0.86328 0 1.5625-0.69922 1.5625-1.5625s-0.69922-1.5625-1.5625-1.5625z"],[1,"module-item"],["type","button",1,"expand-button","module-expand-corner"],[1,"module-header",3,"click"],[1,"module-left"],[1,"module-number"],[1,"module-info"],[1,"module-title-container"],[1,"expand-button"],["d","M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z"],[1,"module-title","text-uppercase"],[1,"module-meta"],[1,"meta-lessons"],["width","100pt","height","100pt","version","1.1","viewBox","0 0 100 100","xmlns","http://www.w3.org/2000/svg"],["d","m14 29c4.9688 0 9-4.0312 9-9s-4.0312-9-9-9-9 4.0312-9 9 4.0312 9 9 9zm0 60c4.9688 0 9-4.0312 9-9s-4.0312-9-9-9-9 4.0312-9 9 4.0312 9 9 9zm9-39c0 4.9688-4.0312 9-9 9s-9-4.0312-9-9 4.0312-9 9-9 9 4.0312 9 9zm15-39c-4.9688 0-9 4.0312-9 9s4.0312 9 9 9h48c4.9688 0 9-4.0312 9-9s-4.0312-9-9-9zm-9 39c0-4.9688 4.0312-9 9-9h48c4.9688 0 9 4.0312 9 9s-4.0312 9-9 9h-48c-4.9688 0-9-4.0312-9-9zm9 21c-4.9688 0-9 4.0312-9 9s4.0312 9 9 9h48c4.9688 0 9-4.0312 9-9s-4.0312-9-9-9z","fill-rule","evenodd"],[1,"module-description"],[1,"module-right"],[1,"module-action",3,"class"],[1,"module-content"],[1,"module-content-inner"],[1,"lectures-list"],[1,"lecture-item","mat-elevation-z2","link",3,"class"],["type","button",1,"expand-button","module-expand-corner",3,"click"],["d","M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"],["d","M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z"],[1,"module-action",3,"click"],["d","M8,5.14V19.14L19,12.14L8,5.14Z"],[1,"lecture-item","mat-elevation-z2","link",3,"click"],[1,"lecture-status"],["width","48","height","48","version","1.1","viewBox","0 0 100 100","xmlns","http://www.w3.org/2000/svg","fill","#fff"],["viewBox","0 0 24 24","fill","currentColor","width","48","height","48"],[1,"lecture-info"],[1,"lecture-title-container"],[1,"lecture-title","text-uppercase"],[1,"lecture-description"],["d","m59.668 29.469c0-2.0078-1.5625-3.4688-3.2891-3.4688h-40.09c-1.7266 0-3.2891 1.4609-3.2891 3.4688v41.062c0 2.0078 1.5625 3.4688 3.2891 3.4688h40.09c1.7266 0 3.2891-1.4609 3.2891-3.4688v-7.0039c0-1.3672 0.69531-2.6367 1.8516-3.3711 1.1523-0.73438 2.5977-0.83203 3.8359-0.25391l17.516 8.1719c1.0273 0.47656 2.1992 0.40234 3.0781-0.042969 0.51562-0.25781 1.0078-0.66406 1.0508-1.2695v-33.523c0-0.28906-0.16406-0.82812-1.0508-1.2695-0.87891-0.44531-2.0508-0.51953-3.0781-0.042969l-17.516 8.168c-1.2383 0.57812-2.6836 0.48438-3.8359-0.25-1.1562-0.73438-1.8516-2.0078-1.8516-3.375zm8 0.72266 11.82-5.5156c3.3906-1.5781 7.1328-1.3281 10.055 0.14453 2.9219 1.4648 5.457 4.4258 5.457 8.418v33.523c-0.078125 3.6484-2.2148 6.7891-5.457 8.418-2.9219 1.4727-6.6641 1.7227-10.055 0.14453l-11.82-5.5156v0.72266c0 6.2422-4.9648 11.469-11.289 11.469h-40.09c-6.3242 0-11.289-5.2266-11.289-11.469v-41.062c0-6.2422 4.9648-11.469 11.289-11.469h40.09c6.3242 0 11.289 5.2266 11.289 11.469z"],["d","m78 38h-26c-2.2109 0-4 1.7891-4 4s1.7891 4 4 4h26c2.2109 0 4-1.7891 4-4s-1.7891-4-4-4z"],["d","m78 21h-19c-2.2109 0-4 1.7891-4 4s1.7891 4 4 4h19c2.2109 0 4-1.7891 4-4s-1.7891-4-4-4z"],["d","m22 63h25c2.2109 0 4-1.7891 4-4s-1.7891-4-4-4h-25c-2.2109 0-4 1.7891-4 4s1.7891 4 4 4z"],["d","m22 80h25c2.2109 0 4-1.7891 4-4s-1.7891-4-4-4h-25c-2.2109 0-4 1.7891-4 4s1.7891 4 4 4z"],["d","m81.371 56.82c-0.65625-1.0156-1.7383-1.6797-2.9414-1.8047-1.2031-0.125-2.3945 0.29688-3.25 1.1562l-5.1797 5.1797-5.1797-5.1797c-0.83984-0.83984-2.0078-1.2656-3.1875-1.1602-1.1836 0.10547-2.2578 0.73047-2.9336 1.707-1.0898 1.6836-0.82422 3.9023 0.62891 5.2812l5 5-5.1016 5.1016h0.003907c-1.375 1.3359-1.625 3.457-0.60156 5.0781 0.65625 1.0156 1.7383 1.6797 2.9414 1.8047 1.2031 0.125 2.3945-0.29688 3.25-1.1562l5.1797-5.1797 5.1797 5.1797c0.83984 0.83984 2.0078 1.2656 3.1875 1.1602 1.1836-0.10547 2.2578-0.73047 2.9336-1.707 1.0898-1.6797 0.83203-3.8984-0.62109-5.2812l-5-5 5.1016-5.1016c1.3711-1.3398 1.6172-3.457 0.58984-5.0781z"],["d","m19.172 37.328 5.2891 5.2891v0.003906c2.5039 2.5 6.5625 2.5 9.0703 0l12.297-12.293c1.5664-1.5625 1.5664-4.0938 0-5.6562-1.5625-1.5664-4.0938-1.5664-5.6562 0l-11.172 11.168-4.1719
1-4.1719v0.003906c-1.5625-1.5664-4.0938-1.5664-5.6562 0-1.5664 1.5625-1.5664 4.0938 0 5.6562z"],[1,"red-fg"],["mat-raised-button","","routerLink","/pages/lms/courses",1,"red","btn-larger"]],template:function(c,a){c&1&&(t(0,"div",0),g(1,"page-header",1),s(2,J,17,7,"div",2),s(3,K,5,0,"div",3),s(4,Q,15,2,"div",4),s(5,fe,10,3,"div",5),o()),c&2&&(i(),x("title",a.courseData==null?null:a.courseData.name)("hideBanner",!0),i(),d(a.courseData&&!a.loading&&!a.error?2:-1),i(),d(a.loading?3:-1),i(),d(a.error?4:-1),i(),d(!a.loading&&!a.error?5:-1))},dependencies:[j,B,G,A],styles:['.course-container[_ngcontent-%COMP%]{width:100%;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:2rem 0 4rem}.course-header[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto 4rem;padding:0 40px}@media(max-width:968px){.course-header[_ngcontent-%COMP%]{padding:0 20px;margin-bottom:3rem}}.header-content[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:.95rem;margin-bottom:2rem;flex-wrap:wrap}.header-content[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb-link[_ngcontent-%COMP%]{color:#3b82f6;text-decoration:none;transition:all .3s ease;display:flex;align-items:center;gap:.35rem;font-weight:500}.header-content[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb-link[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:16px;height:16px}.header-content[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb-link[_ngcontent-%COMP%]:hover{color:#2563eb;text-decoration:underline}.header-content[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb-separator[_ng
1content-%COMP%]{color:#94a3b8;font-weight:600}.header-content[_ngcontent-%COMP%] .breadcrumb[_ngcontent-%COMP%] .breadcrumb-current[_ngcontent-%COMP%]{color:#475569;font-weight:600}.header-main[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 350px;gap:3rem;align-items:start}@media(max-width:1100px){.header-main[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2rem}}.course-info[_ngcontent-%COMP%] .course-badge[_ngcontent-%COMP%]{display:inline-block;background:linear-gradient(135deg,#b30202,#8b0000);color:#fff;padding:.4rem 1.25rem;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;box-shadow:0 4px 12px #b302024d}.course-info[_ngcontent-%COMP%] .course-title[_ngcontent-%COMP%]{font-size:3rem;font-weight:800;color:#212529;margin-bottom:1rem;line-height:1.1;letter-spacing:-.02em}@media(max-width:968px){.course-info[_ngcontent-%COMP%] .course-title[_ngcontent-%COMP%]{font-size:2.5rem}}@media(max-width:640px){.course-info[_ngcontent-%COMP%] .course-title[_ngcontent-%COMP%]{font-size:2rem}}.course-info[_ngcontent-%COMP%] .course-description[_ngcontent-%COMP%]{font-size:1.15rem;color:#495057;line-height:1.7;margin-bottom:2.5rem;max-width:700px}.course-stats[_ngcontent-%COMP%]{display:flex;gap:1.5rem;flex-wrap:wrap}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;background:#fff;padding:1rem 1.5rem;border-radius:16px;box-shadow:0 4px 20px #00000014;border:2px solid transparent;transition:all .3s ease}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f;border-color:#b3020233}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon.modules[_ngcontent-%COMP%]{background:linear-gradient(135deg,#b30202,#8b0000)}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon.modules.completed[_ngcontent-%COMP%]{background:linear-gradient(135deg,#10b981,#059669)}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon.duration[_ngcontent-%COMP%]{background:linear-gradient(135deg,#113989,#0a2351)}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon.progress[_ngcontent-%COMP%]{background:linear-gradient(135deg,#10b981,#059669)}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon.certificate[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f59e0b,#d97706)}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:32px;height:32px;color:#fff}.course-stats[_ngcontent-%COMP%] .stat-card.certificate[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid rgba(245,158,11,.3)}.course-stats[_ngcontent-%COMP%] .stat-card.certificate[_ngcontent-%COMP%]:hover{border-color:#f59e0b80;box-shadow:0 8px 30px #f59e0b33}.course-stats[_ngcontent-%COMP%] .stat-card.certificate[_ngcontent-%COMP%] .certificate-link[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit}.course-stats[_ngcontent-%COMP%] .stat-card.certificate[_ngcontent-%COMP%] .certificate-link[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{color:#b45309;font-weight:600}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%]{display:flex;flex-direction:column}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-number[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;color:#212529;line-height:1}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-size:.8rem;color:#6c757d;margin-top:.25rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.progress-card[_ngcontent-%COMP%]{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 8px 32px #00000014;border:2px solid transparent;transition:all .3s ease;position:sticky;top:2rem}.progress-card[_ngcontent-%COMP%]:hover{border-color:#b3020233}@media(max-width:1100px){.progress-card[_ngcontent-%COMP%]{position:relative;top:0}}.progress-card[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%]{text-align:center;margin-bottom:2rem}.progress-card[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700;color:#212529;margin:0 0 2rem}.progress-card[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-circle[_ng
1content-%COMP%]{position:relative;width:120px;height:120px;margin:0 auto}.progress-card[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-circle[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{transform:rotate(-90deg);width:120px;height:120px}.progress-card[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-circle[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .progress-ring-bg[_ngcontent-%COMP%]{fill:none;stroke:#e9ecef;stroke-width:8}.progress-card[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-circle[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] .progress-ring-fill[_ngcontent-%COMP%]{fill:none;stroke:green;stroke-width:8;stroke-linecap:round;stroke-dasharray:360;transition:stroke-dashoffset .5s ease}.progress-card[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-circle[_ngcontent-%COMP%] .progress-text[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-card[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-circle[_ngcontent-%COMP%] .progress-text[_ngcontent-%COMP%] .progress-percentage[_ngcontent-%COMP%]{font-size:1.75rem;font-weight:800;color:#212529;line-height:1}.progress-card[_ngcontent-%COMP%] .progress-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.progress-card[_ngcontent-%COMP%] .progress-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.progress-card[_ngcontent-%COMP%] .progress-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#6c757d}.progress-card[_ngcontent-%COMP%] .progress-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#212529;font-weight:600}svg[_ngcontent-%COMP%] defs[_ngcontent-%COMP%] linearGradient[_ngcontent-%COMP%] stop[_ngcontent-%COMP%]:first-child{stop-color:#b30202}svg[_ngcontent-%COMP%] defs[_ngcontent-%COMP%] linearGradient[_ngcontent-%COMP%] stop[_ngcontent-%COMP%]:last-child{stop-color:#8b0000}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#6c757d;margin-top:1.5rem;font-size:1.1rem;font-weight:500}.loading-spinner[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:50px;height:50px;border:4px solid #e9ecef;border-top:4px solid #b30202;border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;max-width:500px;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 8px 32px #00000014}.error-icon[_ngcontent-%COMP%]{width:80px;height:80px;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;box-shadow:0 8px 24px #ef44444d}.error-icon[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:40px;height:40px;color:#fff}.error-title[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;color:#212529;margin-bottom:.5rem}.error-message[_ngcontent-%COMP%]{color:#6c757d;margin-bottom:2rem;line-height:1.6}.error-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.error-actions[_ngcontent-%COMP%] .retry-button[_ngcontent-%COMP%], .error-actions[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none}.error-actions[_ngcontent-%COMP%] .retry-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], .error-actions[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:20px;height:20px}.error-actions[_ngcontent-%COMP%] .retry-button[_ngcontent-%COMP%]{background:linear-gradient(135deg,#b30202,#8b0000);color:#fff;border:none;box-shadow:0 6px 20px #b302024d}.error-actions[_ngcontent-%COMP%] .retry-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #b3020266}.error-actions[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{background:#fff;color:#6c757d;border:2px solid #e9ecef;box-shadow:0 4px 12px #0000000d}.error-actions[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a;color:#495057;border-color:#dee2e6}.curriculum-section[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto;padding:0 40px}@media(max-width:968px){.curriculum-section[_ngcontent-%COMP%]{padding:0 20px}}.section-header[_ngcontent-%COMP%]{text-align:center;margin-bottom:3rem}@media(max-width:640px){.section-header[_ngcontent-%COMP%]{margin-bottom:2rem}}.section-header[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:2.5rem;font-weight:800;color:#212529;margin-bottom:.5rem;letter-spacing:-.02em}@media(max-width:968px){.section-header[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:2rem}}@media(max-width:640px){.section-header[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:1.75rem}}.section-header[_ngcontent-%COMP%] .section-subtitle[_ngcontent-%COMP%]{font-size:1.15rem;color:#6c757d;margin:0}.modules-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.module-item[_ngcontent-%COMP%]{position:relative;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:all .3s ease;border:2px solid transparent}.module-item[_ngcontent-%COMP%]:hover{box-shadow:0 8px 30px #0000001f;border-color:#b3020226}.module-item.completed[_ngcontent-%COMP%]{border-color:#10b9814d}.module-item.completed[_ngcontent-%COMP%] .module-number[_ngcontent-%COMP%]{background:linear-gradient(135deg,#10b981,#059669)}.module-item.in-progress[_ngcontent-%COMP%]{border-color:#f59e0b4d}.module-item.in-progress[_ngcontent-%COMP%] .module-number[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f59e0b,#d97706)}.module-item.enrolled[_ngcontent-%COMP%]{border-color:#b302024d}.module-item.enrolled[_ngcontent-%COMP%] .module-number[_ngcontent-%COMP%]{background:linear-gradient(135deg,#b30202,#8b0000)}.module-item.locked[_ngcontent-%COMP%]{opacity:.6}.module-item.locked[_ngcontent-%COMP%] .module-header[_ngcontent-%COMP%]{cursor:not-allowed}.module-item.locked[_ngcontent-%COMP%] .module-number[_ngcontent-%COMP%]{background:linear-gradient(135deg,#6c757d,#495057)}.module-item.expanded[_ngcontent-%COMP%] .expand-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{transform:rotate(180deg)}.module-expand-corner[_ngcontent-%COMP%]{position:absolute;top:1rem;right:1rem;z-index:2}@media(max-width:640px){.module-expand-corner[_ngcontent-%COMP%]{top:.75rem;right:.75rem}}.module-header[_ngcontent-%COMP%]{padding:1.75rem 4.5rem 1.75rem 2rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease}.module-header[_ngcontent-%COMP%]:hover{background:#fafbfc}@media(max-width:640px){.module-header[_ngcontent-%COMP%]{padding:3.25rem 1.25rem 1.5rem;flex-direction:column;gap:1rem;align-items:flex-start}}.module-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.5rem;flex:1}@media(max-width:640px){.module-left[_ngcontent-%COMP%]{width:100%}}.module-number[_ngcontent-%COMP%]{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.25rem;flex-shrink:0;box-shadow:0 6px 20px #b302024d}.module-number[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:28px;height:28px}@media(max-width:640px){.module-number[_ngcontent-%COMP%]{width:48px;height:48px;font-size:1.1rem}.module-number[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:24px;height:24px}}.module-info[_ngcontent-%COMP%]{flex:1}.module-info[_ngcontent-%COMP%] .module-title-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.module-info[_ngcontent-%COMP%] .module-title[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700;color:#212529;line-height:1.3;margin-bottom:0}@media(max-width:640px){.module-info[_ngcontent-%COMP%] .module-title[_ngcontent-%COMP%]{font-size:1.1rem}}.module-info[_ngcontent-%COMP%] .module-meta[_ngcontent-%COMP%]{margin-top:0;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.module-info[_ngcontent-%COMP%] .module-meta[_ngcontent-%COMP%] .meta-duration[_ngcontent-%COMP%], .module-info[_ngcontent-%COMP%] .module-meta[_ngcontent-%COMP%] .meta-lessons[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;color:#6c757d;font-size:.9rem;font-weight:500}.module-info[_ngcontent-%COMP%] .module-meta[_ngcontent-%COMP%] .meta-duration[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], .module-info[_ngcontent-%COMP%] .module-meta[_ngcontent-%COMP%] .meta-lessons[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:16px;height:16px;color:#adb5bd}.module-right[_ngcontent-%COMP%]{padding:1rem}@media(max-width:640px){.module-right[_ngcontent-%COMP%]{width:100%}}.module-action[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;
1gap:.5rem;padding:.75rem 1rem;min-width:120px;color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #b302024d}.module-action.in-progress[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f59e0b,#d97706)}.module-action.completed[_ngcontent-%COMP%]{background:linear-gradient(135deg,#10b981,#059669)}.module-action.enrolled[_ngcontent-%COMP%]{background:linear-gradient(135deg,#b30202,#8b0000)}.module-action[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #b3020266}.module-action[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:18px;height:18px}@media(max-width:640px){.module-action[_ngcontent-%COMP%]{flex:1;justify-content:center}}.expand-button[_ngcontent-%COMP%]{width:40px;height:40px;background:#f8f9fa;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.expand-button[_ngcontent-%COMP%]:hover{background:#e9ecef}.expand-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:20px;height:20px;color:#495057;transition:transform .3s ease}.expand-button[_ngcontent-%COMP%] svg.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.module-content[_ngcontent-%COMP%]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.module-content-inner[_ngcontent-%COMP%]{overflow:hidden;min-height:0}.module-item.expanded[_ngcontent-%COMP%] .module-content[_ngcontent-%COMP%]{grid-template-rows:1fr}.lectures-list[_ngcontent-%COMP%]{padding:0 2rem 1.5rem;background:#fafbfc}@media(max-width:640px){.lectures-list[_ngcontent-%COMP%]{padding:0 1.25rem 1.25rem}}.lecture-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:12px;margin-bottom:.75rem;transition:all .3s ease;border:2px solid transparent}.lecture-item.completed[_ngcontent-%COMP%]{border-color:#10b981;background-color:#10b98111}.lecture-item.completed[_ngcontent-%COMP%] .lecture-status[_ngcontent-%COMP%]{background:#10b981}.lecture-item.inProgress[_ngcontent-%COMP%]{border-color:#f59e0b;background-color:#f59e0b11}.lecture-item.inProgress[_ngcontent-%COMP%] .lecture-status[_ngcontent-%COMP%]{background:#f59e0b}.lecture-item.locked[_ngcontent-%COMP%]{opacity:.7;background-color:#6c757d11;border-color:#6c757d;cursor:not-allowed}.lecture-item.locked[_ngcontent-%COMP%] .lecture-status[_ngcontent-%COMP%]{background:#6c757d}.lecture-item[_ngcontent-%COMP%]:hover{transform:translate(8px);box-shadow:0 4px 12px #00000014;border-color:#b3020233}.lecture-item[_ngcontent-%COMP%]:last-child{margin-bottom:0}.lecture-item[_ngcontent-%COMP%] .lecture-status[_ngcontent-%COMP%]{width:42px;height:42px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.lecture-item[_ngcontent-%COMP%] .lecture-status[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:32px;height:32px}.lecture-item[_ngcontent-%COMP%] .lecture-info[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.lecture-item[_ngcontent-%COMP%] .lecture-info[_ngcontent-%COMP%] .lecture-title-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.lecture-item[_ngcontent-%COMP%] .lecture-info[_ngcontent-%COMP%] .lecture-title[_ngcontent-%COMP%]{font-size:.95rem;font-weight:600;color:#212529}.lecture-item[_ngcontent-%COMP%] .lecture-info[_ngcontent-%COMP%] .lecture-duration[_ngcontent-%COMP%]{font-size:.85rem;color:#6c757d;font-weight:500}.module-description[_ngcontent-%COMP%]{padding:1.5rem 2rem 2rem;background:#fafbfc;border-top:1px solid #e9ecef}@media(max-width:640px){.module-description[_ngcontent-%COMP%]{padding:1.25rem 1.25rem 1.5rem}}.module-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#495057;line-height:1.7;margin:0;font-size:.95rem}@media(max-width:640px){.course-stats[_ngcontent-%COMP%]{flex-direction:column}.course-stats[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]{width:100%}.error-actions[_ngcontent-%COMP%]{flex-direction:column;width:100%}.error-actions[_ngcontent-%COMP%] .retry-button[_ngcontent-%COMP%], .error-actions[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{width:100%;justify-content:center}}.certificate-badge-container[_ngcontent-%COMP%]{display:flex;justify-content:center;padding:2rem 1rem 3rem;margin-bottom:2rem}.certificate-plaque[_ngcontent-%COMP%]{position:relative;width:100%;max-width:420px;border-radius:4px;padding:4px;box-shadow:0 20px 50px #0000001f,0 0 0 1px #10b98133,inset 0 1px #ffffffe6;overflow:hidden}.certificate-plaque[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,185,129,.08) 0%,transparent 50%,rgba(16,185,129,.05) 100%);border-radius:20px;pointer-events:none}.plaque-shine[_ngcontent-%COMP%]{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.4) 45%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.4) 55%,transparent 60%);animation:_ngcontent-%COMP%_shine 4s ease-in-out infinite;pointer-events:none}@keyframes _ngcontent-%COMP%_shine{0%,to{transform:translate(-30%) translateY(-30%) rotate(45deg)}50%{transform:translate(30%) translateY(30%) rotate(45deg)}}.plaque-border[_ngcontent-%COMP%]{position:relative}.plaque-border[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:6px;border:2px dashed rgba(16,185,129,.25);border-radius:12px;pointer-events:none}.plaque-inner[_ngcontent-%COMP%]{background:linear-gradient(180deg,#fff,#fafbfc);border-radius:14px;padding:2.5rem 2rem;text-align:center;position:relative;overflow:hidden}.plaque-inner[_ngcontent-%COMP%]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.4),transparent)}.plaque-inner[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.4),transparent)}.ribbon-banner[_ngcontent-%COMP%]{position:absolute;top:30px;right:-35px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:6px 40px;font-size:.65rem;font-weight:800;letter-spacing:1.5px;transform:rotate(45deg);box-shadow:0 4px 15px #10b98166}.ribbon-banner[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-shadow:0 1px 2px rgba(0,0,0,.2)}.ribbon-banner[_ngcontent-%COMP%]:before, .ribbon-banner[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-6px;border:6px solid transparent;border-top-color:#047857}.ribbon-banner[_ngcontent-%COMP%]:before{left:0;border-left-color:#047857}.ribbon-banner[_ngcontent-%COMP%]:after{right:0;border-right-color:#047857}.badge-icon[_ngcontent-%COMP%]{position:relative;width:110px;height:110px;margin:.5rem auto 1rem;display:flex;align-items:center;justify-content:center}.badge-icon[_ngcontent-%COMP%] .course-badge-img[_ngcontent-%COMP%]{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(16,185,129,.3));position:relative;z-index:2;border-radius:8px}.badge-icon[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(16,185,129,.1) 0%,transparent 70%);border-radius:50%}.badge-icon[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:5px;border:2px solid rgba(16,185,129,.2);border-radius:50%;animation:_ngcontent-%COMP%_pulse-ring 2s ease-out infinite}.badge-glow[_ngcontent-%COMP%]{position:absolute;width:130px;height:130px;background:radial-gradient(circle,rgba(16,185,129,.12) 0%,transparent 60%);border-radius:50%;animation:_ngcontent-%COMP%_glow-pulse 3s ease-in-out infinite}@keyframes _ngcontent-%COMP%_pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.4);opacity:0}
1}@keyframes _ngcontent-%COMP%_glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.trophy-stars[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:.75rem;margin-bottom:1rem}.trophy-stars[_ngcontent-%COMP%] .star[_ngcontent-%COMP%]{color:#f59e0b;font-size:1.25rem;text-shadow:0 0 8px rgba(245,158,11,.4);animation:_ngcontent-%COMP%_star-twinkle 1.5s ease-in-out infinite}.trophy-stars[_ngcontent-%COMP%] .star.large[_ngcontent-%COMP%]{font-size:1.75rem;animation-delay:.3s}.trophy-stars[_ngcontent-%COMP%] .star[_ngcontent-%COMP%]:first-child{animation-delay:0s}.trophy-stars[_ngcontent-%COMP%] .star[_ngcontent-%COMP%]:last-child{animation-delay:.6s}@keyframes _ngcontent-%COMP%_star-twinkle{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.plaque-title[_ngcontent-%COMP%]{font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:700;color:#212529;margin:0 0 .5rem;letter-spacing:1px}.plaque-subtitle[_ngcontent-%COMP%]{font-size:.95rem;color:#10b981;margin:0;font-weight:600;letter-spacing:.5px}.plaque-divider[_ngcontent-%COMP%]{margin:1.5rem 0;display:flex;align-items:center;justify-content:center;gap:1rem}.plaque-divider[_ngcontent-%COMP%]:before, .plaque-divider[_ngcontent-%COMP%]:after{content:"";flex:1;height:1px;max-width:80px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.3),transparent)}.plaque-divider[_ngcontent-%COMP%] .divider-ornament[_ngcontent-%COMP%]{color:#10b981;font-size:.8rem;opacity:.8}.certificate-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#10b981,#059669,#10b981);background-size:200% 200%;color:#fff;border:none;padding:.875rem 2rem;border-radius:30px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #10b98159,inset 0 1px #fff3;text-transform:uppercase;letter-spacing:1px;animation:_ngcontent-%COMP%_gradient-shift 3s ease infinite}.certificate-btn[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:32px;height:32px}.certificate-btn[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:0 10px 30px #10b98173,inset 0 1px #ffffff4d}.certificate-btn[_ngcontent-%COMP%]:active{transform:translateY(-1px)}@keyframes _ngcontent-%COMP%_gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.corner-ornament[_ngcontent-%COMP%]{position:absolute;width:30px;height:30px;pointer-events:none}.corner-ornament[_ngcontent-%COMP%]:before, .corner-ornament[_ngcontent-%COMP%]:after{content:"";position:absolute;background:linear-gradient(135deg,#10b981,#059669);opacity:.5}.corner-ornament[_ngcontent-%COMP%]:before{width:20px;height:2px}.corner-ornament[_ngcontent-%COMP%]:after{width:2px;height:20px}.corner-ornament.top-left[_ngcontent-%COMP%]{top:15px;left:15px}.corner-ornament.top-left[_ngcontent-%COMP%]:before{top:0;left:0}.corner-ornament.top-left[_ngcontent-%COMP%]:after{top:0;left:0}.corner-ornament.top-right[_ngcontent-%COMP%]{top:15px;right:15px}.corner-ornament.top-right[_ngcontent-%COMP%]:before{top:0;right:0}.corner-ornament.top-right[_ngcontent-%COMP%]:after{top:0;right:0}.corner-ornament.bottom-left[_ngcontent-%COMP%]{bottom:15px;left:15px}.corner-ornament.bottom-left[_ngcontent-%COMP%]:before{bottom:0;left:0}.corner-ornament.bottom-left[_ngcontent-%COMP%]:after{bottom:0;left:0}.corner-ornament.bottom-right[_ngcontent-%COMP%]{bottom:15px;right:15px}.corner-ornament.bottom-right[_ngcontent-%COMP%]:before{bottom:0;right:0}.corner-ornament.bottom-right[_ngcontent-%COMP%]:after{bottom:0;right:0}@media(max-width:480px){.certificate-plaque[_ngcontent-%COMP%]{max-width:100%}.plaque-inner[_ngcontent-%COMP%]{padding:2rem 1.5rem}.plaque-title[_ngcontent-%COMP%]{font-size:1.5rem}.badge-icon[_ngcontent-%COMP%]{width:90px;height:90px}.badge-icon[_ngcontent-%COMP%] .course-badge-img[_ngcontent-%COMP%]{width:65px;height:65px}.certificate-btn[_ngcontent-%COMP%]{padding:.75rem 1.5rem;font-size:.9rem}.ribbon-banner[_ngcontent-%COMP%]{font-size:.55rem;padding:5px 35px;right:-38px;top:15px}}']})}return n})();export{ke as CourseComponent};
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.