1import{$ as zm,$a as Vc,$b as qc,A as Tt,Aa as pr,Ab as Pa,Ac as hg,B as Be,Ba as ho,Bb as xo,Bc as Cg,C as li,Ca as Co,Cb as bo,Cc as H,D as kc,Da as jm,Db as oe,Dc as vg,E as Ic,Ea as qm,Eb as a,Ec as Mg,F as wn,Fa as Wm,Fb as O,Fc as Da,G as Im,Ga as $m,Gb as w,Gc as Wc,H as Vi,Ha as Hm,Hb as G,Hc as Ra,I as di,Ia as Gm,Ib as dn,Ic as Po,J as Fc,Ja as Zm,Jb as ig,K as Fm,Ka as Ui,Kb as D,L as Dm,La as Bn,Lb as R,M as Dc,Ma as ae,Mb as z,N as Ca,Na as ji,Nb as Ft,O as gt,Oa as qt,Ob as B,P as mi,Pa as Ym,Pb as un,Q as ft,Qa as Km,Qb as qi,R as st,Ra as Ac,Rb as og,S as kt,Sa as ur,Sb as rg,T as te,Ta as c,Tb as ag,U as tn,Ua as T,Ub as ze,V as Rm,Va as xa,Vb as Xn,W as tt,Wa as Qm,Wb as Xe,X as Rc,Xa as ba,Xb as sg,Y as Q,Ya as Jn,Yb as Se,Z as ge,Za as Lc,Zb as Oa,_ as zc,_a as It,_b as ya,a as J,aa as mr,ab as Jm,ac as wa,b as ye,ba as Lt,bb as ht,bc as Sa,ca as V,cb as _r,cc as Ea,d as Hf,da as nn,db as Xm,dc as pi,e as Li,ea as qe,eb as Bc,ec as cg,f as q,fa as Nm,fb as fr,fc as Rn,g as wm,ga as Bi,gb as h,gc as lg,h as Sm,ha as Am,hb as ot,hc as Wi,i as uo,ia as gi,ib as m,ic as dg,j as Sc,ja as Vn,jb as vo,jc as mg,k as Ec,ka as Mt,kb as I,kc as _t,l as yn,la as v,lb as ct,lc as gg,m as At,ma as M,mb as r,mc as hr,n as ci,na as fo,nb as o,nc as pg,o as jt,oa as va,ob as _,oc as ug,p as Ce,pa as Zt,pb as Me,pc as Cr,q as en,qa as Lm,qb as xe,qc as Ta,r as Em,ra as gr,rb as Uc,rc as xt,s as Tm,sa as Nc,sb as E,sc as X,t as _e,ta as Ze,tb as b,tc as $,u as _o,ua as it,ub as p,uc as ka,v as pn,va as Vm,vb as eg,vc as Ia,w as dr,wa as Ma,wb as jc,wc as _g,x as ha,xa as Bm,xb as tg,xc as fg,y as Tc,ya as Qn,yb as Mo,yc as Fa,z as km,za as Um,zb as ng,zc as mn}from"./chunk-XTQUL2AD.js";var vi=Hf((gs,Ap)=>{"use strict";(function(t,s){typeof gs=="object"&&typeof Ap<"u"?s(gs):typeof define=="function"&&define.amd?define(["exports"],s):(t=typeof globalThis<"u"?globalThis:t||self,s(t.leaflet={}))})(gs,function(t){"use strict";var s="1.9.4";function e(l){var g,f,C,P;for(f=1,C=arguments.length;f<C;f++){P=arguments[f];for(g in P)l[g]=P[g]}return l}var n=Object.create||function(){function l(){}return function(g){return l.prototype=g,new l}}();function i(l,g){var f=Array.prototype.slice;if(l.bind)return l.bind.apply(l,f.call(arguments,1));var C=f.call(arguments,2);return function(){return l.apply(g,C.length?C.concat(f.call(arguments)):arguments)}}var d=0;function u(l){return"_leaflet_id"in l||(l._leaflet_id=++d),l._leaflet_id}function x(l,g,f){var C,P,S,F;return F=function(){C=!1,P&&(S.apply(f,P),P=!1)},S=function(){C?P=arguments:(l.apply(f,arguments),setTimeout(F,g),C=!0)},S}function y(l,g,f){var C=g[1],P=g[0],S=C-P;return l===C&&f?l:((l-P)%S+S)%S+P}function k(){return!1}function W(l,g){if(g===!1)return l;var f=Math.pow(10,g===void 0?6:g);return Math.round(l*f)/f}function U(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function Y(l){return U(l).split(/\s+/)}function le(l,g){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?n(l.options):{});for(var f in g)l.options[f]=g[f];return l.options}function ce(l,g,f){var C=[];for(var P in l)C.push(encodeURIComponent(f?P.toUpperCase():P)+"="+encodeURIComponent(l[P]));return(!g||g.indexOf("?")===-1?"?":"&")+C.join("&")}var we=/\{ *([\w_ -]+) *\}/g;function ee(l,g){return l.replace(we,function(f,C){var P=g[C];if(P===void 0)throw new Error("No value provided for variable "+f);return typeof P=="function"&&(P=P(g)),P})}var Ue=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function Ht(l,g){for(var f=0;f<l.length;f++)if(l[f]===g)return f;return-1}var nt="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function Bt(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var me=0;function Mn(l){var g=+new Date,f=Math.max(0,16-(g-me));return me=g+f,window.setTimeout(l,f)}var In=window.requestAnimationFrame||Bt("RequestAnimationFrame")||Mn,io=window.cancelAnimationFrame||Bt("CancelAnimationFrame")||Bt("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function an(l,g,f){if(f&&In===Mn)l.call(g);else return In.call(window,i(l,g))}function xn(l){l&&io.call(window,l)}var v_={__proto__:null,extend:e,create:n,bind:i,get lastId(){return d},stamp:u,throttle:x,wrapNum:y,falseFn:k,formatNum:W,trim:U,splitWords:Y,setOptions:le,getParamString:ce,template:ee,isArray:Ue,indexOf:Ht,emptyImageUrl:nt,requestFn:In,cancelFn:io,requestAnimFrame:an,cancelAnimFrame:xn};function $n(){}$n.extend=function(l){var g=function(){le(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},f=g.__super__=this.prototype,C=n(f);C.constructor=g,g.prototype=C;for(var P in this)Object.prototype.hasOwnProperty.call(this,P)&&P!=="prototype"&&P!=="__super__"&&(g[P]=this[P]);return l.statics&&e(g,l.statics),l.includes&&(M_(l.includes),e.apply(null,[C].concat(l.includes))),e(C,l),delete C.statics,delete C.includes,C.options&&(C.options=f.o
1ptions?n(f.options):{},e(C.options,l.options)),C._initHooks=[],C.callInitHooks=function(){if(!this._initHooksCalled){f.callInitHooks&&f.callInitHooks.call(this),this._initHooksCalled=!0;for(var S=0,F=C._initHooks.length;S<F;S++)C._initHooks[S].call(this)}},g},$n.include=function(l){var g=this.prototype.options;return e(this.prototype,l),l.options&&(this.prototype.options=g,this.mergeOptions(l.options)),this},$n.mergeOptions=function(l){return e(this.prototype.options,l),this},$n.addInitHook=function(l){var g=Array.prototype.slice.call(arguments,1),f=typeof l=="function"?l:function(){this[l].apply(this,g)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(f),this};function M_(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=Ue(l)?l:[l];for(var g=0;g<l.length;g++)l[g]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var gn={on:function(l,g,f){if(typeof l=="object")for(var C in l)this._on(C,l[C],g);else{l=Y(l);for(var P=0,S=l.length;P<S;P++)this._on(l[P],g,f)}return this},off:function(l,g,f){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var C in l)this._off(C,l[C],g);else{l=Y(l);for(var P=arguments.length===1,S=0,F=l.length;S<F;S++)P?this._off(l[S]):this._off(l[S],g,f)}return this},_on:function(l,g,f,C){if(typeof g!="function"){console.warn("wrong listener type: "+typeof g);return}if(this._listens(l,g,f)===!1){f===this&&(f=void 0);var P={fn:g,ctx:f};C&&(P.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(P)}},_off:function(l,g,f){var C,P,S;if(this._events&&(C=this._events[l],!!C)){if(arguments.length===1){if(this._firingCount)for(P=0,S=C.length;P<S;P++)C[P].fn=k;delete this._events[l];return}if(typeof g!="function"){console.warn("wrong listener type: "+typeof g);return}var F=this._listens(l,g,f);if(F!==!1){var A=C[F];this._firingCount&&(A.fn=k,this._events[l]=C=C.slice()),C.splice(F,1)}}},fire:function(l,g,f){if(!this.listens(l,f))return this;var C=e({},g,{type:l,target:this,sourceTarget:g&&g.sourceTarget||this});if(this._events){var P=this._events[l];if(P){this._firingCount=this._firingCount+1||1;for(var S=0,F=P.length;S<F;S++){var A=P[S],j=A.fn;A.once&&this.off(l,j,A.ctx),j.call(A.ctx||this,C)}this._firingCount--}}return f&&this._propagateEvent(C),this},listens:function(l,g,f,C){typeof l!="string"&&console.warn('"string" type argument expected');var P=g;typeof g!="function"&&(C=!!g,P=void 0,f=void 0);var S=this._events&&this._events[l];if(S&&S.length&&this._listens(l,P,f)!==!1)return!0;if(C){for(var F in this._eventParents)if(this._eventParents[F].listens(l,g,f,C))return!0}return!1},_listens:function(l,g,f){if(!this._events)return!1;var C=this._events[l]||[];if(!g)return!!C.length;f===this&&(f=void 0);for(var P=0,S=C.length;P<S;P++)if(C[P].fn===g&&C[P].ctx===f)return P;return!1},once:function(l,g,f){if(typeof l=="object")for(var C in l)this._on(C,l[C],g,!0);else{l=Y(l);for(var P=0,S=l.length;P<S;P++)this._on(l[P],g,f,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[u(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[u(l)],this},_propagateEvent:function(l){for(var g in this._eventParents)this._eventParents[g].fire(l.type,e({layer:l.target,propagatedFrom:l.target},l),!0)}};gn.addEventListener=gn.on,gn.removeEventListener=gn.clearAllEventListeners=gn.off,gn.addOneTimeEventListener=gn.once,gn.fireEvent=gn.fire,gn.hasEventListeners=gn.listens;var Yo=$n.extend(gn);function De(l,g,f){this.x=f?Math.round(l):l,this.y=f?Math.round(g):g}var _d=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};De.prototype={clone:function(){return new De(this.x,this.y)},add:function(l){return this.clone()._add(Ie(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Ie(l))},_subtract:function(l){return this.x-=l.x,this.y-=l.y,this},divideBy:function(l){return this.clone()._divideBy(l)},_divideBy:function(l){return this.x/=l,this.y/=l,this},multiplyBy:function(l){return this.clone()._multiplyBy(l)},_multiplyBy:function(l){return this.x*=l,this.y*=l,this},scaleBy:function(l){return new De(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new De(this.x/l.x,this.y/l.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=_d(this.x),this.y=_d(this.y),this},distanceTo:function(l){l=Ie(l);var g=l.x-this.x,f=l.y-this.y;return Math.sqrt(g*g+f*f)},equals:function(l){return l=Ie(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Ie(l),Math.abs(l.x)<=Math.abs(this.x)&&Math.abs(l.
1y)<=Math.abs(this.y)},toString:function(){return"Point("+W(this.x)+", "+W(this.y)+")"}};function Ie(l,g,f){return l instanceof De?l:Ue(l)?new De(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new De(l.x,l.y):new De(l,g,f)}function Ct(l,g){if(l)for(var f=g?[l,g]:l,C=0,P=f.length;C<P;C++)this.extend(f[C])}Ct.prototype={extend:function(l){var g,f;if(!l)return this;if(l instanceof De||typeof l[0]=="number"||"x"in l)g=f=Ie(l);else if(l=sn(l),g=l.min,f=l.max,!g||!f)return this;return!this.min&&!this.max?(this.min=g.clone(),this.max=f.clone()):(this.min.x=Math.min(g.x,this.min.x),this.max.x=Math.max(f.x,this.max.x),this.min.y=Math.min(g.y,this.min.y),this.max.y=Math.max(f.y,this.max.y)),this},getCenter:function(l){return Ie((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Ie(this.min.x,this.max.y)},getTopRight:function(){return Ie(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(l){var g,f;return typeof l[0]=="number"||l instanceof De?l=Ie(l):l=sn(l),l instanceof Ct?(g=l.min,f=l.max):g=f=l,g.x>=this.min.x&&f.x<=this.max.x&&g.y>=this.min.y&&f.y<=this.max.y},intersects:function(l){l=sn(l);var g=this.min,f=this.max,C=l.min,P=l.max,S=P.x>=g.x&&C.x<=f.x,F=P.y>=g.y&&C.y<=f.y;return S&&F},overlaps:function(l){l=sn(l);var g=this.min,f=this.max,C=l.min,P=l.max,S=P.x>g.x&&C.x<f.x,F=P.y>g.y&&C.y<f.y;return S&&F},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var g=this.min,f=this.max,C=Math.abs(g.x-f.x)*l,P=Math.abs(g.y-f.y)*l;return sn(Ie(g.x-C,g.y-P),Ie(f.x+C,f.y+P))},equals:function(l){return l?(l=sn(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function sn(l,g){return!l||l instanceof Ct?l:new Ct(l,g)}function cn(l,g){if(l)for(var f=g?[l,g]:l,C=0,P=f.length;C<P;C++)this.extend(f[C])}cn.prototype={extend:function(l){var g=this._southWest,f=this._northEast,C,P;if(l instanceof dt)C=l,P=l;else if(l instanceof cn){if(C=l._southWest,P=l._northEast,!C||!P)return this}else return l?this.extend(Ke(l)||wt(l)):this;return!g&&!f?(this._southWest=new dt(C.lat,C.lng),this._northEast=new dt(P.lat,P.lng)):(g.lat=Math.min(C.lat,g.lat),g.lng=Math.min(C.lng,g.lng),f.lat=Math.max(P.lat,f.lat),f.lng=Math.max(P.lng,f.lng)),this},pad:function(l){var g=this._southWest,f=this._northEast,C=Math.abs(g.lat-f.lat)*l,P=Math.abs(g.lng-f.lng)*l;return new cn(new dt(g.lat-C,g.lng-P),new dt(f.lat+C,f.lng+P))},getCenter:function(){return new dt((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new dt(this.getNorth(),this.getWest())},getSouthEast:function(){return new dt(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(l){typeof l[0]=="number"||l instanceof dt||"lat"in l?l=Ke(l):l=wt(l);var g=this._southWest,f=this._northEast,C,P;
1return l instanceof cn?(C=l.getSouthWest(),P=l.getNorthEast()):C=P=l,C.lat>=g.lat&&P.lat<=f.lat&&C.lng>=g.lng&&P.lng<=f.lng},intersects:function(l){l=wt(l);var g=this._southWest,f=this._northEast,C=l.getSouthWest(),P=l.getNorthEast(),S=P.lat>=g.lat&&C.lat<=f.lat,F=P.lng>=g.lng&&C.lng<=f.lng;return S&&F},overlaps:function(l){l=wt(l);var g=this._southWest,f=this._northEast,C=l.getSouthWest(),P=l.getNorthEast(),S=P.lat>g.lat&&C.lat<f.lat,F=P.lng>g.lng&&C.lng<f.lng;return S&&F},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,g){return l?(l=wt(l),this._southWest.equals(l.getSouthWest(),g)&&this._northEast.equals(l.getNorthEast(),g)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function wt(l,g){return l instanceof cn?l:new cn(l,g)}function dt(l,g,f){if(isNaN(l)||isNaN(g))throw new Error("Invalid LatLng object: ("+l+", "+g+")");this.lat=+l,this.lng=+g,f!==void 0&&(this.alt=+f)}dt.prototype={equals:function(l,g){if(!l)return!1;l=Ke(l);var f=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return f<=(g===void 0?1e-9:g)},toString:function(l){return"LatLng("+W(this.lat,l)+", "+W(this.lng,l)+")"},distanceTo:function(l){return ri.distance(this,Ke(l))},wrap:function(){return ri.wrapLatLng(this)},toBounds:function(l){var g=180*l/40075017,f=g/Math.cos(Math.PI/180*this.lat);return wt([this.lat-g,this.lng-f],[this.lat+g,this.lng+f])},clone:function(){return new dt(this.lat,this.lng,this.alt)}};function Ke(l,g,f){return l instanceof dt?l:Ue(l)&&typeof l[0]!="object"?l.length===3?new dt(l[0],l[1],l[2]):l.length===2?new dt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new dt(l.lat,"lng"in l?l.lng:l.lon,l.alt):g===void 0?null:new dt(l,g,f)}var Hn={latLngToPoint:function(l,g){var f=this.projection.project(l),C=this.scale(g);return this.transformation._transform(f,C)},pointToLatLng:function(l,g){var f=this.scale(g),C=this.transformation.untransform(l,f);return this.projection.unproject(C)},project:function(l){return this.projection.project(l)},unproject:function(l){return this.projection.unproject(l)},scale:function(l){return 256*Math.pow(2,l)},zoom:function(l){return Math.log(l/256)/Math.LN2},getProjectedBounds:function(l){if(this.infinite)return null;var g=this.projection.bounds,f=this.scale(l),C=this.transformation.transform(g.min,f),P=this.transformation.transform(g.max,f);return new Ct(C,P)},infinite:!1,wrapLatLng:function(l){var g=this.wrapLng?y(l.lng,this.wrapLng,!0):l.lng,f=this.wrapLat?y(l.lat,this.wrapLat,!0):l.lat,C=l.alt;return new dt(f,g,C)},wrapLatLngBounds:function(l){var g=l.getCenter(),f=this.wrapLatLng(g),C=g.lat-f.lat,P=g.lng-f.lng;if(C===0&&P===0)return l;
1var S=l.getSouthWest(),F=l.getNorthEast(),A=new dt(S.lat-C,S.lng-P),j=new dt(F.lat-C,F.lng-P);return new cn(A,j)}},ri=e({},Hn,{wrapLng:[-180,180],R:6371e3,distance:function(l,g){var f=Math.PI/180,C=l.lat*f,P=g.lat*f,S=Math.sin((g.lat-l.lat)*f/2),F=Math.sin((g.lng-l.lng)*f/2),A=S*S+Math.cos(C)*Math.cos(P)*F*F,j=2*Math.atan2(Math.sqrt(A),Math.sqrt(1-A));return this.R*j}}),fd=6378137,Gs={R:fd,MAX_LATITUDE:85.0511287798,project:function(l){var g=Math.PI/180,f=this.MAX_LATITUDE,C=Math.max(Math.min(f,l.lat),-f),P=Math.sin(C*g);return new De(this.R*l.lng*g,this.R*Math.log((1+P)/(1-P))/2)},unproject:function(l){var g=180/Math.PI;return new dt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*g,l.x*g/this.R)},bounds:function(){var l=fd*Math.PI;return new Ct([-l,-l],[l,l])}()};function Zs(l,g,f,C){if(Ue(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=g,this._c=f,this._d=C}Zs.prototype={transform:function(l,g){return this._transform(l.clone(),g)},_transform:function(l,g){return g=g||1,l.x=g*(this._a*l.x+this._b),l.y=g*(this._c*l.y+this._d),l},untransform:function(l,g){return g=g||1,new De((l.x/g-this._b)/this._a,(l.y/g-this._d)/this._c)}};function Ko(l,g,f,C){return new Zs(l,g,f,C)}var Ys=e({},ri,{code:"EPSG:3857",projection:Gs,transformation:function(){var l=.5/(Math.PI*Gs.R);return Ko(l,.5,-l,.5)}()}),x_=e({},Ys,{code:"EPSG:900913"});function hd(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function Cd(l,g){var f="",C,P,S,F,A,j;for(C=0,S=l.length;C<S;C++){for(A=l[C],P=0,F=A.length;P<F;P++)j=A[P],f+=(P?"L":"M")+j.x+" "+j.y;f+=g?ve.svg?"z":"x":""}return f||"M0 0"}var Ks=document.documentElement.style,Jr="ActiveXObject"in window,b_=Jr&&!document.addEventListener,vd="msLaunchUri"in navigator&&!("documentMode"in document),Qs=zn("webkit"),Md=zn("android"),xd=zn("android 2")||zn("android 3"),P_=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),O_=Md&&zn("Google")&&P_<537&&!("AudioNode"in window),Js=!!window.opera,bd=!vd&&zn("chrome"),Pd=zn("gecko")&&!Qs&&!Js&&!Jr,y_=!bd&&zn("safari"),Od=zn("phantom"),yd="OTransition"in Ks,w_=navigator.platform.indexOf("Win")===0,wd=Jr&&"transition"in Ks,Xs="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!xd,Sd="MozPerspective"in Ks,S_=!window.L_DISABLE_3D&&(wd||Xs||Sd)&&!yd&&!Od,Qo=typeof orientation<"u"||zn("mobile"),E_=Qo&&Qs,T_=Qo&&Xs,Ed=!window.PointerEvent&&window.MSPointerEvent,Td=!!(window.PointerEvent||Ed),kd="ontouchstart"in window||!!window.TouchEvent,k_=!window.L_NO_TOUCH&&(kd||Td),I_=Qo&&Js,F_=Qo&&Pd,D_=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,R_=function(){var l=!1;try{var g=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",k,g),window.removeEventListener("testPassiveEventSupport",k,g)}catch{}return l}(),z_=function(){return!!document.createElement("canvas").getContext}(),ec=!!(document.createElementNS&&hd("svg").createSVGRect),N_=!!ec&&function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),A_=!ec&&function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var g=l.firstChild;return g.style.behavior="url(#default#VML)",g&&typeof g.adj=="object"}catch{return!1}}(),L_=navigator.platform.indexOf("Mac")===0,V_=navigator.platform.indexOf("Linux")===0;function zn(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var ve={ie:Jr,ielt9:b_,edge:vd,webkit:Qs,android:Md,android23:xd,androidStock:O_,opera:Js,chrome:bd,gecko:Pd,safari:y_,phantom:Od,opera12:yd,win:w_,ie3d:wd,webkit3d:Xs,gecko3d:Sd,any3d:S_,mobile:Qo,mobileWebkit:E_,mobileWebkit3d:T_,msPointer:Ed,pointer:Td,touch:k_,touchNative:kd,mobileOpera:I_,mobileGecko:F_,retina:D_,passiveEvents:R_,canvas:z_,svg:ec,vml:A_,inlineSvg:N_,mac:L_,linux:V_},Id=ve.msPointer?"MSPointerDown":"pointerdown",Fd=ve.msPointer?"MSPointerMove":"pointermove",Dd=ve.msPointer?"MSPointerUp":"pointerup",Rd=ve.msPointer?"MSPointerCancel":"pointercancel",tc={touchstart:Id,touchmove:Fd,touchend:Dd,touchcancel:Rd},zd={touchstart:$_,touchmove:Xr,touchend:Xr,touchcancel:Xr},oo={},Nd=!1;function B_(l,g,f){return g==="touchstart"&&W_(),zd[g]?(f=zd[g].bind(this,f),l.addEventListener(tc[g],f,!1),f):(console.warn("wrong event specified:",g),k)}function U_(l,g,f){if(!tc[g]){console.warn("wrong event specified:",g);return}l.removeEventListener(tc[g],f,!1)}function j_(l){oo[l.pointerId]=l}function q_(l){oo[l.pointerId]&&(oo[l.pointerId]=l)}function Ad(l){delete oo[l.pointerId]}function W_(){Nd||(document.addEventListener(Id,j_,!0),document.addEventListener(Fd,q_,!0),document.addEventListener(
1Dd,Ad,!0),document.addEventListener(Rd,Ad,!0),Nd=!0)}function Xr(l,g){if(g.pointerType!==(g.MSPOINTER_TYPE_MOUSE||"mouse")){g.touches=[];for(var f in oo)g.touches.push(oo[f]);g.changedTouches=[g],l(g)}}function $_(l,g){g.MSPOINTER_TYPE_TOUCH&&g.pointerType===g.MSPOINTER_TYPE_TOUCH&&Gt(g),Xr(l,g)}function H_(l){var g={},f,C;for(C in l)f=l[C],g[C]=f&&f.bind?f.bind(l):f;return l=g,g.type="dblclick",g.detail=2,g.isTrusted=!1,g._simulated=!0,g}var G_=200;function Z_(l,g){l.addEventListener("dblclick",g);var f=0,C;function P(S){if(S.detail!==1){C=S.detail;return}if(!(S.pointerType==="mouse"||S.sourceCapabilities&&!S.sourceCapabilities.firesTouchEvents)){var F=jd(S);if(!(F.some(function(j){return j instanceof HTMLLabelElement&&j.attributes.for})&&!F.some(function(j){return j instanceof HTMLInputElement||j instanceof HTMLSelectElement}))){var A=Date.now();A-f<=G_?(C++,C===2&&g(H_(S))):C=1,f=A}}}return l.addEventListener("click",P),{dblclick:g,simDblclick:P}}function Y_(l,g){l.removeEventListener("dblclick",g.dblclick),l.removeEventListener("click",g.simDblclick)}var nc=na(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Jo=na(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ld=Jo==="webkitTransition"||Jo==="OTransition"?Jo+"End":"transitionend";function Vd(l){return typeof l=="string"?document.getElementById(l):l}function Xo(l,g){var f=l.style[g]||l.currentStyle&&l.currentStyle[g];if((!f||f==="auto")&&document.defaultView){var C=document.defaultView.getComputedStyle(l,null);f=C?C[g]:null}return f==="auto"?null:f}function et(l,g,f){var C=document.createElement(l);return C.className=g||"",f&&f.appendChild(C),C}function vt(l){var g=l.parentNode;g&&g.removeChild(l)}function ea(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function ro(l){var g=l.parentNode;g&&g.lastChild!==l&&g.appendChild(l)}function ao(l){var g=l.parentNode;g&&g.firstChild!==l&&g.insertBefore(l,g.firstChild)}function ic(l,g){if(l.classList!==void 0)return l.classList.contains(g);var f=ta(l);return f.length>0&&new RegExp("(^|\\s)"+g+"(\\s|$)").test(f)}function Le(l,g){if(l.classList!==void 0)for(var f=Y(g),C=0,P=f.length;C<P;C++)l.classList.add(f[C]);else if(!ic(l,g)){var S=ta(l);oc(l,(S?S+" ":"")+g)}}function bt(l,g){l.classList!==void 0?l.classList.remove(g):oc(l,U((" "+ta(l)+" ").replace(" "+g+" "," ")))}function oc(l,g){l.className.baseVal===void 0?l.className=g:l.className.baseVal=g}function ta(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function bn(l,g){"opacity"in l.style?l.style.opacity=g:"filter"in l.style&&K_(l,g)}function K_(l,g){var f=!1,C="DXImageTransform.Microsoft.Alpha";try{f=l.filters.item(C)}catch{if(g===1)return}g=Math.round(g*100),f?(f.Enabled=g!==100,f.Opacity=g):l.style.filter+=" progid:"+C+"(opacity="+g+")"}function na(l){for(var g=document.documentElement.style,f=0;f<l.length;f++)if(l[f]in g)return l[f];return!1}function Di(l,g,f){var C=g||new De(0,0);l.style[nc]=(ve.ie3d?"translate("+C.x+"px,"+C.y+"px)":"translate3d("+C.x+"px,"+C.y+"px,0)")+(f?" scale("+f+")":"")}function St(l,g){l._leaflet_pos=g,ve.any3d?Di(l,g):(l.style.left=g.x+"px",l.style.top=g.y+"px")}function Ri(l){return l._leaflet_pos||new De(0,0)}var er,tr,rc;if("onselectstart"in document)er=function(){Re(window,"selectstart",Gt)},tr=function(){ut(window,"selectstart",Gt)};else{var nr=na(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);er=function(){if(nr){var l=document.documentElement.style;rc=l[nr],l[nr]="none"}},tr=function(){nr&&(document.documentElement.style[nr]=rc,rc=void 0)}}function ac(){Re(window,"dragstart",Gt)}function sc(){ut(window,"dragstart",Gt)}var ia,cc;function lc(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(oa(),ia=l,cc=l.style.outlineStyle,l.style.outlineStyle="none",Re(window,"keydown",oa))}function oa(){ia&&(ia.style.outlineStyle=cc,ia=void 0,cc=void 0,ut(window,"keydown",oa))}function Bd(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function dc(l){var g=l.getBoundingClientRect();return{x:g.width/l.offsetWidth||1,y:g.height/l.offsetHeight||1,boundingClientRect:g}}var Q_={__proto__:null,TRANSFORM:nc,TRANSITION:Jo,TRANSITION_END:Ld,get:Vd,getStyle:Xo,create:et,remove:vt,empty:ea,toFront:ro,toBack:ao,hasClass:ic,addClass:Le,removeClass:bt,setClass:oc,getClass:ta,setOpacity:bn,testProp:na,setTransform:Di,setPosition:St,getPosition:Ri,get disableTextSelection(){return er},get enableTextSelection(){return tr},disableImageDrag:ac,enableImageDrag:sc,preventOutline:lc,restoreOutline:oa,getSizedParentNode:Bd,getScale:dc};function Re(l,g,f,C){if(g&&typeof g=="object")for(var P in g)gc(l,P,g[P],f);else{g=Y(g);for(var S=0,F=g.length;S<F;S++)gc(l,g[S],f,C)}return this}var Nn="_leaflet_events";function ut(l,g,f,C){if(arguments.length===1)Ud(l),delete l[Nn];else if(g&&typeof g=="object")for(var P in g)pc(l,P,g[P],f);else if(g=Y(g),arguments.length===2)Ud(l,function(A){return Ht(g,A)!==-1});else for(var S=0,F=g.length;S<F;S++)pc(l,g[S],f,C);return this}function Ud(l,g){for(var f in l[Nn]){var C=f.split(/\d/)[0];(!g||g(C))&&pc(l,C,null,null,f)}}
1var mc={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function gc(l,g,f,C){var P=g+u(f)+(C?"_"+u(C):"");if(l[Nn]&&l[Nn][P])return this;var S=function(A){return f.call(C||l,A||window.event)},F=S;!ve.touchNative&&ve.pointer&&g.indexOf("touch")===0?S=B_(l,g,S):ve.touch&&g==="dblclick"?S=Z_(l,S):"addEventListener"in l?g==="touchstart"||g==="touchmove"||g==="wheel"||g==="mousewheel"?l.addEventListener(mc[g]||g,S,ve.passiveEvents?{passive:!1}:!1):g==="mouseenter"||g==="mouseleave"?(S=function(A){A=A||window.event,_c(l,A)&&F(A)},l.addEventListener(mc[g],S,!1)):l.addEventListener(g,F,!1):l.attachEvent("on"+g,S),l[Nn]=l[Nn]||{},l[Nn][P]=S}function pc(l,g,f,C,P){P=P||g+u(f)+(C?"_"+u(C):"");var S=l[Nn]&&l[Nn][P];if(!S)return this;!ve.touchNative&&ve.pointer&&g.indexOf("touch")===0?U_(l,g,S):ve.touch&&g==="dblclick"?Y_(l,S):"removeEventListener"in l?l.removeEventListener(mc[g]||g,S,!1):l.detachEvent("on"+g,S),l[Nn][P]=null}function zi(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function uc(l){return gc(l,"wheel",zi),this}function ir(l){return Re(l,"mousedown touchstart dblclick contextmenu",zi),l._leaflet_disable_click=!0,this}function Gt(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function Ni(l){return Gt(l),zi(l),this}function jd(l){if(l.composedPath)return l.composedPath();for(var g=[],f=l.target;f;)g.push(f),f=f.parentNode;return g}function qd(l,g){if(!g)return new De(l.clientX,l.clientY);var f=dc(g),C=f.boundingClientRect;return new De((l.clientX-C.left)/f.x-g.clientLeft,(l.clientY-C.top)/f.y-g.clientTop)}var J_=ve.linux&&ve.chrome?window.devicePixelRatio:ve.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Wd(l){return ve.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/J_:l.deltaY&&l.deltaMode===1?-l.deltaY*20:l.deltaY&&l.deltaMode===2?-l.deltaY*60:l.deltaX||l.deltaZ?0:l.wheelDelta?(l.wheelDeltaY||l.wheelDelta)/2:l.detail&&Math.abs(l.detail)<32765?-l.detail*20:l.detail?l.detail/-32765*60:0}function _c(l,g){var f=g.relatedTarget;if(!f)return!0;try{for(;f&&f!==l;)f=f.parentNode}catch{return!1}return f!==l}var X_={__proto__:null,on:Re,off:ut,stopPropagation:zi,disableScrollPropagation:uc,disableClickPropagation:ir,preventDefault:Gt,stop:Ni,getPropagationPath:jd,getMousePosition:qd,getWheelDelta:Wd,isExternalTarget:_c,addListener:Re,removeListener:ut},$d=Yo.extend({run:function(l,g,f,C){this.stop(),this._el=l,this._inProgress=!0,this._duration=f||.25,this._easeOutPower=1/Math.max(C||.5,.2),this._startPos=Ri(l),this._offset=g.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=an(this._animate,this),this._step()},_step:function(l){var g=+new Date-this._startTime,f=this._duration*1e3;g<f?this._runFrame(this._easeOut(g/f),l):(this._runFrame(1),this._complete())},_runFrame:function(l,g){var f=this._startPos.add(this._offset.multiplyBy(l));g&&f._round(),St(this._el,f),this.fire("step")},_complete:function(){xn(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Qe=Yo.extend({options:{crs:Ys,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(l,g){g=le(this,g),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=i(this._onResize,this),this._initEvents(),g.maxBounds&&this.setMaxBounds(g.maxBounds),g.zoom!==void 0&&(this._zoom=this._limitZoom(g.zoom)),g.center&&g.zoom!==void 0&&this.setView(Ke(g.center),g.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Jo&&ve.any3d&&!ve.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Re(this._proxy,Ld,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)}
1,setView:function(l,g,f){if(g=g===void 0?this._zoom:this._limitZoom(g),l=this._limitCenter(Ke(l),g,this.options.maxBounds),f=f||{},this._stop(),this._loaded&&!f.reset&&f!==!0){f.animate!==void 0&&(f.zoom=e({animate:f.animate},f.zoom),f.pan=e({animate:f.animate,duration:f.duration},f.pan));var C=this._zoom!==g?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,g,f.zoom):this._tryAnimatedPan(l,f.pan);if(C)return clearTimeout(this._sizeTimer),this}return this._resetView(l,g,f.pan&&f.pan.noMoveStart),this},setZoom:function(l,g){return this._loaded?this.setView(this.getCenter(),l,{zoom:g}):(this._zoom=l,this)},zoomIn:function(l,g){return l=l||(ve.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,g)},zoomOut:function(l,g){return l=l||(ve.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,g)},setZoomAround:function(l,g,f){var C=this.getZoomScale(g),P=this.getSize().divideBy(2),S=l instanceof De?l:this.latLngToContainerPoint(l),F=S.subtract(P).multiplyBy(1-1/C),A=this.containerPointToLatLng(P.add(F));return this.setView(A,g,{zoom:f})},_getBoundsCenterZoom:function(l,g){g=g||{},l=l.getBounds?l.getBounds():wt(l);var f=Ie(g.paddingTopLeft||g.padding||[0,0]),C=Ie(g.paddingBottomRight||g.padding||[0,0]),P=this.getBoundsZoom(l,!1,f.add(C));if(P=typeof g.maxZoom=="number"?Math.min(g.maxZoom,P):P,P===1/0)return{center:l.getCenter(),zoom:P};
1var S=C.subtract(f).divideBy(2),F=this.project(l.getSouthWest(),P),A=this.project(l.getNorthEast(),P),j=this.unproject(F.add(A).divideBy(2).add(S),P);return{center:j,zoom:P}},fitBounds:function(l,g){if(l=wt(l),!l.isValid())throw new Error("Bounds are not valid.");var f=this._getBoundsCenterZoom(l,g);return this.setView(f.center,f.zoom,g)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,g){return this.setView(l,this._zoom,{pan:g})},panBy:function(l,g){if(l=Ie(l).round(),g=g||{},!l.x&&!l.y)return this.fire("moveend");if(g.animate!==!0&&!this.getSize().contains(l))return this._resetView(this.unproject(this.project(this.getCenter()).add(l)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new $d,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),g.noMoveStart||this.fire("movestart"),g.animate!==!1){Le(this._mapPane,"leaflet-pan-anim");var f=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,f,g.duration||.25,g.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,g,f){if(f=f||{},f.animate===!1||!ve.any3d)return this.setView(l,g,f);this._stop();var C=this.project(this.getCenter()),P=this.project(l),S=this.getSize(),F=this._zoom;l=Ke(l),g=g===void 0?F:g;var A=Math.max(S.x,S.y),j=A*this.getZoomScale(F,g),K=P.distanceTo(C)||1,de=1.42,Ee=de*de;function je(Et){var fa=Et?-1:1,jf=Et?j:A,qf=j*j-A*A+fa*Ee*Ee*K*K,Wf=2*jf*Ee*K,wc=qf/Wf,ym=Math.sqrt(wc*wc+1)-wc,$f=ym<1e-9?-18:Math.log(ym);return $f}function Xt(Et){return(Math.exp(Et)-Math.exp(-Et))/2}function Ut(Et){return(Math.exp(Et)+Math.exp(-Et))/2}function On(Et){return Xt(Et)/Ut(Et)}var ln=je(0);function po(Et){return A*(Ut(ln)/Ut(ln+de*Et))}function Lf(Et){return A*(Ut(ln)*On(ln+de*Et)-Xt(ln))/Ee}function Vf(Et){return 1-Math.pow(1-Et,1.5)}var Bf=Date.now(),Pm=(je(1)-ln)/de,Uf=f.duration?1e3*f.duration:1e3*Pm*.8;function Om(){var Et=(Date.now()-Bf)/Uf,fa=Vf(Et)*Pm;Et<=1?(this._flyToFrame=an(Om,this),this._move(this.unproject(C.add(P.subtract(C).multiplyBy(Lf(fa)/K)),F),this.getScaleZoom(A/po(fa),F),{flyTo:!0})):this._move(l,g)._moveEnd(!0)}return this._moveStart(!0,f.noMoveStart),Om.call(this),this},flyToBounds:function(l,g){var f=this._getBoundsCenterZoom(l,g);return this.flyTo(f.center,f.zoom,g)},setMaxBounds:function(l){return l=wt(l),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),l.isValid()?(this.options.maxBounds=l,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(l){var g=this.options.minZoom;return this.options.minZoom=l,this._loaded&&g!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var g=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&g!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,g){this._enforcingBounds=!0;var f=this.getCenter(),C=this._limitCenter(f,this._zoom,wt(l));return f.equals(C)||this.panTo(C,g),this._enforcingBounds=!1,this},panInside:function(l,g){g=g||{};var f=Ie(g.paddingTopLeft||g.padding||[0,0]),C=Ie(g.paddingBottomRight||g.padding||[0,0]),P=this.project(this.getCenter()),S=this.project(l),F=this.getPixelBounds(),A=sn([F.min.add(f),F.max.subtract(C)]),j=A.getSize();if(!A.contains(S)){this._enforcingBounds=!0;var K=S.subtract(A.getCenter()),de=A.extend(S).getSize().subtract(j);P.x+=K.x<0?-de.x:de.x,P.y+=K.y<0?-de.y:de.y,this.panTo(this.unproject(P),g),this._enforcingBounds=!1}return this},invalidateSize:function(l){if(!this._loaded)return this;l=e({animate:!1,pan:!0},l===!0?{animate:!0}:l);var g=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var f=this.getSize(),C=g.divideBy(2).round(),P=f.divideBy(2).round(),S=C.subtract(P);return!S.x&&!S.y?this:(l.animate&&l.pan?this.panBy(S):(l.pan&&this._rawPanBy(S),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(i(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:g,newSize:f}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()}
1,locate:function(l){if(l=this._locateOptions=e({timeout:1e4,watch:!1},l),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var g=i(this._handleGeolocationResponse,this),f=i(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(g,f,l):navigator.geolocation.getCurrentPosition(g,f,l),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(l){if(this._container._leaflet_id){var g=l.code,f=l.message||(g===1?"permission denied":g===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:g,message:"Geolocation error: "+f+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var g=l.coords.latitude,f=l.coords.longitude,C=new dt(g,f),P=C.toBounds(l.coords.accuracy*2),S=this._locateOptions;if(S.setView){var F=this.getBoundsZoom(P);this.setView(C,S.maxZoom?Math.min(F,S.maxZoom):F)}var A={latlng:C,bounds:P,timestamp:l.timestamp};for(var j in l.coords)typeof l.coords[j]=="number"&&(A[j]=l.coords[j]);this.fire("locationfound",A)}},addHandler:function(l,g){if(!g)return this;var f=this[l]=new g(this);return this._handlers.push(f),this.options[l]&&f.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),vt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(xn(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var l;for(l in this._layers)this._layers[l].remove();for(l in this._panes)vt(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,g){var f="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),C=et("div",f,g||this._mapPane);return l&&(this._panes[l]=C),C},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var l=this.getPixelBounds(),g=this.unproject(l.getBottomLeft()),f=this.unproject(l.getTopRight());return new cn(g,f)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(l,g,f){l=wt(l),f=Ie(f||[0,0]);var C=this.getZoom()||0,P=this.getMinZoom(),S=this.getMaxZoom(),F=l.getNorthWest(),A=l.getSouthEast(),j=this.getSize().subtract(f),K=sn(this.project(A,C),this.project(F,C)).getSize(),de=ve.any3d?this.options.zoomSnap:1,Ee=j.x/K.x,je=j.y/K.y,Xt=g?Math.max(Ee,je):Math.min(Ee,je);return C=this.getScaleZoom(Xt,C),de&&(C=Math.round(C/(de/100))*(de/100),C=g?Math.ceil(C/de)*de:Math.floor(C/de)*de),Math.max(P,Math.min(S,C))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new De(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,g){var f=this._getTopLeftPoint(l,g);return new Ct(f,f.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(l){return this.options.crs.getProjectedBounds(l===void 0?this.getZoom():l)},getPane:function(l){return typeof l=="string"?this._panes[l]:l},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(l,g){var f=this.options.crs;return g=g===void 0?this._zoom:g,f.scale(l)/f.scale(g)},getScaleZoom:function(l,g){var f=this.options.crs;g=g===void 0?this._zoom:g;var C=f.zoom(l*f.scale(g));return isNaN(C)?1/0:C},project:function(l,g){return g=g===void 0?this._zoom:g,this.options.crs.latLngToPoint(Ke(l),g)},unproject:function(l,g){return g=g===void 0?this._zoom:g,this.options.crs.pointToLatLng(Ie(l),g)},layerPointToLatLng:function(l){var g=Ie(l).add(this.getPixelOrigin());return this.unproject(g)},latLngToLayerPoint:function(l){var g=this.project(Ke(l))._round();return g._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Ke(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(wt(l))},distance:function(l,g){return this.options.crs.distance(Ke(l),Ke(g))},containerPointToLayerPoint:function(l){return Ie(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Ie(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var g=this.containerPointToLayerPoint(Ie(l));return this.layerPointToLatLng(g)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Ke(l)))},mouseEventToContainerPoint:function(l){return qd(l,this._container)},mouseEventToLayerPoint:function(l){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(l))},mouseEventToLatLng:function(l){return this.layerPointToLatLng(this.mouseEventToLayerPoint(l))},_initContainer:function(l){var g=this._container=Vd(l);if(g){if(g._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Re(g,"scroll",this._onScroll,this),this._containerId=u(g)}
1,_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&ve.any3d,Le(l,"leaflet-container"+(ve.touch?" leaflet-touch":"")+(ve.retina?" leaflet-retina":"")+(ve.ielt9?" leaflet-oldie":"")+(ve.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var g=Xo(l,"position");g!=="absolute"&&g!=="relative"&&g!=="fixed"&&g!=="sticky"&&(l.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var l=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),St(this._mapPane,new De(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Le(l.markerPane,"leaflet-zoom-hide"),Le(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,g,f){St(this._mapPane,new De(0,0));var C=!this._loaded;this._loaded=!0,g=this._limitZoom(g),this.fire("viewprereset");var P=this._zoom!==g;this._moveStart(P,f)._move(l,g)._moveEnd(P),this.fire("viewreset"),C&&this.fire("load")},_moveStart:function(l,g){return l&&this.fire("zoomstart"),g||this.fire("movestart"),this},_move:function(l,g,f,C){g===void 0&&(g=this._zoom);var P=this._zoom!==g;return this._zoom=g,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),C?f&&f.pinch&&this.fire("zoom",f):((P||f&&f.pinch)&&this.fire("zoom",f),this.fire("move",f)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return xn(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){St(this._mapPane,this._getMapPanePos().subtract(l))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(l){this._targets={},this._targets[u(this._container)]=this;var g=l?ut:Re;g(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&g(window,"resize",this._onResize,this),ve.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){xn(this._resizeRequest),this._resizeRequest=an(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,g){for(var f=[],C,P=g==="mouseout"||g==="mouseover",S=l.target||l.srcElement,F=!1;S;){if(C=this._targets[u(S)],C&&(g==="click"||g==="preclick")&&this._draggableMoved(C)){F=!0;break}if(C&&C.listens(g,!0)&&(P&&!_c(S,l)||(f.push(C),P))||S===this._container)break;S=S.parentNode}return!f.length&&!F&&!P&&this.listens(g,!0)&&(f=[this]),f},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var g=l.target||l.srcElement;if(!(!this._loaded||g._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(g))){var f=l.type;f==="mousedown"&&lc(g),this._fireDOMEvent(l,f)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,g,f){if(l.type==="click"){var C=e({},l);C.type="preclick",this._fireDOMEvent(C,C.type,f)}var P=this._findEventTargets(l,g);if(f){for(var S=[],F=0;F<f.length;F++)f[F].listens(g,!0)&&S.push(f[F]);P=S.concat(P)}if(P.length){g==="contextmenu"&&Gt(l);var A=P[0],j={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var K=A.getLatLng&&(!A._radius||A._radius<=10);j.containerPoint=K?this.latLngToContainerPoint(A.getLatLng()):this.mouseEventToContainerPoint(l),j.layerPoint=this.containerPointToLayerPoint(j.containerPoint),j.latlng=K?A.getLatLng():this.layerPointToLatLng(j.layerPoint)}for(F=0;F<P.length;F++)if(P[F].fire(g,j,!0),j.originalEvent._stopped||P[F].options.bubblingMouseEvents===!1&&Ht(this._mouseEvents,g)!==-1)return}},_draggableMoved:function(l){return l=l.dragging&&l.dragging.enabled()?l:this,l.dragging&&l.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var l=0,g=this._handlers.length;l<g;l++)this._handlers[l].disable()},whenReady:function(l,g){return this._loaded?l.call(g||this,{target:this}):this.on("load",l,g),this},_getMapPanePos:function(){return Ri(this._mapPane)||new De(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,g){var f=l&&g!==void 0?this._getNewPixelOrigin(l,g):this.getPixelOrigin();return f.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,g){var f=this.getSize()._divideBy(2);return this.project(l,g)._subtract(f)._add(this._getMapPanePos())._round()}
vendor: 1,079 bytes, line 1
1,_latLngToNewLayerPoint:function(l,g,f){var C=this._getNewPixelOrigin(f,g);return this.project(l,g)._subtract(C)},_latLngBoundsToNewLayerBounds:function(l,g,f){var C=this._getNewPixelOrigin(f,g);return sn([this.project(l.getSouthWest(),g)._subtract(C),this.project(l.getNorthWest(),g)._subtract(C),this.project(l.getSouthEast(),g)._subtract(C),this.project(l.getNorthEast(),g)._subtract(C)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,g,f){if(!f)return l;var C=this.project(l,g),P=this.getSize().divideBy(2),S=new Ct(C.subtract(P),C.add(P)),F=this._getBoundsOffset(S,f,g);return Math.abs(F.x)<=1&&Math.abs(F.y)<=1?l:this.unproject(C.add(F),g)},_limitOffset:function(l,g){if(!g)return l;var f=this.getPixelBounds(),C=new Ct(f.min.add(l),f.max.add(l));return l.add(this._getBoundsOffset(C,g))},_getBoundsOffset:function(l,g,f){var C=sn(this.project(g.getNorthEast(),f),this.project(g.getSouthWest
1(),f)),P=C.min.subtract(l.min),S=C.max.subtract(l.max),F=this._rebound(P.x,-S.x),A=this._rebound(P.y,-S.y);return new De(F,A)},_rebound:function(l,g){return l+g>0?Math.round(l-g)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(g))},_limitZoom:function(l){var g=this.getMinZoom(),f=this.getMaxZoom(),C=ve.any3d?this.options.zoomSnap:1;return C&&(l=Math.round(l/C)*C),Math.max(g,Math.min(f,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){bt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,g){var f=this._getCenterOffset(l)._trunc();return(g&&g.animate)!==!0&&!this.getSize().contains(f)?!1:(this.panBy(f,g),!0)},_createAnimProxy:function(){var l=this._proxy=et("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(g){var f=nc,C=this._proxy.style[f];Di(this._proxy,this.project(g.center,g.zoom),this.getZoomScale(g.zoom,1)),C===this._proxy.style[f]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){vt(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),g=this.getZoom();Di(this._proxy,this.project(l,g),this.getZoomScale(g,1))},_catchTransitionEnd:function(l){this._animatingZoom&&l.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(l,g,f){if(this._animatingZoom)return!0;if(f=f||{},!this._zoomAnimated||f.animate===!1||this._nothingToAnimate()||Math.abs(g-this._zoom)>this.options.zoomAnimationThreshold)return!1;var C=this.getZoomScale(g),P=this._getCenterOffset(l)._divideBy(1-1/C);return f.animate!==!0&&!this.getSize().contains(P)?!1:(an(function(){this._moveStart(!0,f.noMoveStart||!1)._animateZoom(l,g,!0)},this),!0)},_animateZoom:function(l,g,f,C){this._mapPane&&(f&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=g,Le(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:g,noUpdate:C}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(i(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&bt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function ef(l,g){return new Qe(l,g)}var Fn=$n.extend({options:{position:"topright"},initialize:function(l){le(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var g=this._map;return g&&g.removeControl(this),this.options.position=l,g&&g.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var g=this._container=this.onAdd(l),f=this.getPosition(),C=l._controlCorners[f];return Le(g,"leaflet-control"),f.indexOf("bottom")!==-1?C.insertBefore(g,C.firstChild):C.appendChild(g),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(vt(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(l){this._map&&l&&l.screenX>0&&l.screenY>0&&this._map.getContainer().focus()}}),or=function(l){return new Fn(l)};Qe.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},g="leaflet-",f=this._controlContainer=et("div",g+"control-container",this._container);function C(P,S){var F=g+P+" "+g+S;l[P+S]=et("div",F,f)}C("top","left"),C("top","right"),C("bottom","left"),C("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)vt(this._controlCorners[l]);vt(this._controlContainer),delete this._controlCorners,delete this._controlContainer}}
1);var Hd=Fn.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,g,f,C){return f<C?-1:C<f?1:0}},initialize:function(l,g,f){le(this,f),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var C in l)this._addLayer(l[C],C);for(C in g)this._addLayer(g[C],C,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var g=0;g<this._layers.length;g++)this._layers[g].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return Fn.prototype.addTo.call(this,l),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var l=0;l<this._layers.length;l++)this._layers[l].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(l,g){return this._addLayer(l,g),this._map?this._update():this},addOverlay:function(l,g){return this._addLayer(l,g,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var g=this._getLayer(u(l));return g&&this._layers.splice(this._layers.indexOf(g),1),this._map?this._update():this},expand:function(){Le(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var l=this._map.getSize().y-(this._container.offsetTop+50);return l<this._section.clientHeight?(Le(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):bt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return bt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",g=this._container=et("div",l),f=this.options.collapsed;g.setAttribute("aria-haspopup",!0),ir(g),uc(g);var C=this._section=et("section",l+"-list");f&&(this._map.on("click",this.collapse,this),Re(g,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var P=this._layersLink=et("a",l+"-toggle",g);P.href="#",P.title="Layers",P.setAttribute("role","button"),Re(P,{keydown:function(S){S.keyCode===13&&this._expandSafely()},click:function(S){Gt(S),this._expandSafely()}},this),f||this.expand(),this._baseLayersList=et("div",l+"-base",C),this._separator=et("div",l+"-separator",C),this._overlaysList=et("div",l+"-overlays",C),g.appendChild(C)},_getLayer:function(l){for(var g=0;g<this._layers.length;g++)if(this._layers[g]&&u(this._layers[g].layer)===l)return this._layers[g]},_addLayer:function(l,g,f){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:g,overlay:f}),this.options.sortLayers&&this._layers.sort(i(function(C,P){return this.options.sortFunction(C.layer,P.layer,C.name,P.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;ea(this._baseLayersList),ea(this._overlaysList),this._layerControlInputs=[];var l,g,f,C,P=0;for(f=0;f<this._layers.length;f++)C=this._layers[f],this._addItem(C),g=g||C.overlay,l=l||!C.overlay,P+=C.overlay?0:1;return this.options.hideSingleBase&&(l=l&&P>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=g&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var g=this._getLayer(u(l.target)),f=g.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;f&&this._map.fire(f,g)},_createRadioElement:function(l,g){var f='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(g?' checked="checked"':"")+"/>",C=document.createElement("div");return C.innerHTML=f,C.firstChild},_addItem:function(l){var g=document.createElement("label"),f=this._map.hasLayer(l.layer),C;l.overlay?(C=document.createElement("input"),C.type="checkbox",C.className="leaflet-control-layers-selector",C.defaultChecked=f):C=this._createRadioElement("leaflet-base-layers_"+u(this),f),this._layerControlInputs.push(C),C.layerId=u(l.layer),Re(C,"click",this._onInputClick,this);var P=document.createElement("span");P.innerHTML=" "+l.name;var S=document.createElement("span");g.appendChild(S),S.appendChild(C),S.appendChild(P);var F=l.overlay?this._overlaysList:this._baseLayersList;return F.appendChild(g),this._checkDisabledLayers(),g},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,g,f,C=[],P=[];this._handlingClick=!0;for(var S=l.length-1;S>=0;S--)g=l[S],f=this._getLayer(g.layerId).layer,g.checked?C.push(f):g.checked||P.pu
1sh(f);for(S=0;S<P.length;S++)this._map.hasLayer(P[S])&&this._map.removeLayer(P[S]);for(S=0;S<C.length;S++)this._map.hasLayer(C[S])||this._map.addLayer(C[S]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,g,f,C=this._map.getZoom(),P=l.length-1;P>=0;P--)g=l[P],f=this._getLayer(g.layerId).layer,g.disabled=f.options.minZoom!==void 0&&C<f.options.minZoom||f.options.maxZoom!==void 0&&C>f.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,Re(l,"click",Gt),this.expand();var g=this;setTimeout(function(){ut(l,"click",Gt),g._preventClick=!1})}}),tf=function(l,g,f){return new Hd(l,g,f)},fc=Fn.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var g="leaflet-control-zoom",f=et("div",g+" leaflet-bar"),C=this.options;return this._zoomInButton=this._createButton(C.zoomInText,C.zoomInTitle,g+"-in",f,this._zoomIn),this._zoomOutButton=this._createButton(C.zoomOutText,C.zoomOutTitle,g+"-out",f,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),f},onRemove:function(l){l.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(l){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(l.shiftKey?3:1))},_zoomOut:function(l){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(l.shiftKey?3:1))},_createButton:function(l,g,f,C,P){var S=et("a",f,C);return S.innerHTML=l,S.href="#",S.title=g,S.setAttribute("role","button"),S.setAttribute("aria-label",g),ir(S),Re(S,"click",Ni),Re(S,"click",P,this),Re(S,"click",this._refocusOnMap,this),S},_updateDisabled:function(){var l=this._map,g="leaflet-disabled";bt(this._zoomInButton,g),bt(this._zoomOutButton,g),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Le(this._zoomOutButton,g),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Le(this._zoomInButton,g),this._zoomInButton.setAttribute("aria-disabled","true"))}});Qe.mergeOptions({zoomControl:!0}),Qe.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new fc,this.addControl(this.zoomControl))});var nf=function(l){return new fc(l)},Gd=Fn.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var g="leaflet-control-scale",f=et("div",g),C=this.options;return this._addScales(C,g+"-line",f),l.on(C.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),f},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,g,f){l.metric&&(this._mScale=et("div",g,f)),l.imperial&&(this._iScale=et("div",g,f))},_update:function(){var l=this._map,g=l.getSize().y/2,f=l.distance(l.containerPointToLatLng([0,g]),l.containerPointToLatLng([this.options.maxWidth,g]));this._updateScales(f)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var g=this._getRoundNum(l),f=g<1e3?g+" m":g/1e3+" km";this._updateScale(this._mScale,f,g/l)},_updateImperial:function(l){var g=l*3.2808399,f,C,P;g>5280?(f=g/5280,C=this._getRoundNum(f),this._updateScale(this._iScale,C+" mi",C/f)):(P=this._getRoundNum(g),this._updateScale(this._iScale,P+" ft",P/g))},_updateScale:function(l,g,f){l.style.width=Math.round(this.options.maxWidth*f)+"px",l.innerHTML=g},_getRoundNum:function(l){var g=Math.pow(10,(Math.floor(l)+"").length-1),f=l/g;return f=f>=10?10:f>=5?5:f>=3?3:f>=2?2:1,g*f}}),of=function(l){return new Gd(l)},rf='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',hc=Fn.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(ve.inlineSvg?rf+" ":"")+"Leaflet</a>"},initialize:function(l){le(this,l),this._attributions={}}
1,onAdd:function(l){l.attributionControl=this,this._container=et("div","leaflet-control-attribution"),ir(this._container);for(var g in l._layers)l._layers[g].getAttribution&&this.addAttribution(l._layers[g].getAttribution());return this._update(),l.on("layeradd",this._addAttribution,this),this._container},onRemove:function(l){l.off("layeradd",this._addAttribution,this)},_addAttribution:function(l){l.layer.getAttribution&&(this.addAttribution(l.layer.getAttribution()),l.layer.once("remove",function(){this.removeAttribution(l.layer.getAttribution())},this))},setPrefix:function(l){return this.options.prefix=l,this._update(),this},addAttribution:function(l){return l?(this._attributions[l]||(this._attributions[l]=0),this._attributions[l]++,this._update(),this):this},removeAttribution:function(l){return l?(this._attributions[l]&&(this._attributions[l]--,this._update()),this):this},_update:function(){if(this._map){var l=[];for(var g in this._attributions)this._attributions[g]&&l.push(g);var f=[];this.options.prefix&&f.push(this.options.prefix),l.length&&f.push(l.join(", ")),this._container.innerHTML=f.join(' <span aria-hidden="true">|</span> ')}}});Qe.mergeOptions({attributionControl:!0}),Qe.addInitHook(function(){this.options.attributionControl&&new hc().addTo(this)});var af=function(l){return new hc(l)};Fn.Layers=Hd,Fn.Zoom=fc,Fn.Scale=Gd,Fn.Attribution=hc,or.layers=tf,or.zoom=nf,or.scale=of,or.attribution=af;var An=$n.extend({initialize:function(l){this._map=l},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});An.addTo=function(l,g){return l.addHandler(g,this),this};var sf={Events:gn},Zd=ve.touch?"touchstart mousedown":"mousedown",ai=Yo.extend({options:{clickTolerance:3},initialize:function(l,g,f,C){le(this,C),this._element=l,this._dragStartTarget=g||l,this._preventOutline=f},enable:function(){this._enabled||(Re(this._dragStartTarget,Zd,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ai._dragging===this&&this.finishDrag(!0),ut(this._dragStartTarget,Zd,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!ic(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){ai._dragging===this&&this.finishDrag();return}if(!(ai._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(ai._dragging=this,this._preventOutline&&lc(this._element),ac(),er(),!this._moving)){this.fire("down");var g=l.touches?l.touches[0]:l,f=Bd(this._element);this._startPoint=new De(g.clientX,g.clientY),this._startPos=Ri(this._element),this._parentScale=dc(f);var C=l.type==="mousedown";Re(document,C?"mousemove":"touchmove",this._onMove,this),Re(document,C?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var g=l.touches&&l.touches.length===1?l.touches[0]:l,f=new De(g.clientX,g.clientY)._subtract(this._startPoint);!f.x&&!f.y||Math.abs(f.x)+Math.abs(f.y)<this.options.clickTolerance||(f.x/=this._parentScale.x,f.y/=this._parentScale.y,Gt(l),this._moved||(this.fire("dragstart"),this._moved=!0,Le(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Le(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(f),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),St(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){bt(document.body,"leaflet-dragging"),this._lastTarget&&(bt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),ut(document,"mousemove touchmove",this._onMove,this),ut(document,"mouseup touchend touchcancel",this._onUp,this),sc(),tr();var g=this._moved&&this._moving;this._moving=!1,ai._dragging=!1,g&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});
1function Yd(l,g,f){var C,P=[1,4,2,8],S,F,A,j,K,de,Ee,je;for(S=0,de=l.length;S<de;S++)l[S]._code=Ai(l[S],g);for(A=0;A<4;A++){for(Ee=P[A],C=[],S=0,de=l.length,F=de-1;S<de;F=S++)j=l[S],K=l[F],j._code&Ee?K._code&Ee||(je=ra(K,j,Ee,g,f),je._code=Ai(je,g),C.push(je)):(K._code&Ee&&(je=ra(K,j,Ee,g,f),je._code=Ai(je,g),C.push(je)),C.push(j));l=C}return l}function Kd(l,g){var f,C,P,S,F,A,j,K,de;if(!l||l.length===0)throw new Error("latlngs not passed");Pn(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ee=Ke([0,0]),je=wt(l),Xt=je.getNorthWest().distanceTo(je.getSouthWest())*je.getNorthEast().distanceTo(je.getNorthWest());Xt<1700&&(Ee=Cc(l));var Ut=l.length,On=[];for(f=0;f<Ut;f++){var ln=Ke(l[f]);On.push(g.project(Ke([ln.lat-Ee.lat,ln.lng-Ee.lng])))}for(A=j=K=0,f=0,C=Ut-1;f<Ut;C=f++)P=On[f],S=On[C],F=P.y*S.x-S.y*P.x,j+=(P.x+S.x)*F,K+=(P.y+S.y)*F,A+=F*3;A===0?de=On[0]:de=[j/A,K/A];var po=g.unproject(Ie(de));return Ke([po.lat+Ee.lat,po.lng+Ee.lng])}function Cc(l){for(var g=0,f=0,C=0,P=0;P<l.length;P++){var S=Ke(l[P]);g+=S.lat,f+=S.lng,C++}return Ke([g/C,f/C])}var cf={__proto__:null,clipPolygon:Yd,polygonCenter:Kd,centroid:Cc};function Qd(l,g){if(!g||!l.length)return l.slice();var f=g*g;return l=mf(l,f),l=df(l,f),l}function Jd(l,g,f){return Math.sqrt(rr(l,g,f,!0))}function lf(l,g,f){return rr(l,g,f)}function df(l,g){var f=l.length,C=typeof Uint8Array<"u"?Uint8Array:Array,P=new C(f);P[0]=P[f-1]=1,vc(l,P,g,0,f-1);var S,F=[];for(S=0;S<f;S++)P[S]&&F.push(l[S]);return F}function vc(l,g,f,C,P){var S=0,F,A,j;for(A=C+1;A<=P-1;A++)j=rr(l[A],l[C],l[P],!0),j>S&&(F=A,S=j);S>f&&(g[F]=1,vc(l,g,f,C,F),vc(l,g,f,F,P))}function mf(l,g){for(var f=[l[0]],C=1,P=0,S=l.length;C<S;C++)gf(l[C],l[P])>g&&(f.push(l[C]),P=C);return P<S-1&&f.push(l[S-1]),f}var Xd;function em(l,g,f,C,P){var S=C?Xd:Ai(l,f),F=Ai(g,f),A,j,K;for(Xd=F;;){if(!(S|F))return[l,g];if(S&F)return!1;A=S||F,j=ra(l,g,A,f,P),K=Ai(j,f),A===S?(l=j,S=K):(g=j,F=K)}}function ra(l,g,f,C,P){var S=g.x-l.x,F=g.y-l.y,A=C.min,j=C.max,K,de;return f&8?(K=l.x+S*(j.y-l.y)/F,de=j.y):f&4?(K=l.x+S*(A.y-l.y)/F,de=A.y):f&2?(K=j.x,de=l.y+F*(j.x-l.x)/S):f&1&&(K=A.x,de=l.y+F*(A.x-l.x)/S),new De(K,de,P)}function Ai(l,g){var f=0;return l.x<g.min.x?f|=1:l.x>g.max.x&&(f|=2),l.y<g.min.y?f|=4:l.y>g.max.y&&(f|=8),f}function gf(l,g){var f=g.x-l.x,C=g.y-l.y;return f*f+C*C}function rr(l,g,f,C){var P=g.x,S=g.y,F=f.x-P,A=f.y-S,j=F*F+A*A,K;return j>0&&(K=((l.x-P)*F+(l.y-S)*A)/j,K>1?(P=f.x,S=f.y):K>0&&(P+=F*K,S+=A*K)),F=l.x-P,A=l.y-S,C?F*F+A*A:new De(P,S)}function Pn(l){return!Ue(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function tm(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Pn(l)}function nm(l,g){var f,C,P,S,F,A,j,K;if(!l||l.length===0)throw new Error("latlngs not passed");Pn(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var de=Ke([0,0]),Ee=wt(l),je=Ee.getNorthWest().distanceTo(Ee.getSouthWest
1())*Ee.getNorthEast().distanceTo(Ee.getNorthWest());je<1700&&(de=Cc(l));var Xt=l.length,Ut=[];for(f=0;f<Xt;f++){var On=Ke(l[f]);Ut.push(g.project(Ke([On.lat-de.lat,On.lng-de.lng])))}for(f=0,C=0;f<Xt-1;f++)C+=Ut[f].distanceTo(Ut[f+1])/2;if(C===0)K=Ut[0];else for(f=0,S=0;f<Xt-1;f++)if(F=Ut[f],A=Ut[f+1],P=F.distanceTo(A),S+=P,S>C){j=(S-C)/P,K=[A.x-j*(A.x-F.x),A.y-j*(A.y-F.y)];break}var ln=g.unproject(Ie(K));return Ke([ln.lat+de.lat,ln.lng+de.lng])}var pf={__proto__:null,simplify:Qd,pointToSegmentDistance:Jd,closestPointOnSegment:lf,clipSegment:em,_getEdgeIntersection:ra,_getBitCode:Ai,_sqClosestPointOnSegment:rr,isFlat:Pn,_flat:tm,polylineCenter:nm},Mc={project:function(l){return new De(l.lng,l.lat)},unproject:function(l){return new dt(l.y,l.x)},bounds:new Ct([-180,-90],[180,90])},xc={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Ct([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var g=Math.PI/180,f=this.R,C=l.lat*g,P=this.R_MINOR/f,S=Math.sqrt(1-P*P),F=S*Math.sin(C),A=Math.tan(Math.PI/4-C/2)/Math.pow((1-F)/(1+F),S/2);return C=-f*Math.log(Math.max(A,1e-10)),new De(l.lng*g*f,C)},unproject:function(l){for(var g=180/Math.PI,f=this.R,C=this.R_MINOR/f,P=Math.sqrt(1-C*C),S=Math.exp(-l.y/f),F=Math.PI/2-2*Math.atan(S),A=0,j=.1,K;A<15&&Math.abs(j)>1e-7;A++)K=P*Math.sin(F),K=Math.pow((1-K)/(1+K),P/2),j=Math.PI/2-2*Math.atan(S*K)-F,F+=j;return new dt(F*g,l.x*g/f)}},uf={__proto__:null,LonLat:Mc,Mercator:xc,SphericalMercator:Gs},_f=e({},ri,{code:"EPSG:3395",projection:xc,transformation:function(){var l=.5/(Math.PI*xc.R);return Ko(l,.5,-l,.5)}()}),im=e({},ri,{code:"EPSG:4326",projection:Mc,transformation:Ko(1/180,1,-1/180,.5)}),ff=e({},Hn,{projection:Mc,transformation:Ko(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,g){var f=g.lng-l.lng,C=g.lat-l.lat;return Math.sqrt(f*f+C*C)},infinite:!0});Hn.Earth=ri,Hn.EPSG3395=_f,Hn.EPSG3857=Ys,Hn.EPSG900913=x_,Hn.EPSG4326=im,Hn.Simple=ff;var Dn=Yo.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(l){return l.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(l){return l&&l.removeLayer(this),this},getPane:function(l){return this._map.getPane(l?this.options[l]||l:this.options.pane)},addInteractiveTarget:function(l){return this._map._targets[u(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[u(l)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(l){var g=l.target;if(g.hasLayer(this)){if(this._map=g,this._zoomAnimated=g._zoomAnimated,this.getEvents){var f=this.getEvents();g.on(f,this),this.once("remove",function(){g.off(f,this)},this)}this.onAdd(g),this.fire("add"),g.fire("layeradd",{layer:this})}}});Qe.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var g=u(l);return this._layers[g]?this:(this._layers[g]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var g=u(l);return this._layers[g]?(this._loaded&&l.onRemove(this),delete this._layers[g],this._loaded&&(this.fire("layerremove",{layer:l}),l.fire("remove")),l._map=l._mapToAdd=null,this):this},hasLayer:function(l){return u(l)in this._layers},eachLayer:function(l,g){for(var f in this._layers)l.call(g,this._layers[f]);return this},_addLayers:function(l){l=l?Ue(l)?l:[l]:[];for(var g=0,f=l.length;g<f;g++)this.addLayer(l[g])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[u(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var g=u(l);this._zoomBoundLayers[g]&&(delete this._zoomBoundLayers[g],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,g=-1/0,f=this._getZoomSpan();for(var C in this._zoomBoundLayers){var P=this._zoomBoundLayers[C].options;l=P.minZoom===void 0?l:Math.min(l,P.minZoom),g=P.maxZoom===void 0?g:Math.max(g,P.maxZoom)}this._layersMaxZoom=g===-1/0?void 0:g,this._layersMinZoom=l===1/0?void 0:l,f!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZo
1om&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var so=Dn.extend({initialize:function(l,g){le(this,g),this._layers={};var f,C;if(l)for(f=0,C=l.length;f<C;f++)this.addLayer(l[f])},addLayer:function(l){var g=this.getLayerId(l);return this._layers[g]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var g=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[g]&&this._map.removeLayer(this._layers[g]),delete this._layers[g],this},hasLayer:function(l){var g=typeof l=="number"?l:this.getLayerId(l);return g in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var g=Array.prototype.slice.call(arguments,1),f,C;for(f in this._layers)C=this._layers[f],C[l]&&C[l].apply(C,g);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,g){for(var f in this._layers)l.call(g,this._layers[f]);return this},getLayer:function(l){return this._layers[l]},getLayers:function(){var l=[];return this.eachLayer(l.push,l),l},setZIndex:function(l){return this.invoke("setZIndex",l)},getLayerId:function(l){return u(l)}}),hf=function(l,g){return new so(l,g)},Gn=so.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),so.prototype.addLayer.call(this,l),this.fire("layeradd",{layer:l}))},removeLayer:function(l){return this.hasLayer(l)?(l in this._layers&&(l=this._layers[l]),l.removeEventParent(this),so.prototype.removeLayer.call(this,l),this.fire("layerremove",{layer:l})):this},setStyle:function(l){return this.invoke("setStyle",l)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var l=new cn;for(var g in this._layers){var f=this._layers[g];l.extend(f.getBounds?f.getBounds():f.getLatLng())}return l}}),Cf=function(l,g){return new Gn(l,g)},co=$n.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){le(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,g){var f=this._getIconUrl(l);if(!f){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var C=this._createImg(f,g&&g.tagName==="IMG"?g:null);return this._setIconStyles(C,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(C.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),C},_setIconStyles:function(l,g){var f=this.options,C=f[g+"Size"];typeof C=="number"&&(C=[C,C]);var P=Ie(C),S=Ie(g==="shadow"&&f.shadowAnchor||f.iconAnchor||P&&P.divideBy(2,!0));l.className="leaflet-marker-"+g+" "+(f.className||""),S&&(l.style.marginLeft=-S.x+"px",l.style.marginTop=-S.y+"px"),P&&(l.style.width=P.x+"px",l.style.height=P.y+"px")},_createImg:function(l,g){return g=g||document.createElement("img"),g.src=l,g},_getIconUrl:function(l){return ve.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function vf(l){return new co(l)}var ar=co.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(l){return typeof ar.imagePath!="string"&&(ar.imagePath=this._detectIconPath()),(this.options.imagePath||ar.imagePath)+co.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var g=function(f,C,P){var S=C.exec(f);return S&&S[P]};return l=g(l,/^url\((['"])?(.+)\1\)$/,2),l&&g(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=et("div","leaflet-default-icon-path",document.body),g=Xo(l,"background-image")||Xo(l,"backgroundImage");if(document.body.removeChild(l),g=this._stripUrl(g),g)return g;var f=document.querySelector('link[href$="leaflet.css"]');return f?f.href.substring(0,f.href.length-11-1):""}}),om=An.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new ai(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Le(l,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&bt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var g=this._marker,f=g._map,C=this._marker.options.autoPanSpeed,P=this._marker.options.autoPanPadding,S=Ri(g._icon),F=f.getPixelBounds(),A=f.getPixelOrigin(),j=sn(F.min._subtract(A).add(P),F.max._subtract(A).subtract(P));if(!j.contains(S)){var K=Ie((Math.max(j.max.x,S.x)-j.max.x)/(F.max.x-j.max.x)-(Math.min(j.min.x,S.x)-j.min.x)/(F.min.x-j.min.x),(Math.max(j.max.y,S.y)-j.max.y)/(F.max.y-j.max.y)-(Math.min(j.min.y,S.y)-j.min.y)/(F.min.y-j.min.y)).multiplyBy(C);f.panBy(K,{animate:!1}),this._draggable._newPos._add(K),this._draggable._startPos._add(K),St(g._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=an(this._adjustPan.bind(this,l))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(l){this._marker.options.autoPan&&(xn(this._panRequest),this._panRequest=an(this._adjustPan.bind(this,l)))},_onDrag:function(l){var g=this._marker,f=g._shadow,C=Ri(g._icon),P=g._map.layerPointToLatLng(C);f&&St(f,C),g._latlng=P,l.latlng=P,l.oldLatLng=this._oldLatLng,g.fire("move",l).fire("drag",l)}
vendor: 8,108 bytes, line 1
1,_onDragEnd:function(l){xn(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),aa=Dn.extend({options:{icon:new ar,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(l,g){le(this,g),this._latlng=Ke(l)},onAdd:function(l){this._zoomAnimated=this._zoomAnimated&&l.options.markerZoomAnimation,this._zoomAnimated&&l.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(l){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&l.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(l){var g=this._latlng;return this._latlng=Ke(l),this.update(),this.fire("move",{oldLatLng:g,latlng:this._latlng})},setZIndexOffset:function(l){return this.options.zIndexOffset=l,this.update()},getIcon:function(){return this.options.icon},setIcon:function(l){return this.options.icon=l,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var l=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(l)}return this},_initIcon:function(){var l=this.options,g="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),f=l.icon.createIcon(this._icon),C=!1;f!==this._icon&&(this._icon&&this._removeIcon(),C=!0,l.title&&(f.title=l.title),f.tagName==="IMG"&&(f.alt=l.alt||"")),Le(f,g),l.keyboard&&(f.tabIndex="0",f.setAttribute("role","button")),this._icon=f,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Re(f,"focus",this._panOnFocus,this);var P=l.icon.createShadow(this._shadow),S=!1;P!==this._shadow&&(this._removeShadow(),S=!0),P&&(Le(P,g),P.alt=""),this._shadow=P,l.opacity<1&&this._updateOpacity(),C&&this.getPane().appendChild(this._icon),this._initInteraction(),P&&S&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ut(this._icon,"focus",this._panOnFocus,this),vt(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&vt(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&St(this._icon,l),this._shadow&&St(this._shadow,l),this._zIndex=l.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(l){this._icon&&(this._icon.style.zIndex=this._zIndex+l)},_animateZoom:function(l){var g=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(g)},_initInteraction:function(){if(this.options.interactive&&(Le(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),om)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new om(this),l&&this.dragging.enable()}},setOpacity:function(l){return this.options.opacity=l,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var l=this.options.opacity;this._icon&&bn(this._icon,l),this._shadow&&bn(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var g=this.options.icon.options,f=g.iconSize?Ie(g.iconSize):Ie(0,0),C=g.iconAnchor?Ie(g.iconAnchor):Ie(0,0);l.panInside(this._latlng,{paddingTopLeft:C,paddingBottomRight:f.subtract(C)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function Mf(l,g){return new aa(l,g)}var si=Dn.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return le(this,l),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&l&&Object.prototype.hasOwnProperty.call(l,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),sa=si.extend({options:{fill:!0,radius:10},initialize:function(l,g){le(this,g),this._latlng=Ke(l),this._radius=this.options.radius},setLatLng:function(l){var g=this._latlng;return this._latlng=Ke(l),this.redraw(),this.fire("move",{oldLatLng:g,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(l){return this.options.radius=this._radius=l,this.redraw()},getRadius:function(){return this._radius},setStyle:function(l){var g=l&&l.radius||this._radius;return si.prototype.setStyle.call(this,l),this.setRadius(g),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,g=this._radiusY||l,f=this._clickTolerance(),C=[l+f,g+f];this._pxBounds=new Ct(this._point.subtract(C),this._point.add(C))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(l){return l.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function xf(l,g){return new sa(l,g)}var bc=sa.extend({initialize:function(l,g,f){if(typeof g=="number"&&(g=e({},f,{radius:g})),le(this,g),this._latlng=Ke(l),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(l){return this._mRadius=l,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var l=[this._radius,this._radiusY||this._radius];return new cn(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:si.prototype.setStyle,_project:function(){var l=this._latlng.lng,g=this._latlng.lat,f=this._map,C=f.options.crs;if(C.distance===ri.distance){var P=Math.PI/180,S=this._mRadius/ri.R/P,F=f.project([g+S,l]),A=f.project([g-S,l]),j=F.add(A).divideBy(2),K=f.unproject(j).lat,de=Math.acos((Math.cos(S*P)-Math.sin(g*P)*Math.sin(K*P))/(Math.cos(g*P)*Math.cos(K*P)))/P;(isNaN(de)||de===0)&&(de=S/Math.cos(Math.PI/180*g)),this._point=j.subtract(f.getPixelOrigin()),this._radius=isNaN(de)?0:j.x-f.project([K,l-de]).x,this._radiusY=j.y-F.y}else{var Ee=C.unproject(C.project(this._latlng).subtract([this._mRadius,0]));this._point=f.latLngToLayerPoint(this._latlng),this._radius=this._point.x-f.latLngToLayerPoint(Ee).x}this._updateBounds()}});function bf(l,g,f){return new bc(l,g,f)}var Zn=si.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,g){le(this,g),this._setLatLngs(l)},getLatLngs:function(){return this._latlngs},setLatLngs:function(l){return this._setLatLngs(l),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(l){for(var g=1/0,f=null,C=rr,P,S,F=0,A=this._parts.length;F<A;F++)for(var j=this._parts[F],K=1,de=j.length;K<de;K++){P=j[K-1],S=j[K];var Ee=C(l,P,S,!0);Ee<g&&(g=Ee,f=C(l,P,S))}return f&&(f.distance=Math.sqrt(g)),f}
1,getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return nm(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,g){return g=g||this._defaultShape(),l=Ke(l),g.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new cn,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return Pn(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var g=[],f=Pn(l),C=0,P=l.length;C<P;C++)f?(g[C]=Ke(l[C]),this._bounds.extend(g[C])):g[C]=this._convertLatLngs(l[C]);return g},_project:function(){var l=new Ct;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,l),this._bounds.isValid()&&l.isValid()&&(this._rawPxBounds=l,this._updateBounds())},_updateBounds:function(){var l=this._clickTolerance(),g=new De(l,l);this._rawPxBounds&&(this._pxBounds=new Ct([this._rawPxBounds.min.subtract(g),this._rawPxBounds.max.add(g)]))},_projectLatlngs:function(l,g,f){var C=l[0]instanceof dt,P=l.length,S,F;if(C){for(F=[],S=0;S<P;S++)F[S]=this._map.latLngToLayerPoint(l[S]),f.extend(F[S]);g.push(F)}else for(S=0;S<P;S++)this._projectLatlngs(l[S],g,f)},_clipPoints:function(){var l=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}
1var g=this._parts,f,C,P,S,F,A,j;for(f=0,P=0,S=this._rings.length;f<S;f++)for(j=this._rings[f],C=0,F=j.length;C<F-1;C++)A=em(j[C],j[C+1],l,C,!0),A&&(g[P]=g[P]||[],g[P].push(A[0]),(A[1]!==j[C+1]||C===F-2)&&(g[P].push(A[1]),P++))}},_simplifyPoints:function(){for(var l=this._parts,g=this.options.smoothFactor,f=0,C=l.length;f<C;f++)l[f]=Qd(l[f],g)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,g){var f,C,P,S,F,A,j=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(f=0,S=this._parts.length;f<S;f++)for(A=this._parts[f],C=0,F=A.length,P=F-1;C<F;P=C++)if(!(!g&&C===0)&&Jd(l,A[P],A[C])<=j)return!0;return!1}});function Pf(l,g){return new Zn(l,g)}Zn._flat=tm;var lo=Zn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Kd(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var g=Zn.prototype._convertLatLngs.call(this,l),f=g.length;return f>=2&&g[0]instanceof dt&&g[0].equals(g[f-1])&&g.pop(),g},_setLatLngs:function(l){Zn.prototype._setLatLngs.call(this,l),Pn(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Pn(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,g=this.options.weight,f=new De(g,g);if(l=new Ct(l.min.subtract(f),l.max.add(f)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var C=0,P=this._rings.length,S;C<P;C++)S=Yd(this._rings[C],l,!0),S.length&&this._parts.push(S)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var g=!1,f,C,P,S,F,A,j,K;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(S=0,j=this._parts.length;S<j;S++)for(f=this._parts[S],F=0,K=f.length,A=K-1;F<K;A=F++)C=f[F],P=f[A],C.y>l.y!=P.y>l.y&&l.x<(P.x-C.x)*(l.y-C.y)/(P.y-C.y)+C.x&&(g=!g);return g||Zn.prototype._containsPoint.call(this,l,!0)}});function Of(l,g){return new lo(l,g)}var Yn=Gn.extend({initialize:function(l,g){le(this,g),this._layers={},l&&this.addData(l)},addData:function(l){var g=Ue(l)?l:l.features,f,C,P;if(g){for(f=0,C=g.length;f<C;f++)P=g[f],(P.geometries||P.geometry||P.features||P.coordinates)&&this.addData(P);return this}var S=this.options;if(S.filter&&!S.filter(l))return this;var F=ca(l,S);return F?(F.feature=ma(l),F.defaultOptions=F.options,this.resetStyle(F),S.onEachFeature&&S.onEachFeature(l,F),this.addLayer(F)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=e({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(g){this._setLayerStyle(g,l)},this)},_setLayerStyle:function(l,g){l.setStyle&&(typeof g=="function"&&(g=g(l.feature)),l.setStyle(g))}});function ca(l,g){var f=l.type==="Feature"?l.geometry:l,C=f?f.coordinates:null,P=[],S=g&&g.pointToLayer,F=g&&g.coordsToLatLng||Pc,A,j,K,de;if(!C&&!f)return null;switch(f.type){case"Point":return A=F(C),rm(S,l,A,g);case"MultiPoint":for(K=0,de=C.length;K<de;K++)A=F(C[K]),P.push(rm(S,l,A,g));return new Gn(P);case"LineString":case"MultiLineString":return j=la(C,f.type==="LineString"?0:1,F),new Zn(j,g);case"Polygon":case"MultiPolygon":return j=la(C,f.type==="Polygon"?1:2,F),new lo(j,g);case"GeometryCollection":for(K=0,de=f.geometries.length;K<de;K++){var Ee=ca({geometry:f.geometries[K],type:"Feature",properties:l.properties},g);Ee&&P.push(Ee)}return new Gn(P);case"FeatureCollection":for(K=0,de=f.features.length;K<de;K++){var je=ca(f.features[K],g);je&&P.push(je)}return new Gn(P);default:throw new Error("Invalid GeoJSON object.")}}function rm(l,g,f,C){return l?l(g,f):new aa(f,C&&C.markersInheritOptions&&C)}function Pc(l){return new dt(l[1],l[0],l[2])}function la(l,g,f){for(var C=[],P=0,S=l.length,F;P<S;P++)F=g?la(l[P],g-1,f):(f||Pc)(l[P]),C.push(F);return C}function Oc(l,g){return l=Ke(l),l.alt!==void 0?[W(l.lng,g),W(l.lat,g),W(l.alt,g)]:[W(l.lng,g),W(l.lat,g)]}function da(l,g,f,C){for(var P=[],S=0,F=l.length;S<F;S++)P.push(g?da(l[S],Pn(l[S])?0:g-1,f,C):Oc(l[S],C));return!g&&f&&P.length>
10&&P.push(P[0].slice()),P}function mo(l,g){return l.feature?e({},l.feature,{geometry:g}):ma(g)}function ma(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var yc={toGeoJSON:function(l){return mo(this,{type:"Point",coordinates:Oc(this.getLatLng(),l)})}};aa.include(yc),bc.include(yc),sa.include(yc),Zn.include({toGeoJSON:function(l){var g=!Pn(this._latlngs),f=da(this._latlngs,g?1:0,!1,l);return mo(this,{type:(g?"Multi":"")+"LineString",coordinates:f})}}),lo.include({toGeoJSON:function(l){var g=!Pn(this._latlngs),f=g&&!Pn(this._latlngs[0]),C=da(this._latlngs,f?2:g?1:0,!0,l);return g||(C=[C]),mo(this,{type:(f?"Multi":"")+"Polygon",coordinates:C})}}),so.include({toMultiPoint:function(l){var g=[];return this.eachLayer(function(f){g.push(f.toGeoJSON(l).geometry.coordinates)}),mo(this,{type:"MultiPoint",coordinates:g})},toGeoJSON:function(l){var g=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(g==="MultiPoint")return this.toMultiPoint(l);var f=g==="GeometryCollection",C=[];return this.eachLayer(function(P){if(P.toGeoJSON){var S=P.toGeoJSON(l);if(f)C.push(S.geometry);else{var F=ma(S);F.type==="FeatureCollection"?C.push.apply(C,F.features):C.push(F)}}}),f?mo(this,{geometries:C,type:"GeometryCollection"}):{type:"FeatureCollection",features:C}}});function am(l,g){return new Yn(l,g)}var yf=am,ga=Dn.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,g,f){this._url=l,this._bounds=wt(g),le(this,f)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Le(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){vt(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(l){return this.options.opacity=l,this._image&&this._updateOpacity(),this},setStyle:function(l){return l.opacity&&this.setOpacity(l.opacity),this},bringToFront:function(){return this._map&&ro(this._image),this},bringToBack:function(){return this._map&&ao(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=wt(l),this._map&&this._reset(),this},getEvents:function(){var l={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var l=this._url.tagName==="IMG",g=this._image=l?this._url:et("img");if(Le(g,"leaflet-image-layer"),this._zoomAnimated&&Le(g,"leaflet-zoom-animated"),this.options.className&&Le(g,this.options.className),g.onselectstart=k,g.onmousemove=k,g.onload=i(this.fire,this,"load"),g.onerror=i(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(g.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=g.src;return}g.src=this._url,g.alt=this.options.alt},_animateZoom:function(l){var g=this._map.getZoomScale(l.zoom),f=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;Di(this._image,f,g)},_reset:function(){var l=this._image,g=new Ct(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),f=g.getSize();St(l,g.min),l.style.width=f.x+"px",l.style.height=f.y+"px"},_updateOpacity:function(){bn(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var l=this.options.errorOverlayUrl;l&&this._url!==l&&(this._url=l,this._image.src=l)},getCenter:function(){return this._bounds.getCenter()}}),wf=function(l,g,f){return new ga(l,g,f)},sm=ga.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInl
1ine:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",g=this._image=l?this._url:et("video");if(Le(g,"leaflet-image-layer"),this._zoomAnimated&&Le(g,"leaflet-zoom-animated"),this.options.className&&Le(g,this.options.className),g.onselectstart=k,g.onmousemove=k,g.onloadeddata=i(this.fire,this,"load"),l){for(var f=g.getElementsByTagName("source"),C=[],P=0;P<f.length;P++)C.push(f[P].src);this._url=f.length>0?C:[g.src];return}Ue(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(g.style,"objectFit")&&(g.style.objectFit="fill"),g.autoplay=!!this.options.autoplay,g.loop=!!this.options.loop,g.muted=!!this.options.muted,g.playsInline=!!this.options.playsInline;for(var S=0;S<this._url.length;S++){var F=et("source");F.src=this._url[S],g.appendChild(F)}}});function Sf(l,g,f){return new sm(l,g,f)}var cm=ga.extend({_initImage:function(){var l=this._image=this._url;Le(l,"leaflet-image-layer"),this._zoomAnimated&&Le(l,"leaflet-zoom-animated"),this.options.className&&Le(l,this.options.className),l.onselectstart=k,l.onmousemove=k}});function Ef(l,g,f){return new cm(l,g,f)}var Ln=Dn.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,g){l&&(l instanceof dt||Ue(l))?(this._latlng=Ke(l),le(this,g)):(le(this,l),this._source=g),this.options.content&&(this._content=this.options.content)},openOn:function(l){return l=arguments.length?l:this._source._map,l.hasLayer(this)||l.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(l){return this._map?this.close():(arguments.length?this._source=l:l=this._source,this._prepareOpen(),this.openOn(l._map)),this},onAdd:function(l){this._zoomAnimated=l._zoomAnimated,this._container||this._initLayout(),l._fadeAnimated&&bn(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&bn(this._container,1),this.bringToFront(),this.options.interactive&&(Le(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(bn(this._container,0),this._removeTimeout=setTimeout(i(vt,void 0,this._container),200)):vt(this._container),this.options.interactive&&(bt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Ke(l),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(l){return this._content=l,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var l={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ro(this._container),this},bringToBack:function(){return this._map&&ao(this._container),this},_prepareOpen:function(l){var g=this._source;if(!g._map)return!1;if(g instanceof Gn){g=null;var f=this._source._layers;for(var C in f)if(f[C]._map){g=f[C];break}if(!g)return!1;this._source=g}if(!l)if(g.getCenter)l=g.getCenter();else if(g.getLatLng)l=g.getLatLng();else if(g.getBounds)l=g.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(l),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var l=this._contentNode,g=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof g=="string")l.innerHTML=g;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(g)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),g=Ie(this.options.offset),f=this._getAnchor();this._zoomAnimated?St(this._container,l.add(f)):g=g.add(l).add(f);var C=this._containerBottom=-g.y,P=this._containerLeft=-Math.round(this._containerWidth/2)+g.x;this._container.style.bottom=C+"px",this._container.style.left=P+"px"}},_getAnchor:function(){return[0,0]}});Qe.include({_initOverlay:function(l,g,f,C){var P=g;return P instanceof l||(P=new l(C).setContent(g)),f&&P.setLatLng(f),P}}),Dn.include({_initOverlay:function(l,g,f,C){var P=f;return P instanceof l?(le(P,C),P._source=this):(P=g&&!C?g:new l(C,this),P.setContent(f)),P}});var pa=Ln.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(l){return l=arguments.length?l:this._source._map,!l.hasLayer(this)&&l._popup&&l._popup.options.autoClose&&l.removeLayer(l._popup),l._popup=this,Ln.prototype.openOn.call(this,l)},onAdd:function(l){Ln.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof si||this._source.on("preclick",zi))},onRemove:function(l){Ln.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof si||this._source.off("preclick",zi))},getEvents:function(){var l=Ln.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(l.preclick=this.close),this.options.keepInView&&
1(l.moveend=this._adjustPan),l},_initLayout:function(){var l="leaflet-popup",g=this._container=et("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),f=this._wrapper=et("div",l+"-content-wrapper",g);if(this._contentNode=et("div",l+"-content",f),ir(g),uc(this._contentNode),Re(g,"contextmenu",zi),this._tipContainer=et("div",l+"-tip-container",g),this._tip=et("div",l+"-tip",this._tipContainer),this.options.closeButton){var C=this._closeButton=et("a",l+"-close-button",g);C.setAttribute("role","button"),C.setAttribute("aria-label","Close popup"),C.href="#close",C.innerHTML='<span aria-hidden="true">×</span>',Re(C,"click",function(P){Gt(P),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,g=l.style;g.width="",g.whiteSpace="nowrap";var f=l.offsetWidth;f=Math.min(f,this.options.maxWidth),f=Math.max(f,this.options.minWidth),g.width=f+1+"px",g.whiteSpace="",g.height="";var C=l.offsetHeight,P=this.options.maxHeight,S="leaflet-popup-scrolled";P&&C>P?(g.height=P+"px",Le(l,S)):bt(l,S),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var g=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),f=this._getAnchor();St(this._container,g.add(f))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,g=parseInt(Xo(this._container,"marginBottom"),10)||0,f=this._container.offsetHeight+g,C=this._containerWidth,P=new De(this._containerLeft,-f-this._containerBottom);P._add(Ri(this._container));var S=l.layerPointToContainerPoint(P),F=Ie(this.options.autoPanPadding),A=Ie(this.options.autoPanPaddingTopLeft||F),j=Ie(this.options.autoPanPaddingBottomRight||F),K=l.getSize(),de=0,Ee=0;S.x+C+j.x>K.x&&(de=S.x+C-K.x+j.x),S.x-de-A.x<0&&(de=S.x-A.x),S.y+f+j.y>K.y&&(Ee=S.y+f-K.y+j.y),S.y-Ee-A.y<0&&(Ee=S.y-A.y),(de||Ee)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([de,Ee]))}},_getAnchor:function(){return Ie(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Tf=function(l,g){return new pa(l,g)};Qe.mergeOptions({closePopupOnClick:!0}),Qe.include({openPopup:function(l,g,f){return this._initOverlay(pa,l,g,f).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Dn.include({bindPopup:function(l,g){return this._popup=this._initOverlay(pa,this._popup,l,g),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(l){return this._popup&&(this instanceof Gn||(this._popup._source=this),this._popup._prepareOpen(l||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(l){return this._popup&&this._popup.setContent(l),this},getPopup:function(){return this._popup},_openPopup:function(l){if(!(!this._popup||!this._map)){Ni(l);var g=l.layer||l.target;if(this._popup._source===g&&!(g instanceof si)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=g,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var ua=Ln.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Ln.prototype.onAdd.call(this,l),this.setOpacity(this.options.opacity),l.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(l){Ln.prototype.onRemove.call(this,l),l.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var l=Ln.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",g=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=et("div",g),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+u(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var g,f,C=this._map,P=this._container,S=C.latLngToContainerPoint(C.getCenter()),F=C.layerPointToContainerPoint(l),A=this.options.direction,j=P.offsetWidth,K=P.offsetHeight,de=Ie(this.options.offset),Ee=this._getAnchor();A==="top"?(g=j/2,f=K):A==="bottom"?(g=j/2,f=0):A==="center"?(g=j/2,f=K/2):A==="right"?(g=0,f=K/2):A==="left"?
1(g=j,f=K/2):F.x<S.x?(A="right",g=0,f=K/2):(A="left",g=j+(de.x+Ee.x)*2,f=K/2),l=l.subtract(Ie(g,f,!0)).add(de).add(Ee),bt(P,"leaflet-tooltip-right"),bt(P,"leaflet-tooltip-left"),bt(P,"leaflet-tooltip-top"),bt(P,"leaflet-tooltip-bottom"),Le(P,"leaflet-tooltip-"+A),St(P,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&bn(this._container,l)},_animateZoom:function(l){var g=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(g)},_getAnchor:function(){return Ie(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),kf=function(l,g){return new ua(l,g)};Qe.include({openTooltip:function(l,g,f){return this._initOverlay(ua,l,g,f).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Dn.include({bindTooltip:function(l,g){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(ua,this._tooltip,l,g),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(l){if(!(!l&&this._tooltipHandlersAdded)){var g=l?"off":"on",f={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?f.add=this._openTooltip:(f.mouseover=this._openTooltip,f.mouseout=this.closeTooltip,f.click=this._openTooltip,this._map?this._addFocusListeners():f.add=this._addFocusListeners),this._tooltip.options.sticky&&(f.mousemove=this._moveTooltip),this[g](f),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof Gn||(this._tooltip._source=this),this._tooltip._prepareOpen(l)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(l){return this._tooltip&&this._tooltip.setContent(l),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(l){var g=typeof l.getElement=="function"&&l.getElement();g&&(Re(g,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Re(g,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var g=typeof l.getElement=="function"&&l.getElement();g&&g.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(l){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var g=this;this._map.once("moveend",function(){g._openOnceFlag=!1,g._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var g=l.latlng,f,C;this._tooltip.options.sticky&&l.originalEvent&&(f=this._map.mouseEventToContainerPoint(l.originalEvent),C=this._map.containerPointToLayerPoint(f),g=this._map.layerPointToLatLng(C)),this._tooltip.setLatLng(g)}});var lm=co.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var g=l&&l.tagName==="DIV"?l:document.createElement("div"),f=this.options;if(f.html instanceof Element?(ea(g),g.appendChild(f.html)):g.innerHTML=f.html!==!1?f.html:"",f.bgPos){var C=Ie(f.bgPos);g.style.backgroundPosition=-C.x+"px "+-C.y+"px"}return this._setIconStyles(g,"icon"),g},createShadow:function(){return null}});function If(l){return new lm(l)}co.Default=ar;var sr=Dn.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ve.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){le(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),vt(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ro(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ao(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(l){return this.options.opacity=l,this._updateOpacity(),this},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var l=this._clampZoom(this._map.getZoom());l!==this._tileZoom&&(this._tileZoom=l,this._updateLevels()),this._update()}return this},getEvents:function(){var l={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=x(this._onMoveEnd,this.options.updateInterval,this)),l.move=this._onMove),this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},createTile:function(){return document.createElement("div")},getTileSize:function(){var l=this.options.tileSize;return l instanceof De?l:new De(l,l)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(l){for(var g=this.getPane().children,f=-l(-1/0,1/0),C=0,P=g.length,S;C<P;C++)S=g[C].style.zIndex,g[C]!==this._container&&S&&(f=l(f,+S));
1isFinite(f)&&(this.options.zIndex=f+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!ve.ielt9){bn(this._container,this.options.opacity);var l=+new Date,g=!1,f=!1;for(var C in this._tiles){var P=this._tiles[C];if(!(!P.current||!P.loaded)){var S=Math.min(1,(l-P.loaded)/200);bn(P.el,S),S<1?g=!0:(P.active?f=!0:this._onOpaqueTile(P),P.active=!0)}}f&&!this._noPrune&&this._pruneTiles(),g&&(xn(this._fadeFrame),this._fadeFrame=an(this._updateOpacity,this))}},_onOpaqueTile:k,_initContainer:function(){this._container||(this._container=et("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var l=this._tileZoom,g=this.options.maxZoom;if(l!==void 0){for(var f in this._levels)f=Number(f),this._levels[f].el.children.length||f===l?(this._levels[f].el.style.zIndex=g-Math.abs(l-f),this._onUpdateLevel(f)):(vt(this._levels[f].el),this._removeTilesAtZoom(f),this._onRemoveLevel(f),delete this._levels[f]);var C=this._levels[l],P=this._map;return C||(C=this._levels[l]={},C.el=et("div","leaflet-tile-container leaflet-zoom-animated",this._container),C.el.style.zIndex=g,C.origin=P.project(P.unproject(P.getPixelOrigin()),l).round(),C.zoom=l,this._setZoomTransform(C,P.getCenter(),P.getZoom()),k(C.el.offsetWidth),this._onCreateLevel(C)),this._level=C,C}},_onUpdateLevel:k,_onRemoveLevel:k,_onCreateLevel:k,_pruneTiles:function(){if(this._map){var l,g,f=this._map.getZoom();if(f>this.options.maxZoom||f<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)g=this._tiles[l],g.retain=g.current;for(l in this._tiles)if(g=this._tiles[l],g.current&&!g.active){var C=g.coords;this._retainParent(C.x,C.y,C.z,C.z-5)||this._retainChildren(C.x,C.y,C.z,C.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var g in this._tiles)this._tiles[g].coords.z===l&&this._removeTile(g)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)vt(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,g,f,C){var P=Math.floor(l/2),S=Math.floor(g/2),F=f-1,A=new De(+P,+S);A.z=+F;var j=this._tileCoordsToKey(A),K=this._tiles[j];return K&&K.active?(K.retain=!0,!0):(K&&K.loaded&&(K.retain=!0),F>C?this._retainParent(P,S,F,C):!1)},_retainChildren:function(l,g,f,C){for(var P=2*l;P<2*l+2;P++)for(var S=2*g;S<2*g+2;S++){var F=new De(P,S);F.z=f+1;var A=this._tileCoordsToKey(F),j=this._tiles[A];if(j&&j.active){j.retain=!0;continue}else j&&j.loaded&&(j.retain=!0);f+1<C&&this._retainChildren(P,S,f+1,C)}},_resetView:function(l){var g=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),g,g)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var g=this.options;return g.minNativeZoom!==void 0&&l<g.minNativeZoom?g.minNativeZoom:g.maxNativeZoom!==void 0&&g.maxNativeZoom<l?g.maxNativeZoom:l},_setView:function(l,g,f,C){var P=Math.round(g);this.options.maxZoom!==void 0&&P>this.options.maxZoom||this.options.minZoom!==void 0&&P<this.options.minZoom?P=void 0:P=this._clampZoom(P);var S=this.options.updateWhenZooming&&P!==this._tileZoom;(!C||S)&&(this._tileZoom=P,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),P!==void 0&&this._update(l),f||this._pruneTiles(),this._noPrune=!!f),this._setZoomTransforms(l,g)},_setZoomTransforms:function(l,g){for(var f in this._levels)this._setZoomTransform(this._levels[f],l,g)},_setZoomTransform:function(l,g,f){var C=this._map.getZoomScale(f,l.zoom),P=l.origin.multiplyBy(C).subtract(this._map._getNewPixelOrigin(g,f)).round();ve.any3d?Di(l.el,P,C):St(l.el,P)},_resetGrid:function(){var l=this._map,g=l.options.crs,f=this._tileSize=this.getTileSize(),C=this._tileZoom,P=this._map.getPixelWorldBounds(this._tileZoom);P&&(this._globalTileRange=this._pxBoundsToTileRange(P)),this._wrapX=g.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,g.wrapLng[0]],C).x/f.x),Math.ceil(l.project([0,g.wrapLng[1]],C).x/f.y)],this._wrapY=g.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([g.wrapLat[0],0],C).y/f.x),Math.ceil(l.project([g.wrapLat[1],0],C).y/f.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var g=this._map,f=g._animatingZoom?Math.max(g._animateToZoom,g.getZoom()):g.getZoom(),C=g.getZoomScale(f,this._tileZoom),P=g.project(l,this._tileZoom).floor(),S=g.getSize().divideBy(C*2);return new Ct(P.subtract(S),P.add(S))},_update:function(l){var g=this._map;if(g){var f=this._clampZoom(g.getZoom());if(l===void 0&&(l=g.getCenter()),this._tileZoom!==void 0){var C=this._getTiledPixelBounds(l),P=this._pxBoundsToTileRange(C),S=P.getCenter(),F=[],A=this.options.keepBuffer,j=new Ct(P.getBottomLeft().subtract([A,-A]),P.getTopRight().add([A,-A]));if(!(isFinite(P.min.x)&&isFinite(P.min.y)&&isFinite(P.max.x)&&isFinite(P.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var K in this._tiles){var de=this._tiles[K].coords;(de.z!==this._tileZoom||!j.contains(new De(de.x,de.y)))&&(this._tiles[K].current=!1)}if(Math.abs(f-this._tileZoom)>
11){this._setView(l,f);return}for(var Ee=P.min.y;Ee<=P.max.y;Ee++)for(var je=P.min.x;je<=P.max.x;je++){var Xt=new De(je,Ee);if(Xt.z=this._tileZoom,!!this._isValidTile(Xt)){var Ut=this._tiles[this._tileCoordsToKey(Xt)];Ut?Ut.current=!0:F.push(Xt)}}if(F.sort(function(ln,po){return ln.distanceTo(S)-po.distanceTo(S)}),F.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var On=document.createDocumentFragment();for(je=0;je<F.length;je++)this._addTile(F[je],On);this._level.el.appendChild(On)}}}},_isValidTile:function(l){var g=this._map.options.crs;if(!g.infinite){var f=this._globalTileRange;if(!g.wrapLng&&(l.x<f.min.x||l.x>f.max.x)||!g.wrapLat&&(l.y<f.min.y||l.y>f.max.y))return!1}if(!this.options.bounds)return!0;var C=this._tileCoordsToBounds(l);return wt(this.options.bounds).overlaps(C)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var g=this._map,f=this.getTileSize(),C=l.scaleBy(f),P=C.add(f),S=g.unproject(C,l.z),F=g.unproject(P,l.z);return[S,F]},_tileCoordsToBounds:function(l){var g=this._tileCoordsToNwSe(l),f=new cn(g[0],g[1]);return this.options.noWrap||(f=this._map.wrapLatLngBounds(f)),f},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var g=l.split(":"),f=new De(+g[0],+g[1]);return f.z=+g[2],f},_removeTile:function(l){var g=this._tiles[l];g&&(vt(g.el),delete this._tiles[l],this.fire("tileunload",{tile:g.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Le(l,"leaflet-tile");var g=this.getTileSize();l.style.width=g.x+"px",l.style.height=g.y+"px",l.onselectstart=k,l.onmousemove=k,ve.ielt9&&this.options.opacity<1&&bn(l,this.options.opacity)},_addTile:function(l,g){var f=this._getTilePos(l),C=this._tileCoordsToKey(l),P=this.createTile(this._wrapCoords(l),i(this._tileReady,this,l));this._initTile(P),this.createTile.length<2&&an(i(this._tileReady,this,l,null,P)),St(P,f),this._tiles[C]={el:P,coords:l,current:!0},g.appendChild(P),this.fire("tileloadstart",{tile:P,coords:l})},_tileReady:function(l,g,f){g&&this.fire("tileerror",{error:g,tile:f,coords:l});var C=this._tileCoordsToKey(l);f=this._tiles[C],f&&(f.loaded=+new Date,this._map._fadeAnimated?(bn(f.el,0),xn(this._fadeFrame),this._fadeFrame=an(this._updateOpacity,this)):(f.active=!0,this._pruneTiles()),g||(Le(f.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:f.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),ve.ielt9||!this._map._fadeAnimated?an(this._pruneTiles,this):setTimeout(i(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var g=new De(this._wrapX?y(l.x,this._wrapX):l.x,this._wrapY?y(l.y,this._wrapY):l.y);return g.z=l.z,g},_pxBoundsToTileRange:function(l){var g=this.getTileSize();return new Ct(l.min.unscaleBy(g).floor(),l.max.unscaleBy(g).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function Ff(l){return new sr(l)}var go=sr.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,g){this._url=l,g=le(this,g),g.detectRetina&&ve.retina&&g.maxZoom>0?(g.tileSize=Math.floor(g.tileSize/2),g.zoomReverse?(g.zoomOffset--,g.minZoom=Math.min(g.maxZoom,g.minZoom+1)):(g.zoomOffset++,g.maxZoom=Math.max(g.minZoom,g.maxZoom-1)),g.minZoom=Math.max(0,g.minZoom)):g.zoomReverse?g.minZoom=Math.min(g.maxZoom,g.minZoom):g.maxZoom=Math.max(g.minZoom,g.maxZoom),typeof g.subdomains=="string"&&(g.subdomains=g.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,g){return this._url===l&&g===void 0&&(g=!0),this._url=l,g||this.redraw(),this},createTile:function(l,g){var f=document.createElement("img");return Re(f,"load",i(this._tileOnLoad,this,g,f)),Re(f,"error",i(this._tileOnError,this,g,f)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(f.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(f.referrerPolicy=this.options.referrerPolicy),f.alt="",f.src=this.getTileUrl(l),f},getTileUrl:function(l){var g={r:ve.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var f=this._globalTileRange.max.y-l.y;this.options.tms&&(g.y=f),g["-y"]=f}return ee(this._url,e(g,this.options))},_tileOnLoad:function(l,g){ve.ielt9?setTimeout(i(l,this,null,g),0):l(null,g)}
vendor: 3,509 bytes, line 1
1,_tileOnError:function(l,g,f){var C=this.options.errorTileUrl;C&&g.getAttribute("src")!==C&&(g.src=C),l(f,g)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,g=this.options.maxZoom,f=this.options.zoomReverse,C=this.options.zoomOffset;return f&&(l=g-l),l+C},_getSubdomain:function(l){var g=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[g]},_abortLoading:function(){var l,g;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(g=this._tiles[l].el,g.onload=k,g.onerror=k,!g.complete)){g.src=nt;var f=this._tiles[l].coords;vt(g),delete this._tiles[l],this.fire("tileabort",{tile:g,coords:f})}},_removeTile:function(l){var g=this._tiles[l];if(g)return g.el.setAttribute("src",nt),sr.prototype._removeTile.call(this,l)},_tileReady:function(l,g,f){if(!(!this._map||f&&f.getAttribute("src")===nt))return sr.prototype._tileReady.call(this,l,g,f)}});function dm(l,g){return new go(l,g)}var mm=go.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(l,g){this._url=l;var f=e({},this.defaultWmsParams);for(var C in g)C in this.options||(f[C]=g[C]);g=le(this,g);var P=g.detectRetina&&ve.retina?2:1,S=this.getTileSize();f.width=S.x*P,f.height=S.y*P,this.wmsParams=f},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var g=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[g]=this._crs.code,go.prototype.onAdd.call(this,l)},getTileUrl:function(l){var g=this._tileCoordsToNwSe(l),f=this._crs,C=sn(f.project(g[0]),f.project(g[1])),P=C.min,S=C.max,F=(this._wmsVersion>=1.3&&this._crs===im?[P.y,P.x,S.y,S.x]:[P.x,P.y,S.x,S.y]).join(","),A=go.prototype.getTileUrl.call(this,l);return A+ce(this.wmsParams,A,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+F},setParams:function(l,g){return e(this.wmsParams,l),g||this.redraw(),this}});function Df(l,g){return new mm(l,g)}go.WMS=mm,dm.wms=Df;var Kn=Dn.extend({options:{padding:.1},initialize:function(l){le(this,l),u(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Le(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var l={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(l.zoomanim=this._onAnimZoom),l},_onAnimZoom:function(l){this._updateTransform(l.center,l.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(l,g){var f=this._map.getZoomScale(g,this._zoom),C=this._map.getSize().multiplyBy(.5+this.options.padding),P=this._map.project(this._center,g),S=C.multiplyBy(-f).add(P).subtract(this._map._getNewPixelOrigin(l,g));ve.any3d?Di(this._container,S,f):St(this._container,S)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var l in this._layers)this._layers[l]._reset()},_onZoomEnd:function(){for(var l in this._layers)this._layers[l]._project()},_updatePaths:function(){for(var l in this._layers)this._layers[l]._update()},_update:function(){var l=this.options.padding,g=this._map.getSize(),f=this._map.containerPointToLayerPoint(g.multiplyBy(-l)).round();
1this._bounds=new Ct(f,f.add(g.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),gm=Kn.extend({options:{tolerance:0},getEvents:function(){var l=Kn.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Kn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Re(l,"mousemove",this._onMouseMove,this),Re(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Re(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){xn(this._redrawRequest),delete this._ctx,vt(this._container),ut(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var g in this._layers)l=this._layers[g],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Kn.prototype._update.call(this);var l=this._bounds,g=this._container,f=l.getSize(),C=ve.retina?2:1;St(g,l.min),g.width=C*f.x,g.height=C*f.y,g.style.width=f.x+"px",g.style.height=f.y+"px",ve.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Kn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[u(l)]=l;var g=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=g),this._drawLast=g,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var g=l._order,f=g.next,C=g.prev;f?f.prev=C:this._drawLast=C,C?C.next=f:this._drawFirst=f,delete l._order,delete this._layers[u(l)],this._requestRedraw(l)},_updatePath:function(l){this._extendRedrawBounds(l),l._project(),l._update(),this._requestRedraw(l)},_updateStyle:function(l){this._updateDashArray(l),this._requestRedraw(l)},_updateDashArray:function(l){if(typeof l.options.dashArray=="string"){var g=l.options.dashArray.split(/[, ]+/),f=[],C,P;for(P=0;P<g.length;P++){if(C=Number(g[P]),isNaN(C))return;f.push(C)}l.options._dashArray=f}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||an(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var g=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Ct,this._redrawBounds.extend(l._pxBounds.min.subtract([g,g])),this._redrawBounds.extend(l._pxBounds.max.add([g,g]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var l=this._redrawBounds;if(l){var g=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,g.x,g.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var l,g=this._redrawBounds;if(this._ctx.save(),g){var f=g.getSize();this._ctx.beginPath(),this._ctx.rect(g.min.x,g.min.y,f.x,f.y),this._ctx.clip()}this._drawing=!0;for(var C=this._drawFirst;C;C=C.next)l=C.layer,(!g||l._pxBounds&&l._pxBounds.intersects(g))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,g){if(this._drawing){var f,C,P,S,F=l._parts,A=F.length,j=this._ctx;if(A){for(j.beginPath(),f=0;f<A;f++){for(C=0,P=F[f].length;C<P;C++)S=F[f][C],j[C?"lineTo":"moveTo"](S.x,S.y);g&&j.closePath()}this._fillStroke(j,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var g=l._point,f=this._ctx,C=Math.max(Math.round(l._radius),1),P=(Math.max(Math.round(l._radiusY),1)||C)/C;P!==1&&(f.save(),f.scale(1,P)),f.beginPath(),f.arc(g.x,g.y/P,C,0,Math.PI*2,!1),P!==1&&f.restore(),this._fillStroke(f,l)}},_fillStroke:function(l,g){var f=g.options;f.fill&&(l.globalAlpha=f.fillOpacity,l.fillStyle=f.fillColor||f.color,l.fill(f.fillRule||"evenodd")),f.stroke&&f.weight!==0&&(l.setLineDash&&l.setLineDash(g.options&&g.options._dashArray||[]),l.globalAlpha=f.opacity,l.lineWidth=f.weight,l.strokeStyle=f.color,l.lineCap=f.lineCap,l.lineJoin=f.lineJoin,l.stroke())},_onClick:function(l){for(var g=this._map.mouseEventToLayerPoint(l),f,C,P=this._drawFirst;P;
1P=P.next)f=P.layer,f.options.interactive&&f._containsPoint(g)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(f))&&(C=f);this._fireEvent(C?[C]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var g=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,g)}},_handleMouseOut:function(l){var g=this._hoveredLayer;g&&(bt(this._container,"leaflet-interactive"),this._fireEvent([g],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,g){if(!this._mouseHoverThrottled){for(var f,C,P=this._drawFirst;P;P=P.next)f=P.layer,f.options.interactive&&f._containsPoint(g)&&(C=f);C!==this._hoveredLayer&&(this._handleMouseOut(l),C&&(Le(this._container,"leaflet-interactive"),this._fireEvent([C],l,"mouseover"),this._hoveredLayer=C)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(i(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,g,f){this._map._fireDOMEvent(g,f||g.type,l)},_bringToFront:function(l){var g=l._order;if(g){var f=g.next,C=g.prev;if(f)f.prev=C;else return;C?C.next=f:f&&(this._drawFirst=f),g.prev=this._drawLast,this._drawLast.next=g,g.next=null,this._drawLast=g,this._requestRedraw(l)}},_bringToBack:function(l){var g=l._order;if(g){var f=g.next,C=g.prev;if(C)C.next=f;else return;f?f.prev=C:C&&(this._drawLast=C),g.prev=null,g.next=this._drawFirst,this._drawFirst.prev=g,this._drawFirst=g,this._requestRedraw(l)}}});function pm(l){return ve.canvas?new gm(l):null}var cr=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(l){return document.createElement("<lvml:"+l+' class="lvml">')}}catch{}return function(l){return document.createElement("<"+l+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Rf={_initContainer:function(){this._container=et("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Kn.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var g=l._container=cr("shape");Le(g,"leaflet-vml-shape "+(this.options.className||"")),g.coordsize="1 1",l._path=cr("path"),g.appendChild(l._path),this._updateStyle(l),this._layers[u(l)]=l},_addPath:function(l){var g=l._container;this._container.appendChild(g),l.options.interactive&&l.addInteractiveTarget(g)},_removePath:function(l){var g=l._container;vt(g),l.removeInteractiveTarget(g),delete this._layers[u(l)]},_updateStyle:function(l){var g=l._stroke,f=l._fill,C=l.options,P=l._container;P.stroked=!!C.stroke,P.filled=!!C.fill,C.stroke?(g||(g=l._stroke=cr("stroke")),P.appendChild(g),g.weight=C.weight+"px",g.color=C.color,g.opacity=C.opacity,C.dashArray?g.dashStyle=Ue(C.dashArray)?C.dashArray.join(" "):C.dashArray.replace(/( *, *)/g," "):g.dashStyle="",g.endcap=C.lineCap.replace("butt","flat"),g.joinstyle=C.lineJoin):g&&(P.removeChild(g),l._stroke=null),C.fill?(f||(f=l._fill=cr("fill")),P.appendChild(f),f.color=C.fillColor||C.color,f.opacity=C.fillOpacity):f&&(P.removeChild(f),l._fill=null)},_updateCircle:function(l){var g=l._point.round(),f=Math.round(l._radius),C=Math.round(l._radiusY||f);this._setPath(l,l._empty()?"M0 0":"AL "+g.x+","+g.y+" "+f+","+C+" 0,"+65535*360)},_setPath:function(l,g){l._path.v=g},_bringToFront:function(l){ro(l._container)},_bringToBack:function(l){ao(l._container)}},_a=ve.vml?cr:hd,lr=Kn.extend({_initContainer:function(){this._container=_a("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=_a("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){vt(this._container),ut(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Kn.prototype._update.call(this);var l=this._bounds,g=l.getSize(),f=this._container;(!this._svgSize||!this._svgSize.equals(g))&&(this._svgSize=g,f.setAttribute("width",g.x),f.setAttribute("height",g.y)),St(f,l.min),f.setAttribute("viewBox",[l.min.x,l.min.y,g.x,g.y].join(" ")),this.fire("update")}},_initPath:function(l){var g=l._path=_a("path");l.options.className&&Le(g,l.options.className),l.options.interactive&&Le(g,"leaflet-interactive"),this._updateStyle(l),this._layers[u(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){vt(l._path),l.removeInteractiveTarget(l._path),delete this._layers[u(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var g=l._path,f=l.options;g&&(f.stroke?(g.setAttribute("stroke",f.color),g.setAttribute("stroke-opacity",f.opacity),g.setAttribute("stroke-width",f.weight),g.setAttribute("stroke-linecap",f.lineCap),g.setAttribute("stroke-linejoin",f.lineJoin),f.dashArray?g.setAttribute("stroke-dasharray",f.dashArray):g.removeAttribute("stroke-dasharray"),f.dashOffset?g.setAttribute("stroke-dashoffset",f.dashOffset):g.removeAttribute("stroke-dashoffset")):g.setAttribute("stroke","none"),f.fill?(g.setAttribute("fill",f.fillColor||f.color),g.setAttribute("fill-opacity",f.fillOpacity),g.setAttribute("fill-rule",f.fillRule||"evenodd")):g.setAttribute("fill","none"))},_updatePoly:function(l,g){this._setPath(l,Cd(l._parts,g))},_updateCircle:function(l){var g=l._point,f=Math.max(Math.round(l._radius),1),C=Math.max(Math.round(l._radiusY),1)||f,P="a"+f+","+C+" 0 1,0 ",S=l._empty()?"M0 0":"M"+(g.x-f)+","+g.y+P+f*2+",0 "+P+-f*2
1+",0 ";this._setPath(l,S)},_setPath:function(l,g){l._path.setAttribute("d",g)},_bringToFront:function(l){ro(l._path)},_bringToBack:function(l){ao(l._path)}});ve.vml&&lr.include(Rf);function um(l){return ve.svg||ve.vml?new lr(l):null}Qe.include({getRenderer:function(l){var g=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return g||(g=this._renderer=this._createRenderer()),this.hasLayer(g)||this.addLayer(g),g},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var g=this._paneRenderers[l];return g===void 0&&(g=this._createRenderer({pane:l}),this._paneRenderers[l]=g),g},_createRenderer:function(l){return this.options.preferCanvas&&pm(l)||um(l)}});var _m=lo.extend({initialize:function(l,g){lo.prototype.initialize.call(this,this._boundsToLatLngs(l),g)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=wt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function zf(l,g){return new _m(l,g)}lr.create=_a,lr.pointsToPath=Cd,Yn.geometryToLayer=ca,Yn.coordsToLatLng=Pc,Yn.coordsToLatLngs=la,Yn.latLngToCoords=Oc,Yn.latLngsToCoords=da,Yn.getFeature=mo,Yn.asFeature=ma,Qe.mergeOptions({boxZoom:!0});var fm=An.extend({initialize:function(l){this._map=l,this._container=l._container,this._pane=l._panes.overlayPane,this._resetStateTimeout=0,l.on("unload",this._destroy,this)},addHooks:function(){Re(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ut(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){vt(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(l){if(!l.shiftKey||l.which!==1&&l.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),er(),ac(),this._startPoint=this._map.mouseEventToContainerPoint(l),Re(document,{contextmenu:Ni,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=et("div","leaflet-zoom-box",this._container),Le(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var g=new Ct(this._point,this._startPoint),f=g.getSize();St(this._box,g.min),this._box.style.width=f.x+"px",this._box.style.height=f.y+"px"},_finish:function(){this._moved&&(vt(this._box),bt(this._container,"leaflet-crosshair")),tr(),sc(),ut(document,{contextmenu:Ni,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(l){if(!(l.which!==1&&l.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(i(this._resetState,this),0);var g=new cn(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(g).fire("boxzoomend",{boxZoomBounds:g})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Qe.addInitHook("addHandler","boxZoom",fm),Qe.mergeOptions({doubleClickZoom:!0});var hm=An.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var g=this._map,f=g.getZoom(),C=g.options.zoomDelta,P=l.originalEvent.shiftKey?f-C:f+C;g.options.doubleClickZoom==="center"?g.setZoom(P):g.setZoomAround(l.containerPoint,P)}});Qe.addInitHook("addHandler","doubleClickZoom",hm),Qe.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Cm=An.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new ai(l._mapPane,l._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),l.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),l.on("zoomend",this._onZoomEnd,this),l.whenReady(this._onZoomEnd,this))}Le(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){bt(this._map._container,"leaflet-grab"),bt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved}
vendor: 5,538 bytes, line 1
1,moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var l=this._map;if(l._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var g=wt(this._map.options.maxBounds);this._offsetLimit=sn(this._map.latLngToContainerPoint(g.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(g.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;l.fire("movestart").fire("dragstart"),l.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(l){if(this._map.options.inertia){var g=this._lastTime=+new Date,f=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(f),this._times.push(g),this._prunePositions(g)}this._map.fire("move",l).fire("drag",l)},_prunePositions:function(l){for(;this._positions.length>1&&l-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var l=this._map.getSize().divideBy(2),g=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=g.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,g){return l-(l-g)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),g=this._offsetLimit;l.x<g.min.x&&(l.x=this._viscousLimit(l.x,g.min.x)),l.y<g.min.y&&(l.y=this._viscousLimit(l.y,g.min.y)),l.x>g.max.x&&(l.x=this._viscousLimit(l.x,g.max.x)),l.y>g.max.y&&(l.y=this._viscousLimit(l.y,g.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,g=Math.round(l/2),f=this._initialWorldOffset,C=this._draggable._newPos.x,P=(C-g+f)%l+g-f,S=(C+g+f)%l-g-f,F=Math.abs(P+f)<Math.abs(S+f)?P:S;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=F},_onDragEnd:function(l){var g=this._map,f=g.options,C=!f.inertia||l.noInertia||this._times.length<2;if(g.fire("dragend",l),C)g.fire("moveend");else{this._prunePositions(+new Date);var P=this._lastPos.subtract(this._positions[0]),S=(this._lastTime-this._times[0])/1e3,F=f.easeLinearity,A=P.multiplyBy(F/S),j=A.distanceTo([0,0]),K=Math.min(f.inertiaMaxSpeed,j),de=A.multiplyBy(K/j),Ee=K/(f.inertiaDeceleration*F),je=de.multiplyBy(-Ee/2).round();!je.x&&!je.y?g.fire("moveend"):(je=g._limitOffset(je,g.options.maxBounds),an(function(){g.panBy(je,{duration:Ee,easeLinearity:F,noMoveStart:!0,animate:!0})}))}}});Qe.addInitHook("addHandler","dragging",Cm),Qe.mergeOptions({keyboard:!0,keyboardPanDelta:80});var vm=An.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(l){this._map=l,this._setPanDelta(l.options.keyboardPanDelta),this._setZoomDelta(l.options.zoomDelta)},addHooks:function(){var l=this._map._container;l.tabIndex<=0&&(l.tabIndex="0"),Re(l,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),ut(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var l=document.body,g=document.documentElement,f=l.scrollTop||g.scrollTop,C=l.scrollLeft||g.scrollLeft;this._map._container.focus(),window.scrollTo(C,f)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var g=this._panKeys={},f=this.keyCodes,C,P;for(C=0,P=f.left.length;C<P;C++)g[f.left[C]]=[-1*l,0];for(C=0,P=f.right.length;C<P;C++)g[f.right[C]]=[l,0];for(C=0,P=f.down.length;C<P;C++)g[f.down[C]]=[0,l];for(C=0,P=f.up.length;C<P;C++)g[f.up[C]]=[0,-1*l]},_setZoomDelta:function(l){var g=this._zoomKeys={},f=this.keyCodes,C,P;for(C=0,P=f.zoomIn.length;C<P;C++)g[f.zoomIn[C]]=l;for(C=0,P=f.zoomOut.length;C<P;C++)g[f.zoomOut[C]]=-l},_addHooks:function(){Re(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){ut(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var g=l.keyCode,f=this._map,C;if(g in this._panKeys){if(!f._panAnim||!f._panAnim._inProgress)if(C=this._panKeys[g],l.shiftKey&&(C=Ie(C).multiplyBy(3)),f.options.maxBounds&&(C=f._limitOffset(Ie(C),f.options.maxBounds)),f.options.worldCopyJump){var P=f.wrapLatLng(f.unproject(f.project(f.getCenter()).add(C)));f.panTo(P)}else f.panBy(C)}else if(g in this._zoomKeys)f.setZoom(f.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[g]);else if(g===27&&f._popup&&f._popup.options.closeOnEscapeKey)f.closePopup();else return;Ni(l)}}});Qe.addInitHook("addHandler","keyboard",vm),Qe.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Mm=An.extend({addHooks:function(){Re(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){ut(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var g=Wd(l),f=this._map.options.wheelDebounceTime;this._delta+=g,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var C=Math.max(f-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(i(this._performZoom,this),C),Ni(l)},_performZoom:function(){var l=this._map,g=l.getZoom(),f=this._map.options.zoomSnap||0;l._stop();
1var C=this._delta/(this._map.options.wheelPxPerZoomLevel*4),P=4*Math.log(2/(1+Math.exp(-Math.abs(C))))/Math.LN2,S=f?Math.ceil(P/f)*f:P,F=l._limitZoom(g+(this._delta>0?S:-S))-g;this._delta=0,this._startTime=null,F&&(l.options.scrollWheelZoom==="center"?l.setZoom(g+F):l.setZoomAround(this._lastMousePos,g+F))}});Qe.addInitHook("addHandler","scrollWheelZoom",Mm);var Nf=600;Qe.mergeOptions({tapHold:ve.touchNative&&ve.safari&&ve.mobile,tapTolerance:15});var xm=An.extend({addHooks:function(){Re(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ut(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var g=l.touches[0];this._startPos=this._newPos=new De(g.clientX,g.clientY),this._holdTimeout=setTimeout(i(function(){this._cancel(),this._isTapValid()&&(Re(document,"touchend",Gt),Re(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",g))},this),Nf),Re(document,"touchend touchcancel contextmenu",this._cancel,this),Re(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){ut(document,"touchend",Gt),ut(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),ut(document,"touchend touchcancel contextmenu",this._cancel,this),ut(document,"touchmove",this._onMove,this)},_onMove:function(l){var g=l.touches[0];this._newPos=new De(g.clientX,g.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,g){var f=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:g.screenX,screenY:g.screenY,clientX:g.clientX,clientY:g.clientY});f._simulated=!0,g.target.dispatchEvent(f)}});Qe.addInitHook("addHandler","tapHold",xm),Qe.mergeOptions({touchZoom:ve.touch,bounceAtZoomLimits:!0});var bm=An.extend({addHooks:function(){Le(this._map._container,"leaflet-touch-zoom"),Re(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){bt(this._map._container,"leaflet-touch-zoom"),ut(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var g=this._map;if(!(!l.touches||l.touches.length!==2||g._animatingZoom||this._zooming)){var f=g.mouseEventToContainerPoint(l.touches[0]),C=g.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=g.getSize()._divideBy(2),this._startLatLng=g.containerPointToLatLng(this._centerPoint),g.options.touchZoom!=="center"&&(this._pinchStartLatLng=g.containerPointToLatLng(f.add(C)._divideBy(2))),this._startDist=f.distanceTo(C),this._startZoom=g.getZoom(),this._moved=!1,this._zooming=!0,g._stop(),Re(d
1ocument,"touchmove",this._onTouchMove,this),Re(document,"touchend touchcancel",this._onTouchEnd,this),Gt(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var g=this._map,f=g.mouseEventToContainerPoint(l.touches[0]),C=g.mouseEventToContainerPoint(l.touches[1]),P=f.distanceTo(C)/this._startDist;if(this._zoom=g.getScaleZoom(P,this._startZoom),!g.options.bounceAtZoomLimits&&(this._zoom<g.getMinZoom()&&P<1||this._zoom>g.getMaxZoom()&&P>1)&&(this._zoom=g._limitZoom(this._zoom)),g.options.touchZoom==="center"){if(this._center=this._startLatLng,P===1)return}else{var S=f._add(C)._divideBy(2)._subtract(this._centerPoint);if(P===1&&S.x===0&&S.y===0)return;this._center=g.unproject(g.project(this._pinchStartLatLng,this._zoom).subtract(S),this._zoom)}this._moved||(g._moveStart(!0,!1),this._moved=!0),xn(this._animRequest);var F=i(g._move,g,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=an(F,this,!0),Gt(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,xn(this._animRequest),ut(document,"touchmove",this._onTouchMove,this),ut(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});Qe.addInitHook("addHandler","touchZoom",bm),Qe.BoxZoom=fm,Qe.DoubleClickZoom=hm,Qe.Drag=Cm,Qe.Keyboard=vm,Qe.ScrollWheelZoom=Mm,Qe.TapHold=xm,Qe.TouchZoom=bm,t.Bounds=Ct,t.Browser=ve,t.CRS=Hn,t.Canvas=gm,t.Circle=bc,t.CircleMarker=sa,t.Class=$n,t.Control=Fn,t.DivIcon=lm,t.DivOverlay=Ln,t.DomEvent=X_,t.DomUtil=Q_,t.Draggable=ai,t.Evented=Yo,t.FeatureGroup=Gn,t.GeoJSON=Yn,t.GridLayer=sr,t.Handler=An,t.Icon=co,t.ImageOverlay=ga,t.LatLng=dt,t.LatLngBounds=cn,t.Layer=Dn,t.LayerGroup=so,t.LineUtil=pf,t.Map=Qe,t.Marker=aa,t.Mixin=sf,t.Path=si,t.Point=De,t.PolyUtil=cf,t.Polygon=lo,t.Polyline=Zn,t.Popup=pa,t.PosAnimation=$d,t.Projection=uf,t.Rectangle=_m,t.Renderer=Kn,t.SVG=lr,t.SVGOverlay=cm,t.TileLayer=go,t.Tooltip=ua,t.Transformation=Zs,t.Util=v_,t.VideoOverlay=sm,t.bind=i,t.bounds=sn,t.canvas=pm,t.circle=bf,t.circleMarker=xf,t.control=or,t.divIcon=If,t.extend=e,t.featureGroup=Cf,t.geoJSON=am,t.geoJson=yf,t.gridLayer=Ff,t.icon=vf,t.imageOverlay=wf,t.latLng=Ke,t.latLngBounds=wt,t.layerGroup=hf,t.map=ef,t.marker=Mf,t.point=Ie,t.polygon=Of,t.polyline=Pf,t.popup=Tf,t.rectangle=zf,t.setOptions=le,t.stamp=u,t.svg=um,t.svgOverlay=Ef,t.tileLayer=dm,t.tooltip=kf,t.transformation=Ko,t.version=s,t.videoOverlay=Sf;var Af=window.L;t.noConflict=function(){return window.L=Af,this},window.L=t})});var Mr=class{},Na=class{},on=class t{constructor(s){this.normalizedNames=new Map,this.lazyUpdate=null,s?typeof s=="string"?this.lazyInit=()=>{this.headers=new Map,s.split(` 2`).forEach(e=>{let n=e.indexOf(":");if(n>0){let i=e.slice(0,n),d=i.toLowerCase(),u=e.slice(n+1).trim();this.maybeSetNormalizedName(i,d),this.headers.has(d)?this.headers.get(d).push(u):this.headers.set(d,[u])}})}:typeof Headers<"u"&&s instanceof Headers?(this.headers=new Map,s.forEac
vendor: 4,314 bytes, line 2
2h((e,n)=>{this.setHeaderEntries(n,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(s).forEach(([e,n])=>{this.setHeaderEntries(e,n)})}:this.headers=new Map}has(s){return this.init(),this.headers.has(s.toLowerCase())}get(s){this.init();let e=this.headers.get(s.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(s){return this.init(),this.headers.get(s.toLowerCase())||null}append(s,e){return this.clone({name:s,value:e,op:"a"})}set(s,e){return this.clone({name:s,value:e,op:"s"})}delete(s,e){return this.clone({name:s,value:e,op:"d"})}maybeSetNormalizedName(s,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,s)}init(){this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(s=>this.applyUpdate(s)),this.lazyUpdate=null))}copyFrom(s){s.init(),Array.from(s.headers.keys()).forEach(e=>{this.headers.set(e,s.headers.get(e)),this.normalizedNames.set(e,s.normalizedNames.get(e))})}clone(s){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([s]),e}applyUpdate(s){let e=s.name.toLowerCase();switch(s.op){case"a":case"s":let n=s.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(s.name,e);let i=(s.op==="a"?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":let d=s.value;if(!d)this.headers.delete(e),this.normalizedNames.delete(e);else{let u=this.headers.get(e);if(!u)return;u=u.filter(x=>d.indexOf(x)===-1),u.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,u)}break}}setHeaderEntries(s,e){let n=(Array.isArray(e)?e:[e]).map(d=>d.toString()),i=s.toLowerCase();this.headers.set(i,n),this.maybeSetNormalizedName(s,i)}forEach(s){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>s(this.normalizedNames.get(e),this.headers.get(e)))}};var Hc=class{encodeKey(s){return xg(s)}encodeValue(s){return xg(s)}decodeKey(s){return decodeURIComponent(s)}decodeValue(s){return decodeURIComponent(s)}};function Kf(t,s){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(i=>{let d=i.indexOf("="),[u,x]=d==-1?[s.decodeKey(i),""]:[s.decodeKey(i.slice(0,d)),s.decodeValue(i.slice(d+1))],y=e.get(u)||[];y.push(x),e.set(u,y)}),e}var Qf=/%(\d[a-f0-9])/gi,Jf={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function xg(t){return encodeURIComponent(t).replace(Qf,(s,e)=>Jf[e]??s)}function za(t){return`${t}`}var Kt=class t{constructor(s={}){if(this.updates=null,this.cloneFrom=null,this.encoder=s.encoder||new Hc,s.fromString){if(s.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=Kf(s.fromString,this.encoder)}else s.fromObject?(this.map=new Map,Object.keys(s.fromObject).forEach(e=>{let n=s.fromObject[e],i=Array.isArray(n)?n.map(za):[za(n)];this.map.set(e,i)})):this.map=null}has(s){return this.init(),this.map.has(s)}get(s){this.init();let e=this.map.get(s);return e?e[0]:null}getAll(s){return this.init(),this.map.get(s)||null}keys(){return this.init(),Array.from(this.map.keys())}append(s,e){return this.clone({param:s,value:e,op:"a"})}appendAll(s){let e=[];return Object.keys(s).forEach(n=>{let i=s[n];Array.isArray(i)?i.forEach(d=>{e.push({param:n,value:d,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(s,e){return this.clone({param:s,value:e,op:"s"})}delete(s,e){return this.clone({param:s,value:e,op:"d"})}toString(){return this.init(),this.keys().map(s=>{let e=this.encoder.encodeKey(s);return this.map.get(s).map(n=>e+"="+this.encoder.encodeValue(n)).join("&")}).filter(s=>s!=="").join("&")}clone(s){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(s),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(s=>this.map.set(s,this.cloneFrom.map.get(s))),this.updates.forEach(s=>{switch(s.op){case"a":case"s":let e=(s.op==="a"?this.map.get(s.param):void 0)||[];e.push(za(s.value)),this.map.set(s.param,e);break;case"d":if(s.value!==void 0){let n=this.map.get(s.param)||[],i=n.indexOf(za(s.value));i!==-1&&n.splice(i,1),n.length>
20?this.map.set(s.param,n):this.map.delete(s.param)}else{this.map.delete(s.param);break}}}),this.cloneFrom=this.updates=null)}};var Gc=class{constructor(){this.map=new Map}set(s,e){return this.map.set(s,e),this}get(s){return this.map.has(s)||this.map.set(s,s.defaultValue()),this.map.get(s)}delete(s){return this.map.delete(s),this}has(s){return this.map.has(s)}keys(){return this.map.keys()}};function Xf(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function bg(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function Pg(t){return typeof Blob<"u"&&t instanceof Blob}function Og(t){return typeof FormData<"u"&&t instanceof FormData}function eh(t){return typeof URLSearchParams<"u"&&t instanceof URLSearchParams}var vr=class t{constructor(s,e,n,i){this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=s.toUpperCase();let d;if(Xf(this.method)||i?(this.body=n!==void 0?n:null,d=i):d=n,d&&(this.reportProgress=!!d.reportProgress,this.withCredentials=!!d.withCredentials,d.responseType&&(this.responseType=d.responseType),d.headers&&(this.headers=d.headers),d.context&&(this.context=d.context),d.params&&(this.params=d.params),this.transferCache=d.transferCache),this.headers??=new on,this.context??=new Gc,!this.params)this.params=new Kt,this.urlWithParams=e;else{let u=this.params.toString();if(u.length===0)this.urlWithParams=e;else{let x=e.indexOf("?"),y=x===-1?"?":x<e.length-1?"&":"";this.urlWithParams=e+y+u}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||bg(this.body)||Pg(this.body)||Og(this.body)||eh(this.body)?this.body:this.body instanceof Kt?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||Og(this.body)?null:Pg(this.body)?this.body.type||null:bg(this.body)?null:typeof this.body=="string"?"text/plain":this.body instanceof Kt?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?"application/json":null}clone(s={}){let e=s.method||this.method,n=s.url||this.url,i=s.responseType||this.responseType,d=s.transferCache??this.transferCache,u=s.body!==void 0?s.body:this.body,x=s.withCredentials??this.withCredentials,y=s.reportProgress??this.reportProgress,k=s.headers||this.headers,W=s.params||this.params,U=s.context??this.context;return s.setHeaders!==void 0&&(k=Object.keys(s.setHeaders).reduce((Y,le)=>Y.set(le,s.setHeaders[le]),k)),s.setParams&&(W=Object.keys(s.setParams).reduce((Y,le)=>Y.set(le,s.setParams[le]),W)),new t(e,n,u,{params:W,headers:k,context:U,reportProgress:y,responseType:i,withCredentials:x,transferCache:d})}},Oo=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}(Oo||{}),xr=class{constructor(s,e=Va.Ok,n="OK"){this.headers=s.headers||new on,this.status=s.status!==void 0?s.status:e,this.statusText=s.statusText||n,this.url=s.url||null,this.ok=this.status>=200&&this.status<300}},Zc=class t extends xr{constructor(s={}){super(s),this.type=Oo.ResponseHeader}clone(s={}){return new t({headers:s.headers||this.headers,status:s.status!==void 0?s.status:this.status,statusText:s.statusText||this.statusText,url:s.url||this.url||void 0})}},Aa=class t extends xr{constructor(s={}){super(s),this.type=Oo.Response,this.body=s.body!==void 0?s.body:null}clone(s={}){return new t({body:s.body!==void 0?s.body:this.body,headers:s.headers||this.headers,status:s.status!==void 0?s.status:this.status,statusText:s.statusText||this.statusText,url:s.url||this.url||void 0})}},La=class extends xr{constructor(s){super(s,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${s.url||"(unknown url)"}`:this.message=`Http failure response for ${s.url||"(unknown url)"}: ${s.status} ${s.statusText}`,this.error=s.error||null}},Va=function(t){return t[t.Continue=100]="Continue",t[t.SwitchingProtocols=101]="SwitchingProtocols",t[t.Processing=102]="Processing",t[t.EarlyHints=103]="EarlyHints",t[t.Ok=200]="Ok",t[t.Created=201]="Created",t[t.Accepted=202]="Accepted",t[t.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",t[t.NoContent=204]="NoContent",t[t.ResetContent=205]="ResetContent",t[t.PartialContent=206]="PartialContent",t[t.MultiStatus=207]="MultiStatus",t[t.AlreadyReported=208]="AlreadyReported",t[t.ImUsed=226]="ImUsed",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.Found=302]="Found",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.Unused=306]="Unused",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.LengthRequired=411]="LengthRequired",t[t.PreconditionFailed=412]="PreconditionFailed",t[t.PayloadTooLarge=413]="PayloadTooLarge",t[t.UriTooLong=414]="UriTooLong",t[t.UnsupportedMediaType=415]="UnsupportedMediaType",t[t.RangeNotSatisfiable=416]="RangeNotSatisfiable",t[t.ExpectationFailed=417]="ExpectationFailed",t[t.ImATeapot=418]="ImATeapot",t[t.MisdirectedRequest=421]="MisdirectedRequest",t[t.UnprocessableEntity=422]="UnprocessableEntity",t[t.Locked=423]="Locked",t[t.FailedDependency=424]="FailedDependency",t[t.TooEarly=425]="TooEarly",t[t.UpgradeRequired=426]="UpgradeRequired",t[t.PreconditionRequired=428]="PreconditionRequired",t[t.TooManyRequests=429]="TooManyRequests",t[t.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",t[t.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout",t[t.HttpVersionNotSupported=505]="HttpVersionNotSupported",t[t.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",t[t.InsufficientStorage=507]="InsufficientStorage",t[t.LoopDetected=508]="LoopDetected",t[t.NotExtended=510]="NotExtended",t[t.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",t}(Va||{});function $c(t,s){return{body:s,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials,transferCache:t.transferCache}}var He=(()=>{class t{constructor(e){this.handler=e}request(e,n,i={}){let d;if(e instanceof vr)d=e;else{let y;i.headers instanceof on?y=i.headers:y=new on(i.headers);let k;i.params&&(i.params instanceof Kt?k=i.params:k=new Kt({fromObject:i.params})),d=new vr(e,n,i.body!==void 0?i.body:null,{headers:y,context:i.context,params:k,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials,transferCache:i.transferCache})}let u=Ce(d).pipe(li(y=>this.handler.handle(y)));if(e instanceof vr||i.observe==="events")return u;let x=u.pipe(Tt(y=>y instanceof Aa));switch(i.observe||"body"){case"body":switch(d.responseType){case"arraybuffer":return x.pipe(_e(y=>{if(y.body!==null&&!(y.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return y.body}));case"blob":return x.pipe(_e(y=>{if(y.body!==null&&!(y.body instanceof Blob))throw new Error("Response is not a Blob.");return y.body}));case"text":return x.pipe(_e(y=>{if(y.body!==null&&typeof y.body!="string")throw new Error("Response is not a string.");return y.body}));case"json":default:return x.pipe(_e(y=>y.body))}case"response":return x;default:throw new Error(`Unreachable: unhandled observe type ${i.observe}}`)}}delete(e,n={}){return this.request("DELETE",e,n)}get(e,n={}){return this.request("GET",e,n)}head(e,n={}){return this.request("HEAD",e,n)}jsonp(e,n){return this.request("JSONP",e,{params:new Kt().append(n,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,n={}){return this.request("OPTIONS",e,n)}patch(e,n,i={}){return this.request("PATCH",e,$c(i,n))}post(e,n,i={}){return this.request("POST",e,$c(i,n))}put(e,n,i={}){return this.request("PUT",e,$c(i,n))}static{this.\u0275fac=function(n){return new(n||t)(Q(Mr))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})();function Eg(t,s){return s(t)}function th(t,s){return(e,n)=>s.intercept(e,{handle:i=>t(i,n)})}function nh(t,s,e){return(n,i)=>Vn(e,()=>s(n,d=>
2t(d,i)))}var ih=new tt(""),Ua=new tt(""),oh=new tt(""),rh=new tt("");function ah(){let t=null;return(s,e)=>{t===null&&(t=(ge(ih,{optional:!0})??[]).reduceRight(th,Eg));let n=ge(fr),i=n.add();return t(s,e).pipe(Vi(()=>n.remove(i)))}}var yg=(()=>{class t extends Mr{constructor(e,n){super(),this.backend=e,this.injector=n,this.chain=null,this.pendingTasks=ge(fr);let i=ge(rh,{optional:!0});this.backend=i??e}handle(e){if(this.chain===null){let i=Array.from(new Set([...this.injector.get(Ua),...this.injector.get(oh,[])]));this.chain=i.reduceRight((d,u)=>nh(d,u,this.injector),Eg)}let n=this.pendingTasks.add();return this.chain(e,i=>this.backend.handle(i)).pipe(Vi(()=>this.pendingTasks.remove(n)))}static{this.\u0275fac=function(n){return new(n||t)(Q(Na),Q(gi))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})();var sh=/^\)\]\}',?\n/;function ch(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}var wg=(()=>{class t{constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new st(-2800,!1);let n=this.xhrFactory;return(n.\u0275loadImpl?jt(n.\u0275loadImpl()):Ce(null)).pipe(gt(()=>new uo(d=>{let u=n.build();if(u.open(e.method,e.urlWithParams),e.withCredentials&&(u.withCredentials=!0),e.headers.forEach((we,ee)=>u.setRequestHeader(we,ee.join(","))),e.headers.has("Accept")||u.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){let we=e.detectContentTypeHeader();we!==null&&u.setRequestHeader("Content-Type",we)}if(e.responseType){let we=e.responseType.toLowerCase();u.responseType=we!=="json"?we:"text"}let x=e.serializeBody(),y=null,k=()=>{if(y!==null)return y;let we=u.statusText||"OK",ee=new on(u.getAllResponseHeaders()),Ue=ch(u)||e.url;return y=new Zc({headers:ee,status:u.status,statusText:we,url:Ue}),y},W=()=>{let{headers:we,status:ee,statusText:Ue,url:Ht}=k(),nt=null;ee!==Va.NoContent&&(nt=typeof u.response>"u"?u.responseText:u.response),ee===0&&(ee=nt?Va.Ok:0);let Bt=ee>=200&&ee<300;if(e.responseType==="json"&&typeof nt=="string"){let me=nt;nt=nt.replace(sh,"");try{nt=nt!==""?JSON.parse(nt):null}catch(Mn){nt=me,Bt&&(Bt=!1,nt={error:Mn,text:nt})}}Bt?(d.next(new Aa({body:nt,headers:we,status:ee,statusText:Ue,url:Ht||void 0})),d.complete()):d.error(new La({error:nt,headers:we,status:ee,statusText:Ue,url:Ht||void 0}))},U=we=>{let{url:ee}=k(),Ue=new La({error:we,status:u.status||0,statusText:u.statusText||"Unknown Error",url:ee||void 0});d.error(Ue)},Y=!1,le=we=>{Y||(d.next(k()),Y=!0);let ee={type:Oo.DownloadProgress,loaded:we.loaded};we.lengthComputable&&(ee.total=we.total),e.responseType==="text"&&u.responseText&&(ee.partialText=u.responseText),d.next(ee)},ce=we=>{let ee={type:Oo.UploadProgress,loaded:we.loaded};we.lengthComputable&&(ee.total=we.total),d.next(ee)};return u.addEventListener("load",W),u.addEventListener("error",U),u.addEventListener("timeout",U),u.addEventListener("abort",U),e.reportProgress&&(u.addEventListener("progress",le),x!==null&&u.upload&&u.upload.addEventListener("progress",ce)),u.send(x),d.next({type:Oo.Sent}),()=>{u.removeEventListener("error",U),u.removeEventListener("abort",U),u.removeEventListener("load",W),u.removeEventListener("timeout",U),e.reportProgress&&(u.removeEventListener("progress",le),x!==null&&u.upload&&u.upload.removeEventListener("progress",ce)),u.readyState!==u.DONE&&u.abort()}})))}static{this.\u0275fac=function(n){return new(n||t)(Q(Ra))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})(),Tg=new tt(""),lh="XSRF-TOKEN",dh=new tt("",{providedIn:"root",factory:()=>lh}),mh="X-XSRF-TOKEN",gh=new tt("",{providedIn:"root",factory:()=>mh}),Ba=class{},ph=(()=>{class t{constructor(e,n,i){this.doc=e,this.platform=n,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if(this.platform==="server")return null;let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Ta(e,this.cookieName),this.lastCookieString=e),this.lastToken}static{this.\u0275fac=function(n){return new(n||t)(Q(_t),Q(Qn),Q(dh))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})();function uh(t,s){let e=t.url.toLowerCase();if(!ge(Tg)||t.method==="GET"||t.method==="HEAD"||e.startsWith("http://")||e.startsWith("https://"))return s(t);let n=ge(Ba).getToken(),i=ge(gh);return n!=null&&!t.headers.has(i)&&(t=t.clone({headers:t.headers.set(i,n)})),s(t)}var Yc=function(t){return t[t.Interceptors=0]="Interceptors",t[t.LegacyInterceptors=1]="LegacyInterceptors",t[t.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",t[t.NoXsrfProtection=3]="NoXsrfProtection",t[t.JsonpSupport=4]="JsonpSupport",t[t.RequestsMadeViaParent=5]="RequestsMadeViaParent",t[t.Fetch=6]="Fetch",t}(Yc||{});function kg(t,s){return{\u0275kind:t,\u0275providers:s}}function Kc(...t){let s=[He,wg,yg,{provide:Mr,useExisting:yg},{provide:Na,useExisting:wg},{provide:Ua,useValue:uh,multi:!0},{provide:Tg,useValue:!0}
2,{provide:Ba,useClass:ph}];for(let e of t)s.push(...e.\u0275providers);return Bi(s)}function Ig(t){return kg(Yc.Interceptors,t.map(s=>({provide:Ua,useValue:s,multi:!0})))}var Sg=new tt("");function _h(){return kg(Yc.LegacyInterceptors,[{provide:Sg,useFactory:ah},{provide:Ua,useExisting:Sg,multi:!0}])}var Sn=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275mod=nn({type:t})}static{this.\u0275inj=tn({providers:[Kc(_h())]})}}return t})();var Xc=class extends mg{constructor(){super(...arguments),this.supportsDOMEvents=!0}},el=class t extends Xc{static makeCurrent(){dg(new t)}onAndCancel(s,e,n){return s.addEventListener(e,n),()=>{s.removeEventListener(e,n)}}dispatchEvent(s,e){s.dispatchEvent(e)}remove(s){s.parentNode&&s.parentNode.removeChild(s)}createElement(s,e){return e=e||this.getDefaultDocument(),e.createElement(s)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(s){return s.nodeType===Node.ELEMENT_NODE}isShadowRoot(s){return s instanceof DocumentFragment}getGlobalEventTarget(s,e){return e==="window"?window:e==="document"?s:e==="body"?s.body:null}getBaseHref(s){let e=hh();return e==null?null:Ch(e)}resetBaseElement(){br=null}getUserAgent(){return window.navigator.userAgent}getCookie(s){return Ta(document.cookie,s)}},br=null;function hh(){return br=br||document.querySelector("base"),br?br.getAttribute("href"):null}function Ch(t){return new URL(t,document.baseURI).pathname}var vh=(()=>{class t{build(){return new XMLHttpRequest}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})(),tl=new tt(""),zg=(()=>{class t{constructor(e,n){this._zone=n,this._eventNameToPlugin=new Map,e.forEach(i=>{i.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,n,i){return this._findPluginFor(n).addEventListener(e,n,i)}getZone(){return this._zone}_findPluginFor(e){let n=this._eventNameToPlugin.get(e);if(n)return n;if(n=this._plugins.find(d=>d.supports(e)),!n)throw new st(5101,!1);return this._eventNameToPlugin.set(e,n),n}static{this.\u0275fac=function(n){return new(n||t)(Q(tl),Q(It))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})(),ja=class{constructor(s){this._doc=s}},Qc="ng-app-id",Ng=(()=>{class t{constructor(e,n,i,d={}){this.doc=e,this.appId=n,this.nonce=i,this.platformId=d,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Da(d),this.resetHostNodes()}addStyles(e){for(let n of e)this.changeUsageCount(n,1)===1&&this.onStyleAdded(n)}removeStyles(e){for(let n of e)this.changeUsageCount(n,-1)<=0&&this.onStyleRemoved(n)}ngOnDestroy(){let e=this.styleNodesInDOM;e&&(e.forEach(n=>n.remove()),e.clear());for(let n of this.getAllStyles())this.onStyleRemoved(n);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(let n of this.getAllStyles())this.addStyleToHost(e,n)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(let n of this.hostNodes)this.addStyleToHost(n,e)}onStyleRemoved(e){let n=this.styleRef;n.get(e)?.elements?.forEach(i=>i.remove()),n.delete(e)}collectServerRenderedStyles(){let e=this.doc.head?.querySelectorAll(`style[${Qc}="${this.appId}"]`);if(e?.length){let n=new Map;return e.forEach(i=>{i.textContent!=null&&n.set(i.textContent,i)}),n}return null}changeUsageCount(e,n){let i=this.styleRef;if(i.has(e)){let d=i.get(e);return d.usage+=n,d.usage}return i.set(e,{usage:n,elements:[]}),n}getStyleElement(e,n){let i=this.styleNodesInDOM,d=i?.get(n);if(d?.parentNode===e)return i.delete(n),d.removeAttribute(Qc),d;{let u=this.doc.createElement("style");return this.nonce&&u.setAttribute("nonce",this.nonce),u.textContent=n,this.platformIsServer&&u.setAttribute(Qc,this.appId),e.appendChild(u),u}}addStyleToHost(e,n){let i=this.getStyleElement(e,n),d=this.styleRef,u=d.get(n)?.elements;u?u.push(i):d.set(n,{elements:[i],usage:1})}resetHostNodes(){let e=this.hostNodes;e.clear(),e.add(this.doc.head)}static{this.\u0275fac=function(n){return new(n||t)(Q(_t),Q(Ma),Q(pr,8),Q(Qn))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})(),Jc={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},il=/%COMP%/g,Ag="%COMP%",Mh=`_nghost-${Ag}`,xh=`_ngcontent-${Ag}`,bh=!0,Ph=new tt("",{providedIn:"root",factory:()=>bh});function Oh(t){return xh.replace(il,t)}function yh(t){return Mh.replace(il,t)}function Lg(t,s){return s.map(e=>e.replace(il,t))}var qa=(()=>{class t{constructor(e,n,i,d,u,x,y,k=null){this.eventManager=e,this.sharedStylesHost=n,this.appId=i,this.removeStylesOnCompDestroy=d,this.doc=u,this.platformId=x,this.ngZone=y,this.nonce=k,this.rendererByCompId=new Map,this.platformIsServer=Da(x),this.defaultRenderer=new Pr(e,u,y,this.platformIsServer)}createRenderer(e,n){if(!e||!n)return this.defaultRenderer;this.platformIsServer&&n.encapsulation===mr.ShadowDom&&(n=ye(J({},n),{encapsulation:mr.Emulated}));let i=this.getOrCreateRenderer(e,n);
2return i instanceof Wa?i.applyToHost(e):i instanceof Or&&i.applyStyles(),i}getOrCreateRenderer(e,n){let i=this.rendererByCompId,d=i.get(n.id);if(!d){let u=this.doc,x=this.ngZone,y=this.eventManager,k=this.sharedStylesHost,W=this.removeStylesOnCompDestroy,U=this.platformIsServer;switch(n.encapsulation){case mr.Emulated:d=new Wa(y,k,n,this.appId,W,u,x,U);break;case mr.ShadowDom:return new nl(y,k,e,n,u,x,this.nonce,U);default:d=new Or(y,k,n,W,u,x,U);break}i.set(n.id,d)}return d}ngOnDestroy(){this.rendererByCompId.clear()}static{this.\u0275fac=function(n){return new(n||t)(Q(zg),Q(Ng),Q(Ma),Q(Ph),Q(_t),Q(Qn),Q(It),Q(pr))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})(),Pr=class{constructor(s,e,n,i){this.eventManager=s,this.doc=e,this.ngZone=n,this.platformIsServer=i,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(s,e){return e?this.doc.createElementNS(Jc[e]||e,s):this.doc.createElement(s)}createComment(s){return this.doc.createComment(s)}createText(s){return this.doc.createTextNode(s)}appendChild(s,e){(Fg(s)?s.content:s).appendChild(e)}insertBefore(s,e,n){s&&(Fg(s)?s.content:s).insertBefore(e,n)}removeChild(s,e){s&&s.removeChild(e)}selectRootElement(s,e){let n=typeof s=="string"?this.doc.querySelector(s):s;if(!n)throw new st(-5104,!1);return e||(n.textContent=""),n}parentNode(s){return s.parentNode}nextSibling(s){return s.nextSibling}setAttribute(s,e,n,i){if(i){e=i+":"+e;let d=Jc[i];d?s.setAttributeNS(d,e,n):s.setAttribute(e,n)}else s.setAttribute(e,n)}removeAttribute(s,e,n){if(n){let i=Jc[n];i?s.removeAttributeNS(i,e):s.removeAttribute(`${n}:${e}`)}else s.removeAttribute(e)}addClass(s,e){s.classList.add(e)}removeClass(s,e){s.classList.remove(e)}setStyle(s,e,n,i){i&(ur.DashCase|ur.Important)?s.style.setProperty(e,n,i&ur.Important?"important":""):s.style[e]=n}removeStyle(s,e,n){n&ur.DashCase?s.style.removeProperty(e):s.style[e]=""}setProperty(s,e,n){s!=null&&(s[e]=n)}setValue(s,e){s.nodeValue=e}listen(s,e,n){if(typeof s=="string"&&(s=Wi().getGlobalEventTarget(this.doc,s),!s))throw new Error(`Unsupported event target ${s} for event ${e}`);return this.eventManager.addEventListener(s,e,this.decoratePreventDefault(n))}decoratePreventDefault(s){return e=>{if(e==="__ngUnwrap__")return s;(this.platformIsServer?this.ngZone.runGuarded(()=>s(e)):s(e))===!1&&e.preventDefault()}}};function Fg(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var nl=class extends Pr{constructor(s,e,n,i,d,u,x,y){super(s,d,u,y),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let k=Lg(i.id,i.styles);for(let W of k){let U=document.createElement("style");x&&U.setAttribute("nonce",x),U.textContent=W,this.shadowRoot.appendChild(U)}}nodeOrShadowRoot(s){return s===this.hostEl?this.shadowRoot:s}appendChild(s,e){return super.appendChild(this.nodeOrShadowRoot(s),e)}insertBefore(s,e,n){return super.insertBefore(this.nodeOrShadowRoot(s),e,n)}removeChild(s,e){return super.removeChild(this.nodeOrShadowRoot(s),e)}parentNode(s){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(s)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},Or=class extends Pr{constructor(s,e,n,i,d,u,x,y){super(s,d,u,x),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=i,this.styles=y?Lg(y,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}},Wa=class extends Or{constructor(s,e,n,i,d,u,x,y){let k=i+"-"+n.id;super(s,e,n,d,u,x,y,k),this.contentAttr=Oh(k),this.hostAttr=yh(k)}applyToHost(s){this.applyStyles(),this.setAttribute(s,this.hostAttr,"")}createElement(s,e){let n=super.createElement(s,e);return super.setAttribute(n,this.contentAttr,""),n}},wh=(()=>{class t extends ja{constructor(e){super(e)}supports(e){return!0}addEventListener(e,n,i){return e.addEventListener(n,i,!1),()=>this.removeEventListener(e,n,i)}removeEventListener(e,n,i){return e.removeEventListener(n,i)}static{this.\u0275fac=function(n){return new(n||t)(Q(_t))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})(),Dg=["alt","control","meta","shift"],Sh={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Eh={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},Th=(()=>{class t extends ja{constructor(e){super(e)}supports(e){return t.parseEventName(e)!=null}addEventListener(e,n,i){let d=t.parseEventName(n),u=t.eventCallback(d.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Wi().onAndCancel(e,d.domEventName,u))}static parseEventName(e){let n=e.toLowerCase().split("."),i=n.shift();if(n.length===0||!(i==="keydown"||i==="keyup"))return null;let d=t._normalizeKey(n.pop()),u="",x=n.indexOf("code");if(x>
2-1&&(n.splice(x,1),u="code."),Dg.forEach(k=>{let W=n.indexOf(k);W>-1&&(n.splice(W,1),u+=k+".")}),u+=d,n.length!=0||d.length===0)return null;let y={};return y.domEventName=i,y.fullKey=u,y}static matchEventFullKeyCode(e,n){let i=Sh[e.key]||e.key,d="";return n.indexOf("code.")>-1&&(i=e.code,d="code."),i==null||!i?!1:(i=i.toLowerCase(),i===" "?i="space":i==="."&&(i="dot"),Dg.forEach(u=>{if(u!==i){let x=Eh[u];x(e)&&(d+=u+".")}}),d+=i,d===n)}static eventCallback(e,n,i){return d=>{t.matchEventFullKeyCode(d,e)&&i.runGuarded(()=>n(d))}}static _normalizeKey(e){return e==="esc"?"escape":e}static{this.\u0275fac=function(n){return new(n||t)(Q(_t))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})();function Vg(t,s){return cg(J({rootComponent:t},kh(s)))}function kh(t){return{appProviders:[...zh,...t?.providers??[]],platformProviders:Rh}}function Ih(){el.makeCurrent()}function Fh(){return new Nc}function Dh(){return Vm(document),document}var Rh=[{provide:Qn,useValue:vg},{provide:Bm,useValue:Ih,multi:!0},{provide:_t,useFactory:Dh,deps:[]}];var zh=[{provide:Am,useValue:"root"},{provide:Nc,useFactory:Fh,deps:[]},{provide:tl,useClass:wh,multi:!0,deps:[_t,It,Qn]},{provide:tl,useClass:Th,multi:!0,deps:[_t]},qa,Ng,zg,{provide:ba,useExisting:qa},{provide:Ra,useClass:vh,deps:[]},[]];var Bg=(()=>{class t{constructor(e){this._doc=e,this._dom=Wi()}addTag(e,n=!1){return e?this._getOrCreateElement(e,n):null}addTags(e,n=!1){return e?e.reduce((i,d)=>(d&&i.push(this._getOrCreateElement(d,n)),i),[]):[]}getTag(e){return e&&this._doc.querySelector(`meta[${e}]`)||null}getTags(e){if(!e)return[];let n=this._doc.querySelectorAll(`meta[${e}]`);return n?[].slice.call(n):[]}updateTag(e,n){if(!e)return null;n=n||this._parseSelector(e);let i=this.getTag(n);return i?this._setMetaElementAttributes(e,i):this._getOrCreateElement(e,!0)}removeTag(e){this.removeTagElement(this.getTag(e))}removeTagElement(e){e&&this._dom.remove(e)}_getOrCreateElement(e,n=!1){if(!n){let u=this._parseSelector(e),x=this.getTags(u).filter(y=>this._containsAttributes(e,y))[0];if(x!==void 0)return x}let i=this._dom.createElement("meta");return this._setMetaElementAttributes(e,i),this._doc.getElementsByTagName("head")[0].appendChild(i),i}_setMetaElementAttributes(e,n){return Object.keys(e).forEach(i=>n.setAttribute(this._getMetaKeyMap(i),e[i])),n}_parseSelector(e){let n=e.name?"name":"property";return`${n}="${e[n]}"`}_containsAttributes(e,n){return Object.keys(e).every(i=>n.getAttribute(this._getMetaKeyMap(i))===e[i])}_getMetaKeyMap(e){return Nh[e]||e}static{this.\u0275fac=function(n){return new(n||t)(Q(_t))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Nh={httpEquiv:"http-equiv"},$a=(()=>{class t{constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static{this.\u0275fac=function(n){return new(n||t)(Q(_t))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var $i=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=Q(Ah),i},providedIn:"root"})}}return t})(),Ah=(()=>{class t extends $i{constructor(e){super(),this._doc=e}sanitize(e,n){if(n==null)return null;switch(e){case Ui.NONE:return n;case Ui.HTML:return Co(n,"HTML")?ho(n):Zm(this._doc,String(n)).toString();case Ui.STYLE:return Co(n,"Style")?ho(n):n;case Ui.SCRIPT:if(Co(n,"Script"))return ho(n);throw new st(5200,!1);case Ui.URL:return Co(n,"URL")?ho(n):Gm(String(n));case Ui.RESOURCE_URL:if(Co(n,"ResourceURL"))return ho(n);throw new st(5201,!1);default:throw new st(5202,!1)}}bypassSecurityTrustHtml(e){return jm(e)}bypassSecurityTrustStyle(e){return qm(e)}bypassSecurityTrustScript(e){return Wm(e)}bypassSecurityTrustUrl(e){return $m(e)}bypassSecurityTrustResourceUrl(e){return Hm(e)}static{this.\u0275fac=function(n){return new(n||t)(Q(_t))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ae="primary",Ur=Symbol("RouteTitle"),cl=class{constructor(s){this.params=s||{}}has(s){return Object.prototype.hasOwnProperty.call(this.params,s)}get(s){if(this.has(s)){let e=this.params[s];return Array.isArray(e)?e[0]:e}return null}getAll(s){if(this.has(s)){let e=this.params[s];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function To(t){return new cl(t)}function Lh(t,s,e){let n=e.path.split("/");if(n.length>t.length||e.pathMatch==="full"&&(s.hasChildren()||n.length<t.length))return null;let i={};for(let d=0;d<n.length;d++){let u=n[d],x=t[d];if(u.startsWith(":"))i[u.substring(1)]=x;else if(u!==x.path)return null}return{consumed:t.slice(0,n.length),posParams:i}}function Vh(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;++e)if(!Un(t[e],s[e]))return!1;return!0}function Un(t,s){let e=t?ll(t):void 0,n=s?ll(s):void 0;if(!e||!n||e.length!=n.length)return!1;let i;for(let d=0;d<e.length;d++)if(i=e[d],!Yg(t[i],s[i]))return!1;return!0}function ll(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Yg(t,s){if(Array.isArray(t)&&Array.isArray(s)){if(t.length!==s.length)return!1;let e=[...t].sort(),n=[...s].sort();return e.every((i,d)=>n[d]===i)}else return t===s}function Kg(t){return t.length>0?t[t.length-1]:null}function hi(t){return Em(t)?t:ya(t)?jt(Promise.resolve(t)):Ce(t)}var Bh={exact:Jg,subset:Xg},Qg={exact:Uh,subset:jh,ignored:()=>!0};function Ug(t,s,e){return Bh[e.paths](t.root,s.root,e.matrixParams)&&Qg[e.queryParams](t.queryParams,s.queryParams)&&!(e.fragment==="exact"&&t.fragment!==s.fragment)}function Uh(t,s){return Un(t,s)}function Jg(t,s,e){if(!Gi(t.segments,s.segments)||!Za(t.segments,s.segments,e)||t.numberOfChildren!==s.numberOfChildren)return!1;
vendor: 9,429 bytes, line 2
2for(let n in s.children)if(!t.children[n]||!Jg(t.children[n],s.children[n],e))return!1;return!0}function jh(t,s){return Object.keys(s).length<=Object.keys(t).length&&Object.keys(s).every(e=>Yg(t[e],s[e]))}function Xg(t,s,e){return ep(t,s,s.segments,e)}function ep(t,s,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!Gi(i,e)||s.hasChildren()||!Za(i,e,n))}else if(t.segments.length===e.length){if(!Gi(t.segments,e)||!Za(t.segments,e,n))return!1;for(let i in s.children)if(!t.children[i]||!Xg(t.children[i],s.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),d=e.slice(t.segments.length);return!Gi(t.segments,i)||!Za(t.segments,i,n)||!t.children[Ae]?!1:ep(t.children[Ae],s,d,n)}}function Za(t,s,e){return s.every((n,i)=>Qg[e](t[i].parameters,n.parameters))}var ui=class{constructor(s=new rt([],{}),e={},n=null){this.root=s,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap??=To(this.queryParams),this._queryParamMap}toString(){return $h.serialize(this)}},rt=class{constructor(s,e){this.segments=s,this.children=e,this.parent=null,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Ya(this)}},Hi=class{constructor(s,e){this.path=s,this.parameters=e}get parameterMap(){return this._parameterMap??=To(this.parameters),this._parameterMap}toString(){return np(this)}};function qh(t,s){return Gi(t,s)&&t.every((e,n)=>Un(e.parameters,s[n].parameters))}function Gi(t,s){return t.length!==s.length?!1:t.every((e,n)=>e.path===s[n].path)}function Wh(t,s){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===Ae&&(e=e.concat(s(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==Ae&&(e=e.concat(s(i,n)))}),e}var Do=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:()=>new Fr,providedIn:"root"})}}return t})(),Fr=class{parse(s){let e=new ml(s);return new ui(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(s){let e=`/${wr(s.root,!0)}`,n=Zh(s.queryParams),i=typeof s.fragment=="string"?`#${Hh(s.fragment)}`:"";return`${e}${n}${i}`}},$h=new Fr;function Ya(t){return t.segments.map(s=>np(s)).join("/")}function wr(t,s){if(!t.hasChildren())return Ya(t);if(s){let e=t.children[Ae]?wr(t.children[Ae],!1):"",n=[];return Object.entries(t.children).forEach(([i,d])=>{i!==Ae&&n.push(`${i}:${wr(d,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=Wh(t,(n,i)=>i===Ae?[wr(t.children[Ae],!1)]:[`${i}:${wr(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[Ae]!=null?`${Ya(t)}/${e[0]}`:`${Ya(t)}/(${e.join("//")})`}}function tp(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ha(t){return tp(t).replace(/%3B/gi,";")}function Hh(t){return encodeURI(t)}function dl(t){return tp(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ka(t){return decodeURIComponent(t)}function jg(t){return Ka(t.replace(/\+/g,"%20"))}function np(t){return`${dl(t.path)}${Gh(t.parameters)}`}function Gh(t){return Object.entries(t).map(([s,e])=>`;${dl(s)}=${dl(e)}`).join("")}function Zh(t){let s=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${Ha(e)}=${Ha(i)}`).join("&"):`${Ha(e)}=${Ha(n)}`).filter(e=>e);return s.length?`?${s.join("&")}`:""}var Yh=/^[^\/()?;#]+/;function ol(t){let s=t.match(Yh);return s?s[0]:""}var Kh=/^[^\/()?;=#]+/;function Qh(t){let s=t.match(Kh);return s?s[0]:""}var Jh=/^[^=?&#]+/;function Xh(t){let s=t.match(Jh);return s?s[0]:""}var e1=/^[^&#]+/;function t1(t){let s=t.match(e1);return s?s[0]:""}var ml=class{constructor(s){this.url=s,this.remaining=s}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new rt([],{}):new rt([],this.parseChildren())}parseQueryParams(){let s={};if(this.consumeOptional("?"))do this.parseQueryParam(s);while(this.consumeOptional("&"));return s}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let s=[];for(this.peekStartsWith("(")||s.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),s.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(s.length>0||Object.keys(e).length>0)&&(n[Ae]=new rt(s,e)),n}parseSegment(){let s=ol(this.remaining);if(s===""&&this.peekStartsWith(";"))throw new st(4009,!1);return this.capture(s),new Hi(Ka(s),this.parseMatrixParams())}parseMatrixParams(){let s={};for(;this.consumeOptional(";");)this.parseParam(s);return s}parseParam(s){let e=Qh(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=ol(this.remaining);i&&(n=i,this.capture(n))}s[Ka(e)]=Ka(n)}parseQueryParam(s){let e=Xh(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let u=t1(this.remaining);u&&(n=u,this.capture(n))}let i=jg(e),d=jg(n);if(s.hasOwnProperty(i)){let u=s[i];Array.isArray(u)||(u=[u],s[i]=u),u.push(d)}else s[i]=d}parseParens(s){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=ol(this.remaining),i=this.remaining[n.length];if(i!=="/"&&i!==")"&&i!==";")throw new st(4010,!1);let d;n.indexOf(":")>-1?(d=n.slice(0,n.indexOf(":")),this.capture(d),this.capture(":")):s&&(d=Ae);let u=this.parseChildren();e[d]=Object.keys(u).length===1?u[Ae]:new rt([],u),this.consumeOptional("//")}return e}peekStartsWith(s){return this.remaining.startsWith(s)}consumeOptional(s){return this.peekStartsWith(s)?(this.remaining=this.remaining.substring(s.length),!0):!1}capture(s){if(!this.consumeOptional(s))throw new st(4011,!1)}};function ip(t){return t.segments.length>0?new rt([],{[Ae]:t}):t}function op(t){let s={};for(let[n,i]of Object.entries(t.children)){let d=op(i);if(n===Ae&&d.segments.length===0&&d.hasChildren())for(let[u,x]of Object.entries(d.children))s[u]=x;else(d.segments.length>0||d.hasChildren())&&(s[n]=d)}let e=new rt(t.segments,s);return n1(e)}function n1(t){if(t.numberOfChildren===1&&t.children[Ae]){let s=t.children[Ae];return new rt(t.segments.concat(s.segments),s.children)}return t}function ko(t){return t instanceof ui}function i1(t,s,e=null,n=null){let i=rp(t);return ap(i,s,e,n)}function rp(t){let s;function e(d){let u={};for(let y of d.children){let k=e(y);u[y.outlet]=k}let x=new rt(d.url,u);return d===t&&(s=x),x}let n=e(t.root),i=ip(n);return s??i}function ap(t,s,e,n){let i=t;for(;i.parent;)i=i.parent;if(s.length===0)return rl(i,i,i,e,n);let d=o1(s);if(d.toRoot())return rl(i,i,new rt([],{}),e,n);let u=r1(d,i,t),x=u.processChildren?Tr(u.segmentGroup,u.index,d.commands):cp(u.segmentGroup,u.index,d.commands);return rl(i,u.segmentGroup,x,e,n)}function Qa(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Dr(t){return typeof t=="object"&&t!=null&&t.outlets}function rl(t,s,e,n,i){let d={};n&&Object.entries(n).forEach(([y,k])=>{d[y]=Array.isArray(k)?k.map(W=>`${W}`):`${k}`});let u;t===s?u=e:u=sp(t,s,e);let x=ip(op(u));return new ui(x,d,i)}function sp(t,s,e){let n={};return Object.entries(t.children).forEach(([i,d])=>{d===s?n[i]=e:n[i]=sp(d,s,e)}),new rt(t.segments,n)}var Ja=class{constructor(s,e,n){if(this.isAbsolute=s,this.numberOfDoubleDots=e,this.commands=n,s&&n.length>0&&Qa(n[0]))throw new st(4003,!1);let i=n.find(Dr);if(i&&i!==Kg(n))throw new st(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function o1(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new Ja(!0,0,t);let s=0,e=!1,n=t.reduce((i,d,u)=>{if(typeof d=="object"&&d!=null){if(d.outlets){let x={};return Object.entries(d.outlets).forEach(([y,k])=>{x[y]=typeof k=="string"?k.split("/"):k}),[...i,{outlets:x}]}if(d.segmentPath)return[...i,d.segmentPath]}return typeof d!="string"?[...i,d]:u===0?(d.split("/").forEach((x,y)=>{y==0&&x==="."||(y==0&&x===""?e=!0:x===".."?s++:x!=""&&i.push(x))}),i):[...i,d]},[]);return new Ja(e,s,n)}var So=class{constructor(s,e,n){this.segmentGroup=s,this.processChildren=e,this.index=n}};function r1(t,s,e){if(t.isAbsolute)return new So(s,!0,0);if(!e)return new So(s,!1,NaN);if(e.parent===null)return new So(e,!0,0);let n=Qa(t.commands[0])?0:1,i=e.segments.length-1+n;return a1(e,i,t.numberOfDoubleDots)}function a1(t,s,e){let n=t,i=s,d=e;for(;d>i;){if(d-=i,n=n.parent,!n)throw new st(4005,!1);i=n.segments.length}return new So(n,!1,i-d)}function s1(t){return Dr(t[0])?t[0].outlets:{[Ae]:t}}function cp(t,s,e){if(t??=new rt([],{}),t.segments.length===0&&t.hasChildren())return Tr(t,s,e);let n=c1(t,s,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndex<t.segments.length){let d=new rt(t.segments.slice(0,n.pathIndex),{});return d.children[Ae]=new rt(t.segments.slice(n.pathIndex),t.children),Tr(d,0,i)}else return n.match&&i.length===0?new rt(t.segments,{}):n.match&&!t.hasChildren()?gl(t,s,e):n.match?Tr(t,0,i):gl(t,s,e)}function Tr(t,s,e){if(e.length===0)return new rt(t.segments,{});{let n=s1(e),i={};if(Object.keys(n).some(d=>d!==Ae)&&t.children[Ae]&&t.numberOfChildren===1&&t.children[Ae].segments.length===0){let d=Tr(t.children[Ae],s,e);return new rt(t.segments,d.children)}
2return Object.entries(n).forEach(([d,u])=>{typeof u=="string"&&(u=[u]),u!==null&&(i[d]=cp(t.children[d],s,u))}),Object.entries(t.children).forEach(([d,u])=>{n[d]===void 0&&(i[d]=u)}),new rt(t.segments,i)}}function c1(t,s,e){let n=0,i=s,d={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(n>=e.length)return d;let u=t.segments[i],x=e[n];if(Dr(x))break;let y=`${x}`,k=n<e.length-1?e[n+1]:null;if(i>0&&y===void 0)break;if(y&&k&&typeof k=="object"&&k.outlets===void 0){if(!Wg(y,k,u))return d;n+=2}else{if(!Wg(y,{},u))return d;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function gl(t,s,e){let n=t.segments.slice(0,s),i=0;for(;i<e.length;){let d=e[i];if(Dr(d)){let y=l1(d.outlets);return new rt(n,y)}if(i===0&&Qa(e[0])){let y=t.segments[s];n.push(new Hi(y.path,qg(e[0]))),i++;continue}let u=Dr(d)?d.outlets[Ae]:`${d}`,x=i<e.length-1?e[i+1]:null;u&&x&&Qa(x)?(n.push(new Hi(u,qg(x))),i+=2):(n.push(new Hi(u,{})),i++)}return new rt(n,{})}function l1(t){let s={};return Object.entries(t).forEach(([e,n])=>{typeof n=="string"&&(n=[n]),n!==null&&(s[e]=gl(new rt([],{}),0,n))}),s}function qg(t){let s={};return Object.entries(t).forEach(([e,n])=>s[e]=`${n}`),s}function Wg(t,s,e){return t==e.path&&Un(s,e.parameters)}var kr="imperative",$t=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}($t||{}),En=class{constructor(s,e){this.id=s,this.url=e}},Io=class extends En{constructor(s,e,n="imperative",i=null){super(s,e),this.type=$t.NavigationStart,this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},Vt=class extends En{constructor(s,e,n){super(s,e),this.urlAfterRedirects=n,this.type=$t.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},fn=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(fn||{}),Xa=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(Xa||{}),_i=class extends En{constructor(s,e,n,i){super(s,e),this.reason=n,this.code=i,this.type=$t.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},fi=class extends En{constructor(s,e,n,i){super(s,e),this.reason=n,this.code=i,this.type=$t.NavigationSkipped}},Rr=class extends En{constructor(s,e,n,i){super(s,e),this.error=n,this.target=i,this.type=$t.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},es=class extends En{constructor(s,e,n,i){super(s,e),this.urlAfterRedirects=n,this.state=i,this.type=$t.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},pl=class extends En{constructor(s,e,n,i){super(s,e),this.urlAfterRedirects=n,this.state=i,this.type=$t.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ul=class extends En{constructor(s,e,n,i,d){super(s,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=d,this.type=$t.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}
2,_l=class extends En{constructor(s,e,n,i){super(s,e),this.urlAfterRedirects=n,this.state=i,this.type=$t.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},fl=class extends En{constructor(s,e,n,i){super(s,e),this.urlAfterRedirects=n,this.state=i,this.type=$t.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},hl=class{constructor(s){this.route=s,this.type=$t.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Cl=class{constructor(s){this.route=s,this.type=$t.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},vl=class{constructor(s){this.snapshot=s,this.type=$t.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Ml=class{constructor(s){this.snapshot=s,this.type=$t.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},xl=class{constructor(s){this.snapshot=s,this.type=$t.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},bl=class{constructor(s){this.snapshot=s,this.type=$t.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ts=class{constructor(s,e,n){this.routerEvent=s,this.position=e,this.anchor=n,this.type=$t.Scroll}toString(){let s=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${s}')`}},zr=class{},Nr=class{constructor(s){this.url=s}};var Pl=class{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new jr,this.attachRef=null}},jr=(()=>{class t{constructor(){this.contexts=new Map}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Pl,this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),ns=class{constructor(s){this._root=s}get root(){return this._root.value}parent(s){let e=this.pathFromRoot(s);return e.length>1?e[e.length-2]:null}children(s){let e=Ol(s,this._root);return e?e.children.map(n=>n.value):[]}firstChild(s){let e=Ol(s,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(s){let e=yl(s,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==s)}pathFromRoot(s){return yl(s,this._root).map(e=>e.value)}};function Ol(t,s){if(t===s.value)return s;for(let e of s.children){let n=Ol(t,e);if(n)return n}return null}function yl(t,s){if(t===s.value)return[s];for(let e of s.children){let n=yl(t,e);if(n.length)return n.unshift(s),n}return[]}var _n=class{constructor(s,e){this.value=s,this.children=e}toString(){return`TreeNode(${this.value})`}};function wo(t){let s={};return t&&t.children.forEach(e=>s[e.value.outlet]=e),s}var is=class extends ns{constructor(s,e){super(s),this.snapshot=e,zl(this,s)}toString(){return this.snapshot.toString()}};function lp(t){let s=d1(t),e=new At([new Hi("",{})]),n=new At({}),i=new At({}),d=new At({}),u=new At(""),x=new Je(e,n,d,u,i,Ae,t,s.root);return x.snapshot=s.root,new is(new _n(x,[]),s)}function d1(t){let s={},e={},n={},i="",d=new Ar([],s,n,i,e,Ae,t,null,{});return new os("",new _n(d,[]))}var Je=class{constructor(s,e,n,i,d,u,x,y){this.urlSubject=s,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=d,this.outlet=u,this.component=x,this._futureSnapshot=y,this.title=this.dataSubject?.pipe(_e(k=>k[Ur]))??Ce(void 0),this.url=s,this.params=e,this.queryParams=n,this.fragment=i,this.data=d}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(_e(s=>To(s))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(_e(s=>To(s))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Rl(t,s,e="emptyOnly"){let n,{routeConfig:i}=t;return s!==null&&(e==="always"||i?.path===""||!s.component&&!s.routeConfig?.loadComponent)?n={params:J(J({},s.params),t.params),data:J(J({},s.data),t.data),resolve:J(J(J(J({},t.data),s.data),i?.data),t._resolvedData)}:n={params:J({},t.params),data:J({},t.data),resolve:J(J({},t.data),t._resolvedData??{})},i&&mp(i)&&(n.resolve[Ur]=i.title),n}var Ar=class{get title(){return this.data?.[Ur]}constructor(s,e,n,i,d,u,x,y,k){this.url=s,this.params=e,this.queryParams=n,this.fragment=i,this.data=d,this.outlet=u,this.component=x,this.routeConfig=y,this._resolve=k}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=To(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=To(this.queryParams),this._queryParamMap}toString(){let s=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${s}', path:'${e}')`}},os=class extends ns{constructor(s,e){super(e),this.url=s,zl(this,e)}toString(){return dp(this._root)}};
2function zl(t,s){s.value._routerState=t,s.children.forEach(e=>zl(t,e))}function dp(t){let s=t.children.length>0?` { ${t.children.map(dp).join(", ")} } `:"";return`${t.value}${s}`}function al(t){if(t.snapshot){let s=t.snapshot,e=t._futureSnapshot;t.snapshot=e,Un(s.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),s.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),Un(s.params,e.params)||t.paramsSubject.next(e.params),Vh(s.url,e.url)||t.urlSubject.next(e.url),Un(s.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function wl(t,s){let e=Un(t.params,s.params)&&qh(t.url,s.url),n=!t.parent!=!s.parent;return e&&!n&&(!t.parent||wl(t.parent,s.parent))}function mp(t){return typeof t.title=="string"||t.title===null}var ei=(()=>{class t{constructor(){this.activated=null,this._activatedRoute=null,this.name=Ae,this.activateEvents=new it,this.deactivateEvents=new it,this.attachEvents=new it,this.detachEvents=new it,this.parentContexts=ge(jr),this.location=ge(Jm),this.changeDetector=ge(pi),this.environmentInjector=ge(gi),this.inputBinder=ge(cs,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new st(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new st(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new st(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,n){if(this.isActivated)throw new st(4013,!1);this._activatedRoute=e;let i=this.location,u=e.snapshot.component,x=this.parentContexts.getOrCreateContext(this.name).children,y=new Sl(e,x,i.injector);this.activated=i.createComponent(u,{index:i.length,injector:y,environmentInjector:n??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275dir=qe({type:t,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Mt]})}}return t})(),Sl=class t{__ngOutletInjector(s){return new t(this.route,this.childContexts,s)}constructor(s,e,n){this.route=s,this.childContexts=e,this.parent=n}get(s,e){return s===Je?this.route:s===jr?this.childContexts:this.parent.get(s,e)}},cs=new tt(""),$g=(()=>{class t{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:n}=e,i=_o([n.queryParams,n.params,n.data]).pipe(gt(([d,u,x],y)=>(x=J(J(J({},d),u),x),y===0?Ce(x):Promise.resolve(x)))).subscribe(d=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(e);return}let u=lg(n.component);if(!u){this.unsubscribeFromRouteData(e);return}for(let{templateName:x}of u.inputs)e.activatedComponentRef.setInput(x,d[x])});this.outletDataSubscriptions.set(e,i)}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})();function m1(t,s,e){let n=Lr(t,s._root,e?e._root:void 0);return new is(n,s)}function Lr(t,s,e){if(e&&t.shouldReuseRoute(s.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=s.value;let i=g1(t,s,e);return new _n(n,i)}else{if(t.shouldAttach(s.value)){let d=t.retrieve(s.value);if(d!==null){let u=d.route;return u.value._futureSnapshot=s.value,u.children=s.children.map(x=>Lr(t,x)),u}}let n=p1(s.value),i=s.children.map(d=>Lr(t,d));return new _n(n,i)}}function g1(t,s,e){return s.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return Lr(t,n,i);return Lr(t,n)})}function p1(t){return new Je(new At(t.url),new At(t.params),new At(t.queryParams),new At(t.fragment),new At(t.data),t.outlet,t.component,t)}var gp="ngNavigationCancelingError";function pp(t,s){let{redirectTo:e,navigationBehaviorOptions:n}=ko(s)?{redirectTo:s,navigationBehaviorOptions:void 0}:s,i=up(!1,fn.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function up(t,s){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[gp]=!0,e.cancellationCode=s,e}function u1(t){return _p(t)&&ko(t.url)}function _p(t){return!!t&&t[gp]}var _1=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["ng-component"]],standalone:!0,features:[B],decls:1,vars:0,template:function(n,i){n&1&&_(0,"router-outlet")},dependencies:[ei],encapsulation:2})}}return t})();function f1(t,s){return t.providers&&!t._injector&&(t._injector=Bc(t.providers,s,`Route: ${t.path}`)),t._injector??s}function Nl(t){let s=t.children&&t.children.map(Nl),e=s?ye(J({},t),{children:s}):J({},t);return!e.component&&!e.loadComponent&&(s||e.loadChildren)&&e.outlet&&e.outlet!==Ae&&(e.component=_1),e}function jn(t){return t.outlet||Ae}function h1(t,s){let e=t.filter(n=>jn(n)===s);return e.push(...t.filter(n=>jn(n)!==s)),e}function qr(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let s=t.parent;s;s=s.parent){let e=s.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var C1=(t,s,e,n)=>_e(i=>(new El(s,i.targetRouterState,i.currentRouterState,e,n).activate(t),i)),El=class{constructor(s,e,n,i,d){this.routeReuseStrategy=s,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=d}activate(s){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,s),al(this.futureState.root),this.activateChildRoutes(e,n,s)}deactivateChildRoutes(s,e,n){let i=wo(e);
vendor: 5,398 bytes, line 2
2s.children.forEach(d=>{let u=d.value.outlet;this.deactivateRoutes(d,i[u],n),delete i[u]}),Object.values(i).forEach(d=>{this.deactivateRouteAndItsChildren(d,n)})}deactivateRoutes(s,e,n){let i=s.value,d=e?e.value:null;if(i===d)if(i.component){let u=n.getContext(i.outlet);u&&this.deactivateChildRoutes(s,e,u.children)}else this.deactivateChildRoutes(s,e,n);else d&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(s,e){s.value.component&&this.routeReuseStrategy.shouldDetach(s.value.snapshot)?this.detachAndStoreRouteSubtree(s,e):this.deactivateRouteAndOutlet(s,e)}detachAndStoreRouteSubtree(s,e){let n=e.getContext(s.value.outlet),i=n&&s.value.component?n.children:e,d=wo(s);for(let u of Object.values(d))this.deactivateRouteAndItsChildren(u,i);if(n&&n.outlet){let u=n.outlet.detach(),x=n.children.onOutletDeactivated();this.routeReuseStrategy.store(s.value.snapshot,{componentRef:u,route:s,contexts:x})}}deactivateRouteAndOutlet(s,e){let n=e.getContext(s.value.outlet),i=n&&s.value.component?n.children:e,d=wo(s);for(let u of Object.values(d))this.deactivateRouteAndItsChildren(u,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(s,e,n){let i=wo(e);s.children.forEach(d=>{this.activateRoutes(d,i[d.value.outlet],n),this.forwardEvent(new bl(d.value.snapshot))}),s.children.length&&this.forwardEvent(new Ml(s.value.snapshot))}activateRoutes(s,e,n){let i=s.value,d=e?e.value:null;if(al(i),i===d)if(i.component){let u=n.getOrCreateContext(i.outlet);this.activateChildRoutes(s,e,u.children)}else this.activateChildRoutes(s,e,n);else if(i.component){let u=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let x=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),u.children.onOutletReAttached(x.contexts),u.attachRef=x.componentRef,u.route=x.route.value,u.outlet&&u.outlet.attach(x.componentRef,x.route.value),al(x.route.value),this.activateChildRoutes(s,null,u.children)}else{let x=qr(i.snapshot);u.attachRef=null,u.route=i,u.injector=x,u.outlet&&u.outlet.activateWith(i,u.injector),this.activateChildRoutes(s,null,u.children)}}else this.activateChildRoutes(s,null,n)}},rs=class{constructor(s){this.path=s,this.route=this.path[this.path.length-1]}},Eo=class{constructor(s,e){this.component=s,this.route=e}};function v1(t,s,e){let n=t._root,i=s?s._root:null;return Sr(n,i,e,[n.value])}function M1(t){let s=t.routeConfig?t.routeConfig.canActivateChild:null;return!s||s.length===0?null:{node:t,guards:s}}function Ro(t,s){let e=Symbol(),n=s.get(t,e);return n===e?typeof t=="function"&&!Rm(t)?t:s.get(t):n}function Sr(t,s,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let d=wo(s);return t.children.forEach(u=>{x1(u,d[u.value.outlet],e,n.concat([u.value]),i),delete d[u.value.outlet]}),Object.entries(d).forEach(([u,x])=>Ir(x,e.getContext(u),i)),i}function x1(t,s,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let d=t.value,u=s?s.value:null,x=e?e.getContext(t.value.outlet):null;if(u&&d.routeConfig===u.routeConfig){let y=b1(u,d,d.routeConfig.runGuardsAndResolvers);y?i.canActivateChecks.push(new rs(n)):(d.data=u.data,d._resolvedData=u._resolvedData),d.component?Sr(t,s,x?x.children:null,n,i):Sr(t,s,e,n,i),y&&x&&x.outlet&&x.outlet.isActivated&&i.canDeactivateChecks.push(new Eo(x.outlet.component,u))}else u&&Ir(s,x,i),i.canActivateChecks.push(new rs(n)),d.component?Sr(t,null,x?x.children:null,n,i):Sr(t,null,e,n,i);return i}function b1(t,s,e){if(typeof e=="function")return e(t,s);switch(e){case"pathParamsChange":return!Gi(t.url,s.url);case"pathParamsOrQueryParamsChange":return!Gi(t.url,s.url)||!Un(t.queryParams,s.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!wl(t,s)||!Un(t.queryParams,s.queryParams);case"paramsChange":default:return!wl(t,s)}}function Ir(t,s,e){let n=wo(t),i=t.value;Object.entries(n).forEach(([d,u])=>{i.component?s?Ir(u,s.children.getContext(d),e):Ir(u,null,e):Ir(u,s,e)}),i.component?s&&s.outlet&&s.outlet.isActivated?e.canDeactivateChecks.push(new Eo(s.outlet.component,i)):e.canDeactivateChecks.push(new Eo(null,i)):e.canDeactivateChecks.push(new Eo(null,i))}function Wr(t){return typeof t=="function"}function P1(t){return typeof t=="boolean"}function O1(t){return t&&Wr(t.canLoad)}function y1(t){return t&&Wr(t.canActivate)}function w1(t){return t&&Wr(t.canActivateChild)}function S1(t){return t&&Wr(t.canDeactivate)}function E1(t){return t&&Wr(t.canMatch)}function fp(t){return t instanceof Tm||t?.name==="EmptyError"}var Ga=Symbol("INITIAL_VALUE");function Fo(){return gt(t=>_o(t.map(s=>s.pipe(wn(1),Ca(Ga)))).pipe(_e(s=>{for(let e of s)if(e!==!0){if(e===Ga)return Ga;if(e===!1||e instanceof ui)return e}return!0}),Tt(s=>s!==Ga),wn(1)))}function T1(t,s){return pn(e=>{let{targetSnapshot:n,currentSnapshot:i,guards:{canActivateChecks:d,canDeactivateChecks:u}}=e;return u.length===0&&d.length===0?Ce(ye(J({},e),{guardsResult:!0})):k1(u,n,i,t).pipe(pn(x=>x&&P1(x)?I1(n,d,t,s):Ce(x)),_e(x=>ye(J({},e),{guardsResult:x})))})}function k1(t,s,e,n){return jt(t).pipe(pn(i=>N1(i.component,i.route,e,s,n)),di(i=>i!==!0,!0))}function I1(t,s,e,n){return jt(s).pipe(li(i=>ha(D1(i.route.parent,n),F1(i.route,n),z1(t,i.path,e),R1(t,i.route,e))),di(i=>i!==!0,!0))}function F1(t,s){return t!==null&&s&&s(new xl(t)),Ce(!0)}function D1(t,s){return t!==null&&s&&s(new vl(t)),Ce(!0)}
2function R1(t,s,e){let n=s.routeConfig?s.routeConfig.canActivate:null;if(!n||n.length===0)return Ce(!0);let i=n.map(d=>Tc(()=>{let u=qr(s)??e,x=Ro(d,u),y=y1(x)?x.canActivate(s,t):Vn(u,()=>x(s,t));return hi(y).pipe(di())}));return Ce(i).pipe(Fo())}function z1(t,s,e){let n=s[s.length-1],d=s.slice(0,s.length-1).reverse().map(u=>M1(u)).filter(u=>u!==null).map(u=>Tc(()=>{let x=u.guards.map(y=>{let k=qr(u.node)??e,W=Ro(y,k),U=w1(W)?W.canActivateChild(n,t):Vn(k,()=>W(n,t));return hi(U).pipe(di())});return Ce(x).pipe(Fo())}));return Ce(d).pipe(Fo())}function N1(t,s,e,n,i){let d=s&&s.routeConfig?s.routeConfig.canDeactivate:null;if(!d||d.length===0)return Ce(!0);let u=d.map(x=>{let y=qr(s)??i,k=Ro(x,y),W=S1(k)?k.canDeactivate(t,s,e,n):Vn(y,()=>k(t,s,e,n));return hi(W).pipe(di())});return Ce(u).pipe(Fo())}function A1(t,s,e,n){let i=s.canLoad;if(i===void 0||i.length===0)return Ce(!0);let d=i.map(u=>{let x=Ro(u,t),y=O1(x)?x.canLoad(s,e):Vn(t,()=>x(s,e));return hi(y)});return Ce(d).pipe(Fo(),hp(n))}function hp(t){return Sm(ft(s=>{if(ko(s))throw pp(t,s)}),_e(s=>s===!0))}function L1(t,s,e,n){let i=s.canMatch;if(!i||i.length===0)return Ce(!0);let d=i.map(u=>{let x=Ro(u,t),y=E1(x)?x.canMatch(s,e):Vn(t,()=>x(s,e));return hi(y)});return Ce(d).pipe(Fo(),hp(n))}var Vr=class{constructor(s){this.segmentGroup=s||null}},as=class extends Error{constructor(s){super(),this.urlTree=s}};function yo(t){return en(new Vr(t))}function V1(t){return en(new st(4e3,!1))}function B1(t){return en(up(!1,fn.GuardRejected))}var Tl=class{constructor(s,e){this.urlSerializer=s,this.urlTree=e}lineralizeSegments(s,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return Ce(n);if(i.numberOfChildren>1||!i.children[Ae])return V1(s.redirectTo);i=i.children[Ae]}}applyRedirectCommands(s,e,n){let i=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),s,n);if(e.startsWith("/"))throw new as(i);return i}applyRedirectCreateUrlTree(s,e,n,i){let d=this.createSegmentGroup(s,e.root,n,i);return new ui(d,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(s,e){let n={};return Object.entries(s).forEach(([i,d])=>{if(typeof d=="string"&&d.startsWith(":")){let x=d.substring(1);n[i]=e[x]}else n[i]=d}),n}createSegmentGroup(s,e,n,i){let d=this.createSegments(s,e.segments,n,i),u={};return Object.entries(e.children).forEach(([x,y])=>{u[x]=this.createSegmentGroup(s,y,n,i)}),new rt(d,u)}createSegments(s,e,n,i){return e.map(d=>d.path.startsWith(":")?this.findPosParam(s,d,i):this.findOrReturn(d,n))}findPosParam(s,e,n){let i=n[e.path.substring(1)];if(!i)throw new st(4001,!1);return i}findOrReturn(s,e){let n=0;for(let i of e){if(i.path===s.path)return e.splice(n),i;n++}return s}},kl={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function U1(t,s,e,n,i){let d=Al(t,s,e);return d.matched?(n=f1(s,n),L1(n,s,e,i).pipe(_e(u=>u===!0?d:J({},kl)))):Ce(d)}function Al(t,s,e){if(s.path==="**")return j1(e);if(s.path==="")return s.pathMatch==="full"&&(t.hasChildren()||e.length>0)?J({},kl):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(s.matcher||Lh)(e,t,s);if(!i)return J({},kl);let d={};Object.entries(i.posParams??{}).forEach(([x,y])=>{d[x]=y.path});let u=i.consumed.length>0?J(J({},d),i.consumed[i.consumed.length-1].parameters):d;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:u,positionalParamSegments:i.posParams??{}}}function j1(t){return{matched:!0,parameters:t.length>0?Kg(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function Hg(t,s,e,n){return e.length>0&&$1(t,e,n)?{segmentGroup:new rt(s,W1(n,new rt(e,t.children))),slicedSegments:[]}:e.length===0&&H1(t,e,n)?{segmentGroup:new rt(t.segments,q1(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new rt(t.segments,t.children),slicedSegments:e}}function q1(t,s,e,n){let i={};for(let d of e)if(ls(t,s,d)&&!n[jn(d)]){let u=new rt([],{});i[jn(d)]=u}return J(J({},n),i)}function W1(t,s){let e={};e[Ae]=s;for(let n of t)if(n.path===""&&jn(n)!==Ae){let i=new rt([],{});e[jn(n)]=i}return e}function $1(t,s,e){return e.some(n=>ls(t,s,n)&&jn(n)!==Ae)}function H1(t,s,e){return e.some(n=>ls(t,s,n))}function ls(t,s,e){return(t.hasChildren()||s.length>0)&&e.pathMatch==="full"?!1:e.path===""}function G1(t,s,e,n){return jn(t)!==n&&(n===Ae||!ls(s,e,t))?!1:Al(s,t,e).matched}function Z1(t,s,e){return s.length===0&&!t.children[e]}var Il=class{};function Y1(t,s,e,n,i,d,u="emptyOnly"){return new Fl(t,s,e,n,i,u,d).recognize()}var K1=31,Fl=class{constructor(s,e,n,i,d,u,x){this.injector=s,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=d,this.paramsInheritanceStrategy=u,this.urlSerializer
2=x,this.applyRedirects=new Tl(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(s){return new st(4002,`'${s.segmentGroup}'`)}recognize(){let s=Hg(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(s).pipe(_e(e=>{let n=new Ar([],Object.freeze({}),Object.freeze(J({},this.urlTree.queryParams)),this.urlTree.fragment,{},Ae,this.rootComponentType,null,{}),i=new _n(n,e),d=new os("",i),u=i1(n,[],this.urlTree.queryParams,this.urlTree.fragment);return u.queryParams=this.urlTree.queryParams,d.url=this.urlSerializer.serialize(u),this.inheritParamsAndData(d._root,null),{state:d,tree:u}}))}match(s){return this.processSegmentGroup(this.injector,this.config,s,Ae).pipe(Be(n=>{if(n instanceof as)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof Vr?this.noMatchError(n):n}))}inheritParamsAndData(s,e){let n=s.value,i=Rl(n,e,this.paramsInheritanceStrategy);n.params=Object.freeze(i.params),n.data=Object.freeze(i.data),s.children.forEach(d=>this.inheritParamsAndData(d,n))}processSegmentGroup(s,e,n,i){return n.segments.length===0&&n.hasChildren()?this.processChildren(s,e,n):this.processSegment(s,e,n,n.segments,i,!0).pipe(_e(d=>d instanceof _n?[d]:[]))}processChildren(s,e,n){let i=[];for(let d of Object.keys(n.children))d==="primary"?i.unshift(d):i.push(d);return jt(i).pipe(li(d=>{let u=n.children[d],x=h1(e,d);return this.processSegmentGroup(s,x,u,d)}),Dm((d,u)=>(d.push(...u),d)),Ic(null),Fm(),pn(d=>{if(d===null)return yo(n);let u=Cp(d);return Q1(u),Ce(u)}))}processSegment(s,e,n,i,d,u){return jt(e).pipe(li(x=>this.processSegmentAgainstRoute(x._injector??s,e,x,n,i,d,u).pipe(Be(y=>{if(y instanceof Vr)return Ce(null);throw y}))),di(x=>!!x),Be(x=>{if(fp(x))return Z1(n,i,d)?Ce(new Il):yo(n);throw x}))}processSegmentAgainstRoute(s,e,n,i,d,u,x){return G1(n,i,d,u)?n.redirectTo===void 0?this.matchSegmentAgainstRoute(s,i,n,d,u):this.allowRedirects&&x?this.expandSegmentAgainstRouteUsingRedirect(s,i,e,n,d,u):yo(i):yo(i)}expandSegmentAgainstRouteUsingRedirect(s,e,n,i,d,u){let{matched:x,consumedSegments:y,positionalParamSegments:k,remainingSegments:W}=Al(e,i,d);if(!x)return yo(e);i.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>K1&&(this.allowRedirects=!1));let U=this.applyRedirects.applyRedirectCommands(y,i.redirectTo,k);return this.applyRedirects.lineralizeSegments(i,U).pipe(pn(Y=>this.processSegment(s,n,e,Y.concat(W),u,!1)))}matchSegmentAgainstRoute(s,e,n,i,d){let u=U1(e,n,i,s,this.urlSerializer);return n.path==="**"&&(e.children={}),u.pipe(gt(x=>x.matched?(s=n._injector??s,this.getChildConfig(s,n,i).pipe(gt(({routes:y})=>{let k=n._loadedInjector??s,{consumedSegments:W,remainingSegments:U,parameters:Y}=x,le=new Ar(W,Y,Object.freeze(J({},this.urlTree.queryParams)),this.urlTree.fragment,X1(n),jn(n),n.component??n._loadedComponent??null,n,eC(n)),{segmentGroup:ce,slicedSegments:we}=Hg(e,W,U,y);if(we.length===0&&ce.hasChildren())return this.processChildren(k,y,ce).pipe(_e(Ue=>Ue===null?null:new _n(le,Ue)));if(y.length===0&&we.length===0)return Ce(new _n(le,[]));let ee=jn(n)===d;return this.processSegment(k,y,ce,we,ee?Ae:d,!0).pipe(_e(Ue=>new _n(le,Ue instanceof _n?[Ue]:[])))}))):yo(e)))}getChildConfig(s,e,n){return e.children?Ce({routes:e.children,injector:s}):e.loadChildren?e._loadedRoutes!==void 0?Ce({routes:e._loadedRoutes,injector:e._loadedInjector}):A1(s,e,n,this.urlSerializer).pipe(pn(i=>i?this.configLoader.loadChildren(s,e).pipe(ft(d=>{e._loadedRoutes=d.routes,e._loadedInjector=d.injector})):B1(e))):Ce({routes:[],injector:s})}};function Q1(t){t.sort((s,e)=>s.value.outlet===Ae?-1:e.value.outlet===Ae?1:s.value.outlet.localeCompare(e.value.outlet))}function J1(t){let s=t.value.routeConfig;return s&&s.path===""}function Cp(t){let s=[],e=new Set;for(let n of t){if(!J1(n)){s.push(n);continue}let i=s.find(d=>n.value.routeConfig===d.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):s.push(n)}for(let n of e){let i=Cp(n.children);s.push(new _n(n.value,i))}return s.filter(n=>!e.has(n))}function X1(t){return t.data||{}}function eC(t){return t.resolve||{}}function tC(t,s,e,n,i,d){return pn(u=>Y1(t,s,e,n,u.extractedUrl,i,d).pipe(_e(({state:x,tree:y})=>ye(J({},u),{targetSnapshot:x,urlAfterRedirects:y}))))}function nC(t,s){return pn(e=>{let{targetSnapshot:n,guards:{canActivateChecks:i}}=e;if(!i.length)return Ce(e);let d=new Set(i.map(y=>y.route)),u=new Set;for(let y of d)if(!u.has(y))for(let k of vp(y))u.add(k);let x=0;return jt(u).pipe(li(y=>d.has(y)?iC(y,n,t,s):(y.data=Rl(y,y.parent,t).resolve,Ce(void 0))),ft(()=>x++),Fc(1),pn(y=>x===u.size?Ce(e):ci))})}function vp(t){let s=t.children.map(e=>vp(e)).flat();return[t,...s]}function iC(t,s,e,n){let i=t.routeConfig,d=t._resolve;return i?.title!==void 0&&!mp(i)&&(d[Ur]=i.title),oC(d,t,s,n).pipe(_e(u=>(t._resolvedData=u,t.data=Rl(t,t.parent,e).resolve,null)))}function oC(t,s,e,n){let i=ll(t);if(i.length===0)return Ce({});let d={};return jt(i).pipe(pn(u=>rC(t[u],s,e,n).pipe(di(),ft(x=>{d[u]=x}))),Fc(1),Im(d),Be(u=>fp(u)?ci:en(u)))}function rC(t,s,e,n){let i=qr(s)??n,d=Ro(t,i),u=d.resolve?d.resolve(s,e):Vn(i,
2()=>d(s,e));return hi(u)}function sl(t){return gt(s=>{let e=t(s);return e?jt(e).pipe(_e(()=>s)):Ce(s)})}var Mp=(()=>{class t{buildTitle(e){let n,i=e.root;for(;i!==void 0;)n=this.getResolvedTitleForRoute(i)??n,i=i.children.find(d=>d.outlet===Ae);return n}getResolvedTitleForRoute(e){return e.data[Ur]}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:()=>ge(aC),providedIn:"root"})}}return t})(),aC=(()=>{class t extends Mp{constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static{this.\u0275fac=function(n){return new(n||t)(Q($a))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),zo=new tt("",{providedIn:"root",factory:()=>({})}),Br=new tt(""),Ll=(()=>{class t{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=ge(Ea)}loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return Ce(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let n=hi(e.loadComponent()).pipe(_e(xp),ft(d=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=d}),Vi(()=>{this.componentLoaders.delete(e)})),i=new Ec(n,()=>new yn).pipe(Sc());return this.componentLoaders.set(e,i),i}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return Ce({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let d=sC(n,this.compiler,e,this.onLoadEndListener).pipe(Vi(()=>{this.childrenLoaders.delete(n)})),u=new Ec(d,()=>new yn).pipe(Sc());return this.childrenLoaders.set(n,u),u}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function sC(t,s,e,n){return hi(t.loadChildren()).pipe(_e(xp),pn(i=>i instanceof Xm||Array.isArray(i)?Ce(i):jt(s.compileModuleAsync(i))),_e(i=>{n&&n(t);let d,u,x=!1;return Array.isArray(i)?(u=i,x=!0):(d=i.create(e).injector,u=d.get(Br,[],{optional:!0,self:!0}).flat()),{routes:u.map(Nl),injector:d}}))}function cC(t){return t&&typeof t=="object"&&"default"in t}function xp(t){return cC(t)?t.default:t}var Vl=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:()=>ge(lC),providedIn:"root"})}}return t})(),lC=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),bp=new tt(""),Pp=new tt("");function dC(t,s,e){let n=t.get(Pp),i=t.get(_t);return t.get(It).runOutsideAngular(()=>{if(!i.startViewTransition||n.skipNextTransition)return n.skipNextTransition=!1,new Promise(k=>setTimeout(k));let d,u=new Promise(k=>{d=k}),x=i.startViewTransition(()=>(d(),mC(t))),{onViewTransitionCreated:y}=n;return y&&Vn(t,()=>y({transition:x,from:s,to:e})),u})}function mC(t){return new Promise(s=>{Vc(s,{injector:t})})}var ds=(()=>{class t{get hasRequestedNavigation(){return this.navigationId!==0}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new yn,this.transitionAbortSubject=new yn,this.configLoader=ge(Ll),this.environmentInjector=ge(gi),this.urlSerializer=ge(Do),this.rootContexts=ge(jr),this.location=ge(Cr),this.inputBindingEnabled=ge(cs,{optional:!0})!==null,this.titleStrategy=ge(Mp),this.options=ge(zo,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=ge(Vl),this.createViewTransition=ge(bp,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>Ce(void 0),this.rootComponentType=null;let e=i=>this.events.next(new hl(i)),n=i=>this.events.next(new Cl(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e}complete(){this.transitions?.complete()}handleNavigationRequest(e){let n=++this.navigationId;this.transitions?.next(ye(J(J({},this.transitions.value),e),{id:n}))}setupNavigations(e,n,i){return this.transitions=new At({id:0,currentUrlTree:n,currentRawUrl:n,extractedUrl:this.urlHandlingStrategy.extract(n),urlAfterRedirects:this.urlHandlingStrategy.extract(n),rawUrl:n,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:kr,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Tt(d=>d.id!==0),_e(d=>ye(J({},d),{extractedUrl:this.urlHandlingStrategy.extract(d.rawUrl)})),gt(d=>{let u=!1,x=!1;return Ce(d).pipe(gt(y=>{if(this.navigationId>d.id)return this.cancelNavigationTransition(d,"",fn.SupersededByNewNavigation),ci;this.currentTransition=d,this.currentNavigation={id:y.id,initialUrl:y.rawUrl,extractedUrl:y.extractedUrl,trigger:y.source,extras:y.extras,previousNavigation:this.lastSuccessfulNavigation?ye(J({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let k=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),W=y.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!k&&W!=="reload"){let U="";return this.events.next(new fi(y.id,this.urlSerializer.serialize(y.rawUrl),U,Xa.IgnoredSameUrlNavigation)),y.resolve(null),ci}if(this.urlHandlingStrategy.shouldProcessUrl(y.rawUrl))return Ce(y).pipe(gt(U=>{let Y=this.transitions?.getValue();return this.events.next(new Io(U.id,this.urlSerializer.serialize(U.extractedUrl),U.source,U.restoredState)),Y!==this.transitions?.getValue()?ci:Promise.resolve(U)}),tC(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),ft(U=>{d.targetSnapshot=U.targetSnapshot,d.urlAfterRedirects=U.urlAfterRedirects,this.currentNavigation=ye(J({},this.currentNavigation),{finalUrl:U.urlAfterRedirects});let Y=new es(U.id,this.urlSerializer.serialize(U.extractedUrl),this.urlSerializer.serialize(U.urlAfterRedirects),U.targetSnapshot);this.events.next(Y)}));if(k&&this.urlHandlingStrategy.shouldProcessUrl(y.currentRawUrl)){let{id:U,extractedUrl:Y,source:le,restoredState:ce,extras:we}=y,ee=new Io(U,this.urlSerializer.serialize(Y),le,ce);this.events.next(ee);let Ue=lp(this.rootComponentType).snapshot;return this.currentTransition=d=ye(J({},y),{targetSnapshot:Ue,urlAfterRedirects:Y,extras:ye(J({},we),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=Y,Ce(d)}else{let U="";return this.events.next(new fi(y.id,this.urlSerializer.serialize(y.extractedUrl),U,Xa.IgnoredByUrlHandlingStrategy)),y.resolve(null),ci}}),ft(y=>{let k=new pl(y.id,this.urlSerializer.serialize(y.extractedUrl),this.urlSerializer.serialize(y.urlAfterRedirects),y.targetSnapshot);this.events.next(k)}),_e(y=>(this.currentTransition=d=ye(J({},y),{guards:v1(y.targetSnapshot,y.currentSnapshot,this.rootContexts)}),d)),T1(this.environmentInjector,y=>this.events.next(y)),ft(y=>{if(d.guardsResult=y.guardsResult,ko(y.guardsResult))throw pp(this.urlSerializer,y.guardsResult);let k=new ul(y.id,this.urlSerializer.serialize(y.extractedUrl),this.urlSerializer.serialize(y.urlAfterRedirects),y.targetSnapshot,!!y.guardsResult);this.events.next(k)}),Tt(y=>y.guardsResult?!0:(this.cancelNavigationTransition(y,"",fn.GuardRejected),!1)),sl(y=>{if(y.guards.canActivateChecks.length)return Ce(y).pipe(ft(k=>{let W=new _l(k.id,this.urlSerializer.serialize(k.extractedUrl),this.urlSerializer.serialize(k.urlAfterRedirects),k.targetSnapshot);this.events.next(W)}),gt(k=>{let W=!1;return Ce(k).pipe(nC(this.paramsInheritanceStrategy,this.environmentInjector),ft({next:()=>
2W=!0,complete:()=>{W||this.cancelNavigationTransition(k,"",fn.NoDataFromResolver)}}))}),ft(k=>{let W=new fl(k.id,this.urlSerializer.serialize(k.extractedUrl),this.urlSerializer.serialize(k.urlAfterRedirects),k.targetSnapshot);this.events.next(W)}))}),sl(y=>{let k=W=>{let U=[];W.routeConfig?.loadComponent&&!W.routeConfig._loadedComponent&&U.push(this.configLoader.loadComponent(W.routeConfig).pipe(ft(Y=>{W.component=Y}),_e(()=>{})));for(let Y of W.children)U.push(...k(Y));return U};return _o(k(y.targetSnapshot.root)).pipe(Ic(null),wn(1))}),sl(()=>this.afterPreactivation()),gt(()=>{let{currentSnapshot:y,targetSnapshot:k}=d,W=this.createViewTransition?.(this.environmentInjector,y.root,k.root);return W?jt(W).pipe(_e(()=>d)):Ce(d)}),_e(y=>{let k=m1(e.routeReuseStrategy,y.targetSnapshot,y.currentRouterState);return this.currentTransition=d=ye(J({},y),{targetRouterState:k}),this.currentNavigation.targetRouterState=k,d}),ft(()=>{this.events.next(new zr)}),C1(this.rootContexts,e.routeReuseStrategy,y=>this.events.next(y),this.inputBindingEnabled),wn(1),ft({next:y=>{u=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Vt(y.id,this.urlSerializer.serialize(y.extractedUrl),this.urlSerializer.serialize(y.urlAfterRedirects))),this.titleStrategy?.updateTitle(y.targetRouterState.snapshot),y.resolve(!0)},complete:()=>{u=!0}}),mi(this.transitionAbortSubject.pipe(ft(y=>{throw y}))),Vi(()=>{!u&&!x&&this.cancelNavigationTransition(d,"",fn.SupersededByNewNavigation),this.currentTransition?.id===d.id&&(this.currentNavigation=null,this.currentTransition=null)}),Be(y=>{if(x=!0,_p(y))this.events.next(new _i(d.id,this.urlSerializer.serialize(d.extractedUrl),y.message,y.cancellationCode)),u1(y)?this.events.next(new Nr(y.url)):d.resolve(!1);else{this.events.next(new Rr(d.id,this.urlSerializer.serialize(d.extractedUrl),y,d.targetSnapshot??void 0));try{d.resolve(e.errorHandler(y))}catch(k){this.options.resolveNavigationPromiseOnError?d.resolve(!1):d.reject(k)}}return ci}))}))}cancelNavigationTransition(e,n,i){let d=new _i(e.id,this.urlSerializer.serialize(e.extractedUrl),n,i);this.events.next(d),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function gC(t){return t!==kr}var pC=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:()=>ge(uC),providedIn:"root"})}}return t})(),Dl=class{shouldDetach(s){return!1}store(s,e){}shouldAttach(s){return!1}retrieve(s){return null}shouldReuseRoute(s,e){return s.routeConfig===e.routeConfig}},uC=(()=>{class t extends Dl{static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Op=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:()=>ge(_C),providedIn:"root"})}}return t})(),_C=(()=>{class t extends Op{constructor(){super(...arguments),this.location=ge(Cr),this.urlSerializer=ge(Do),this.options=ge(zo,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=ge(Vl),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new ui,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=lp(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&e(n.url,n.state)})}handleRouterEvent(e,n){if(e instanceof Io)this.stateMemento=this.createStateMemento();else if(e instanceof fi)this.rawUrlTree=n.initialUrl;else if(e instanceof es){if(this.urlUpdateStrategy==="eager"&&!n.extras.skipLocationChange){let i=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl);this.setBrowserUrl(i,n)}}else e instanceof zr?(this.currentUrlTree=n.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl),this.routerState=n.targetRouterState,this.urlUpdateStrategy==="deferred"&&(n.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,n))):e instanceof _i&&(e.code===fn.GuardRejected||e.code===fn.NoDataFromRe
2solver)?this.restoreHistory(n):e instanceof Rr?this.restoreHistory(n,!0):e instanceof Vt&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,n){let i=this.urlSerializer.serialize(e);if(this.location.isCurrentPathEqualTo(i)||n.extras.replaceUrl){let d=this.browserPageId,u=J(J({},n.extras.state),this.generateNgRouterState(n.id,d));this.location.replaceState(i,"",u)}else{let d=J(J({},n.extras.state),this.generateNgRouterState(n.id,this.browserPageId+1));this.location.go(i,"",d)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,d=this.currentPageId-i;d!==0?this.location.historyGo(d):this.currentUrlTree===e.finalUrl&&d===0&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Er=function(t){return t[t.COMPLETE=0]="COMPLETE",t[t.FAILED=1]="FAILED",t[t.REDIRECTING=2]="REDIRECTING",t}(Er||{});function yp(t,s){t.events.pipe(Tt(e=>e instanceof Vt||e instanceof _i||e instanceof Rr||e instanceof fi),_e(e=>e instanceof Vt||e instanceof fi?Er.COMPLETE:(e instanceof _i?e.code===fn.Redirect||e.code===fn.SupersededByNewNavigation:!1)?Er.REDIRECTING:Er.FAILED),Tt(e=>e!==Er.REDIRECTING),wn(1)).subscribe(()=>{s()})}function fC(t){throw t}var hC={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},CC={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},ke=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=ge(Oa),this.stateManager=ge(Op),this.options=ge(zo,{optional:!0})||{},this.pendingTasks=ge(fr),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=ge(ds),this.urlSerializer=ge(Do),this.location=ge(Cr),this.urlHandlingStrategy=ge(Vl),this._events=new yn,this.errorHandler=this.options.errorHandler||fC,this.navigated=!1,this.routeReuseStrategy=ge(pC),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=ge(Br,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!ge(cs,{optional:!0}),this.eventsSubscription=new wm,this.isNgZoneEnabled=ge(It)instanceof It&&It.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(n=>{try{let i=this.navigationTransitions.currentTransition,d=this.navigationTransitions.currentNavigation;if(i!==null&&d!==null){if(this.stateManager.handleRouterEvent(n,d),n instanceof _i&&n.code!==fn.Redirect&&n.code!==fn.SupersededByNewNavigation)this.navigated=!0;else if(n instanceof Vt)this.navigated=!0;else if(n instanceof Nr){let u=this.urlHandlingStrategy.merge(n.url,i.currentRawUrl),x={info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:this.urlUpdateStrategy==="eager"||gC(i.source)};this.scheduleNavigation(u,kr,null,x,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}MC(n)&&this._events.next(n)}catch(i){this.navigationTransitions.transitionAbortSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),kr,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,n)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(e,"popstate",n)},0)})}navigateToSyncWithBrowser(e,n,i){let d={replaceUrl:!0},u=i?.navigationId?i:null;if(i){let y=J({},i);delete y.navigationId,delete y.\u0275routerPageId,Object.keys(y).length!==0&&(d.state=y)}let x=this.parseUrl(e);this.scheduleNavigation(x,n,u,d)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(Nl),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,n={}){let{relativeTo:i,queryParams:d,fragment:u,queryParamsHandling:x,preserveFragment:y}=n,k=y?this.currentUrlTree.fragment:u,W=null;switch(x){case"merge":W=J(J({},this.currentUrlTree.queryParams),d);break;case"preserve":W=this.currentUrlTree.queryParams;break;default:W=d||null}W!==null&&(W=this.removeEmptyProps(W));let U;
2try{let Y=i?i.snapshot:this.routerState.snapshot.root;U=rp(Y)}catch{(typeof e[0]!="string"||!e[0].startsWith("/"))&&(e=[]),U=this.currentUrlTree.root}return ap(U,e,W,k??null)}navigateByUrl(e,n={skipLocationChange:!1}){let i=ko(e)?e:this.parseUrl(e),d=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(d,kr,null,n)}navigate(e,n={skipLocationChange:!1}){return vC(e),this.navigateByUrl(this.createUrlTree(e,n),n)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.urlSerializer.parse("/")}}isActive(e,n){let i;if(n===!0?i=J({},hC):n===!1?i=J({},CC):i=n,ko(e))return Ug(this.currentUrlTree,e,i);let d=this.parseUrl(e);return Ug(this.currentUrlTree,d,i)}removeEmptyProps(e){return Object.entries(e).reduce((n,[i,d])=>(d!=null&&(n[i]=d),n),{})}scheduleNavigation(e,n,i,d,u){if(this.disposed)return Promise.resolve(!1);let x,y,k;u?(x=u.resolve,y=u.reject,k=u.promise):k=new Promise((U,Y)=>{x=U,y=Y});let W=this.pendingTasks.add();return yp(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(W))}),this.navigationTransitions.handleNavigationRequest({source:n,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:d,resolve:x,reject:y,promise:k,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),k.catch(U=>Promise.reject(U))}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function vC(t){for(let s=0;s<t.length;s++)if(t[s]==null)throw new st(4008,!1)}function MC(t){return!(t instanceof zr)&&!(t instanceof Nr)}var Te=(()=>{class t{constructor(e,n,i,d,u,x){this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=d,this.el=u,this.locationStrategy=x,this.href=null,this.commands=null,this.onChanges=new yn,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;let y=u.nativeElement.tagName?.toLowerCase();this.isAnchorElement=y==="a"||y==="area",this.isAnchorElement?this.subscription=e.events.subscribe(k=>{k instanceof Vt&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(e){e!=null?(this.commands=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(e,n,i,d,u){let x=this.urlTree;if(x===null||this.isAnchorElement&&(e!==0||n||i||d||u||typeof this.target=="string"&&this.target!="_self"))return!0;let y={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(x,y),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.href=e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e)):null;let n=this.href===null?null:Ym(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(e,n){let i=this.renderer,d=this.el.nativeElement;n!==null?i.setAttribute(d,e,n):i.removeAttribute(d,e)}get urlTree(){return this.commands===null?null:this.router.createUrlTree(this.commands,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static{this.\u0275fac=function(n){return new(n||t)(T(ke),T(Je),Lm("tabindex"),T(Jn),T(Ze),T(hr))}}static{this.\u0275dir=qe({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(n,i){n&1&&b("click",function(u){return i.onClick(u.button,u.ctrlKey,u.shiftKey,u.altKey,u.metaKey)}),n&2&&ot("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[Lt.HasDecoratorInputTransform,"preserveFragment","preserveFragment",Rn],skipLocationChange:[Lt.HasDecoratorInputTransform,"skipLocationChange","skipLocationChange",Rn],replaceUrl:[Lt.HasDecoratorInputTransform,"replaceUrl","replaceUrl",Rn],routerLink:"routerLink"},standalone:!0,features:[_r,Mt]})}}return t})(),Ci=(()=>{class t{get isActive(){return this._isActive}constructor(e,n,i,d,u){this.router=e,this.element=n,this.renderer=i,this.cdr=d,this.link=u,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new it,this.routerEventsSubscription=e.events.subscribe(x=>{x instanceof Vt&&this.update()})}ngAfterContentInit(){Ce(this.links.changes,Ce(null)).pipe(dr()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(n=>!!n).map(n=>n.onChanges);
2this.linkInputChangesSubscription=jt(e).pipe(dr()).subscribe(n=>{this._isActive!==this.isLinkActive(this.router)(n)&&this.update()})}set routerLinkActive(e){let n=Array.isArray(e)?e:e.split(" ");this.classes=n.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(n=>{e?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let n=xC(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let d=i.urlTree;return d?e.isActive(d,n):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static{this.\u0275fac=function(n){return new(n||t)(T(ke),T(Ze),T(Jn),T(pi),T(Te,8))}}static{this.\u0275dir=qe({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,d){if(n&1&&ng(d,Te,5),n&2){let u;xo(u=bo())&&(i.links=u)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Mt]})}}return t})();function xC(t){return!!t.paths}var ss=class{};var bC=(()=>{class t{constructor(e,n,i,d,u){this.router=e,this.injector=i,this.preloadingStrategy=d,this.loader=u}setUpPreloading(){this.subscription=this.router.events.pipe(Tt(e=>e instanceof Vt),li(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,n){let i=[];for(let d of n){d.providers&&!d._injector&&(d._injector=Bc(d.providers,e,`Route: ${d.path}`));let u=d._injector??e,x=d._loadedInjector??u;(d.loadChildren&&!d._loadedRoutes&&d.canLoad===void 0||d.loadComponent&&!d._loadedComponent)&&i.push(this.preloadConfig(u,d)),(d.children||d._loadedRoutes)&&i.push(this.processRoutes(x,d.children??d._loadedRoutes))}return jt(i).pipe(dr())}preloadConfig(e,n){return this.preloadingStrategy.preload(n,()=>{let i;n.loadChildren&&n.canLoad===void 0?i=this.loader.loadChildren(e,n):i=Ce(null);let d=i.pipe(pn(u=>u===null?Ce(void 0):(n._loadedRoutes=u.routes,n._loadedInjector=u.injector,this.processRoutes(u.injector??e,u.routes))));if(n.loadComponent&&!n._loadedComponent){let u=this.loader.loadComponent(n);return jt([d,u]).pipe(dr())}else return d})}static{this.\u0275fac=function(n){return new(n||t)(Q(ke),Q(Ea),Q(gi),Q(ss),Q(Ll))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Bl=new tt(""),wp=(()=>{class t{constructor(e,n,i,d,u={}){this.urlSerializer=e,this.transitions=n,this.viewportScroller=i,this.zone=d,this.options=u,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},this.environmentInjector=ge(gi),u.scrollPositionRestoration||="disabled",u.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof Io?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Vt?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof fi&&e.code===Xa.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof ts&&(e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,n){this.zone.runOutsideAngular(()=>q(this,null,function*(){yield new Promise(i=>{setTimeout(()=>{i()}),Vc(()=>{i()},{injector:this.environmentInjector})}),this.zone.run(()=>{this.transitions.events.next(new ts(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,n))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static{this.\u0275fac=function(n){xa()}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})();function Sp(t,...s){return Bi([{provide:Br,multi:!0,useValue:t},[],{provide:Je,useFactory:Ep,deps:[ke]},{provide:wa,multi:!0,useFactory:kp},s.map(e=>e.\u0275providers)])}function Ep(t){return t.routerState.root}function Zi(t,s){return{\u0275kind:t,\u0275providers:s}}function Tp(t={}){return Zi(4,[{provide:Bl,useFactory:()=>{let e=ge(Wc),n=ge(It),i=ge(ds),d=ge(Do);return new wp(d,i,e,n,t)}}])}function kp(){let t=ge(gr);return s=>{let e=t.get(Sa);if(s!==e.components[0])return;let n=t.get(ke),i=t.get(Ip);t.get(Ul)===1&&n.initialNavigation(),t.get(Fp,null,Rc.Optional)?.setUpPreloading(),t.get(Bl,null,Rc.Optional)?.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var Ip=new tt("",{factory:()=>new yn}),Ul=new tt("",{providedIn:"root",factory:()=>1});function PC(){return Zi(2,[{provide:Ul,useValue:0},{provide:qc,multi:!0,deps:[gr],useFactory:s=>{let e=s.get(gg,Promise.resolve());return()=>e.then(()=>new Promise(n=>{let i=s.get(ke),d=s.get(Ip);yp(i,()=>{n(!0)}),s.get(ds).afterPreactivation=()=>(n(!0),d.closed?Ce(void 0):d),i.initialNavigation()}))}}])}function OC(){return Zi(3,[{provide:qc,multi:!0,useFactory:()=>{let s=ge(ke);return()=>{s.setUpLocationChangeListener()}}},{provide:Ul,useValue:2}])}var Fp=new tt("");function yC(t){return Zi(0,[{provide:Fp,useExisting:bC},{provide:ss,useExisting:t}])}function Dp(t){return Zi(5,[{provide:zo,useValue:t}])}function wC(){return Zi(8,[$g,{provide:cs,useExisting:$g}])}function SC(t){let s=[{provide:bp,useValue:dC},{provide:Pp,useValue:J({skipNextTransition:!!t?.skipInitialTransition},t)}];return Zi(9,s)}var Gg=new tt("ROUTER_FORROOT_GUARD"),EC=[Cr,{provide:Do,useClass:Fr},ke,jr,{provide:Je,useFactory:Ep,deps:[ke]},Ll,[]],Qt=(()=>{class t{constructor(e){}static forRoot(e,n){return{ngModule:t,providers:[EC,[],{provide:Br,multi:!0,useValue:e},{provide:Gg,useFactory:FC,deps:[[ke,new zc,new zm]]},{provide:zo,useValue:n||{}},n?.useHash?kC():IC(),TC(),n?.preloadingStrategy?yC(n.preloadingStrategy).\u0275providers:[],n?.initialNavigation?DC(n):[],n?.bindToComponentInputs?wC().\u0275providers:[],n?.enableViewTransitions?SC().\u0275providers:[],RC()]}}static forChild(e){return{ngModule:t,providers:[{provide:Br,multi:!0,useValue:e}]}}static{this.\u0275fac=function(n){return new(n||t)(Q(Gg,8))}}static{this.\u0275mod=nn({type:t})}static{this.\u0275inj=tn({})}}return t})();function TC(){return{provide:Bl,useFactory:()=>{let t=ge(Wc),s=ge(It),e=ge(zo),n=ge(ds),i=ge(Do);return e.scrollOffset&&t.setOffset(e.scrollOffset),new wp(i,n,t,s,e)}}}function kC(){return{provide:hr,useClass:ug}}
2function IC(){return{provide:hr,useClass:pg}}function FC(t){return"guarded"}function DC(t){return[t.initialNavigation==="disabled"?OC().\u0275providers:[],t.initialNavigation==="enabledBlocking"?PC().\u0275providers:[]]}var Zg=new tt("");function RC(){return[{provide:Zg,useFactory:kp},{provide:wa,multi:!0,useExisting:Zg}]}var ne={production:!0,apiUrl:"/api"};var Dt=(()=>{class t{appendCacheBuster(e){let n=new Date().getTime(),i=e.includes("?")?"&":"?";return`${e}${i}t=${n}`}constructor(e){this.http=e,this.baseUrl=`${ne.apiUrl}/files/`}getFilePreviewUrl(e){return this.appendCacheBuster(`${this.baseUrl}${e}/preview`)}getPublicFilePreviewUrl(e){return this.appendCacheBuster(`${this.baseUrl}public/${e}`)}getFileDownloadUrl(e){return this.appendCacheBuster(`${this.baseUrl}${e}/download`)}getPublicFileDownloadUrl(e){return this.appendCacheBuster(`${this.baseUrl}public/${e}`)}getFilePreviewBlob(e){let n=this.appendCacheBuster(`${this.baseUrl}${e}/preview`);return this.http.get(n,{responseType:"blob"})}getFileDownloadBlob(e){let n=this.appendCacheBuster(`${this.baseUrl}${e}/download`);return this.http.get(n,{responseType:"blob"})}getFile(e){return this.http.get(`${this.baseUrl}${e}`).pipe(_e(n=>n.message))}uploadFile(e,n,i,d){let u=new FormData,x=d?new File([e],d,{type:e.type}):e;switch(console.log("FileService - Original file name:",e.name),console.log("FileService - Custom filename:",d),console.log("FileService - File to upload name:",x.name),u.append("file",x),u.append("entityType",n),n){case"home_post_image":u.append("homePostId",i.toString());break;case"team_banner":u.append("teamSeasonDataId",i.toString());break;case"team_logo":u.append("teamSeasonDataId",i.toString());break;case"team_files":u.append("teamSeasonDataId",i.toString());break;case"person_files":u.append("personId",i.toString());break}return this.http.post(`${this.baseUrl}upload`,u)}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var zC=(t,s,e,n)=>({"post--big-image":t,"post--image-right":s,"post--announcement":e,"post--without-image":n});function NC(t,s){if(t&1){let e=E();r(0,"div",6)(1,"img",7),b("error",function(){v(e);let i=p();return M(i.onImageError())}),o()()}if(t&2){let e=p();c(),m("src",e.imageUrl,ae)("alt",e.post.title)}}function AC(t,s){t&1&&(r(0,"span",8),a(1,"Anun\u021B"),o())}function LC(t,s){if(t&1&&(r(0,"time"),ze(1,"date"),a(2),ze(3,"date"),o()),t&2){let e=p();ot("datetime",Xe(1,2,e.post.timestamp,"yyyy-MM-dd")),c(2),w(" ",Xe(3,5,e.post.timestamp,"mediumDate")," ")}}var ms=(()=>{class t{constructor(e){this.fileService=e,this.imageUrl=null}ngOnInit(){this.post.image&&(this.imageUrl=this.fileService.getPublicFilePreviewUrl(this.post.image.id))}get isBigImage(){return this.post.imagePosition==="BIG"}get isImageRight(){return this.post.imagePosition==="RIGHT"}onImageError(){this.imageUrl=null}static{this.\u0275fac=function(n){return new(n||t)(T(Dt))}}static{this.\u0275cmp=V({type:t,selectors:[["app-post-card"]],inputs:{post:"post"},standalone:!0,features:[B],decls:10,vars:11,consts:[[1,"post",3,"ngClass"],["class","post__media",4,"ngIf"],[1,"post__content"],[1,"post__meta"],["class","post__announcement",4,"ngIf"],[4,"ngIf"],[1,"post__media"],["loading","lazy",3,"error","src","alt"],[1,"post__announcement"]],template:function(n,i){n&1&&(r(0,"article",0),h(1,NC,2,2,"div",1),r(2,"div",2)(3,"div",3),h(4,AC,2,0,"span",4)(5,LC,4,8,"time",5),o(),r(6,"h3"),a(7),o(),r(8,"p"),a(9),o()()()),n&2&&(m("ngClass",ag(6,zC,i.isBigImage,i.isImageRight,i.post.announcement,!i.imageUrl)),c(),m("ngIf",i.imageUrl),c(3),m("ngIf",i.post.announcement),c(),m("ngIf",i.post.timestamp),c(2),O(i.post.title),c(2),O(i.post.description))},dependencies:[xt,$,mn],styles:["[_nghost-%COMP%]{display:block;width:100%}*[_ngcontent-%COMP%]{box-sizing:border-box}.post[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;width:100%;padding:clamp(1.75rem,4vw,3rem) 0;border-top:1px solid var(--natie-border-soft)}[_nghost-%COMP%]:last-child .post[_ngcontent-%COMP%]{border-bottom:1px solid var(--natie-border-soft)}.post--image-right[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr)}.post--image-right[_ngcontent-%COMP%] .post__media[_ngcontent-%COMP%]{grid-column:2}.post--image-right[_ngcontent-%COMP%] .post__content[_ngcontent-%COMP%]{grid-row:1;grid-column:1}.post--big-image[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1.75rem}.post--big-image[_ngcontent-%COMP%] .post__media[_ngcontent-%COMP%]{width:100%;aspect-ratio:16/7}.post--big-image[_ngcontent-%COMP%] .post__content[_ngcontent-%COMP%]{max-width:880px}.post--without-image[_ngcontent-%COMP%]{grid-template-columns:minmax(0,780px);justify-content:start;min-height:240px}.post--announcement[_ngcontent-%COMP%]{position:relative;margin:.75rem 0;padding:clamp(1.5rem,4vw,2.75rem);border:1px solid rgba(210,83,20,.24);border-left:5px solid var(--natie-orange-strong);background:linear-gradient(105deg,#fff4eaf5,#ffffff73)}.post__media[_ngcontent-%COMP%]{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--natie-surface)}.post__media[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.post[_ngcontent-%COMP%]:hover .post__media[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{transform:scale(1.015)}.post__content[_ngcontent-%COMP%]{min-width:0}.post__meta[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-bottom:1rem;color:var(--natie-text-soft);font-size:.79rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.post__announcement[_ngcontent-%COMP%]{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .65rem;background:var(--natie-orange-strong);color:var(--natie-white);font-size:.72rem;font-weight:900;letter-spacing:.09em}.post[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 1rem;color:var(--natie-ink);font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.025em;line-height:1.15}.post[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--natie-text-muted);font-size:1.04rem;line-height:1.72;white-space:pre-line}@media (max-width: 760px){.post[_ngcontent-%COMP%], .post--image-right[_ngcontent-%COMP%], .post--big-image[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1.35rem}.post--image-right[_ngcontent-%COMP%] .post__media[_ngcontent-%COMP%], .post--image-right[_ngcontent-%COMP%] .post__content[_ngcontent-%COMP%]{grid-row:auto;grid-column:auto}.post__media[_ngcontent-%COMP%], .post--big-image[_ngcontent-%COMP%] .post__media[_ngcontent-%COMP%]{aspect-ratio:16/10}.post--announcement[_ngcontent-%COMP%]{padding:1.35rem}.post--without-image[_ngcontent-%COMP%]{min-height:0}}@media (prefers-reduced-motion: reduce){.post__media[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{transition:none}.post[_ngcontent-%COMP%]:hover .post__media[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{transform:none}}"]})}}return t})();function VC(t,s){if(t&1&&(r(0,"div",6),_(1,"img",7),o()),t&2){let e=s.$implicit,n=s.index,i=p();I("showSlide",n===i.currentSlideIndex),c(),tg("alt",e.caption),m("src",e.url,ae)}}function BC(t,s){if(t&1){let e=E();r(0,"span",8),b("click",function(){let i=v(e).index,d=p();return M(d.setCurrentSlide(i))}),o()}if(t&2){let e=s.index,n=p();I("active",e===n.currentSlideIndex)}}var Rp=(()=>{class t{constructor(){this.images=Array.from({length:19},(e,n)=>{let i=n+1;return{url:`assets/homepage/cards/homepage-carousel-${i}.webp`,caption:`Homepage Carousel ${i}`}}),this.currentSlideIndex=0,this.touchStartX=0,this.touchStartY=0,this.touchEndX=0,this.touchEndY=0,this.isMouseDown=!1,this.mouseStartX=0}ngOnInit(){this.startSlideshow()}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}startSlideshow(){this.intervalId=setInterval(()=>{this.nextSlide()},7e3)}nextSlide(){this.currentSlideIndex=(this.currentSlideIndex+1)%this.images.length}moveSlide(e){this.currentSlideIndex+=e,this.currentSlideIndex>=this.images.length?this.currentSlideIndex=0:this.currentSlideIndex<0&&(this.currentSlideIndex=this.images.length-1)}setCurrentSlide(e){this.currentSlideIndex=e}onTouchStart(e){this.touchStartX=e.changedTouches[0].screenX,this.touchStartY=e.changedTouches[0].screenY}onTouchEnd(e){this.touchEndX=e.changedTouches[0].screenX,this.touchEndY=e.changedTouches[0].screenY,this.handleSwipe()}onMouseDown(e){this.isMouseDown=!0,this.mouseStartX=e.clientX}onMouseUp(e){if(this.isMouseDown){let n=e.clientX,i=this.mouseStartX-n;Math.abs(i)>50&&(i>0?this.moveSlide(1):this.moveSlide(-1)),this.isMouseDown=!1}}handleSwipe(){let e=this.touchStartX-this.touchEndX,n=this.touchStartY-this.touchEndY;Math.abs(e)>Math.abs(n)&&Math.abs(e)>50&&(e>0?this.moveSlide(1):this.moveSlide(-1))}onSelectStart(e){e.preventDefault()}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-gallery"]],hostBindings:function(n,i){n&1&&b("selectstart",function(u){return i.onSelectStart(u)})},standalone:!0,features:[B],decls:8,vars:2,consts:[[1,"slideshow-container",3,"touchstart","touchend","mousedown","mouseup"],["class","mySlides",3,"showSlide",4,"ngFor","ngForOf"],["type","button","aria-label","Previous slide",1,"prev",3,"click"],["type","button","aria-label","Next slide",1,"next",3,"click"],[1,"slide-indicators"],[3,"active","click",4,"ngFor","ngForOf"],[1,"mySlides"],[2,"width","100%",3,"src","alt"],[3,"click"]],template:function(n,i){n&1&&(r(0,"div",0),b("touchstart",function(u){return i.onTouchStart(u)})("touchend",function(u){return i.onTouchEnd(u)})("mousedown",function(u){return i.onMouseDown(u)})("mouseup",function(u){return i.onMouseUp(u)}),h(1,VC,2,4,"div",1),r(2,"button",2),b("click",function(){return i.moveSlide(-1)}),a(3,"\u276E"),o(),r(4,"button",3),b("click",function(){return i.moveSlide(1)}),a(5,"\u276F"),o(),r(6,"div",4),h(7,BC,1,2,"span",5),o()()),n&2&&(c(),m("ngForOf",i.images),c(6),m("ngForOf",i.images))},dependencies:[X],styles:['.slideshow-container[_ngcontent-%COMP%]{width:100%;max-width:1000px;margin:0 auto;overflow:hidden;position:relative;border-radius:12px;background:none;box-shadow:none;aspect-ratio:16/9;height:0;padding-top:56.25%}.mySlides[_ngcontent-%COMP%]{display:block;width:100%;position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s ease,visibility .6s ease;backface-visibility:hidden}.mySlides[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px}.showSlide[_ngcontent-%COMP%]{opacity:1;visibility:visible;pointer-events:auto;z-index:1}.prev[_ngcontent-%COMP%], .next[_ngcontent-%COMP%]{cursor:pointer;position:absolute;top:50%;width:auto;padding:16px;margin-top:-22px;color:#fff;font-weight:700;font-size:18px;transition:.6s ease;border-radius:0 3px 3px 0;-webkit-user-select:none;user-select:none;background:#1e98cbb3;z-index:2}.next[_ngcontent-%COMP%]{right:0;border-radius:3px 0 0 3px}.prev[_ngcontent-%COMP%]:hover, .next[_ngcontent-%COMP%]:hover{background-color:#000c}.slide-indicators[_ngcontent-%COMP%]{text-align:center;position:absolute;bottom:12px;width:100%;z-index:3}.slide-indicators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;height:15px;width:15px;margin:0 2px;background-color:#bbb;border-radius:50%;display:inline-block;transition:background-color .6s ease}.slide-indicators[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{background-color:var(--natie-blue)}@media (max-width: 1100px){.slideshow-container[_ngcontent-%COMP%]{max-width:98vw}}@media (max-width: 768px){.slideshow-container[_ngcontent-%COMP%]{max-width:98vw;border-radius:12px}.prev[_ngcontent-%COMP%], .next[_ngcontent-%COMP%]{display:none}.slide-indicators[_ngcontent-%COMP%]{bottom:8px}.slide-indicators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{height:12px;width:12px;margin:0 3px}.slide-indicators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{min-width:12px;min-height:12px;display:inline-flex;align-items:center;justify-content:center}.slide-indicators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:before{content:"";width:12px;height:12px;background-color:inherit;border-radius:50%;transition:background-color .6s ease}.slide-indicators[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]:before{background-color:var(--natie-blue)}}@media (max-width: 480px){.slideshow-container[_ngcontent-%COMP%]{max-width:100vw;border-radius:12px}.mySlides[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{border-radius:12px}.slide-indicators[_ngcontent-%COMP%]{bottom:16px}.slide-indicators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{height:5px;width:5px;margin:0 4px}.slide-indicators[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:before{width:5px;height:5px}}']})}}return t})();var zp=["*","*"];function UC(t,s){if(t&1&&_(0,"img",5),t&2){let e=p(2);m("src",e.computedIconSrc,ae)("alt",e.computedIconAlt)}}function jC(t,s){if(t&1&&(Me(0),r(1,"a",2),h(2,UC,1,2,"img",3),r(3,"span",4),jc(4),a(5),o()(),xe()),t&2){let e=p();c(),m("routerLink",e.routerLink)("queryParams",e.queryParams)("fragment",e.fragment)("ngClass",e.getButtonClasse
2s()),ot("aria-label",e.ariaLabel||e.name),c(),m("ngIf",e.showIcon),c(3),O(e.name)}}function qC(t,s){if(t&1&&_(0,"img",5),t&2){let e=p(2);m("src",e.computedIconSrc,ae)("alt",e.computedIconAlt)}}function WC(t,s){if(t&1&&(r(0,"a",6),h(1,qC,1,2,"img",3),r(2,"span",4),jc(3,1),a(4),o()()),t&2){let e=p();m("href",e.link,ae)("ngClass",e.getButtonClasses()),ot("target",e.target)("rel",e.rel)("aria-label",e.ariaLabel||e.name),c(),m("ngIf",e.showIcon),c(3),O(e.name)}}var Tn=(()=>{class t{constructor(){this.link="",this.name="",this.showIcon=!0,this.iconType="link",this.fullWidth=!1,this.target="_blank",this.rel="noopener noreferrer"}get isRouterNavigation(){return this.routerLink!==void 0&&this.routerLink!==null&&this.routerLink!==""}get computedIconSrc(){if(this.iconSrc&&this.iconSrc.trim().length>0)return this.iconSrc;switch(this.iconType){case"file":return"assets/resources/file_icon.webp";case"download":return"assets/resources/download_icon.webp";case"external":return"assets/resources/link_icon.webp";case"link":default:return"assets/resources/link_icon.webp"}}get computedIconAlt(){if(this.iconAlt&&this.iconAlt.trim().length>0)return this.iconAlt;switch(this.iconType){case"file":return"File link";case"download":return"Download link";case"external":return"External link";case"link":default:return"Link"}}getButtonClasses(){let e=["external-link-button"];return this.customClass&&this.customClass.trim().length>0&&e.push(this.customClass),this.fullWidth&&e.push("full-width"),e}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-external-link-button"]],inputs:{link:"link",routerLink:"routerLink",queryParams:"queryParams",fragment:"fragment",name:"name",ariaLabel:"ariaLabel",customClass:"customClass",showIcon:"showIcon",iconSrc:"iconSrc",iconType:"iconType",iconAlt:"iconAlt",fullWidth:"fullWidth",target:"target",rel:"rel"},standalone:!0,features:[B],ngContentSelectors:zp,decls:3,vars:2,consts:[["externalLink",""],[4,"ngIf","ngIfElse"],[3,"routerLink","queryParams","fragment","ngClass"],["class","external-link-icon",3,"src","alt",4,"ngIf"],[1,"button-text"],[1,"external-link-icon",3,"src","alt"],[3,"href","ngClass"]],template:function(n,i){if(n&1&&(eg(zp),h(0,jC,6,7,"ng-container",1)(1,WC,5,7,"ng-template",null,0,Se)),n&2){let d=oe(2);m("ngIf",i.isRouterNavigation)("ngIfElse",d)}},dependencies:[H,xt,$,Qt,Te],styles:[".external-link-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;text-decoration:none;font-weight:600;transition:all .2s ease;cursor:pointer;font-family:IBM Plex Sans Condensed,sans-serif}.external-link-button[_ngcontent-%COMP%]:hover{border-color:#d0d0d0;box-shadow:0 2px 4px #0000001a}.external-link-button[_ngcontent-%COMP%]:active{transform:translateY(1px)}.external-link-button[_ngcontent-%COMP%] .external-link-icon[_ngcontent-%COMP%]{width:16px;height:16px;flex-shrink:0}.external-link-button[_ngcontent-%COMP%] .button-text[_ngcontent-%COMP%]{color:#06c;font-size:var(--font-size-base);font-family:IBM Plex Sans,sans-serif;font-weight:600;line-height:1.2}.external-link-button.full-width[_ngcontent-%COMP%]{display:flex;width:100%;justify-content:flex-start}.external-link-button.full-width[_ngcontent-%COMP%] .button-text[_ngcontent-%COMP%]{text-align:left}"]})}}return t})();var Np=(()=>{class t{constructor(){this.buttonLink="",this.buttonText="Detalii..."}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-profile-card"]],inputs:{name:"name",image:"image",description:"description",buttonLink:"buttonLink",buttonText:"buttonText"},standalone:!0,features:[B],decls:8,vars:6,consts:[[1,"profile-card"],["alt","Profile image",1,"profile-img",3,"src"],[1,"profile-content"],[1,"profile-title"],[1,"profile-description"],["customClass","profile-card-button",3,"routerLink","name","showIcon"]],template:function(n,i){n&1&&(r(0,"div",0),_(1,"img",1),r(2,"div",2)(3,"h4",3),a(4),o(),r(5,"p",4),a(6),o(),_(7,"app-external-link-button",5),o()()),n&2&&(c(),m("src",i.image,ae),c(3),O(i.name),c(2),O(i.description),c(),m("routerLink",i.buttonLink)("name",i.buttonText)("showIcon",!0))},dependencies:[H,Qt,Te,Tn],styles:[".profiles-section[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:stretch;gap:2rem;margin:2rem auto;max-width:900px;width:100%;flex-wrap:wrap}.profile-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;height:100%;padding:1.5rem;margin:0;width:100%;max-width:none}.profile-img[_ngcontent-%COMP%]{width:100px;height:100px;border-radius:50%;object-fit:cover;margin-bottom:.7rem}.profile-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;width:100%;flex:1}.profile-title[_ngcontent-%COMP%]{font-size:1.15rem;font-weight:700;margin-bottom:.5rem;text-align:center}.profile-description[_ngcontent-%COMP%]{font-size:1.05rem;color:#444;text-align:center;margin-bottom:1rem}.profile-card-button[_ngcontent-%COMP%]{background:#f5f5f5!important;color:#666!important;border:none!important;border-radius:20px!important;padding:.6rem 1.2rem!important;font-size:.95rem!important;cursor:pointer!important;transition:all .3s ease!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font-weight:500!important;text-decoration:none!important;margin-top:auto!important}.profile-card-button[_ngcontent-%COMP%]:hover{background:#e0e0e0!important;transform:translateY(-1px)!important;color:#666!important}.profile-card-button.active[_ngcontent-%COMP%]{background:var(--natie-orange-tint)!important;color:#ff6b35!important;box-shadow:0 2px 8px #ff6b3533!important}@media (max-width: 800px){.profiles-section[_ngcontent-%COMP%]{flex-direction:column;align-items:center}.profile-card[_ngcontent-%COMP%]{max-width:98vw;min-width:0}}"]})}}return t})();var xi=Li(vi());var ps=(()=>{class t{handleError(e="operation",n){return i=>(console.log(`${e} failed: ${i.message}`),Ce(n))}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var No=(()=>{class t{constructor(e,n){this.http=e,this.errorHandlerService=n,this.url=`${ne.apiUrl}/home-posts/`}fetchAll(){return this.http.get(this.url,{responseType:"json"}).pipe(_e(e=>e.message),Be(this.errorHandlerService.handleError("fetchAll",[])))}fetchAllSortedByDate(){return this.http.get(this.url,{responseType:"json"}).pipe(_e(e=>e.message.sort((i,d)=>new Date(d.timestamp).getTime()-new Date(i.timestamp).getTime())),Be(this.errorHandlerService.handleError("fetchAllSortedByDate",[])))}fetchAllSortedForDisplay(){return this.http.get(this.url,{responseType:"json"}).pipe(_e(e=>this.sortPostsForDisplay(e.message)),Be(this.errorHandlerService.handleError("fetchAllSortedForDisplay",[])))}fetchById(e){return this.http.get(`${this.url}${e}`,{responseType:"json"}).pipe(_e(n=>n.message),Be(this.errorHandlerService.handleError("fetchById",{}
2)))}createPost(e){let n=new FormData;n.append("title",e.title),n.append("description",e.description),n.append("priority",e.priority.toString()),n.append("imagePosition",e.imagePosition||"LEFT");let i=e.announcement?"true":"";n.append("announcement",i),console.log("Announcement value sent:",i,"(original:",e.announcement,")"),e.image?(n.append("image",e.image),console.log("Image file added to FormData:",{name:e.image.name,size:e.image.size,type:e.image.type})):console.log("No image file provided for post creation"),console.log("FormData contents:");for(let[d,u]of n.entries())console.log(`${d}:`,u);return this.http.post(this.url,n).pipe(_e(d=>(console.log("Post creation response:",d),d.message)),Be(this.errorHandlerService.handleError("createPost",{})))}updatePost(e,n){let i=new FormData;if(n.title!==void 0&&i.append("title",n.title),n.description!==void 0&&i.append("description",n.description),n.priority!==void 0&&i.append("priority",n.priority.toString()),n.imagePosition!==void 0&&i.append("imagePosition",n.imagePosition),n.announcement!==void 0){let d=n.announcement?"true":"";i.append("announcement",d),console.log("Announcement value sent for update:",d,"(original:",n.announcement,")")}n.image?(i.append("image",n.image),console.log("Image file added to FormData for update:",{name:n.image.name,size:n.image.size,type:n.image.type})):console.log("No image file provided for post update"),console.log("FormData contents for update:");for(let[d,u]of i.entries())console.log(`${d}:`,u);return this.http.put(`${this.url}${e}`,i).pipe(_e(d=>(console.log("Post update response:",d),d.message)),Be(this.errorHandlerService.handleError("updatePost",{})))}deletePost(e){let n={headers:new on({"Content-Type":"application/json"})};return this.http.delete(`${this.url}${e}`,n).pipe(_e(i=>i.message),Be(this.errorHandlerService.handleError("deletePost",{})))}fetchSortedPosts(){return this.fetchAllSortedForDisplay().pipe(_e(e=>e.slice(0,3)))}sortPostsForDisplay(e){return[...e].sort((n,i)=>{let d=Number(i.announcement)-Number(n.announcement);if(d!==0)return d;let u=Number.isFinite(n.priority)?n.priority:5,x=Number.isFinite(i.priority)?i.priority:5,y=u-x;return y!==0?y:new Date(i.timestamp).getTime()-new Date(n.timestamp).getTime()})}static{this.\u0275fac=function(n){return new(n||t)(Q(He),Q(ps))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ne=(()=>{class t{constructor(e){this.http=e}getAllTeams(){return this.http.get(`${ne.apiUrl}/teams`)}getTeamsFromCurrentSeason(){return this.http.get(`${ne.apiUrl}/teams/current-season`)}registerTeamForCurrentSeason(){return this.http.post(`${ne.apiUrl}/teams/current-season-registration`,{})}createTeamRegistrationRequest(e){return this.http.post(`${ne.apiUrl}/teams/registration-requests`,e)}getRegistrationConfig(){return this.http.get(`${ne.apiUrl}/teams/public/registration-config`)}getTeamRegistrationRequests(e){let n=e?`?status=${e}`:"";return this.http.get(`${ne.apiUrl}/teams/admin/registration-requests${n}`)}confirmTeamRegistrationRequest(e,n,i,d){return this.http.post(`${ne.apiUrl}/teams/admin/registration-requests/${e}/confirm`,{romanianNumber:n,internationalNumber:i||void 0,adminNotes:d||""})}rejectTeamRegistrationRequest(e,n){return this.http.post(`${ne.apiUrl}/teams/admin/registration-requests/${e}/reject`,{adminNotes:n||""})}getPublicTeamsList(e){let n=e?`?seasonId=${e}
2`:"";return this.http.get(`${ne.apiUrl}/teams/public/list${n}`)}getTeamLocations(e){let n=e?`?seasonId=${e}`:"";return this.http.get(`${ne.apiUrl}/teams-map/locations${n}`)}getTeamByInternationalNumber(e){return this.http.get(`${ne.apiUrl}/teams/international/${e}`)}getPublicTeamDetail(e){return this.http.get(`${ne.apiUrl}/teams/public/international/${e}`)}getTeamById(e){return this.http.get(`${ne.apiUrl}/teams/${e}`)}getTeamSeasonDataByInternationalNumber(e){return this.http.get(`${ne.apiUrl}/teams/international/${e}/season-data`)}getConfirmedTeamsFromCurrentSeason(){return this.http.get(`${ne.apiUrl}/teams/current-season`)}searchConfirmedTeamsFromCurrentSeason(e){return this.http.get(`${ne.apiUrl}/teams/current-season/search`,{params:new Kt().set("name",e)})}updateTeam(e,n){return this.http.put(`${ne.apiUrl}/teams/${e}`,n)}updateTeamSeasonData(e,n){return this.http.put(`${ne.apiUrl}/teams/international/${e}/season-data`,n)}getMentorsByTeamSeason(e){return this.http.get(`${ne.apiUrl}/teams/season-data/${e}/mentors`)}createMentor(e,n){return this.http.post(`${ne.apiUrl}/teams/season-data/${e}/mentors`,n)}updateMentor(e,n){return this.http.put(`${ne.apiUrl}/teams/mentors/${e}`,n)}deleteMentor(e){return this.http.delete(`${ne.apiUrl}/teams/mentors/${e}`)}getMembersByTeamSeason(e,n=!1){return this.http.get(`${ne.apiUrl}/teams/season-data/${e}/${n?"volunteers":"members"}`)}createMember(e,n,i=!1){return this.http.post(`${ne.apiUrl}/teams/season-data/${e}/${i?"volunteers":"members"}`,n)}updateMember(e,n,i=!1){return this.http.put(`${ne.apiUrl}/teams/${i?"volunteers":"members"}/${e}`,n)}deleteMember(e,n=!1){return this.http.delete(`${ne.apiUrl}/teams/${n?"volunteers":"members"}/${e}`)}getAllTeamsForAdmin(e){let n=e?`?seasonId=${e}
2`:"";return this.http.get(`${ne.apiUrl}/teams/admin/all${n}`)}getTeamForAdmin(e){return this.http.get(`${ne.apiUrl}/teams/admin/${e}`)}createTeamAsAdmin(e){return this.http.post(`${ne.apiUrl}/teams/admin/create`,e)}updateTeamAsAdmin(e,n){return this.http.put(`${ne.apiUrl}/teams/admin/${e}`,n)}createTeamSeasonDataAsAdmin(e){return this.http.post(`${ne.apiUrl}/teams/admin/season-data`,e)}updateTeamSeasonDataAsAdmin(e,n){return this.http.put(`${ne.apiUrl}/teams/admin/season-data/${e}`,n)}sendRegistrationAttentionEmail(e,n){return this.http.post(`${ne.apiUrl}/teams/admin/season-data/${e}/needs-attention`,{message:n})}deleteTeamAsAdmin(e){return this.http.delete(`${ne.apiUrl}/teams/admin/${e}`)}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Mi=(()=>{class t{constructor(e){this.http=e,this.baseUrl=`${ne.apiUrl}/shared-files`}getAllSharedFiles(){return this.http.get(this.baseUrl)}getSharedFileById(e){return this.http.get(`${this.baseUrl}/admin/${e}`)}getSharedFileBySlug(e){return this.http.get(`${this.baseUrl}/public/${e}`)}createSharedFile(e,n){let i=new FormData;return i.append("file",e),i.append("slug",n.slug),n.description&&i.append("description",n.description),this.http.post(this.baseUrl,i)}createSharedLink(e){return this.http.post(`${this.baseUrl}/links`,e)}updateSharedFile(e,n){return this.http.put(`${this.baseUrl}/${e}`,n)}replaceSharedFile(e,n){let i=new FormData;return i.append("file",n),this.http.put(`${this.baseUrl}/${e}/file`,i)}toggleActive(e){return this.http.put(`${this.baseUrl}/${e}/toggle-active`,{})}deleteSharedFile(e){return this.http.delete(`${this.baseUrl}/${e}`)}getDownloadUrl(e){return`${this.baseUrl}/download/${e}`}getPreviewUrl(e){return`${this.baseUrl}/preview/${e}`}getPublicShareUrl(e){return`${window.location.origin}/share/${e}`}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ve=(()=>{class t{constructor(e){this.http=e,this.baseUrl=`${ne.apiUrl}/seasons`}getAllSeasons(){return this.http.get(this.baseUrl)}getCurrentSeason(){return this.http.get(`${this.baseUrl}/current`)}getSeasonById(e){return this.http.get(`${this.baseUrl}/${e}`)}getSeasonStatistics(e){return this.http.get(`${this.baseUrl}/${e}/statistics`)}createSeason(e){return this.http.post(this.baseUrl,e)}updateSeason(e,n){return this.http.put(`${this.baseUrl}/${e}`,n)}deleteSeason(e){return this.http.delete(`${this.baseUrl}/${e}`)}setCurrentSeason(e){return this.http.post(`${this.baseUrl}/${e}/set-current`,{})}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function $C(t,s){if(t&1&&(r(0,"section",58)(1,"div",17)(2,"div",59),_(3,"img",60),r(4,"div",61)(5,"p",8),a(6,"Sezonul curent"),o(),r(7,"h2",62),a(8,"\xCEnregistr\u0103rile sunt deschise"),o(),r(9,"p"),a(10," \xCEnscrierile sunt deschise \xEEn perioada "),r(11,"strong"),a(12),ze(13,"date"),o(),a(14," - "),r(15,"strong"),a(16),ze(17,"date"),o(),a(18,". "),o(),r(19,"div",63)(20,"a",64),a(21,"\xCEnfiin\u021Beaz\u0103 o echip\u0103 nou\u0103"),o(),r(22,"a",65),a(23,"Echip\u0103 veteran\u0103"),o(),r(24,"a",66),a(25,"Mai multe detalii despre \xEEnregistrare "),r(26,"span",67),a(27,"\u2192"),o()()()()()()()),t&2){let e=p();c(12),O(Xe(13,2,e.currentSeason.registrationStart,"dd.MM.yyyy")),c(4),O(Xe(17,5,e.currentSeason.registrationEnd,"dd.MM.yyyy"))}}function HC(t,s){if(t&1&&_(0,"app-post-card",69),t&2){let e=s.$implicit;m("post",e)}}function GC(t,s){if(t&1&&(Me(0),h(1,HC,1,1,"app-post-card",68),ze(2,"slice"),xe()),t&2){let e=p();c(),m("ngForOf",sg(2,1,e.posts,0,3))}}function ZC(t,s){t&1&&(r(0,"div",70),a(1,"Se \xEEncarc\u0103 post\u0103rile..."),o())}function YC(t,s){t&1&&(r(0,"div",71),_(1,"i",72),r(2,"span"),a(3,"Da\u021Bi click pe markerii de pe hart\u0103 pentru a vedea detalii despre echip\u0103"),o()())}function KC(t,s){t&1&&(r(0,"div",73),_(1,"div",74),r(2,"p"),a(3,"Se \xEEncarc\u0103 harta echipelor..."),o()())}var Vp=(()=>{class t{constructor(e,n,i,d,u){this.postService=e,this.teamsService=n,this.sharedFilesService=i,this.seasonsService=d,this.host=u,this.posts=[],this.loading=!0,this.bannerUrl=null,this.bannerFallback="assets/homepage/registrations-banner-home-page.jpg",this.seasons=[],this.currentSeason=null,this.map=null,this.markers=[],this.mapInitializationTimer=null,this.teamLocations=[],this.mapLoading=!0,this.animationFrame=null,this.scrollItems=[],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}ngOnInit(){this.postService.fetchSortedPosts().subscribe(e=>{this.posts=e,this.loading=!1}),this.loadHomepageBanner(),this.loadSeasonsAndTeamLocations()}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument,n=e.defaultView;!n||n.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=n,this.scrollContainer=e.body,this.host.nativeElement.classList.add("home-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll([".home-intro__layout > div",".home-stat-card",".home-registrations__banner",".home-heading",".home-featured-video__copy",".home-video-frame",".home-gallery app-gallery",".home-map__copy",".home-map__card",".home-profiles app-profile-card",".home-closing__content"].join(","))),this.scrollItems.forEac
2h(i=>i.classList.add("home-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),n.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}loadHomepageBanner(){this.sharedFilesService.getSharedFileBySlug("homepage-banner").subscribe({next:e=>{e?.success&&e.message&&(this.bannerUrl=this.sharedFilesService.getPreviewUrl("homepage-banner"))},error:()=>{this.bannerUrl=null}})}loadSeasonsAndTeamLocations(){this.seasonsService.getAllSeasons().subscribe({next:e=>{this.seasons=e.message,this.seasonsService.getCurrentSeason().subscribe({next:n=>{this.currentSeason=n.message,this.loadTeamLocations(this.getDefaultMapSeasonId())},error:n=>{console.error("Error loading current season:",n),this.loadTeamLocations(this.seasons[0]?.id)}})},error:e=>{console.error("Error loading seasons:",e),this.loadTeamLocations()}})}get registrationsOpen(){return this.currentSeason?this.isRegistrationOpen(this.currentSeason):!1}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame),this.mapInitializationTimer!==null&&clearTimeout(this.mapInitializationTimer),this.map&&this.map.remove()}loadTeamLocations(e){this.mapLoading=!0,this.teamsService.getTeamLocations(e).subscribe({next:n=>{this.teamLocations=n.message,this.mapLoading=!1,this.mapInitializationTimer=setTimeout(()=>{this.initializeMap(),this.mapInitializationTimer=null},200)},error:n=>{console.error("Error loading team locations:",n),this.mapLoading=!1}})}getDefaultMapSeasonId(){return this.currentSeason?this.isRegistrationOpen(this.currentSeason)?this.getPreviousSeason(this.currentSeason)?.id??this.currentSeason.id:this.currentSeason.id:this.seasons[0]?.id}isRegistrationOpen(e){if(!e.registrationStart||!e.registrationEnd)return!1;let n=new Date,i=new Date(e.registrationStart),d=new Date(e.registrationEnd);return/^\d{4}-\d{2}-\d{2}$/.test(e.registrationEnd)&&d.setHours(23,59,59,999),Number.isNaN(i.getTime())||Number.isNaN(d.getTime())?!1:n>=i&&n<=d}getPreviousSeason(e){return this.seasons.filter(n=>n.id!==e.id&&n.seasonNumber<e.seasonNumber).sort((n,i)=>i.seasonNumber-n.seasonNumber)[0]}initializeMap(){let e=this.host.nativeElement.querySelector("#home-teams-map");!e||this.map||(this.map=xi.map(e).setView([45.9432,24.9668],7),xi.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',maxZoom:18}).addTo(this.map),this.addTeamMarkers())}addTeamMarkers(){if(!this.map)return;this.markers.forEach(n=>n.remove()),this.markers=[];let e=xi.divIcon({className:"custom-marker",html:'<div style="background-color: #e74c3c; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.3);"></div>',iconSize:[12,12],iconAnchor:[6,6]});this.teamLocations.forEach(n=>{if(n.latitude&&n.longitude){let i=xi.marker([n.latitude,n.longitude],{icon:e}).addTo(this.map),d=` 3 <div style="min-width: 200px;"> 4 <h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 600;"> 5 <a href="/teams/${n.internationalNumber}" style="color: #667eea; text-decoration: none;"> 6 #${n.internationalNumber} - ${n.name} 7 </a> 8 </h3> 9 ${n.school?`<p style="margin: 4px 0; font-size: 14px;"><strong>Afiliere:</strong> ${n.school}</p>`:""} 10 ${n.city?`<p style="margin: 4px 0; font-size: 14px;"><strong>Ora\u0219:</strong> ${n.city}</p>`:""} 11 ${n.seasonRegion?.name?`<p style="margin: 4px 0; font-size: 14px;"><strong>Regiunea:</strong> ${n.seasonRegion.name}</p>`:""} 12 <p style="margin: 8px 0 0 0; font-size: 12px; color: #666;">Rookie Year: ${n.rookieYear}</p> 13 </div> 14 `;i.bindPopup(d),this.markers.push(i)}})}updateScrollProgress(){if(!this.browserWindow||!this.scrollContainer)return;let e=this.browserWindow.innerHeight*.96,n=this.browserWindow.innerHeight*.42;
14this.scrollItems.forEach(i=>{let d=this.clamp((e-i.getBoundingClientRect().top)/(e-n));i.style.setProperty("--home-item-progress",d.toFixed(3))})}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(No),T(Ne),T(Mi),T(Ve),T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-home"]],standalone:!0,features:[B],decls:116,vars:6,consts:[["loadingPosts",""],[1,"home-page"],["aria-labelledby","home-hero-title",1,"home-hero"],["id","home-hero-title",1,"sr-only"],["alt","Na\u021Bie Prin Educa\u021Bie - educa\u021Bie STEAM prin robotic\u0103",1,"home-hero__image",3,"src"],["class","home-section home-registrations","aria-labelledby","registrations-title",4,"ngIf"],["id","home-discover","aria-labelledby","home-intro-title",1,"home-section","home-intro"],[1,"home-container","home-intro__layout"],[1,"home-eyebrow"],["id","home-intro-title"],[1,"home-intro__copy"],["aria-label","Statistici FIRST Tech Challenge Rom\xE2nia",1,"home-container","home-stats"],[1,"home-stat-card"],[1,"home-stat-card","home-stat-card--orange"],[1,"home-stat-card","home-stat-card--navy"],[1,"home-stat-card","home-stat-card--teal"],["aria-labelledby","home-news-title",1,"home-section","home-news"],[1,"home-container"],[1,"home-heading","home-heading--left"],["id","home-news-title"],[1,"home-posts-list"],[4,"ngIf","ngIfElse"],[1,"home-centered-action"],["routerLink","/news","routerLinkActive","active",1,"home-button","home-button--primary"],["aria-labelledby","championship-title",1,"home-section","home-featured-video"],[1,"home-container","home-featured-video__layout"],[1,"home-featured-video__copy"],["id","championship-title"],[1,"home-video-frame"],["src",qt`https://www.youtube.com/embed/videoseries?list=PLyZJ_LeqI_pdvC0rMQIYzxVjdGvGp5L82`,"title","Romania Championship 2026 - Playlist","loading","lazy","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share","allowfullscreen",""],["aria-labelledby","gallery-title",1,"home-section","home-gallery"],[1,"home-heading"],["id","gallery-title"],["aria-labelledby","teams-map-title",1,"home-section","home-map"],[1,"home-container","home-map__layout"],[1,"home-map__copy"],["id","teams-map-title"],["class","home-map__info",4,"ngIf"],[1,"home-map__card"],["class","home-map__loading","role","status",4,"ngIf"],["id","home-teams-map","aria-label","Hart\u0103 interactiv\u0103 cu echipele FTC Rom\xE2nia",1,"home-leaflet-map"],["aria-labelledby","youtube-title",1,"home-section","home-youtube"],["id","youtube-title"],["src","assets/icons/WhatsApp Image 2025-09-02 at 14.48.26.webp","alt","FIRST Championship","loading","lazy",1,"home-youtube__logo"],[1,"home-video-frame","home-video-frame--wide"],["src",qt`https://www.youtube.com/embed?listType=playlist&list=UUBWrlxpmYKv4b_jE5mDsckw`,"title","FIRST Tech Challenge Romania - YouTube","loading","lazy","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share","allowfullscreen",""],["aria-labelledby","paths-title",1,"home-section","home-paths"],["id","paths-title"],[1,"home-profiles"],["name","Elev","image","assets/bannere/elev.webp","description","E\u0219ti la liceu \u0219i vrei s\u0103 participi la FTC? Afl\u0103 cum te po\u021Bi \xEEnscrie!","buttonLink","/teams","buttonText","Detalii..."],["name","P\u0103rinte","image","assets/bannere/parinte.jpg","description","Vrei s\u0103 sus\u021Bii copilul s\u0103 participe la FTC? Afl\u0103 cum po\u021Bi ajuta!","buttonLink","/contribute","buttonText","Detalii..."],["name","Profesor","image","assets/bannere/profesor.webp","description","E\u0219ti profesor \u0219i vrei s\u0103 coordonezi o echip\u0103? Vezi ce presupune!","buttonLink","/resources/get-started","buttonText","Detalii..."],["aria-labelledby","home-closing-title",1,"home-closing"],["src","assets/homepage/homepage-get-started-with-a-team.jpeg","alt","Elevi care construiesc o echip\u0103 FIRST Tech Challenge","loading","lazy",1,"home-closing__image"],[1,"home-closing__overlay"],[1,"home-container","home-closing__content"],["id","home-closing-title"],["routerLink","/resources/get-started",1,"home-button","home-button--primary"],["aria-labelledby","registrations-title",1,"home-section","home-registrations"],[1,"home-registrations__banner"],["src","assets/homepage/biobuzz-registration.jpeg","alt","\xCEnregistr\u0103ri e
14chipe FIRST Tech Challenge Rom\xE2nia",1,"home-registrations__image"],[1,"home-registrations__content"],["id","registrations-title"],[1,"home-registrations__actions"],["routerLink","/register-new-team",1,"home-button","home-button--primary"],["routerLink","/login",1,"home-button","home-button--outline"],["routerLink","/register-new-team",1,"home-text-link"],["aria-hidden","true"],[3,"post",4,"ngFor","ngForOf"],[3,"post"],["role","status",1,"home-loading"],[1,"home-map__info"],["aria-hidden","true",1,"fas","fa-info-circle"],["role","status",1,"home-map__loading"],["aria-hidden","true",1,"home-spinner"]],template:function(n,i){if(n&1&&(r(0,"main",1)(1,"section",2)(2,"h1",3),a(3,"Na\u021Bie Prin Educa\u021Bie - educa\u021Bie STEAM \u0219i robotic\u0103 pentru elevii din Rom\xE2nia"),o(),_(4,"img",4),o(),h(5,$C,28,8,"section",5),r(6,"section",6)(7,"div",7)(8,"div")(9,"p",8),a(10,"Comunitatea \xEEn cifre"),o(),r(11,"h2",9),a(12,"Un program na\u021Bional construit prin echipe, mentori \u0219i voluntari."),o()(),r(13,"div",10)(14,"p"),a(15,"Descoper\u0103 activitatea FIRST Tech Challenge Rom\xE2nia: cele mai noi pove\u0219ti din comunitate, competi\u021Biile, echipele din \u021Bar\u0103 \u0219i modurile \xEEn care po\u021Bi face parte din program."),o()()(),r(16,"div",11)(17,"article",12)(18,"strong"),a(19,"4500+"),o(),r(20,"span"),a(21,"elevi participan\u021Bi"),o()(),r(22,"article",13)(23,"strong"),a(24,"220+"),o(),r(25,"span"),a(26,"echipe \xEEnregistrate"),o()(),r(27,"article",14)(28,"strong"),a(29,"11"),o(),r(30,"span"),a(31,"sezoane de competi\u021Bie"),o()(),r(32,"article",15)(33,"strong"),a(34,"180+"),o(),r(35,"span"),a(36,"voluntari implica\u021Bi"),o()()()(),r(37,"section",16)(38,"div",17)(39,"div",18)(40,"p",8),a(41,"Din comunitate"),o(),r(42,"h2",19),a(43,"Nout\u0103\u021Bi"),o(),r(44,"p"),a(45,"Urm\u0103re\u0219te proiectele, evenimentele \u0219i momentele care aduc \xEEmpreun\u0103 comunitatea FIRST Tech Challenge Rom\xE2nia."),o()(),r(46,"div",20),h(47,GC,3,5,"ng-container",21)(48,ZC,2,0,"ng-template",null,0,Se),o(),r(50,"div",22)(51,"a",23),a(52,"Vezi toate post\u0103rile"),o()()()(),r(53,"section",24)(54,"div",25)(55,"div",26)(56,"p",8),a(57,"Competi\u021Bia na\u021Bional\u0103"),o(),r(58,"h2",27),a(59,"Romania National Championship"),o(),r(60,"p"),a(61,"Urm\u0103re\u0219te playlistul campionatului \u0219i momentele care reunesc echipele din \xEEntreaga \u021Bar\u0103."),o()(),r(62,"div",28),_(63,"iframe",29),o()()(),r(64,"section",30)(65,"div",17)(66,"div",31)(67,"p",8),a(68,"Via\u021Ba comunit\u0103\u021Bii"),o(),r(69,"h2",32),a(70,"Momente din FIRST Tech Challenge Rom\xE2nia"),o()(),_(71,"app-gallery"),o()(),r(72,"section",33)(73,"div",34)(74,"div",35)(75,"p",8),a(76,"Echipe din toat\u0103 \u021Bara"),o(),r(77,"h2",36),a(78,"Harta echipelor din FTC Romania"),o(),r(79,"p"),a(80,"Exploreaz\u0103 comunitatea \u0219i descoper\u0103 echipele din fiecare regiune."),o(),h(81,YC,4,0,"div",37),o(),r(82,"div",38),h(83,KC,4,0,"div",39),_(84,"div",40),o()()(),r(85,"section",41)(86,"div",17)(87,"div",31)(88,"p",8),a(89,"Vezi comunitatea \xEEn ac\u021Biune"),o(),r(90,"h2",42),a(91,"FIRST Tech Challenge Romania - YouTube"),o(),_(92,"img",43),o(),r(93,"div",44),_(94,"iframe",45),o()()(),r(95,"section",46)(96,"div",17)(97,"div",31)(98,"p",8),a(99,"Alege drumul potrivit pentru tine"),o(),r(100,"h2",47),a(101,"Fiecare rol poate duce comunitatea mai departe."),o()(),r(102,"div",48),_(103,"app-profile-card",49)(104,"app-profile-card",50)(105,"app-profile-card",51),o()()(),r(106,"section",52),_(107,"img",53)(108,"div",54),r(109,"div",55)(110,"p",8),a(111,"Primul pas"),o(),r(112,"h2",56),a(113,"Construie\u0219te o echip\u0103 \xEEn comunitatea FIRST Tech Challenge Rom\xE2nia."),o(),r(114,"a",57),a(115,"Get started with a team"),o()()()()),n&2){let d=oe(49);c(4),m("src",i.bannerUrl||i.bannerFallback,ae),c(),m("ngIf",i.registrationsOpen&&i.currentSeason),c(42),m("ngIf",!i.loading)("ngIfElse",d),c(34),m("ngIf",!i.mapLoading),c(2),m("ngIf",i.mapLoading)}},dependencies:[H,X,$,Cg,mn,Sn,ms,Rp,Np,Te,Ci],styles:['[_nghost-%COMP%]{display:block;color:var(--natie-ink)}*[_ngcontent-%COMP%]{box-sizing:border-box}.home-page[_ngcontent-%COMP%]{overflow:hidden;background:#fffaf5}.home-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.home-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.home-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{max-width:920px;margin-bottom:1.35rem;font-size:clamp(2.35rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}p[_ngcontent-%COMP%]{line-height:1.65}.home-hero[_ngcontent-%COMP%]{position:relative;overflow:hidden;width:100%;min-height:150px;background:var(--natie-white)}.home-hero__image[_ngcontent-%COMP%]{width:100%;height:auto;max-height:80vh;min-height:200px;display:block;object-fit:contain}.home-actions[_ngcontent-%COMP%], .home-registrations__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2.1rem}.home-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.3rem;border:2px solid transparent;border-radius:4px;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.home-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.home-button--primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--natie-orange) 0%,var(--natie-orange-strong) 80%);color:var(--natie-white);box-shadow:0 10px 24px #ea461338}.home-button--secondary[_ngcontent-%COMP%]{border-color:#ffffffe6;color:var(--natie-white)}.home-button--secondary[_ngcontent-%COMP%]:hover{background:var(--natie-white);color:var(--natie-navy-mid)}.home-button--outline[_ngcontent-%COMP%]{border-color:var(--natie-blue-accessible);color:var(--natie-blue-accessible)}.home-button--outline[_ngcontent-%COMP%]:hover{background:var(--natie-blue-accessible);color:var(--natie-white)}.home-button[_ngcontent-%COMP%]:focus-visible, .home-text-link[_ngcontent-%COMP%]:focus-visible, [_nghost-%COMP%] a:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.home-text-link[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);font-weight:800;line-height:1.4;text-decoration:none}.home-text-link[_ngcontent-%COMP%]:hover{color:var(--natie-blue-hover);text-decoration:underline}.home-intro[_ngcontent-%COMP%]{scroll-margin-top:1.5rem;background:#fffaf5}.home-intro__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2.5rem,8vw,8rem);align-items:start}.home-intro__layout[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:570px;margin-bottom:0}.home-intro__copy[_ngcontent-%COMP%]{max-width:650px;color:var(--natie-text-muted);font-size:1.08rem}.home-intro__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-top:0}.home-stats[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2.5rem,8vw,8rem);margin-top:clamp(3rem,6vw,4.5rem)}.home-stat-card[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(130px,.72fr) 1fr;gap:1.2rem;align-items:center;min-width:0;min-height:150px;padding:1.4rem 0;border-top:2px solid var(--natie-blue)}.home-stat-card--orange[_ngcontent-%COMP%]{border-color:var(--natie-orange-strong)}.home-stat-card--navy[_ngcontent-%COMP%]{border-color:var(--natie-blue-darkest)}.home-stat-card--teal[_ngcontent-%COMP%]{border-color:#137b78}.home-stat-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{display:block;margin:0;color:var(--natie-ink);font-family:var(--font-family-primary);font-size:clamp(3rem,5vw,4.65rem);font-weight:800;letter-spacing:-.055em;line-height:.9}.home-stat-card[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;max-width:12ch;color:var(--natie-ink);font-family:var(--font-family-primary);font-size:clamp(1.2rem,1.85vw,1.55rem);font-weight:650;letter-spacing:-.035em;line-height:1.12}.home-registrations[_ngcontent-%COMP%]{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem);background:var(--natie-white)}.home-registrations__banner[_ngcontent-%COMP%]{position:relative;isolation:isolate;min-height:400px;overflow:hidden;border:1px solid var(--natie-border-soft);border-radius:10px;background:var(--natie-charcoal);box-shadow:var(--natie-card-shadow)}.home-registrations__image[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%;display:block;object-fit:cover}.home-registrations__content[_ngcontent-%COMP%]{min-height:400px;padding:clamp(2rem,6vw,4rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:linear-gradient(100deg,#05232fe0,#07404c9e 55%,#07404c24)}.home-registrations__content[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .home-registrations__content[_ngcontent-%COMP%] .home-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.home-registrations__content[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:not(.home-eyebrow){max-width:650px;margin-bottom:0;color:var(--natie-white);font-size:1.08rem}.home-registrations__actions[_ngcontent-%COMP%]{margin-top:1.75rem}.home-registrations__actions[_ngcontent-%COMP%] .home-text-link[_ngcontent-%COMP%]{flex-basis:100%;margin-top:.2rem;color:var(--natie-white)}.home-registrations__actions[_ngcontent-%COMP%] .home-button--outline[_ngcontent-%COMP%]{border-color:#ffffffe6;color:var(--natie-white)}.home-registrations__actions[_ngcontent-%COMP%] .home-button--outline[_ngcontent-%COMP%]:hover{background:var(--natie-white);color:var(--natie-navy-mid)}.home-news[_ngcontent-%COMP%]{background:var(--natie-surface)}.home-heading[_ngcontent-%COMP%]{max-width:760px;margin:0 auto 3rem;text-align:center}.home-heading--left[_ngcontent-%COMP%]{margin-left:0;text-align:left}.home-heading[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{margin:0;color:var(--natie-text-soft);font-size:1.08rem}.home-posts-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;width:100%}.home-loading[_ngcontent-%COMP%]{width:100%;padding:3rem;border:1px solid var(--natie-border-soft);background:var(--natie-white);color:var(--natie-text-soft);font-size:1.08rem;text-align:center}.home-centered-action[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-top:2rem}.home-featured-video[_ngcontent-%COMP%]{background:radial-gradient(circle at 8% 115%,rgba(var(--natie-blue-rgb),.3),transparent 38%),var(--natie-charcoal);color:var(--natie-surface-on-dark)}.home-featured-video__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(2.5rem,7vw,6.5rem);align-items:center}.home-featured-video[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .home-featured-video[_ngcontent-%COMP%] .home-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.home-featured-video__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{color:var(--natie-text-on-dark-soft);font-size:1.08rem}.home-video-frame[_ngcontent-%COMP%]{position:relative;z-index:0;isolation:isolate;padding:.65rem;background:#101b27;box-shadow:0 24px 52px #00000047}.home-video-frame[_ngcontent-%COMP%]:after{position:absolute;z-index:-1;right:-1.1rem;bottom:-1.1rem;width:34%;height:43%;background:linear-gradient(135deg,var(--natie-orange),var(--natie-orange-strong));content:""}.home-video-frame[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;aspect-ratio:16/9;display:block;border:0}.home-gallery[_ngcontent-%COMP%]{background:var(--natie-white)}.home-gallery[_ngcontent-%COMP%] app-gallery[_ngcontent-%COMP%]{display:block;max-width:980px;margin:0 auto}.home-map[_ngcontent-%COMP%]{background:#fffaf5}.home-map__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(2.5rem,7vw,6rem);align-items:center}.home-map__copy[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:not(.home-eyebrow){color:var(--natie-text-muted);font-size:1.08rem}.home-map__info[_ngcontent-%COMP%]{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.5rem;padding:1rem 0 0 1.1rem;border-left:4px solid var(--natie-orange);color:var(--natie-text-muted);line-height:1.5}.home-map__info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-top:.25rem;color:var(--natie-blue-accessible)}.home-map__card[_ngcontent-%COMP%]{position:relative;min-width:0;overflow:hidden;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);border-radius:10px;background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.home-leaflet-map[_ngcontent-%COMP%]{width:100%;height:500px;z-index:1}.home-map__loading[_ngcontent-%COMP%]{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff5}.home-map__loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.9rem 0 0;color:var(--natie-text-muted)}.home-spinner[_ngcontent-%COMP%]{width:42px;height:42px;border:4px solid var(--natie-border-soft);border-top-color:var(--natie-blue);border-radius:50%;animation:_ngcontent-%COMP%_home-spin 1s linear infinite}@keyframes _ngcontent-%COMP%_home-spin{to{transform:rotate(360deg)}}[_nghost-%COMP%] .leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 4px 12px #00000026}[_nghost-%COMP%] .leaflet-popup-content{margin:12px 16px}[_nghost-%COMP%] .leaflet-popup-content h3 a:hover{text-decoration:underline}[_nghost-%COMP%] .leaflet-popup-tip{box-shadow:0 2px 4px #0000001a}
14.home-youtube[_ngcontent-%COMP%]{background:var(--natie-white)}.home-youtube__logo[_ngcontent-%COMP%]{width:auto;max-width:min(100%,280px);max-height:74px;margin:1.4rem auto 0;display:block;object-fit:contain}.home-video-frame--wide[_ngcontent-%COMP%]{z-index:0;max-width:980px;margin:0 auto}.home-paths[_ngcontent-%COMP%]{background:var(--natie-surface)}.home-profiles[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;align-items:stretch}.home-profiles[_ngcontent-%COMP%] app-profile-card[_ngcontent-%COMP%]{min-width:0;display:block;overflow:hidden;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);border-radius:10px;background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.home-profiles[_ngcontent-%COMP%] app-profile-card[_ngcontent-%COMP%]:nth-child(2){border-top-color:var(--natie-orange-strong)}.home-profiles[_ngcontent-%COMP%] app-profile-card[_ngcontent-%COMP%]:nth-child(3){border-top-color:var(--natie-blue-darkest)}.home-closing[_ngcontent-%COMP%]{position:relative;isolation:isolate;display:grid;min-height:520px;place-items:center;overflow:hidden;color:var(--natie-white)}.home-closing__image[_ngcontent-%COMP%], .home-closing__overlay[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%}.home-closing__image[_ngcontent-%COMP%]{object-fit:cover}.home-closing__overlay[_ngcontent-%COMP%]{z-index:-1;background:linear-gradient(105deg,#0e2130e6,#093d4bad 58%,#0e21304d)}.home-closing__content[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7rem) 0}.home-closing[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .home-closing[_ngcontent-%COMP%] .home-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.home-closing[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:760px}.home-closing[_ngcontent-%COMP%] .home-button[_ngcontent-%COMP%]{margin-top:1.1rem}@media (max-width: 900px){.home-intro__layout[_ngcontent-%COMP%], .home-featured-video__layout[_ngcontent-%COMP%], .home-map__layout[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.75rem}.home-stats[_ngcontent-%COMP%]{column-gap:3.5rem}.home-featured-video__copy[_ngcontent-%COMP%], .home-map__copy[_ngcontent-%COMP%]{max-width:720px}.home-map__card[_ngcontent-%COMP%]{max-width:760px}}@media (max-width: 720px){.home-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.home-hero__image[_ngcontent-%COMP%]{min-height:150px}.home-actions[_ngcontent-%COMP%], .home-registrations__actions[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.home-button[_ngcontent-%COMP%]{width:100%}.home-registrations__actions[_ngcontent-%COMP%] .home-text-link[_ngcontent-%COMP%]{padding:.65rem 0;text-align:center}.home-registrations__banner[_ngcontent-%COMP%], .home-registrations__content[_ngcontent-%COMP%]{min-height:470px}.home-registrations__content[_ngcontent-%COMP%]{background:linear-gradient(0deg,#05232fe6,#07404c94 62%,#07404c1f)}.home-heading[_ngcontent-%COMP%]{margin-bottom:2.2rem}.home-profiles[_ngcontent-%COMP%]{grid-template-columns:1fr;max-width:620px;margin:0 auto}.home-leaflet-map[_ngcontent-%COMP%]{height:430px}.home-video-frame[_ngcontent-%COMP%]:after{right:-.65rem;bottom:-.65rem}}@media (max-width: 520px){h1[_ngcontent-%COMP%]{font-size:2.45rem}.home-section[_ngcontent-%COMP%]{padding:4rem 0}.home-stats[_ngcontent-%COMP%]{grid-template-columns:1fr}.home-stat-card[_ngcontent-%COMP%]{grid-template-columns:minmax(115px,.65fr) 1fr;min-height:120px}.home-registrations__content[_ngcontent-%COMP%]{padding:1.5rem}.home-leaflet-map[_ngcontent-%COMP%]{height:370px}.home-closing[_ngcontent-%COMP%]{min-height:480px}}.home-scroll-ready[_nghost-%COMP%] .home-scroll-item[_ngcontent-%COMP%]{opacity:var(--home-item-progress, 0);transform:translate3d(calc(var(--home-reveal-x, 0) * (1 - var(--home-item-progress, 0))),calc((1 - var(--home-item-progress, 0)) * 2.8rem),0)}.home-scroll-ready[_nghost-%COMP%] .home-intro__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .home-scroll-ready[_nghost-%COMP%] .home-featured-video__copy[_ngcontent-%COMP%], .home-scroll-ready[_nghost-%COMP%] .home-map__copy[_ngcontent-%COMP%]{--home-reveal-x: -2.4rem}.home-scroll-ready[_nghost-%COMP%] .home-intro__copy[_ngcontent-%COMP%], .home-scroll-ready[_nghost-%COMP%] .home-video-frame[_ngcontent-%COMP%], .home-scroll-ready[_nghost-%COMP%] .home-map__card[_ngcontent-%COMP%]{--home-reveal-x: 2.4rem}.home-scroll-ready[_nghost-%COMP%] .home-stat-card[_ngcontent-%COMP%], .home-scroll-ready[_nghost-%COMP%] .home-profiles[_ngcontent-%COMP%] app-profile-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--home-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--home-item-progress, 0) * .025))}@media (prefers-reduced-motion: reduce){.home-button[_ngcontent-%COMP%], .home-text-link[_ngcontent-%COMP%]{transition:none}.home-spinner[_ngcontent-%COMP%]{animation:none}.home-scroll-ready[_nghost-%COMP%] .home-scroll-item[_ngcontent-%COMP%], .home-scroll-ready[_nghost-%COMP%] .home-stat-card[_ngcontent-%COMP%], .home-scroll-ready[_nghost-%COMP%] .home-profiles[_ngcontent-%COMP%] app-profile-card[_ngcontent-%COMP%]{opacity:1;transform:none}}']})}}return t})();function QC(t,s){t&1&&(r(0,"p"),a(1,"About works!"),o())}var Bp=(()=>{class t{constructor(e,n){this.router=e,this.route=n}isChildRouteActive(){return!!this.route.firstChild}static{this.\u0275fac=function(n){return new(n||t)(T(ke),T(Je))}}static{this.\u0275cmp=V({type:t,selectors:[["app-about"]],standalone:!0,features:[B],decls:2,vars:1,consts:[[4,"ngIf"]],template:function(n,i){n&1&&(h(0,QC,2,0,"p",0),_(1,"router-outlet")),n&2&&m("ngIf",!i.isChildRouteActive())},dependencies:[ei,$]})}}return t})();var Up=(()=>{class t{constructor(e){this.host=e,this.animationFrame=null,this.scrollItems=[],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument,n=e.defaultView;!n||n.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=n,this.scrollContainer=e.body,this.host.nativeElement.classList.add("npe-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll([".npe-manifest__layout > div",".npe-section-heading",".npe-audience-card",".npe-trust__copy",".npe-quote",".npe-steps li",".npe-faq__intro",".npe-faq details"].join(","))),this.scrollItems.forEac
14h(i=>i.classList.add("npe-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),n.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.scrollContainer||!this.browserWindow)return;let e=this.host.nativeElement.querySelector(".npe-hero"),n=this.host.nativeElement.querySelector(".npe-journey"),i=this.scrollContainer.scrollTop,d=e?this.clamp(i/Math.max(e.offsetHeight,1)):0;if(this.host.nativeElement.style.setProperty("--npe-hero-progress",d.toFixed(3)),n){let y=n.getBoundingClientRect(),W=((1-this.clamp((this.browserWindow.innerHeight-y.top)/(this.browserWindow.innerHeight+y.height*.32)))*100).toFixed(2);this.host.nativeElement.style.setProperty("--npe-journey-remaining",`${W}%`)}let u=this.browserWindow.innerHeight*.96,x=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(y=>{let k=this.clamp((u-y.getBoundingClientRect().top)/(u-x));y.style.setProperty("--npe-item-progress",k.toFixed(3))})}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-natie-prin-educatie"]],standalone:!0,features:[B],decls:192,vars:0,consts:[[1,"npe-page"],["aria-labelledby","hero-title",1,"npe-hero"],[1,"npe-container","npe-hero__content"],[1,"npe-eyebrow"],["id","hero-title"],[1,"npe-hero__lead"],[1,"npe-actions","npe-actions--hero"],["routerLink","/resources/get-started",1,"npe-button","npe-button--primary"],["routerLink","/contribute/companies",1,"npe-button","npe-button--secondary"],["aria-labelledby","mission-title",1,"npe-manifest"],[1,"npe-container","npe-manifest__layout"],["id","mission-title"],[1,"npe-manifest__copy"],[1,"npe-manifest__statement"],["aria-labelledby","audiences-title",1,"npe-section","npe-audiences"],[1,"npe-container"],[1,"npe-section-heading"],["id","audiences-title"],[1,"npe-audience-grid"],[1,"npe-audience-card","npe-audience-card--schools"],["aria-hidden","true",1,"npe-card-icon"],["routerLink","/resources/register-new-team",1,"npe-text-link"],["aria-hidden","true"],[1,"npe-audience-card","npe-audience-card--students"],["routerLink","/about/first-and-ftc",1,"npe-text-link"],[1,"npe-audience-card","npe-audience-card--companies"],["routerLink","/contribute/companies",1,"npe-text-link"],["aria-labelledby","trust-title",1,"npe-section","npe-trust"],[1,"npe-container","npe-trust__layout"],[1,"npe-trust__copy"],["id","trust-title"],[1,"npe-quote"],["src","assets/about-pages/card-photo.webp","alt","Dana R\u0103zboiu, pre\u0219edinte \u0219i fondator Na\u021Bie Prin Educa\u021Bie","loading","lazy"],["aria-labelledby","journey-title",1,"npe-section","npe-journey"],[1,"npe-section-heading","npe-section-heading--left"],["id","journey-title"],[1,"npe-steps","npe-journey__steps"],["routerLink","/resources/get-started",1,"npe-text-link"],["routerLink","/resources",1,"npe-text-link"],["routerLink","/teams",1,"npe-text-link"],["routerLink","/contribute",1,"npe-text-link"],["aria-labelledby","faq-title",1,"npe-section","npe-faq"],[1,"npe-container","npe-faq__layout"],[1,"npe-faq__intro"],["id","faq-title"],[1,"npe-faq__items"]],template:function(n,i){n&1&&(r(0,"main",0)(1,"section",1)(2,"div",2)(3,"p",3),a(4,"FIRST Tech Challenge Rom\xE2nia"),o(),r(5,"h1",4),a(6,"Construim viitorul prin echipe de robotic\u0103, educa\u021Bie STEAM \u0219i comunitate."),o(),r(7,"p",5),a(8,"Na\u021Bie Prin Educa\u021Bie aduce programul FIRST Tech Challenge \xEEn liceele din Rom\xE2nia. Sprijinim elevii, profesorii, \u0219colile \u0219i companiile s\u0103 creeze echipe care \xEEnva\u021B\u0103 s\u0103 proiecteze, s\u0103 programeze, s\u0103 colaboreze \u0219i s\u0103 transforme ideile \xEEn rezultate."),o(),r(9,"div",6)(10,"a",7),a(11,"Deschide o echip\u0103 \xEEn liceul t\u0103u"),o(),r(12,"a",8),a(13,"Devino partener"),o()()()(),r(14,"section",9)(15,"div",10)(16,"div")(17,"p",3),a(18,"De ce exist\u0103m"),o(),r(19,"h2",11),a(20,"Educa\u021Bie care prinde via\u021B\u0103 atunci c\xE2nd construim \xEEmpreun\u0103."),o()(),r(21,"div",12)(22,"p"),a(23,"Na\u021Bie Prin Educa\u021Bie este Program Delivery Partner FIRST \xEEn Rom\xE2nia. Cre\u0103m contextul \xEEn care liceenii, profesorii, mentorii \u0219i partenerii pot \xEEnv\u0103\u021Ba prin proiecte reale, pot colabora \u0219i pot duce mai departe ce au descoperit."),o(),r(24,"p",13),a(25,"\u201ERobotica este vehiculul. \xCEncrederea, colaborarea \u0219i viitorul sunt destina\u021Bia.\u201D"),o()()()(),r(26,"section",14)(27,"div",15)(28,"div",16)(29,"p",3),a(30,"Un program, mai multe drumuri \xEEnainte"),o(),r(31,"h2",17),a(32,"Alege cum te implici"),o(),r(33,"p"),a(34,"Construim experien\u021Be de \xEEnv\u0103\u021Bare relevante atunci c\xE2nd \u0219coala, elevii \u0219i mediul de business lucreaz\u0103 \xEEmpreun\u0103."),o()(),r(35,"div",18)(36,"article",19)(37,"span",20),a(38,"01"),o(),r(39,"h3"),a(40,"Pentru profesori \u0219i \u0219coli"),o(),r(41,"ul")(42,"li"),a(43,"Crea\u021Bi un mediu de \xEEnv\u0103\u021Bare modern, interdisciplinar \u0219i conectat la lumea real\u0103."),o(),r(44,"li"),a(45,"Forma\u021Bi o echip\u0103 de liceeni cu sprijinul unei comunit\u0103\u021Bi na\u021Bionale de mentori \u0219i echipe."),o(),r(46,"li"),a(47,"Oferi\u021Bi elevilor acces la resurse, competi\u021Bii \u0219i oportunit\u0103\u021Bi educa\u021Bionale."),o()(),r(48,"a",21),a(49,"Deschide o echip\u0103 "),r(50,"span",22),a(51,"\u2192"),o()()(),r(52,"article",23)(53,"span",20),a(54,"02"),o(),r(55,"h3"),a(56,"Pentru elevi"),o(),r(57,"ul")(58,"li"),a(59,"\xCEnv\u0103\u021Ba\u021Bi practic robotic\u0103, programare, design, antreprenoriat \u0219i comunicare."),o(),r(60,"li"),a(61,"Lucra\u021Bi \xEEntr-o echip\u0103, al\u0103turi de mentori, pe proiecte cu impact real."),o(),r(62,"li"),a(63,"V\u0103 dezvolta\u021Bi \xEEncrederea, g\xE2ndirea critic\u0103 \u0219i competen\u021Be utile pe
14ntru viitor."),o()(),r(64,"a",24),a(65,"Descoper\u0103 FIRST Tech Challenge Rom\xE2nia "),r(66,"span",22),a(67,"\u2192"),o()()(),r(68,"article",25)(69,"span",20),a(70,"03"),o(),r(71,"h3"),a(72,"Pentru companii"),o(),r(73,"ul")(74,"li"),a(75,"Investi\u021Bi direct \xEEn educa\u021Bia practic\u0103 a tinerilor din Rom\xE2nia."),o(),r(76,"li"),a(77,"Contribui\u021Bi la formarea viitorilor profesioni\u0219ti din tehnologie, inginerie \u0219i antreprenoriat."),o(),r(78,"li"),a(79,"Asocia\u021Bi brandul cu performan\u021Ba, inova\u021Bia \u0219i impactul social m\u0103surabil."),o()(),r(80,"a",26),a(81,"Afl\u0103 cum devii partener "),r(82,"span",22),a(83,"\u2192"),o()()()()()(),r(84,"section",27)(85,"div",28)(86,"div",29)(87,"p",3),a(88,"\xCEncredere construit\u0103 \xEEn timp"),o(),r(89,"h2",30),a(90,"Un ecosistem na\u021Bional, cu r\u0103d\u0103cini locale"),o(),r(91,"p"),a(92,"Din 2016, Na\u021Bie Prin Educa\u021Bie este partener oficial FIRST \xEEn Rom\xE2nia \u0219i coordoneaz\u0103 programul FIRST Tech Challenge la nivel na\u021Bional."),o(),r(93,"p"),a(94,"Construim oportunit\u0103\u021Bi \xEEmpreun\u0103 cu \u0219coli, mentori, companii \u0219i universit\u0103\u021Bi tehnice: POLITEHNICA Bucure\u0219ti, Universitatea de Vest din Timi\u0219oara, Universitatea Tehnic\u0103 din Cluj-Napoca \u0219i Universitatea Tehnic\u0103 \u201EGheorghe Asachi\u201D din Ia\u0219i."),o()(),r(95,"figure",31),_(96,"img",32),r(97,"blockquote"),a(98,"\u201EAm un vis \u2013 ca \xEEntr-o zi, \xEEn Rom\xE2nia, educa\u021Bia s\u0103 fie o prioritate na\u021Bional\u0103. Doar atunci \u021Bara noastr\u0103 va avea \u0219ansa de a str\u0103luci cu adev\u0103rat.\u201D"),o(),r(99,"figcaption"),a(100,"\u2014 Dana R\u0103zboiu, Pre\u0219edinte \u0219i Fondator Na\u021Bie Prin Educa\u021Bie"),o()()()(),r(101,"section",33)(102,"div",15)(103,"div",34)(104,"p",3),a(105,"Ecosistemul Na\u021Bie"),o(),r(106,"h2",35),a(107,"Un drum pe care \xEEl parcurgem \xEEmpreun\u0103."),o()(),r(108,"ol",36)(109,"li")(110,"span"),a(111,"01"),o(),r(112,"div")(113,"h3"),a(114,"\xCEncepi o echip\u0103"),o(),r(115,"p"),a(116,"Str\xE2ngi oameni, g\u0103se\u0219ti un mentor \u0219i faci primul pas c\u0103tre o experien\u021B\u0103 care schimb\u0103 ritmul liceului."),o(),r(117,"a",37),a(118,"Afl\u0103 cum \xEEncepi "),r(119,"span",22),a(120,"\u2192"),o()()()(),r(121,"li")(122,"span"),a(123,"02"),o(),r(124,"div")(125,"h3"),a(126,"\xCEnve\u021Bi \u0219i construie\u0219ti"),o(),r(127,"p"),a(128,"Resursele, mentoratul \u0219i timpul \xEEn echip\u0103 transform\u0103 fiecare problem\u0103 \xEEntr-o ocazie de a cre\u0219te."),o(),r(129,"a",38),a(130,"Vez
14i resursele "),r(131,"span",22),a(132,"\u2192"),o()()()(),r(133,"li")(134,"span"),a(135,"03"),o(),r(136,"div")(137,"h3"),a(138,"Concurezi \u0219i colaborezi"),o(),r(139,"p"),a(140,"La FTC, competi\u021Bia \u0219i colaborarea merg \xEEmpreun\u0103. Aici performan\u021Ba cap\u0103t\u0103 sens prin comunitate."),o(),r(141,"a",39),a(142,"Cunoa\u0219te echipele "),r(143,"span",22),a(144,"\u2192"),o()()()(),r(145,"li")(146,"span"),a(147,"04"),o(),r(148,"div")(149,"h3"),a(150,"Dai mai departe"),o(),r(151,"p"),a(152,"Alumni, profesori, companii \u0219i voluntari \u021Bin ecosistemul viu pentru urm\u0103toarea genera\u021Bie."),o(),r(153,"a",40),a(154,"Implic\u0103-te "),r(155,"span",22),a(156,"\u2192"),o()()()()()()(),r(157,"section",41)(158,"div",42)(159,"div",43)(160,"p",3),a(161,"R\u0103spunsuri rapide"),o(),r(162,"h2",44),a(163,"\xCEntreb\u0103ri frecvente"),o(),r(164,"p"),a(165,"Tot ce ai nevoie pentru a \xEEn\u021Belege cum po\u021Bi \xEEncepe sau sus\u021Bine o echip\u0103."),o()(),r(166,"div",45)(167,"details")(168,"summary"),a(169,"Ce este Na\u021Bie Prin Educa\u021Bie?"),o(),r(170,"p"),a(171,"Suntem organiza\u021Bia care coordoneaz\u0103 programul na\u021Bional FIRST Tech Challenge \xEEn Rom\xE2nia \u0219i creeaz\u0103 oportunit\u0103\u021Bi de educa\u021Bie STEAM pentru liceeni, mentori \u0219i \u0219coli."),o()(),r(172,"details")(173,"summary"),a(174,"Cine poate deschide o echip\u0103?"),o(),r(175,"p"),a(176,"O echip\u0103 poate fi ini\u021Biat\u0103 de un liceu, profesori, elevi \u0219i mentori, cu sprijinul institu\u021Biei de \xEEnv\u0103\u021B\u0103m\xE2nt. Este necesar ca cel pu\u021Bin unul dintre mentori s\u0103 fie profesor."),o()(),r(177,"details")(178,"summary"),a(179,"Ce \xEEnva\u021B\u0103 elevii?"),o(),r(180,"p"),a(181,"Mai mult dec\xE2t robotic\u0103: programare, proiectare, documentare, prezentare, fundraising, leadership \u0219i colaborare."),o()(),r(182,"details")(183,"summary"),a(184,"Este nevoie de experien\u021B\u0103 anterioar\u0103?"),o(),r(185,"p"),a(186,"Nu. Echipele pornesc de la niveluri diferite, iar programul ofer\u0103 un cadru clar de \xEEnv\u0103\u021Bare \u0219i o comunitate de sprijin."),o()(),r(187,"details")(188,"summary"),a(189,"Cum se poate implica o companie?"),o(),r(190,"p"),a(191,"Companiile pot sus\u021Bine programul, echipele sau ini\u021Biativele educa\u021Bionale prin sponsorizare, mentorat, resurse \u0219i parteneriate pe termen lung."),o()()()()()())},dependencies:[Te],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;color:var(--natie-ink)}.npe-hero[_ngcontent-%COMP%]{background:linear-gradient(104deg,#0a254ab8 5%,#1c4e877a 55%,#0d70913d),url(/assets/bannere/banner_natie.jpg) center/cover!important}*[_ngcontent-%COMP%]{box-sizing:border-box}.npe-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.npe-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.npe-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.npe-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:1.35rem;font-size:clamp(2.35rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}h3[_ngcontent-%COMP%]{margin-bottom:.9rem;font-size:1.34rem}p[_ngcontent-%COMP%]{line-height:1.65}.npe-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;padding:clamp(5.5rem,12vw,9rem) 0;color:var(--natie-white);background:linear-gradient(100deg,var(--natie-hero-overlay-start) 5%,var(--natie-hero-overlay-mid) 55%,var(--natie-hero-overlay-end)),url(/assets/bannere/banner_natie.jpg) center/cover}.npe-hero[_ngcontent-%COMP%]:after{position:absolute;z-index:-1;right:-10vw;bottom:-28vw;width:58vw;height:58vw;border:1px solid rgba(255,255,255,.18);border-radius:50%;content:""}.npe-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .npe-hero[_ngcontent-%COMP%] .npe-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.npe-hero__content[_ngcontent-%COMP%]{max-width:900px;margin-left:max(24px,(100vw - 1160px) / 2)}.npe-hero__lead[_ngcontent-%COMP%]{max-width:780px;margin:0;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.7}.npe-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem}.npe-actions--hero[_ngcontent-%COMP%]{margin-top:2.1rem}.npe-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.3rem;border:2px solid transparent;border-radius:4px;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.npe-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.npe-button[_ngcontent-%COMP%]:focus-visible, .npe-text-link[_ngcontent-%COMP%]:focus-visible, summary[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.npe-button--primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--natie-orange) 0%,var(--natie-orange-strong) 80%);color:var(--natie-white)}.npe-button--primary[_ngcontent-%COMP%]:hover{background:linear-gradient(90deg,var(--natie-orange) 0%,var(--natie-orange-strong) 80%)}.npe-button--secondary[_ngcontent-%COMP%]{border-color:#ffffffe6;color:var(--natie-white)}.npe-button--secondary[_ngcontent-%COMP%]:hover{background:var(--natie-white);color:var(--natie-navy-mid)}.npe-manifest[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7rem) 0;background:var(--natie-white)}.npe-manifest__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2.5rem,8vw,8rem);align-items:start}.npe-manifest[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:520px;margin-bottom:0}.npe-manifest__copy[_ngcontent-%COMP%]{max-width:620px;color:var(--natie-text-muted);font-size:1.08rem}.npe-manifest__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.npe-manifest__statement[_ngcontent-%COMP%]{margin:2rem 0 0;padding:1.25rem 0 0 1.4rem;border-left:4px solid var(--natie-orange);color:var(--natie-ink);font-size:clamp(1.24rem,2.1vw,1.65rem);font-weight:800;line-height:1.35}.npe-section-heading[_ngcontent-%COMP%]{max-width:720px;margin:0 auto 3rem;text-align:center}.npe-section-heading[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{margin:0;color:var(--natie-text-soft);font-size:1.08rem}.npe-section-heading--left[_ngcontent-%COMP%]{margin-left:0;text-align:left}.npe-audiences[_ngcontent-%COMP%]{background:var(--natie-surface)}.npe-audience-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.npe-audience-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:385px;padding:2rem;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.npe-audience-card--students[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.npe-audience-card--companies[_ngcontent-%COMP%]{border-top-color:var(--natie-blue-dark)}.npe-card-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;margin-bottom:1.75rem;border-radius:50%;background:var(--natie-blue-tint);color:var(--natie-blue-deep);font-size:.82rem;font-weight:800}.npe-audience-card--students[_ngcontent-%COMP%] .npe-card-icon[_ngcontent-%COMP%]{background:var(--natie-orange-tint);color:var(--natie-orange-strong)}.npe-audience-card--companies[_ngcontent-%COMP%] .npe-card-icon[_ngcontent-%COMP%]{background:var(--natie-blue-tint-muted);color:var(--natie-blue-darkest)}.npe-audience-card[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{flex:1;margin:0 0 1.5rem;padding:0;list-style:none}.npe-audience-card[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;padding:0 0 1rem 1.45rem;color:var(--natie-text-muted);line-height:1.5}.npe-audience-card[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before{position:absolute;
14left:0;color:var(--natie-blue-deep);content:"\\2713";font-weight:900}.npe-text-link[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);font-weight:800;line-height:1.4;text-decoration:none}.npe-text-link[_ngcontent-%COMP%]:hover{color:var(--natie-blue-hover);text-decoration:underline}.npe-trust[_ngcontent-%COMP%]{background:var(--natie-charcoal);color:var(--natie-surface-on-dark)}.npe-trust[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .npe-trust[_ngcontent-%COMP%] .npe-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.npe-trust__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,8vw,8rem);align-items:center}.npe-trust__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--natie-text-on-dark-soft)}.npe-quote[_ngcontent-%COMP%]{display:grid;grid-template-columns:132px 1fr;column-gap:1.5rem;margin:0;padding:1.8rem;border-left:4px solid var(--natie-orange);background:#ffffff14}.npe-quote[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{grid-row:span 2;width:132px;height:158px;object-fit:cover}.npe-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{margin:0;color:var(--natie-white);font-size:clamp(1.08rem,1.8vw,1.38rem);font-weight:700;line-height:1.5}.npe-quote[_ngcontent-%COMP%] figcaption[_ngcontent-%COMP%]{align-self:end;margin-top:1.15rem;color:var(--natie-text-on-dark-soft);font-size:.9rem;font-weight:700;line-height:1.45}.npe-journey[_ngcontent-%COMP%]{background:var(--natie-white)}.npe-journey[_ngcontent-%COMP%] .npe-section-heading[_ngcontent-%COMP%]{max-width:720px;margin-bottom:3.6rem}.npe-steps[_ngcontent-%COMP%]{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:0;padding:0;list-style:none}.npe-steps[_ngcontent-%COMP%]:before{position:absolute;top:27px;right:calc(0% - 2.6875rem);left:28px;height:2px;background:linear-gradient(90deg,var(--natie-blue) 0%,var(--natie-blue-deep) 34%,var(--natie-orange-strong) 68%,var(--natie-orange) 100%);content:""}.npe-steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;min-width:0;padding-right:.6rem}.npe-steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1.55rem;border-radius:50%;background:var(--natie-blue);color:var(--natie-white);font-size:.85rem;font-weight:900}.npe-steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(2) > span[_ngcontent-%COMP%]{background:var(--natie-blue-deep)}.npe-steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(3) > span[_ngcontent-%COMP%]{background:var(--natie-orange-strong)}.npe-steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(4) > span[_ngcontent-%COMP%]{background:var(--natie-orange)}.npe-steps[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.45rem}.npe-steps[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 1rem;color:var(--natie-text-soft)}.npe-faq[_ngcontent-%COMP%]{background:var(--natie-surface)}.npe-faq__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2.5rem,8vw,8rem)}.npe-faq__intro[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{max-width:360px;color:var(--natie-text-soft)}.npe-faq__items[_ngcontent-%COMP%]{border-top:1px solid var(--natie-border)}.npe-faq[_ngcontent-%COMP%] details[_ngcontent-%COMP%]{border-bottom:1px solid var(--natie-border)}.npe-faq[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{position:relative;padding:1.35rem 2rem 1.35rem 0;color:var(--natie-ink);cursor:pointer;font-weight:800;list-style:none}.npe-faq[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::-webkit-details-marker{display:none}.npe-faq[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:after{position:absolute;top:1.12rem;right:.25rem;color:var(--natie-blue-deep);content:"+";font-size:1.6rem;font-weight:400}.npe-faq[_ngcontent-%COMP%] details[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:after{content:"\\2212"}.npe-faq[_ngcontent-%COMP%] details[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{max-width:760px;margin:0;padding:0 1rem 1.4rem 0;color:var(--natie-text-muted)}@media (max-width: 850px){.npe-manifest__layout[_ngcontent-%COMP%], .npe-trust__layout[_ngcontent-%COMP%], .npe-faq__layout[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.5rem}.npe-audience-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;max-width:620px;margin:auto}.npe-audience-card[_ngcontent-%COMP%]{min-height:0}.npe-steps[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr);gap:2.5rem 1.5rem}.npe-steps[_ngcontent-%COMP%]:before{display:none}}@media (max-width: 620px){.npe-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.npe-hero__content[_ngcontent-%COMP%]{width:min(100% - 32px,1160px);margin:0 auto}.npe-actions[_ngcontent-%COMP%]{flex-direction:column}.npe-button[_ngcontent-%COMP%]{width:100%}.npe-section-heading[_ngcontent-%COMP%]{margin-bottom:2.2rem}.npe-audience-card[_ngcontent-%COMP%]{padding:1.55rem}.npe-steps[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.2rem}.npe-quote[_ngcontent-%COMP%]{grid-template-columns:1fr;row-gap:1.2rem;padding:1.35rem}.npe-quote[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{grid-row:auto;width:92px;height:92px;border-radius:50%}.npe-quote[_ngcontent-%COMP%] figcaption[_ngcontent-%COMP%]{margin-top:0}}.npe-scroll-ready[_nghost-%COMP%] .npe-hero[_ngcontent-%COMP%]{background-position:center calc(42% + var(--npe-hero-progress, 0) * 22%)}.npe-scroll-ready[_nghost-%COMP%] .npe-hero__content[_ngcontent-%COMP%]{opacity:calc(1 - var(--npe-hero-progress, 0) * .82);transform:translateY(calc(var(--npe-hero-progress, 0) * 4rem))}.npe-scroll-ready[_nghost-%COMP%] .npe-scroll-item[_ngcontent-%COMP%]{opacity:var(--npe-item-progress, 0);transform:translate3d(calc(var(--npe-reveal-x, 0) * (1 - var(--npe-item-progress, 0))),calc((1 - var(--npe-item-progress, 0)) * 2.8rem),0)}.npe-scroll-ready[_nghost-%COMP%] .npe-manifest__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .npe-scroll-ready[_nghost-%COMP%] .npe-trust__copy[_ngcontent-%COMP%], .npe-scroll-ready[_nghost-%COMP%] .npe-faq__intro[_ngcontent-%COMP%]{--npe-reveal-x: -2.4rem}.npe-scroll-ready[_nghost-%COMP%] .npe-manifest__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child, .npe-scroll-ready[_nghost-%COMP%] .npe-quote[_ngcontent-%COMP%], .npe-scroll-ready[_nghost-%COMP%] .npe-faq__items[_ngcontent-%COMP%]{--npe-reveal-x: 2.4rem}.npe-scroll-ready[_nghost-%COMP%] .npe-audience-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--npe-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--npe-item-progress, 0) * .025))}.npe-scroll-ready[_nghost-%COMP%] .npe-steps[_ngcontent-%COMP%]:before{clip-path:inset(0 var(--npe-journey-remaining, 100%) 0 0)}.npe-scroll-ready[_nghost-%COMP%] .npe-steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{box-shadow:0 0 0 calc((1 - var(--npe-item-progress, 0)) * 16px) rgba(var(--natie-blue-rgb),0);transform:scale(calc(.72 + var(--npe-item-progress, 0) * .28))}@media (prefers-reduced-motion: reduce){.npe-scroll-ready[_nghost-%COMP%] .npe-hero[_ngcontent-%COMP%]{background-position:center}.npe-scroll-ready[_nghost-%COMP%] .npe-hero__content[_ngcontent-%COMP%], .npe-scroll-ready[_nghost-%COMP%] .npe-scroll-item[_ngcontent-%COMP%], .npe-scroll-ready[_nghost-%COMP%] .npe-audience-card[_ngcontent-%COMP%]{opacity:1;transform:none}.npe-scroll-ready[_nghost-%COMP%] .npe-steps[_ngcontent-%COMP%]:before{clip-path:inset(0)}}']})}}return t})();function JC(t,s){t&1&&(r(0,"p"),a(1,"Resources works!"),o())}var jp=(()=>{class t{constructor(e,n){this.router=e,this.route=n}isChildRouteActive(){return!!this.route.firstChild}static{this.\u0275fac=function(n){return new(n||t)(T(ke),T(Je))}}static{this.\u0275cmp=V({type:t,selectors:[["app-resources"]],standalone:!0,features:[B],decls:2,vars:1,consts:[[4,"ngIf"]],template:function(n,i){n&1&&(h(0,JC,2,0,"p",0),_(1,"router-outlet")),n&2&&m("ngIf",!i.isChildRouteActive())},dependencies:[ei,$],styles:[".resources-hero[_ngcontent-%COMP%]{width:100%;height:220px;background:#222 url(/assets/resources/hero.webp) center/cover no-repeat;margin-bottom:2rem}.resources-content[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem 1rem 3rem;background:#fff;border-radius:12px;box-shadow:0 2px 16px #0000000f}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-weight:700;margin-top:1.5rem;margin-bottom:1rem}h1[_ngcontent-%COMP%]{font-size:2.1rem}h2[_ngcontent-%COMP%]{font-size:1.5rem}h3[_ngcontent-%COMP%]{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem;font-weight:600}.section-block[_ngcontent-%COMP%]{margin-bottom:2.5rem}.video-block[_ngcontent-%COMP%]{margin-bottom:1.5rem}.video-title[_ngcontent-%COMP%]{font-weight:600;margin-bottom:.5rem}.video-embed[_ngcontent-%COMP%]{width:100%;max-width:600px;margin-bottom:1.5rem;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000014}.resources-group[_ngcontent-%COMP%]{margin-bottom:1.5rem}.resource-buttons[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.7rem}.resource-btn[_ngcontent-%COMP%]{display:flex;align-items:center;background:#f5f7fa;border:1px solid #dbe3ea;border-radius:6px;padding:.5rem 1.1rem;font-size:1rem;font-weight:500;
14color:#1a3a5d;text-decoration:none;transition:background .15s,box-shadow .15s;box-shadow:0 1px 4px #00000008}.resource-btn[_ngcontent-%COMP%]:hover{background:#e6f0fa;color:#0a2540;box-shadow:0 2px 8px #00000012}.resource-btn-icon[_ngcontent-%COMP%]{margin-right:.6rem;display:flex;align-items:center}.resource-btn-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:22px;height:22px;object-fit:contain;border-radius:3px}.loading[_ngcontent-%COMP%]{margin:2rem 0;text-align:center;color:#888}.error[_ngcontent-%COMP%]{margin:2rem 0;text-align:center;color:#c00;font-weight:600}@media (max-width: 700px){.resources-content[_ngcontent-%COMP%]{padding:1rem .2rem 2rem}.video-embed[_ngcontent-%COMP%]{max-width:100%;height:200px}.resource-btn[_ngcontent-%COMP%]{font-size:.97rem;padding:.45rem .7rem}}"]})}}return t})();var Ao=(()=>{class t{constructor(e,n){this.http=e,this.errorHandlerService=n,this.url=`${ne.apiUrl}/resources/`,this.httpOptions={headers:new on({"Content-Type":"application/json"})}}fetchByPage(e){return this.http.get(`${this.url}page/${e}`,{responseType:"json"}).pipe(_e(n=>n.message),Be(this.errorHandlerService.handleError("fetchByPage",[])))}fetchAll(){return this.http.get(this.url,{responseType:"json"}).pipe(_e(e=>e.message),Be(this.errorHandlerService.handleError("fetchAll",[])))}fetchById(e){return this.http.get(`${this.url}${e}`,{responseType:"json"}).pipe(_e(n=>n.message),Be(this.errorHandlerService.handleError("fetchById",{})))}createResource(e){let n=new FormData;return n.append("page",e.page),n.append("section",e.section),n.append("subsection",e.subsection),n.append("description",e.description),n.append("link",e.link),n.append("category",e.category),n.append("priority",e.priority.toString()),e.image&&n.append("image",e.image),this.http.post(this.url,n).pipe(_e(i=>i.message),Be(this.errorHandlerService.handleError("createResource",{})))}updateResource(e,n){let i=new FormData;return n.page&&i.append("page",n.page),n.section&&i.append("section",n.section),n.subsection&&i.append("subsection",n.subsection),n.description&&i.append("description",n.description),n.link&&i.append("link",n.link),n.category&&i.append("category",n.category),n.priority!==void 0&&i.append("priority",n.priority.toString()),n.image&&i.append("image",n.image),this.http.put(`${this.url}${e}`,i).pipe(_e(d=>d.message),Be(this.errorHandlerService.handleError("updateResource",{})))}deleteResource(e){return this.http.delete(`${this.url}${e}`,this.httpOptions).pipe(_e(n=>n.message),Be(this.errorHandlerService.handleError("deleteResource",{})))}static{this.\u0275fac=function(n){return new(n||t)(Q(He),Q(ps))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function XC(t,s){t&1&&_(0,"img",6)}function ev(t,s){if(t&1&&_(0,"iframe",13),t&2){let e=p().$implicit,n=p(2);m("src",n.getYouTubeEmbedUrl(e.link),ji)}}function tv(t,s){if(t&1&&(r(0,"div",10)(1,"div",11),a(2),o(),h(3,ev,1,1,"iframe",12),o()),t&2){let e=s.$implicit;c(2),O(e.description),c(),m("ngIf",e.link)}}function nv(t,s){if(t&1&&(r(0,"a",19)(1,"span",20),_(2,"img",21),o(),a(3),o()),t&2){let e=p().$implicit;m("href",e.link,ae),c(3),w(" ",e.description," ")}}function iv(t,s){if(t&1&&(r(0,"a",22)(1,"span",20),_(2,"img",23),o(),a(3),o()),t&2){let e=p().$implicit,n=p(3);m("href",n.fileService.getPublicFileDownloadUrl(e.image.id),ae),c(3),w(" ",e.description," ")}}function ov(t,s){if(t&1&&(r(0,"div",24),_(1,"iframe",25),r(2,"div",26),a(3),o()()),t&2){let e=p().$implicit,n=p(3);c(),m("src",n.getYouTubeEmbedUrl(e.link),ji),c(2),O(e.description)}}function rv(t,s){if(t&1&&(Me(0),h(1,nv,4,2,"a",16)(2,iv,4,2,"a",17)(3,ov,4,2,"div",18),xe()),t&2){let e=s.$implicit,n=p(3);c(),m("ngIf",n.isLink(e)),c(),m("ngIf",n.hasFile(e)),c(),m("ngIf",n.isVideo(e))}}function av(t,s){if(t&1&&(r(0,"div",14)(1,"h3"),a(2),o(),r(3,"div",15),h(4,rv,4,3,"ng-container",3),o()()),t&2){let e=s.$implicit,n=p().$implicit,i=p();c(2),O(e),c(2),m("ngForOf",i.getResourcesForSubsection(n,e))}}function sv(t,s){if(t&1&&(r(0,"div")(1,"h2"),a(2),o(),r(3,"div",7),h(4,tv,4,2,"div",8)(5,av,5,2,"div",9),o()()),t&2){let e=s.$implicit,n=p();c(2),O(e),c(2),m("ngForOf",n.getYouTubeVideosForSection(e)),c(),m("ngForOf",n.getSubsectionsForSection(e))}}function cv(t,s){t&1&&(r(0,"div",27),a(1,"Se \xEEncarc\u0103 resursele..."),o())}function lv(t,s){if(t&1&&(r(0,"div",28),a(1),o()),t&2){let e=p();c(),O(e.error)}}var qp=(()=>{class t{constructor(e,n,i){this.resourceService=e,this.fileService=n,this.sanitizer=i,this.resources=[],this.loading=!0,this.error="",this.groupedResources={},this.youtubeVideos={}}ngOnInit(){this.resourceService.fetchByPage("season-materials").subscribe({next:e=>{this.resources=e||[],this.organizeResources(),this.loading=!1},error:()=>{this.error="Eroare la \xEEnc\u0103rcarea resurselor.",this.loading=!1}})}organizeResources(){this.groupedResources={},this.youtubeVideos={};for(let e of this.resources)this.groupedResources[e.section]||(this.groupedResources[e.section]={}),e.category==="Video"?(this.youtubeVideos[e.section]||(this.youtubeVideos[e.section]=[]),this.youtubeVideos[e.section].push(e)):(this.groupedResources[e.section][e.subsection]||(this.groupedResources[e.section][e.subsection]=[]),this.groupedResources[e.section][e.subsection].push(e));for(let e in this.groupedResources)for(let n in this.groupedResources[e])this.groupedResources[e][n].sort((i,d)=>i.priority-d.priority);for(let e in this.youtubeVideos)this.youtubeVideos[e].sort((n,i)=>n.priority-i.priority)}getSections(){return Object.keys(this.groupedResources)}getSubsectionsForSection(e){return Object.keys(this.groupedResources[e]||{})}getResourcesForSubsection(e,n){return this.groupedResources[e]?.[n]||[]}getYouTubeVideosForSection(e){return this.youtubeVideos[e]||[]}isWebLink(e){return e?e.startsWith("http://")||e.startsWith("https://"):!1}isYouTubeLink(e){return e?e.includes("youtube.com")||e.includes("youtu.be"):!1}getYouTubeVideoId(e){if(!this.isYouTubeLink(e))return null;let n=[/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([^&\n?#]+)/,/youtube\.com\/watch\?.*v=([^&\n?#]+)/];for(let i of n){let d=e.match(i);if(d&&d[1])return d[1]}return null}
14hasFile(e){return e.category==="Document"&&!!e.image}isVideo(e){return e.category==="Video"&&!!e.link&&e.link.includes("youtube.com")}isLink(e){return e.category==="Link"&&!!e.link}getYouTubeEmbedUrl(e){let n=e.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([^&\n?#]+)/)?.[1],i=n?`https://www.youtube.com/embed/${n}`:e;return this.sanitizer.bypassSecurityTrustResourceUrl(i)}static{this.\u0275fac=function(n){return new(n||t)(T(Ao),T(Dt),T($i))}}static{this.\u0275cmp=V({type:t,selectors:[["app-season-materials"]],standalone:!0,features:[B],decls:14,vars:4,consts:[[1,"resources-hero"],["ngSrc","assets\\bannere\\season materials.jpg","alt","Resources Hero","height","1029","width","2787",4,"ngIf"],[1,"resources-content"],[4,"ngFor","ngForOf"],["class","loading",4,"ngIf"],["class","error",4,"ngIf"],["ngSrc","assets\\bannere\\season materials.jpg","alt","Resources Hero","height","1029","width","2787"],[1,"section-block"],["class","video-block",4,"ngFor","ngForOf"],["class","resources-group",4,"ngFor","ngForOf"],[1,"video-block"],[1,"video-title"],["title","YouTube video player","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share","referrerpolicy","strict-origin-when-cross-origin","allowfullscreen","",3,"src",4,"ngIf"],["title","YouTube video player","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share","referrerpolicy","strict-origin-when-cross-origin","allowfullscreen","",3,"src"],[1,"resources-group"],[1,"resource-buttons"],["target","_blank","rel","noopener","class","resource-btn link-resource",3,"href",4,"ngIf"],["target","_blank","rel","noopener","class","resource-btn document-resource",3,"href",4,"ngIf"],["class","video-resource",4,"ngIf"],["target","_blank","rel","noopener",1,"resource-btn","link-resource",3,"href"],[1,"resource-btn-icon"],["src","../../../assets/resources/link_icon.webp","alt","Link Icon"],["target","_blank","rel","noopener",1,"resource-btn","document-resource",3,"href"],["src","../../../assets/resources/file_icon.webp","alt","File Icon"],[1,"video-resource"],["frameborder","0","allowfullscreen","",1,"video-embed",3,"src"],[1,"video-description"],[1,"loading"],[1,"error"]],template:function(n,i){n&1&&(r(0,"div",0),h(1,XC,1,0,"img",1),o(),r(2,"div",2)(3,"h1"),a(4,"Season Materials"),o(),h(5,sv,6,3,"div",3)(6,cv,2,0,"div",4)(7,lv,2,1,"div",5),r(8,"p"),a(9," * the local regulations are applied together with the FIRST Competition Manual and other game materials to ensure region-specific challenges are addressed "),o(),r(10,"p"),a(11," ** teams must comply to both FIRST and local regulations to join FIRST Tech Challenge Romania "),o(),r(12,"p"),a(13," *** all team members and mentors must read and follow the Competition Manual and the National Regulations in all their activities "),o()()),n&2&&(c(),m("ngIf",!1),c(4),m("ngForOf",i.getSections()),c(),m("ngIf",i.loading),c(),m("ngIf",i.error))}
14,dependencies:[$,X,Po],styles:[".resources-hero[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);aspect-ratio:var(--banner-md-aspect);background:#222 url(/assets/bannere/season\\ materials.jpg) center/cover no-repeat}@media (max-width: 768px){.resources-hero[_ngcontent-%COMP%]{aspect-ratio:16/9;height:200px}}.resources-content[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem 1rem 3rem;background:#fff;box-shadow:0 2px 16px #0000000f}@media (max-width: 768px){.resources-content[_ngcontent-%COMP%]{padding:1.5rem .75rem 2rem;margin:0 .5rem;max-width:none}}@media (max-width: 480px){.resources-content[_ngcontent-%COMP%]{padding:1rem .5rem 1.5rem;margin:0 .25rem}}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-weight:700;margin-top:1.5rem;margin-bottom:1rem}h1[_ngcontent-%COMP%]{font-size:var(--font-size-3xl)}@media (max-width: 768px){h1[_ngcontent-%COMP%]{font-size:var(--font-size-2xl);margin-top:1rem;margin-bottom:.75rem}}@media (max-width: 480px){h1[_ngcontent-%COMP%]{font-size:var(--font-size-xl)}}h2[_ngcontent-%COMP%]{font-size:var(--font-size-2xl)}@media (max-width: 768px){h2[_ngcontent-%COMP%]{font-size:var(--font-size-xl);margin-top:1.25rem;margin-bottom:.75rem}}@media (max-width: 480px){h2[_ngcontent-%COMP%]{font-size:var(--font-size-lg)}}h3[_ngcontent-%COMP%]{font-size:var(--font-size-base);margin-top:1.5rem;margin-bottom:.5rem;font-weight:600}@media (max-width: 768px){h3[_ngcontent-%COMP%]{font-size:var(--font-size-sm);margin-top:1.25rem;margin-bottom:.5rem}}.section-block[_ngcontent-%COMP%]{margin-bottom:2.5rem}@media (max-width: 768px){.section-block[_ngcontent-%COMP%]{margin-bottom:2rem}}@media (max-width: 480px){.section-block[_ngcontent-%COMP%]{margin-bottom:1.5rem}}.resources-group[_ngcontent-%COMP%]{margin-bottom:1.5rem}@media (max-width: 768px){.resources-group[_ngcontent-%COMP%]{margin-bottom:1.25rem}}.resource-buttons[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}@media (max-width: 768px){.resource-buttons[_ngcontent-%COMP%]{gap:1rem}}@media (max-width: 480px){.resource-buttons[_ngcontent-%COMP%]{gap:.8rem}}.resource-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;text-decoration:none;transition:all .2s ease;cursor:pointer;font-family:IBM Plex Sans,sans-serif;width:auto;color:#06c;font-size:var(--font-size-base);font-weight:600;line-height:1.2;word-wrap:break-word;max-width:100%;min-height:44px}@media (max-width: 768px){.resource-btn[_ngcontent-%COMP%]{padding:16px 20px;font-size:var(--font-size-base);gap:8px;width:100%;justify-content:flex-start;min-height:48px;border-radius:8px}}@media (max-width: 480px){.resource-btn[_ngcontent-%COMP%]{padding:14px 18px;font-size:var(--font-size-sm);gap:6px;min-height:52px}}.resource-btn[_ngcontent-%COMP%]:hover{border-color:#d0d0d0;box-shadow:0 2px 4px #0000001a}.resource-btn[_ngcontent-%COMP%]:active{transform:translateY(1px)}.resource-btn-icon[_ngcontent-%COMP%]{display:flex;align-items:center;flex-shrink:0}@media (max-width: 480px){.resource-btn-icon[_ngcontent-%COMP%]{min-width:14px}}.resource-btn-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px;flex-shrink:0;object-fit:contain}@media (max-width: 768px){.resource-btn-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:18px;height:18px}}@media (max-width: 480px){.resource-btn-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px}}.video-block[_ngcontent-%COMP%]{margin-bottom:1.5rem}@media (max-width: 768px){.video-block[_ngcontent-%COMP%]{margin-bottom:1.25rem}}.video-title[_ngcontent-%COMP%]{font-weight:600;margin-bottom:.75rem;font-size:var(--font-size-base)}@media (max-width: 768px){.video-title[_ngcontent-%COMP%]{font-size:var(--font-size-sm);margin-bottom:.5rem}}.video-block[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;max-width:560px;height:315px;border-radius:8px}@media (max-width: 768px){.video-block[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{height:200px}}@media (max-width: 480px){.video-block[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{height:180px}}.video-resource[_ngcontent-%COMP%]{margin-bottom:1rem}@media (max-width: 768px){.video-resource[_ngcontent-%COMP%]{margin-bottom:.75rem}}.video-embed[_ngcontent-%COMP%]{width:100%;height:315px;border-radius:8px;margin-bottom:.5rem}@media (max-width: 768px){.video-embed[_ngcontent-%COMP%]{height:200px}}@media (max-width: 480px){.video-embed[_ngcontent-%COMP%]{height:180px}}.video-description[_ngcontent-%COMP%]{font-weight:500;font-size:var(--font-size-sm);color:#333}@media (max-width: 768px){.video-description[_ngcontent-%COMP%]{font-size:var(--font-size-xs)}}.loading[_ngcontent-%COMP%]{margin:2rem 0;text-align:center;color:#888;font-size:var(--font-size-lg)}@media (max-width: 768px){.loading[_ngcontent-%COMP%]{margin:1.5rem 0;font-size:var(--font-size-base)}}.error[_ngcontent-%COMP%]{margin:2rem 0;text-align:center;color:#c00;font-weight:600}@media (max-width: 768px){.error[_ngcontent-%COMP%]{margin:1.5rem 0;font-size:var(--font-size-sm)}}p[_ngcontent-%COMP%]{font-size:var(--font-size-sm);color:#666;margin-bottom:.5rem;line-height:1.4}@media (max-width: 768px){p[_ngcontent-%COMP%]{font-size:var(--font-size-xs);margin-bottom:.4rem}}@media (max-width: 480px){p[_ngcontent-%COMP%]{font-size:11px}}"]})}}return t})();var Wp=(()=>{class t{constructor(e){this.host=e,this.animationFrame=null,this.scrollItems=[],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument,n=e.defaultView;!n||n.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=n,this.scrollContainer=e.body,this.host.nativeElement.classList.add("start-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll([".start-intro__layout > div",".start-heading",".start-card",".start-context__intro",".start-timeline",".start-film__layout > div",".start-registration__steps",".start-grant > *",".start-registration__actions",".start-closing .start-container"].join(","))),this.scrollItems.forEac
14h(i=>i.classList.add("start-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),n.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.browserWindow)return;let e=this.browserWindow.innerHeight*.96,n=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(i=>{let d=this.clamp((e-i.getBoundingClientRect().top)/(e-n));i.style.setProperty("--start-item-progress",d.toFixed(3))})}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-get-started"]],standalone:!0,features:[B],decls:178,vars:0,consts:[[1,"start-page"],["aria-labelledby","start-title",1,"start-hero"],["src","assets/bannere/start your team.jpg","alt","Elevi care preg\u0103tesc o echip\u0103 FIRST Tech Challenge","loading","eager",1,"start-hero__image"],[1,"start-hero__overlay"],[1,"start-container","start-hero__content"],[1,"start-eyebrow"],["id","start-title"],[1,"start-hero__lead"],[1,"start-actions"],["routerLink","/register-new-team",1,"start-button","start-button--primary"],["routerLink","/login",1,"start-button","start-button--secondary"],["aria-labelledby","start-intro-title",1,"start-section","start-intro"],[1,"start-container","start-intro__layout"],["id","start-intro-title"],[1,"start-intro__copy"],["aria-labelledby","team-title",1,"start-section","start-team"],[1,"start-container"],[1,"start-heading","start-heading--left"],["id","team-title"],[1,"start-card-grid"],[1,"start-card"],[1,"start-card__number"],[1,"start-card","start-card--orange"],[1,"start-card","start-card--navy"],[1,"start-card","start-card--teal"],["aria-labelledby","context-title",1,"start-section","start-context"],[1,"start-container","start-context__layout"],[1,"start-context__intro"],["id","context-title"],[1,"start-timeline"],["href","https://ftc-resources.firstinspires.org/ftc/game/manual","target","_blank","rel","noopener noreferrer"],["href","assets/resources/Regulament-full-August-NatiePrinEducatie-2025-2026.pdf","target","_blank","rel","noopener noreferrer"],["aria-labelledby","film-title",1,"start-section","start-film"],[1,"start-container","start-film__layout"],["id","film-title"],[1,"start-film__frame"],["src",qt`https://www.youtube.com/embed/TgLsq9Iwe2w?si=mx6AHtnUXTtpP83f`,"title","Simte atmosfera programului educational FIRST Tech Challenge Romania","loading","lazy","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture","allowfullscreen",""],["aria-labelledby","registration-title",1,"start-section","start-registration"],["id","registration-title"],[1,"start-registration__steps"],["aria-labelledby","grant-title",1,"start-grant"],["id","grant-title"],[1,"start-registration__actions"],["routerLink","/login",1,"start-button","start-button--outline"],[1,"start-closing"],[1,"start-closing__slogan"]],template:function(n,i){n&1&&(r(0,"main",0)(1,"section",1),_(2,"img",2)(3,"div",3),r(4,"div",4)(5,"p",5),a(6,"Primii pa\u0219i \xEEn comunitate"),o(),r(7,"h1",6),a(8,"Get Started with FIRST Tech Challenge"),o(),r(9,"p",7),a(10,"\xCEnfiin\u021Barea unei echipe \xEEncepe cu oamenii potrivi\u021Bi, o rela\u021Bie bun\u0103 cu liceul \u0219i \xEEn\u021Belegerea programului."),o(),r(11,"div",8)(12,"a",9),a(13,"\xCEnregistreaz\u0103 o echip\u0103 nou\u0103"),o(),r(14,"a",10),a(15,"Ai deja o echip\u0103?"),o()()()(),r(16,"section",11)(17,"div",12)(18,"div")(19,"p",5),a(20,"\xCEnainte de \xEEnscriere"),o(),r(21,"h2",13),a(22,"Preg\u0103te\u0219te funda\u021Bia unei echipe care poate cre\u0219te."),o()(),r(23,"div",14)(24,"p"),a(25,"Mai jos g\u0103se\u0219ti informa\u021Biile esen\u021Biale despre componen\u021Ba echipei, rela\u021Bia cu liceul, cultura programului, resursele necesare \u0219i pa\u0219ii de urmat."),o()()()(),r(26,"section",15)(27,"div",16)(28,"div",17)(29,"p",5),a(30,"Structura de baz\u0103"),o(),r(31,"h2",18),a(32,"Ce este o echip\u0103 de FIRST Tech Challenge (FTC)?"),o()(),r(33,"ol",19)(34,"li",20)(35,"span",21),a(36,"01"),o(),r(37,"p"),a(38,"O echip\u0103 este format\u0103 din "),r(39,"strong"),a(40,"5 \u2013 15 liceeni (cu v\xE2rste \xEEntre 13 \u2013 18 ani)"),o(),a(41,"."),o()(),r(42,"li",22)(43,"
14span",21),a(44,"02"),o(),r(45,"p"),a(46,"Se recomand\u0103 ca fiecare echip\u0103 s\u0103 aib\u0103 "),r(47,"strong"),a(48,"doi sau trei mentori"),o(),a(49,". Un mentor poate fi profesionist din orice domeniu, profesor, p\u0103rinte sau fost participant (FIRST Alumni). "),r(50,"strong"),a(51,"Este necesar ca cel pu\u021Bin unul dintre mentori s\u0103 fie profesor."),o()()(),r(52,"li",23)(53,"span",21),a(54,"03"),o(),r(55,"p"),a(56,"Echipa este afiliat\u0103 unei institu\u021Bii de \xEEnv\u0103\u021B\u0103m\xE2nt din Rom\xE2nia (de obicei un liceu)."),o()(),r(57,"li",24)(58,"span",21),a(59,"04"),o(),r(60,"p"),a(61,"Echipa se "),r(62,"strong"),a(63,"autofinan\u021Beaz\u0103"),o(),a(64," \u0219i trebuie s\u0103 \xEE\u0219i gestioneze singur\u0103 resursele financiare pentru activit\u0103\u021Bi \u0219i participarea la competi\u021Bii. Un kit standard de piese pentru \xEEnceput cost\u0103 aproximativ "),r(65,"strong"),a(66,"4.000 de euro"),o(),a(67,"."),o()()()()(),r(68,"section",25)(69,"div",26)(70,"div",27)(71,"p",5),a(72,"\xCEnainte s\u0103 \xEEncepi"),o(),r(73,"h2",28),a(74,"Ce trebuie s\u0103 \u0219tii \xEEnainte de a \xEEncepe o echip\u0103 FTC \xEEn Rom\xE2nia?"),o(),r(75,"p"),a(76,"Programul are un format interna\u021Bional, o cultur\u0103 proprie \u0219i a\u0219tept\u0103ri diferite de o competi\u021Bie \u0219colar\u0103 clasic\u0103."),o()(),r(77,"ol",29)(78,"li")(79,"span"),a(80,"01"),o(),r(81,"p"),a(82,"Programul Na\u021Bional de Educa\u021Bie STEAM FIRST Tech Challenge Rom\xE2nia nu este o competi\u021Bie \u0219colar\u0103 clasic\u0103 sau o olimpiad\u0103."),o()(),r(83,"li")(84,"span"),a(85,"02"),o(),r(86,"p"),a(87,"Elevii lucreaz\u0103 \xEEn echip\u0103 \xEEntr-un cadru informal, dup\u0103 orele de \u0219coal\u0103. Individualismul nu este \xEEncurajat."),o()(),r(88,"li")(89,"
14span"),a(90,"03"),o(),r(91,"p"),a(92,"Este necesar s\u0103 parcurgi Manualul Oficial al Competi\u021Biei (regulamentul aplicabil interna\u021Bional) pentru a \xEEn\u021Belege structura competi\u021Biei, rezultatele a\u0219teptate \u0219i, cel mai important, spiritul acesteia. Noi suntem Gracious Professionals \u0219i folosim principiul Coopertition pentru a reu\u0219i. Cite\u0219te "),r(93,"a",30),a(94,"Competition Manual aici."),o()()(),r(95,"li")(96,"span"),a(97,"04"),o(),r(98,"p"),a(99,"De asemenea, trebuie s\u0103 consul\u021Bi regulamentele locale stabilite de Na\u021Bie Prin Educa\u021Bie pentru competi\u021Bia din Rom\xE2nia. Aceste reguli sunt respectate de toate echipele participante la program la nivel na\u021Bional. Cite\u0219te "),r(100,"a",31),a(101,"Natie Regulations aici."),o()()(),r(102,"li")(103,"span"),a(104,"05"),o(),r(105,"p"),a(106,"Echipele de succes au o rela\u021Bie foarte bun\u0103 cu liceul lor (profesori \u0219i directori). Deoarece elevii muncesc mult (peste 10 ore pe s\u0103pt\u0103m\xE2n\u0103, dup\u0103 \u0219coal\u0103) pentru FIRST Tech Challenge, iar acest lucru este adesea perceput ca fiind neobi\u0219nuit \xEEn educa\u021Bia din Rom\xE2nia, este important s\u0103 asiguri o bun\u0103 comunicare cu \u0219coala \u0219i s\u0103 explici formatul \u0219i progresul pas cu pas."),o()(),r(107,"li")(108,"span"),a(109,"06"),o(),r(110,"p"),a(111,"Rom\xE2nia este de dou\u0103 ori c\xE2\u0219tig\u0103toare a titlului de Campioan\u0103 Mondial\u0103, a\u0219a c\u0103 te po\u021Bi a\u0219tepta la o competi\u021Bie dificil\u0103. Este posibil s\u0103 nu c\xE2\u0219tigi din primul an, dar nu trebuie s\u0103 te descurajezi \u2013 programul este despre c\u0103l\u0103torie, nu despre destina\u021Bie."),o()(),r(112,"li")(113,"span"),a(114,"07"),o(),r(115,"p"),a(116,"Nu exist\u0103 o modalitate mai bun\u0103 de a forma liderii viitorului. Aminte\u0219te-\u021Bi: \u201Enu folosim copiii pentru a construi robo\u021Bi, ci folosim robo\u021Bii pentru a construi copii\u201D \u2013 Dean Kamen, fondatorul FIRST."),o()()()()(),r(117,"section",32)(118,"div",33)(119,"div")(120,"p",5),a(121,"Programul \xEEn ac\u021Biune"),o(),r(122,"h2",34),a(123,"Simte atmosfera FIRST Tech Challenge Rom\xE2nia."),o()(),r(124,"div",35),_(125,"iframe",36),o()()(),r(126,"section",37)(127,"div",16)(128,"div",17)(129,"p",5),a(130,"De la idee la \xEEnscriere"),o(),r(131,"h2",38),a(132,"Pa\u0219ii pentru \xEEnscriere"),o()(),r(133,"ol",39)(134,"li")(135,"span"),a(136,"01"),o(),r(137,"p"),a(138,"Perioada de \xEEnscriere pentru fiecare sezon este \xEEntre 1 iulie \u0219i 1 octombrie."),o()(),r(139,"li")(140,"span"),a(141,"02"),o(),r(142,"p"),a(143,"Completeaz\u0103 formularul de \xEEnregistrare a echipei de pe butonul Login / Create an Account din col\u021Bul din dreapta sus."),o()(),r(144,"li")(145,"span"),a(146,"03"),o(),r(147,"p"),a(148,"Vei fi contactat de c\u0103tre Na\u021Bie Prin Educa\u021Bie, \xEEncep\xE2nd cu data de 1 octombrie, pentru confirmarea \xEEnscrierii."),o()(),r(149,"li")(150,"span"),a(151,"04"),o(),r(152,"p"),a(153,"Dac\u0103 este prima echip\u0103 dintr-un liceu, aceasta este eligibil\u0103 pentru a aplica la un grant oferit de Na\u021Bie."),o()()(),r(154,"aside",40)(155,"div")(156,"p",5),a(157,"Sprijin pentru echipe rookie"),o(),r(158,"h3",41),a(159,"Ce \xEEnseamn\u0103 grantul"),o()(),r(160,"ul")(161,"li"),a(162,"Grantul \xEEnseamn\u0103 c\u0103 po\u021Bi primi gratuit toate piesele de start necesare pentru un robot competitiv \u0219i elementele de joc."),o(),r(163,"li"),a(164,"Granturile sunt limitate \xEEn fiecare an \xEEn func\u021Bie de bugetul disponibil, iar nu toate echipele primesc un grant."),o(),r(165,"li"),a(166,"Granturile pot fi ob\u021Binute doar \xEEn primul an de participare (rookie year) al echipei."),o()()(),r(167,"div",42)(168,"a",9),a(169,"\xCEnfiin\u021Beaz\u0103 o echip\u0103 nou\u0103"),o(),r(170,"a",43),a(171,"Login pentru echipe existente"),o()()()(),r(172,"footer",44)(173,"div",16)(174,"p",5),a(175,"\xCEnv\u0103\u021B\u0103m construind"),o(),r(176,"p",45),a(177,"Education for the Nation!"),o()()()())},dependencies:[Te],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;color:var(--natie-ink)}*[_ngcontent-%COMP%]{box-sizing:border-box}.start-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.start-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.start-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.start-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:0;font-size:clamp(2.45rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}h3[_ngcontent-%COMP%]{margin-bottom:.8rem;font-size:clamp(1.45rem,2.4vw,2rem)}p[_ngcontent-%COMP%]{line-height:1.65}.start-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;display:grid;width:100%;min-height:clamp(520px,68vw,720px);place-items:center;overflow:hidden;color:var(--natie-white)}.start-hero__image[_ngcontent-%COMP%], .start-hero__overlay[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%}.start-hero__image[_ngcontent-%COMP%]{object-fit:cover}.start-hero__overlay[_ngcontent-%COMP%]{z-index:-1;background:linear-gradient(122deg,#083036b8 4%,#135c5c7a 56%,#8f40213d)}.start-hero[_ngcontent-%COMP%]:after{position:absolute;z-index:-1;right:-10vw;bottom:-28vw;width:58vw;height:58vw;border:1px solid rgba(255,255,255,.18);border-radius:50%;content:""}.start-hero__content[_ngcontent-%COMP%]{padding:clamp(5.5rem,12vw,9rem) 0}.start-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .start-hero[_ngcontent-%COMP%] .start-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.start-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{max-width:900px}.start-hero__lead[_ngcontent-%COMP%]{max-width:720px;margin:1.35rem 0 0;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.7}.start-intro[_ngcontent-%COMP%]{background:#fffaf5}.start-intro__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,8vw,8rem);align-items:start}.start-intro__copy[_ngcontent-%COMP%]{max-width:650px;color:var(--natie-text-muted);font-size:1.08rem}.start-intro__copy[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-top:0}.start-actions[_ngcontent-%COMP%], .start-registration__actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.start-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.3rem;border:2px solid transparent;border-radius:4px;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.start-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.start-button--primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--natie-orange),var(--natie-orange-strong));color:var(--natie-white);box-shadow:0 10px 24px #ea461338}.start-button--outline[_ngcontent-%COMP%]{border-color:var(--natie-blue-accessible);color:var(--natie-blue-accessible)}.start-button--secondary[_ngcontent-%COMP%]{border-color:#ffffffe6;color:var(--natie-white)}.start-button--secondary[_ngcontent-%COMP%]:hover{background:var(--natie-white);color:var(--natie-navy-mid)}.start-button--outline[_ngcontent-%COMP%]:hover{background:var(--natie-blue-accessible);color:var(--natie-white)}.start-button[_ngcontent-%COMP%]:focus-visible, a[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.start-heading[_ngcontent-%COMP%]{max-width:780px;margin:0 auto 3rem;text-align:center}.start-heading--left[_ngcontent-%COMP%]{margin-left:0;text-align:left}.start-team[_ngcontent-%COMP%]{background:var(--natie-white)}.start-card-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin:0;padding:0;list-style:none}.start-card[_ngcontent-%COMP%]{min-width:0;min-height:250px;padding:2rem;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);border-radius:10px;background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.start-card--orange[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.start-card--navy[_ngcontent-%COMP%]{border-top-color:var(--natie-blue-darkest)}.start-card--teal[_ngcontent-%COMP%]{border-top-color:#137b78}.start-card__number[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.7rem;height:2.7rem;margin-bottom:1.5rem;border-radius:50%;background:var(--natie-blue-tint);color:var(--natie-blue-deep);font-size:.8rem;font-weight:900}.start-card--orange[_ngcontent-%COMP%] .start-card__number[_ngcontent-%COMP%]{background:var(--natie-orange-tint);color:var(--natie-orange-strong)}.start-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--natie-text-muted);font-size:1.03rem}.start-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--natie-ink)}.start-context[_ngcontent-%COMP%]{background:radial-gradient(circle at 8% 108%,rgba(var(--natie-blue-rgb),.28),transparent 34%),var(--natie-charcoal);color:var(--natie-surface-on-dark)}.start-context__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(3rem,8vw,7rem);align-items:start}.start-context__intro[_ngcontent-%COMP%]{position:sticky;top:2rem}.start-context[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .start-context[_ngcontent-%COMP%] .start-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.start-context__intro[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{color:var(--natie-text-on-dark-soft);font-size:1.05rem}.start-timeline[_ngcontent-%COMP%]{margin:0;padding:0;list-style:none}.start-timeline[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:grid;grid-template-columns:52px minmax(0,1fr);gap:1.25rem;padding:0 0 2rem}.start-timeline[_ngcontent-%COMP%] li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%]{padding-top:2rem;border-top:1px solid rgba(255,255,255,.13)}.start-timeline[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#ff9b4a;font-size:.78rem;font-weight:900}.start-timeline[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--natie-text-on-dark-soft);font-size:1.03rem}.start-timeline[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--natie-white)}.start-timeline[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#ffad69;font-weight:800;text-underline-offset:3px}.start-timeline[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:var(--natie-white)}.start-film[_ngcontent-%COMP%]{background:#fffaf5}.start-film__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(2.5rem,7vw,6rem);align-items:center}.start-film__frame[_ngcontent-%COMP%]{position:relative;z-index:0;isolation:isolate;padding:.65rem;background:var(--natie-charcoal);box-shadow:0 24px 52px #112d4d2e}.start-film__frame[_ngcontent-%COMP%]:after{position:absolute;z-index:-1;right:-1.1rem;bottom:-1.1rem;width:34%;height:43%;background:linear-gradient(135deg,var(--natie-orange),var(--natie-orange-strong));content:""}.start-film[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;aspect-ratio:16/9;display:block;border:0}.start-registration[_ngcontent-%COMP%]{background:var(--natie-white)}.start-registration__steps[_ngcontent-%COMP%]{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin:0;padding:0;list-style:none}.start-registration__steps[_ngcontent-%COMP%]:before{position:absolute;top:26px;right:28px;left:28px;height:2px;background:linear-gradient(90deg,var(--natie-blue),var(--natie-blue-deep) 34%,var(--natie-orange-strong) 68%,var(--natie-orange));content:""}.start-registration__steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;min-width:0}.start-registration__steps[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:1.4rem;border-radius:50%;background:var(--natie-blue);color:var(--natie-white);font-size:.8rem;font-weight:900}.start-registration__steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(2) span[_ngcontent-%COMP%]{background:var(--natie-blue-deep)}.start-registration__steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(3) span[_ngcontent-%COMP%]{background:var(--natie-orange-strong)}.start-registration__steps[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(4) span[_ngcontent-%COMP%]{background:var(--natie-orange)}.start-registration__steps[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--natie-text-muted)}.start-grant[_ngcontent-%COMP%]{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,6vw,5rem);margin-top:clamp(3.5rem,7vw,5.5rem);padding:clamp(2rem,5vw,3.5rem);border-left:5px solid var(--natie-orange-strong);background:var(--natie-surface)}.start-grant[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:0}.start-grant[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding:0;list-style:none}.start-grant[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;padding:0 0 1rem 1.5rem;color:var(--natie-text-muted);line-height:1.6}.start-grant[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child{padding-bottom:0}.start-grant[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before{position:absolute;
14left:0;color:var(--natie-orange-strong);content:"\\2713";font-weight:900}.start-registration__actions[_ngcontent-%COMP%]{justify-content:center}.start-closing[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7rem) 0;background:radial-gradient(circle at 88% 120%,rgba(var(--natie-blue-rgb),.34),transparent 38%),var(--natie-charcoal);text-align:center}.start-closing[_ngcontent-%COMP%] .start-eyebrow[_ngcontent-%COMP%]{color:#ff9b4a}.start-closing__slogan[_ngcontent-%COMP%]{margin:0;color:var(--natie-white);font-size:clamp(2.4rem,6vw,5rem);font-style:italic;font-weight:800;letter-spacing:-.04em;line-height:1.05}@media (max-width: 900px){.start-intro__layout[_ngcontent-%COMP%], .start-context__layout[_ngcontent-%COMP%], .start-film__layout[_ngcontent-%COMP%], .start-grant[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.75rem}.start-context__intro[_ngcontent-%COMP%]{position:static;max-width:720px}.start-registration__steps[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1.5rem}.start-registration__steps[_ngcontent-%COMP%]:before{display:none}}@media (max-width: 680px){.start-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.start-hero[_ngcontent-%COMP%]{min-height:590px}.start-hero__image[_ngcontent-%COMP%]{object-position:58% center}.start-card-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.start-card[_ngcontent-%COMP%]{min-height:0;padding:1.5rem}.start-actions[_ngcontent-%COMP%], .start-registration__actions[_ngcontent-%COMP%]{flex-direction:column}.start-button[_ngcontent-%COMP%]{width:100%}.start-registration__steps[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2rem}.start-timeline[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{grid-template-columns:44px minmax(0,1fr);gap:1rem}.start-timeline[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{width:44px;height:44px}.start-film__frame[_ngcontent-%COMP%]:after{right:-.65rem;bottom:-.65rem}.start-grant[_ngcontent-%COMP%]{padding:1.5rem}}.start-scroll-ready[_nghost-%COMP%] .start-scroll-item[_ngcontent-%COMP%]{opacity:var(--start-item-progress, 0);transform:translate3d(calc(var(--start-reveal-x, 0) * (1 - var(--start-item-progress, 0))),calc((1 - var(--start-item-progress, 0)) * 2.8rem),0)}.start-scroll-ready[_nghost-%COMP%] .start-intro__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .start-scroll-ready[_nghost-%COMP%] .start-context__intro[_ngcontent-%COMP%], .start-scroll-ready[_nghost-%COMP%] .start-film__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .start-scroll-ready[_nghost-%COMP%] .start-grant[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{--start-reveal-x: -2.4rem}.start-scroll-ready[_nghost-%COMP%] .start-intro__copy[_ngcontent-%COMP%], .start-scroll-ready[_nghost-%COMP%] .start-timeline[_ngcontent-%COMP%], .start-scroll-ready[_nghost-%COMP%] .start-film__frame[_ngcontent-%COMP%], .start-scroll-ready[_nghost-%COMP%] .start-grant[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{--start-reveal-x: 2.4rem}.start-scroll-ready[_nghost-%COMP%] .start-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--start-item-progress, 0)) * 3.5rem)) scale(calc(.975 + var(--start-item-progress, 0) * .025))}@media (prefers-reduced-motion: reduce){.start-button[_ngcontent-%COMP%]{transition:none}.start-scroll-ready[_nghost-%COMP%] .start-scroll-item[_ngcontent-%COMP%], .start-scroll-ready[_nghost-%COMP%] .start-card[_ngcontent-%COMP%]{opacity:1;transform:none}}']})}}return t})();var e0=(()=>{class t{constructor(e,n){this._renderer=e,this._elementRef=n,this.onChange=i=>{},this.onTouched=()=>{}}setProperty(e,n){this._renderer.setProperty(this._elementRef.nativeElement,e,n)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static{this.\u0275fac=function(n){return new(n||t)(T(Jn),T(Ze))}}static{this.\u0275dir=qe({type:t})}}return t})(),Bo=(()=>{class t extends e0{static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,features:[ht]})}}return t})(),yi=new tt(""),dv={provide:yi,useExisting:kt(()=>Pt),multi:!0},Pt=(()=>{class t extends Bo{writeValue(e){this.setProperty("checked",e)}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,i){n&1&&b("change",function(u){return i.onChange(u.target.checked)})("blur",function(){return i.onTouched()})},features:[Ft([dv]),ht]})}}return t})(),mv={provide:yi,useExisting:kt(()=>re),multi:!0};
14function gv(){let t=Wi()?Wi().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}var pv=new tt(""),re=(()=>{class t extends e0{constructor(e,n,i){super(e,n),this._compositionMode=i,this._composing=!1,this._compositionMode==null&&(this._compositionMode=!gv())}writeValue(e){let n=e??"";this.setProperty("value",n)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static{this.\u0275fac=function(n){return new(n||t)(T(Jn),T(Ze),T(pv,8))}}static{this.\u0275dir=qe({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,i){n&1&&b("input",function(u){return i._handleInput(u.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(u){return i._compositionEnd(u.target.value)})},features:[Ft([mv]),ht]})}}return t})();function bi(t){return t==null||(typeof t=="string"||Array.isArray(t))&&t.length===0}function t0(t){return t!=null&&typeof t.length=="number"}var hn=new tt(""),Uo=new tt(""),uv=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,N=class{static min(s){return n0(s)}static max(s){return i0(s)}static required(s){return o0(s)}static requiredTrue(s){return _v(s)}static email(s){return r0(s)}static minLength(s){return a0(s)}static maxLength(s){return s0(s)}static pattern(s){return c0(s)}static nullValidator(s){return fs(s)}static compose(s){return u0(s)}static composeAsync(s){return _0(s)}};function n0(t){return s=>{if(bi(s.value)||bi(t))return null;let e=parseFloat(s.value);return!isNaN(e)&&e<t?{min:{min:t,actual:s.value}}:null}}function i0(t){return s=>{if(bi(s.value)||bi(t))return null;let e=parseFloat(s.value);return!isNaN(e)&&e>t?{max:{max:t,actual:s.value}}:null}}function o0(t){return bi(t.value)?{required:!0}:null}function _v(t){return t.value===!0?null:{required:!0}}function r0(t){return bi(t.value)||uv.test(t.value)?null:{email:!0}}function a0(t){return s=>bi(s.value)||!t0(s.value)?null:s.value.length<t?{minlength:{requiredLength:t,actualLength:s.value.length}}:null}function s0(t){return s=>t0(s.value)&&s.value.length>t?{maxlength:{requiredLength:t,actualLength:s.value.length}}:null}function c0(t){if(!t)return fs;let s,e;return typeof t=="string"?(e="",t.charAt(0)!=="^"&&(e+="^"),e+=t,t.charAt(t.length-1)!=="$"&&(e+="$"),s=new RegExp(e)):(e=t.toString(),s=t),n=>{if(bi(n.value))return null;let i=n.value;return s.test(i)?null:{pattern:{requiredPattern:e,actualValue:i}}}}function fs(t){return null}function l0(t){return t!=null}function d0(t){return ya(t)?jt(t):t}function m0(t){let s={};return t.forEach(e=>{s=e!=null?J(J({},s),e):s}),Object.keys(s).length===0?null:s}function g0(t,s){return s.map(e=>e(t))}function fv(t){return!t.validate}function p0(t){return t.map(s=>fv(s)?s:e=>s.validate(e))}function u0(t){if(!t)return null;let s=t.filter(l0);return s.length==0?null:function(e){return m0(g0(e,s))}}function Gl(t){return t!=null?u0(p0(t)):null}function _0(t){if(!t)return null;let s=t.filter(l0);return s.length==0?null:function(e){let n=g0(e,s).map(d0);return km(n).pipe(_e(m0))}}function Zl(t){return t!=null?_0(p0(t)):null}function $p(t,s){return t===null?[s]:Array.isArray(t)?[...t,s]:[t,s]}function f0(t){return t._rawValidators}function h0(t){return t._rawAsyncValidators}function Wl(t){return t?Array.isArray(t)?t:[t]:[]}function hs(t,s){return Array.isArray(t)?t.includes(s):t===s}function Hp(t,s){let e=Wl(s);return Wl(t).forEach(i=>{hs(e,i)||e.push(i)}),e}function Gp(t,s){return Wl(s).filter(e=>!hs(t,e))}var Cs=class{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(s){this._rawValidators=s||[],this._composedValidatorFn=Gl(this._rawValidators)}_setAsyncValidators(s){this._rawAsyncValidators=s||[],this._composedAsyncValidatorFn=Zl(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(s){this._onDestroyCallbacks.push(s)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(s=>s()),this._onDestroyCallbacks=[]}reset(s=void 0){this.control&&this.control.reset(s)}hasError(s,e){return this.control?this.control.hasError(s,e):!1}getError(s,e){return this.control?this.control.getError(s,e):null}},rn=class extends Cs{get formDirective(){return null}get path(){return null}},Pi=class extends Cs{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}},vs=class{constructor(s){this._cd=s}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}
14get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}},hv={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},sA=ye(J({},hv),{"[class.ng-submitted]":"isSubmitted"}),ie=(()=>{class t extends vs{constructor(e){super(e)}static{this.\u0275fac=function(n){return new(n||t)(T(Pi,2))}}static{this.\u0275dir=qe({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,i){n&2&&I("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[ht]})}}return t})(),Pe=(()=>{class t extends vs{constructor(e){super(e)}static{this.\u0275fac=function(n){return new(n||t)(T(rn,10))}}static{this.\u0275dir=qe({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,i){n&2&&I("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[ht]})}}return t})();var $r="VALID",_s="INVALID",Lo="PENDING",Hr="DISABLED";function Yl(t){return(Ps(t)?t.validators:t)||null}function Cv(t){return Array.isArray(t)?Gl(t):t||null}function Kl(t,s){return(Ps(s)?s.asyncValidators:t)||null}function vv(t){return Array.isArray(t)?Zl(t):t||null}function Ps(t){return t!=null&&!Array.isArray(t)&&typeof t=="object"}function C0(t,s,e){let n=t.controls;if(!(s?Object.keys(n):n).length)throw new st(1e3,"");if(!n[e])throw new st(1001,"")}function v0(t,s,e){t._forEachChild((n,i)=>{if(e[i]===void 0)throw new st(1002,"")})}var Vo=class{constructor(s,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(s),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(s){this._rawValidators=this._composedValidatorFn=s}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(s){this._rawAsyncValidators=this._composedAsyncValidatorFn=s}get parent(){return this._parent}get valid(){return this.status===$r}get invalid(){return this.status===_s}get pending(){return this.status==Lo}get disabled(){return this.status===Hr}get enabled(){return this.status!==Hr}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(s){this._assignValidators(s)}setAsyncValidators(s){this._assignAsyncValidators(s)}addValidators(s){this.setValidators(Hp(s,this._rawValidators))}addAsyncValidators(s){this.setAsyncValidators(Hp(s,this._rawAsyncValidators))}removeValidators(s){this.setValidators(Gp(s,this._rawValidators))}removeAsyncValidators(s){this.setAsyncValidators(Gp(s,this._rawAsyncValidators))}hasValidator(s){return hs(this._rawValidators,s)}hasAsyncValidator(s){return hs(this._rawAsyncValidators,s)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(s={}){this.touched=!0,this._parent&&!s.onlySelf&&this._parent.markAsTouched(s)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(s=>s.markAllAsTouched())}markAsUntouched(s={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!s.onlySelf&&this._parent._updateTouched(s)}markAsDirty(s={}){this.pristine=!1,this._parent&&!s.onlySelf&&this._parent.markAsDirty(s)}markAsPristine(s={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!s.onlySelf&&this._parent._updatePristine(s)}markAsPending(s={}){this.status=Lo,s.emitEvent!==!1&&this.statusChanges.emit(this.status),this._parent&&!s.onlySelf&&this._parent.markAsPending(s)}disable(s={}){let e=this._parentMarkedDirty(s.onlySelf);
14this.status=Hr,this.errors=null,this._forEachChild(n=>{n.disable(ye(J({},s),{onlySelf:!0}))}),this._updateValue(),s.emitEvent!==!1&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(ye(J({},s),{skipPristineCheck:e})),this._onDisabledChange.forEach(n=>n(!0))}enable(s={}){let e=this._parentMarkedDirty(s.onlySelf);this.status=$r,this._forEachChild(n=>{n.enable(ye(J({},s),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:s.emitEvent}),this._updateAncestors(ye(J({},s),{skipPristineCheck:e})),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(s){this._parent&&!s.onlySelf&&(this._parent.updateValueAndValidity(s),s.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(s){this._parent=s}getRawValue(){return this.value}updateValueAndValidity(s={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$r||this.status===Lo)&&this._runAsyncValidator(s.emitEvent)),s.emitEvent!==!1&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!s.onlySelf&&this._parent.updateValueAndValidity(s)}_updateTreeValidity(s={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(s)),this.updateValueAndValidity({onlySelf:!0,emitEvent:s.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Hr:$r}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(s){if(this.asyncValidator){this.status=Lo,this._hasOwnPendingAsyncValidator=!0;let e=d0(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:s})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(s,e={}){this.errors=s,this._updateControlsErrors(e.emitEvent!==!1)}get(s){let e=s;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((n,i)=>n&&n._find(i),this)}getError(s,e){let n=e?this.get(e):this;return n&&n.errors?n.errors[s]:null}hasError(s,e){return!!this.getError(s,e)}get root(){let s=this;for(;s._parent;)s=s._parent;return s}_updateControlsErrors(s){this.status=this._calculateStatus(),s&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(s)}_initObservables(){this.valueChanges=new it,this.statusChanges=new it}_calculateStatus(){return this._allControlsDisabled()?Hr:this.errors?_s:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Lo)?Lo:this._anyControlsHaveStatus(_s)?_s:$r}_anyControlsHaveStatus(s){return this._anyControls(e=>e.status===s)}_anyControlsDirty(){return this._anyControls(s=>s.dirty)}_anyControlsTouched(){return this._anyControls(s=>s.touched)}_updatePristine(s={}){this.pristine=!this._anyControlsDirty(),this._parent&&!s.onlySelf&&this._parent._updatePristine(s)}_updateTouched(s={}){this.touched=this._anyControlsTouched(),this._parent&&!s.onlySelf&&this._parent._updateTouched(s)}_registerOnCollectionChange(s){this._onCollectionChange=s}_setUpdateStrategy(s){Ps(s)&&s.updateOn!=null&&(this._updateOn=s.updateOn)}_parentMarkedDirty(s){let e=this._parent&&this._parent.dirty;return!s&&!!e&&!this._parent._anyControlsDirty()}_find(s){return null}_assignValidators(s){this._rawValidators=Array.isArray(s)?s.slice():s,this._composedValidatorFn=Cv(this._rawValidators)}_assignAsyncValidators(s){this._rawAsyncValidators=Array.isArray(s)?s.slice():s,this._composedAsyncValidatorFn=vv(this._rawAsyncValidators)}},Oi=class extends Vo{constructor(s,e,n){super(Yl(e),Kl(n,e)),this.controls=s,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(s,e){return this.controls[s]?this.controls[s]:(this.controls[s]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(s,e,n={}
vendor: 5,660 bytes, line 14
14){this.registerControl(s,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(s,e={}){this.controls[s]&&this.controls[s]._registerOnCollectionChange(()=>{}),delete this.controls[s],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(s,e,n={}){this.controls[s]&&this.controls[s]._registerOnCollectionChange(()=>{}),delete this.controls[s],e&&this.registerControl(s,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(s){return this.controls.hasOwnProperty(s)&&this.controls[s].enabled}setValue(s,e={}){v0(this,!0,s),Object.keys(s).forEach(n=>{C0(this,!0,n),this.controls[n].setValue(s[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(s,e={}){s!=null&&(Object.keys(s).forEach(n=>{let i=this.controls[n];i&&i.patchValue(s[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(s={},e={}){this._forEachChild((n,i)=>{n.reset(s?s[i]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(s,e,n)=>(s[n]=e.getRawValue(),s))}_syncPendingControls(){let s=this._reduceChildren(!1,(e,n)=>n._syncPendingControls()?!0:e);return s&&this.updateValueAndValidity({onlySelf:!0}),s}_forEachChild(s){Object.keys(this.controls).forEach(e=>{let n=this.controls[e];n&&s(n,e)})}_setUpControls(){this._forEachChild(s=>{s.setParent(this),s._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(s){for(let[e,n]of Object.entries(this.controls))if(this.contains(e)&&s(n))return!0;return!1}_reduceValue(){let s={};return this._reduceChildren(s,(e,n,i)=>((n.enabled||this.disabled)&&(e[i]=n.value),e))}_reduceChildren(s,e){let n=s;return this._forEachChild((i,d)=>{n=e(n,i,d)}),n}_allControlsDisabled(){for(let s of Object.keys(this.controls))if(this.controls[s].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(s){return this.controls.hasOwnProperty(s)?this.controls[s]:null}};var $l=class extends Oi{};var jo=new tt("CallSetDisabledState",{providedIn:"root",factory:()=>Yr}),Yr="always";function Os(t,s){return[...s.path,t]}function Ms(t,s,e=Yr){Ql(t,s),s.valueAccessor.writeValue(t.value),(t.disabled||e==="always")&&s.valueAccessor.setDisabledState?.(t.disabled),xv(t,s),Pv(t,s),bv(t,s),Mv(t,s)}function Zp(t,s,e=!0){let n=()=>{};s.valueAccessor&&(s.valueAccessor.registerOnChange(n),s.valueAccessor.registerOnTouched(n)),bs(t,s),t&&(s._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function xs(t,s){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(s)})}function Mv(t,s){if(s.valueAccessor.setDisabledState){let e=n=>{s.valueAccessor.setDisabledState(n)};t.registerOnDisabledChange(e),s._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}function Ql(t,s){let e=f0(t);s.validator!==null?t.setValidators($p(e,s.validator)):typeof e=="function"&&t.setValidators([e]);let n=h0(t);s.asyncValidator!==null?t.setAsyncValidators($p(n,s.asyncValidator)):typeof n=="function"&&t.setAsyncValidators([n]);let i=()=>t.updateValueAndValidity();xs(s._rawValidators,i),xs(s._rawAsyncValidators,i)}function bs(t,s){let e=!1;if(t!==null){if(s.validator!==null){let i=f0(t);if(Array.isArray(i)&&i.length>0){let d=i.filter(u=>u!==s.validator);d.length!==i.length&&(e=!0,t.setValidators(d))}}if(s.asyncValidator!==null){let i=h0(t);if(Array.isArray(i)&&i.length>0){let d=i.filter(u=>u!==s.asyncValidator);d.length!==i.length&&(e=!0,t.setAsyncValidators(d))}}}let n=()=>{};return xs(s._rawValidators,n),xs(s._rawAsyncValidators,n),e}function xv(t,s){s.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,t.updateOn==="change"&&M0(t,s)})}function bv(t,s){s.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,t.updateOn==="blur"&&t._pendingChange&&M0(t,s),t.updateOn!=="submit"&&t.markAsTouched()})}function M0(t,s){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),s.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function Pv(t,s){let e=(n,i)=>{s.valueAccessor.writeValue(n),i&&s.viewToModelUpdate(n)};t.registerOnChange(e),s._registerOnDestroy(()=>{t._unregisterOnChange(e)})}function x0(t,s){t==null,Ql(t,s)}function Ov(t,s){return bs(t,s)}function b0(t,s){if(!t.hasOwnProperty("model"))return!1;let e=t.model;return e.isFirstChange()?!0:!Object.is(s,e.currentValue)}function yv(t){return Object.getPrototypeOf(t.constructor)===Bo}function P0(t,s){t._syncPendingControls(),s.forEach(e=>{let n=e.control;n.updateOn==="submit"&&n._pendingChange&&(e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}function O0(t,s){if(!s)return null;Array.isArray(s);let e,n,i;return s.forEach(d=>{d.constructor===re?e=d:yv(d)?n=d:i=d}),i||n||e||null}function wv(t,s){let e=t.indexOf(s);e>-1&&t.splice(e,1)}var Sv={provide:rn,useExisting:kt(()=>Ot)},Gr=Promise.resolve(),Ot=(()=>{class t extends rn{constructor(e,n,i){super(),this.callSetDisabledState=i,this.submitted=!1,this._directives=new Set,this.ngSubmit=new it,this.form=new Oi({},Gl(e),Zl(n))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){Gr.then(()=>{let n=this._findContainer(e.path);e.control=n.registerControl(e.name,e.control),Ms(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}
14removeControl(e){Gr.then(()=>{let n=this._findContainer(e.path);n&&n.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){Gr.then(()=>{let n=this._findContainer(e.path),i=new Oi({});x0(i,e),n.registerControl(e.name,i),i.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){Gr.then(()=>{let n=this._findContainer(e.path);n&&n.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,n){Gr.then(()=>{this.form.get(e.path).setValue(n)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,P0(this.form,this._directives),this.ngSubmit.emit(e),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static{this.\u0275fac=function(n){return new(n||t)(T(hn,10),T(Uo,10),T(jo,8))}}static{this.\u0275dir=qe({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(n,i){n&1&&b("submit",function(u){return i.onSubmit(u)})("reset",function(){return i.onReset()})},inputs:{options:[Lt.None,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ft([Sv]),ht]})}}return t})();function Yp(t,s){let e=t.indexOf(s);e>-1&&t.splice(e,1)}function Kp(t){return typeof t=="object"&&t!==null&&Object.keys(t).length===2&&"value"in t&&"disabled"in t}var Zr=class extends Vo{constructor(s=null,e,n){super(Yl(e),Kl(n,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(s),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Ps(e)&&(e.nonNullable||e.initialValueIsDefault)&&(Kp(s)?this.defaultValue=s.value:this.defaultValue=s)}setValue(s,e={}){this.value=this._pendingValue=s,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(n=>n(this.value,e.emitViewToModelChange!==!1)),this.updateValueAndValidity(e)}patchValue(s,e={}){this.setValue(s,e)}reset(s=this.defaultValue,e={}){this._applyFormState(s),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(s){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(s){this._onChange.push(s)}_unregisterOnChange(s){Yp(this._onChange,s)}registerOnDisabledChange(s){this._onDisabledChange.push(s)}_unregisterOnDisabledChange(s){Yp(this._onDisabledChange,s)}_forEachChild(s){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(s){Kp(s)?(this.value=this._pendingValue=s.value,s.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=s}};var Ev=t=>t instanceof Zr,Tv=(()=>{class t extends rn{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Os(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,features:[ht]})}}return t})();var kv={provide:Pi,useExisting:kt(()=>pe)},Qp=Promise.resolve(),pe=(()=>{class t extends Pi{constructor(e,n,i,d,u,x){super(),this._changeDetectorRef=u,this.callSetDisabledState=x,this.control=new Zr,this._registered=!1,this.name="",this.update=new it,this._parent=e,this._setValidators(n),this._setAsyncValidators(i),this.valueAccessor=O0(this,d)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let n=e.name.previousValue;this.formDirective.removeControl({name:n,path:this._getPath(n)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),b0(e,this.viewModel)&&(this._updateV
14alue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){Ms(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){Qp.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){let n=e.isDisabled.currentValue,i=n!==0&&Rn(n);Qp.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?Os(e,this._parent):[e]}static{this.\u0275fac=function(n){return new(n||t)(T(rn,9),T(hn,10),T(Uo,10),T(yi,10),T(pi,8),T(jo,8))}}static{this.\u0275dir=qe({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[Lt.None,"disabled","isDisabled"],model:[Lt.None,"ngModel","model"],options:[Lt.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Ft([kv]),ht,Mt]})}}return t})(),Oe=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275dir=qe({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}}return t})(),Iv={provide:yi,useExisting:kt(()=>lt),multi:!0},lt=(()=>{class t extends Bo{writeValue(e){let n=e??"";this.setProperty("value",n)}registerOnChange(e){this.onChange=n=>{e(n==""?null:parseFloat(n))}}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(n,i){n&1&&b("input",function(u){return i.onChange(u.target.value)})("blur",function(){return i.onTouched()})},features:[Ft([Iv]),ht]})}}return t})(),Fv={provide:yi,useExisting:kt(()=>Kr),multi:!0};var Dv=(()=>{class t{constructor(){this._accessors=[]}add(e,n){this._accessors.push([e,n])}remove(e){for(let n=this._accessors.length-1;n>=0;--n)if(this._accessors[n][1]===e){this._accessors.splice(n,1);return}}select(e){this._accessors.forEach(n=>{this._isSameGroup(n,e)&&n[1]!==e&&n[1].fireUncheck(e.value)})}_isSameGroup(e,n){return e[0].control?e[0]._parent===n._control._parent&&e[1].name===n.name:!1}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Kr=(()=>{class t extends Bo{constructor(e,n,i,d){super(e,n),this._registry=i,this._injector=d,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=ge(jo,{optional:!0})??Yr}ngOnInit(){this._control=this._injector.get(Pi),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(e){this._state=e===this.value,this.setProperty("checked",this._state)}registerOnChange(e){this._fn=e,this.onChange=()=>{e(this.value),this._registry.select(this)}}setDisabledState(e){(this.setDisabledStateFired||e||this.callSetDisabledState==="whenDisabledForLegacyCode")&&this.setProperty("disabled",e),this.setDisabledStateFired=!0}fireUncheck(e){this.writeValue(e)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}static{this.\u0275fac=function(n){return new(n||t)(T(Jn),T(Ze),T(Dv),T(gr))}}static{this.\u0275dir=qe({type:t,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(n,i){n&1&&b("change",function(){return i.onChange()})("blur",function(){return i.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[Ft([Fv]),ht]})}}return t})();var y0=new tt("");var Rv={provide:rn,useExisting:kt(()=>We)},We=(()=>{class t extends rn{constructor(e,n,i){super(),this.callSetDisabledState=i,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new it,this._setValidators(e),this._setAsyncValidators(n)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateV
14alidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(bs(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){let n=this.form.get(e.path);return Ms(n,e,this.callSetDisabledState),n.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),n}getControl(e){return this.form.get(e.path)}removeControl(e){Zp(e.control||null,e,!1),wv(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,n){this.form.get(e.path).setValue(n)}onSubmit(e){return this.submitted=!0,P0(this.form,this.directives),this.ngSubmit.emit(e),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{let n=e.control,i=this.form.get(e.path);n!==i&&(Zp(n||null,e),Ev(i)&&(Ms(i,e,this.callSetDisabledState),e.control=i))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let n=this.form.get(e.path);x0(n,e),n.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let n=this.form.get(e.path);n&&Ov(n,e)&&n.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Ql(this.form,this),this._oldForm&&bs(this._oldForm,this)}_checkFormPresent(){this.form}static{this.\u0275fac=function(n){return new(n||t)(T(hn,10),T(Uo,10),T(jo,8))}}static{this.\u0275dir=qe({type:t,selectors:[["","formGroup",""]],hostBindings:function(n,i){n&1&&b("submit",function(u){return i.onSubmit(u)})("reset",function(){return i.onReset()})},inputs:{form:[Lt.None,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ft([Rv]),ht,Mt]})}}return t})(),zv={provide:rn,useExisting:kt(()=>qo)},qo=(()=>{class t extends Tv{constructor(e,n,i){super(),this.name=null,this._parent=e,this._setValidators(n),this._setAsyncValidators(i)}_checkParentType(){S0(this._parent)}static{this.\u0275fac=function(n){return new(n||t)(T(rn,13),T(hn,10),T(Uo,10))}}static{this.\u0275dir=qe({type:t,selectors:[["","formGroupName",""]],inputs:{name:[Lt.None,"formGroupName","name"]},features:[Ft([zv]),ht]})}}return t})(),Nv={provide:rn,useExisting:kt(()=>w0)},w0=(()=>{class t extends rn{constructor(e,n,i){super(),this.name=null,this._parent=e,this._setValidators(n),this._setAsyncValidators(i)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return Os(this.name==null?this.name:this.name.toString(),this._parent)}_checkParentType(){S0(this._parent)}static{this.\u0275fac=function(n){return new(n||t)(T(rn,13),T(hn,10),T(Uo,10))}}static{this.\u0275dir=qe({type:t,selectors:[["","formArrayName",""]],inputs:{name:[Lt.None,"formArrayName","name"]},features:[Ft([Nv]),ht]})}}return t})();function S0(t){return!(t instanceof qo)&&!(t instanceof We)&&!(t instanceof w0)}var Av={provide:Pi,useExisting:kt(()=>Ge)},Ge=(()=>{class t extends Pi{set isDisabled(e){}static{this._ngModelWarningSentOnce=!1}constructor(e,n,i,d,u){super(),this._ngModelWarningConfig=u,this._added=!1,this.name=null,this.update=new it,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(n),this._setAsyncValidators(i),this.valueAccessor=O0(this,d)}ngOnChanges(e){this._added||this._setUpControl(),b0(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return Os(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static{this.\u0275fac=function(n){return new(n||t)(T(rn,13),T(hn,10),T(Uo,10),T(yi,10),T(y0,8))}}static{this.\u0275dir=qe({type:t,selectors:[["","formControlName",""]],inputs:{name:[Lt.None,"formControlName","name"],isDisabled:[Lt.None,"disabled","isDisabled"],model:[Lt.None,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[Ft([Av]),ht,Mt]})}}return t})(),Lv={provide:yi,useExisting:kt(()=>ue),multi:!0};function E0(t,s){return t==null?`${s}
14`:(s&&typeof s=="object"&&(s="Object"),`${t}: ${s}`.slice(0,50))}function Vv(t){return t.split(":")[0]}var ue=(()=>{class t extends Bo{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(e){this._compareWith=e}writeValue(e){this.value=e;let n=this._getOptionId(e),i=E0(n,e);this.setProperty("value",i)}registerOnChange(e){this.onChange=n=>{this.value=this._getOptionValue(n),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(let n of this._optionMap.keys())if(this._compareWith(this._optionMap.get(n),e))return n;return null}_getOptionValue(e){let n=Vv(e);return this._optionMap.has(n)?this._optionMap.get(n):e}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,i){n&1&&b("change",function(u){return i.onChange(u.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},features:[Ft([Lv]),ht]})}}return t})(),fe=(()=>{class t{constructor(e,n,i){this._element=e,this._renderer=n,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(e){this._select!=null&&(this._select._optionMap.set(this.id,e),this._setElementValue(E0(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static{this.\u0275fac=function(n){return new(n||t)(T(Ze),T(Jn),T(ue,9))}}static{this.\u0275dir=qe({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}}return t})(),Bv={provide:yi,useExisting:kt(()=>ys),multi:!0};function Jp(t,s){return t==null?`${s}`:(typeof s=="string"&&(s=`'${s}
14'`),s&&typeof s=="object"&&(s="Object"),`${t}: ${s}`.slice(0,50))}function Uv(t){return t.split(":")[0]}var ys=(()=>{class t extends Bo{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(e){this._compareWith=e}writeValue(e){this.value=e;let n;if(Array.isArray(e)){let i=e.map(d=>this._getOptionId(d));n=(d,u)=>{d._setSelected(i.indexOf(u.toString())>-1)}}else n=(i,d)=>{i._setSelected(!1)};this._optionMap.forEach(n)}registerOnChange(e){this.onChange=n=>{let i=[],d=n.selectedOptions;if(d!==void 0){let u=d;for(let x=0;x<u.length;x++){let y=u[x],k=this._getOptionValue(y.value);i.push(k)}}else{let u=n.options;for(let x=0;x<u.length;x++){let y=u[x];if(y.selected){let k=this._getOptionValue(y.value);i.push(k)}}}this.value=i,e(i)}}_registerOption(e){let n=(this._idCounter++).toString();return this._optionMap.set(n,e),n}_getOptionId(e){for(let n of this._optionMap.keys())if(this._compareWith(this._optionMap.get(n)._value,e))return n;return null}_getOptionValue(e){let n=Uv(e);return this._optionMap.has(n)?this._optionMap.get(n)._value:e}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(n,i){n&1&&b("change",function(u){return i.onChange(u.target)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},features:[Ft([Bv]),ht]})}}return t})(),he=(()=>{class t{constructor(e,n,i){this._element=e,this._renderer=n,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){this._select!=null&&(this._value=e,this._setElementValue(Jp(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(Jp(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static{this.\u0275fac=function(n){return new(n||t)(T(Ze),T(Jn),T(ys,9))}}static{this.\u0275dir=qe({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}}return t})();function T0(t){return typeof t=="number"?t:parseInt(t,10)}function k0(t){return typeof t=="number"?t:parseFloat(t)}var Yi=(()=>{class t{constructor(){this._validator=fs}ngOnChanges(e){if(this.inputName in e){let n=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(n),this._validator=this._enabled?this.createValidator(n):fs,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return e!=null}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275dir=qe({type:t,features:[Mt]})}}return t})(),jv={provide:hn,useExisting:kt(()=>ti),multi:!0},ti=(()=>{class t extends Yi{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=e=>k0(e),this.createValidator=e=>i0(e)}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(n,i){n&2&&ot("max",i._enabled?i.max:null)},inputs:{max:"max"},features:[Ft([jv]),ht]})}}return t})(),qv={provide:hn,useExisting:kt(()=>yt),multi:!0},yt=(()=>{class t extends Yi{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=e=>k0(e),this.createValidator=e=>n0(e)}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(n,i){n&2&&ot("min",i._enabled?i.min:null)},inputs:{min:"min"},features:[Ft([qv]),ht]})}}return t})(),Wv={provide:hn,useExisting:kt(()=>Yt),multi:!0};var Yt=(()=>{class t extends Yi{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=Rn,this.createValidator=e=>o0}enabled(e){return e}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(n,i){n&2&&ot("required",i._enabled?"":null)},inputs:{required:"required"},features:[Ft([Wv]),ht]})}}return t})();var $v={provide:hn,useExisting:kt(()=>Ki),multi:!0},Ki=(()=>{class t extends Yi{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=Rn,this.createValidator=e=>r0}enabled(e){return e}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[Ft([$v]),ht]})}}return t})(),Hv={provide:hn,useExisting:kt(()=>ni),multi:!0},ni=(()=>{class t extends Yi{constructor(){super(...arguments),this.inputName="minlength",this.normalizeInput=e=>T0(e),this.createValidator=e=>a0(e)}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function(n,i){n&2&&ot("minlength",i._enabled?i.minlength:null)},inputs:{minlength:"minlength"},features:[Ft([Hv]),ht]})}}return t})(),Gv={provide:hn,useExisting:kt(()=>Cn),multi:!0},Cn=(()=>{class t extends Yi{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=e=>T0(e),this.createValidator=e=>s0(e)}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(n,i){n&2&&ot("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Ft([Gv]),ht]})}}return t})(),Zv={provide:hn,useExisting:kt(()=>Qi),multi:!0},Qi=(()=>{class t extends Yi{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=e=>e,this.createValidator=e=>c0(e)}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Zt(t)))(i||t)}})()}static{this.\u0275dir=qe({type:t,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(n,i){n&2&&ot("pattern",
14i._enabled?i.pattern:null)},inputs:{pattern:"pattern"},features:[Ft([Zv]),ht]})}}return t})();var I0=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275mod=nn({type:t})}static{this.\u0275inj=tn({})}}return t})(),Hl=class extends Vo{constructor(s,e,n){super(Yl(e),Kl(n,e)),this.controls=s,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(s){return this.controls[this._adjustIndex(s)]}push(s,e={}){this.controls.push(s),this._registerControl(s),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(s,e,n={}){this.controls.splice(s,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(s,e={}){let n=this._adjustIndex(s);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(s,e,n={}){let i=this._adjustIndex(s);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),e&&(this.controls.splice(i,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(s,e={}){v0(this,!1,s),s.forEach((n,i)=>{C0(this,!1,i),this.at(i).setValue(n,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(s,e={}){s!=null&&(s.forEach((n,i)=>{this.at(i)&&this.at(i).patchValue(n,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(s=[],e={}){this._forEachChild((n,i)=>{n.reset(s[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(s=>s.getRawValue())}clear(s={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:s.emitEvent}))}_adjustIndex(s){return s<0?s+this.length:s}_syncPendingControls(){let s=this.controls.reduce((e,n)=>n._syncPendingControls()?!0:e,!1);return s&&this.updateValueAndValidity({onlySelf:!0}),s}_forEachChild(s){this.controls.forEach((e,n)=>{s(e,n)})}_updateValue(){this.value=this.controls.filter(s=>s.enabled||this.disabled).map(s=>s.value)}_anyControls(s){return this.controls.some(e=>e.enabled&&s(e))}_setUpControls(){this._forEachChild(s=>this._registerControl(s))}_allControlsDisabled(){for(let s of this.controls)if(s.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(s){s.setParent(this),s._registerOnCollectionChange(this._onCollectionChange)}_find(s){return this.at(s)??null}};function Xp(t){return!!t&&(t.asyncValidators!==void 0||t.validators!==void 0||t.updateOn!==void 0)}var Ye=(()=>{class t{constructor(){this.useNonNullable=!1}get nonNullable(){let e=new t;return e.useNonNullable=!0,e}group(e,n=null){let i=this._reduceControls(e),d={};return Xp(n)?d=n:n!==null&&(d.validators=n.validator,d.asyncValidators=n.asyncValidator),new Oi(i,d)}record(e,n=null){let i=this._reduceControls(e);return new $l(i,n)}control(e,n,i){let d={};return this.useNonNullable?(Xp(n)?d=n:(d.validators=n,d.asyncValidators=i),new Zr(e,ye(J({},d),{nonNullable:!0}))):new Zr(e,n,i)}array(e,n,i){let d=e.map(u=>this._createControl(u));return new Hl(d,n,i)}_reduceControls(e){let n={};return Object.keys(e).forEach(i=>{n[i]=this._createControl(e[i])}),n}_createControl(e){if(e instanceof Zr)return e;if(e instanceof Vo)return e;if(Array.isArray(e)){let n=e[0],i=e.length>1?e[1]:null,d=e.length>2?e[2]:null;return this.control(n,i,d)}else return this.control(e)}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var se=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:jo,useValue:e.callSetDisabledState??Yr}]}}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275mod=nn({type:t})}static{this.\u0275inj=tn({imports:[I0]})}}return t})(),$e=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:y0,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:jo,useValue:e.callSetDisabledState??Yr}]}}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275mod=nn({type:t})}static{this.\u0275inj=tn({imports:[I0]})}}return t})();var wi=Li(vi());var Yv=()=>["/resources/get-started"],Kv=t=>["/teams",t];function Qv(t,s){if(t&1&&(r(0,"option",31),a(1),o()),t&2){let e=s.$implicit,n=p(2);m("ngValue",e.id),c(),G(" ",e.seasonName,"",e.id===(n.currentSeason==null?null:n.currentSeason.id)?" (Curent)":""," ")}}function Jv(t,s){if(t&1){let e=E();r(0,"div",26)(1,"label",27),a(2,"Sezon:"),o(),r(3,"div",28)(4,"select",29),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectedSeasonId,i)||(d.selectedSeasonId=i),M(i)}),b("ngModelChange",function(){v(e);let i=p();return M(i.onSeasonChange())}),h(5,Qv,2,3,"option",30),o()()()}if(t&2){let e=p();c(4),D("ngModel",e.selectedSeasonId),c(),m("ngForOf",e.seasons)}}function Xv(t,s){t&1&&(r(0,"div",32),_(1,"div",33),r(2,"p"),a(3,"Se \xEEncarc\u0103 harta echipelor..."),o()())}function eM(t,s){t&1&&(r(0,"div",34),_(1,"i",35),r(2,"span"),a(3,"Da\u02
141Bi click pe markerii de pe hart\u0103 pentru a vedea detalii despre echip\u0103"),o()())}function tM(t,s){if(t&1&&(r(0,"option",40),a(1),o()),t&2){let e=s.$implicit;m("value",e),c(),w(" ",e," ")}}function nM(t,s){if(t&1){let e=E();r(0,"div",36)(1,"select",37),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectedRegion,i)||(d.selectedRegion=i),M(i)}),b("ngModelChange",function(i){v(e);let d=p();return M(d.onRegionFilterChange(i))}),r(2,"option",38),a(3,"Toate regiunile"),o(),h(4,tM,2,2,"option",39),o()()}if(t&2){let e=p();c(),D("ngModel",e.selectedRegion),c(3),m("ngForOf",e.availableRegions)}}function iM(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(2);c(),dn(" Afi\u0219ez ",(e.currentPage-1)*e.pageSize+1,"-",e.Math.min(e.currentPage*e.pageSize,e.totalItems)," din ",e.totalItems," echipe ")}}function oM(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(2);c(),w(" Afi\u0219ez toate ",e.totalItems," echipe ")}}function rM(t,s){if(t&1){let e=E();r(0,"div",41)(1,"div",42)(2,"label",43),a(3,"Echipe per pagin\u0103:"),o(),r(4,"select",44),z("ngModelChange",function(i){v(e);let d=p();return R(d.pageSize,i)||(d.pageSize=i),M(i)}),b("ngModelChange",function(i){v(e);let d=p();return M(d.onPageSizeChange(i))}),r(5,"option",40),a(6,"20"),o(),r(7,"option",40),a(8,"50"),o(),r(9,"option",40),a(10,"100"),o(),r(11,"option",40),a(12,"Toate"),o()()(),r(13,"div",45),h(14,iM,2,3,"span",46)(15,oM,2,1,"span",46),o()()}if(t&2){let e=p();c(4),D("ngModel",e.pageSize),c(),m("value",20),c(2),m("value",50),c(2),m("value",100),c(2),m("value",-1),c(3),m("ngIf",e.pageSize!==-1),c(),m("ngIf",e.pageSize===-1)}}function aM(t,s){t&1&&(r(0,"div",47),_(1,"div",33),r(2,"p"),a(3,"Se \xEEncarc\u0103 echipele \xEEnregistrate..."),o()())}function sM(t,s){if(t&1){let e=E();r(0,"div",48)(1,"p"),a(2),o(),r(3,"button",49),b("click",function(){v(e);let i=p();return M(i.loadConfirmedTeams())}),a(4,"Try Again"),o()()}if(t&2){let e=p();c(2),O(e.error)}}function cM(t,s){t&1&&(r(0,"div",54)(1,"p"),a(2,"Nu exist\u0103 echipe \xEEnregistrate pentru sezonul selectat."),o()())}function lM(t,s){if(t&1&&(r(0,"tr",59)(1,"td",60)(2,"div",61)(3,"div",62),a(4),o()()(),r(5,"td",63)(6,"div",61)(7,"div",62)(8,"a",64),a(9),o()()()(),r(10,"td",65)(11,"div",61)(12,"div",62),a(13),o()()(),r(14,"td",66)(15,"div",61)(16,"div",62),a(17),o()()(),r(18,"td",67)(19,"div",61)(20,"div",62),a(21),o()()(),r(22,"td",68)(23,"div",61)(24,"div",62),a(25),o()()()()),t&2){let e=s.$implicit,n=s.index,i=p(3);c(4),O(i.getRowNumber(n,e)),c(4),m("routerLink",qi(7,Kv,e.internationalNumber)),c(),w(" ",i.getTeamNumber(e)," "),c(4),O(i.getTeamName(e)),c(4),O(i.getTeamInstitution(e)),c(4),O(i.getTeamCity(e)),c(4),O(i.getTeamRegion(e))}}function dM(t,s){if(t&1&&(r(0,"table",55)(1,"thead")(2,"tr")(3,"th")(4,"div",56)(5,"div",57),a(6,"Nr."),o()()(),r(7,"th")(8,"div",56)(9,"div",57),a(10,"ID"),o()()(),r(11,"th")(12,"div",56)(13,"div",57),a(14,"Nume"),o()()(),r(15,"th")(16,"div",56)(17,"div",57),a(18,"Afiliere"),o()()(),r(19,"th")(20,"div",56)(21,"div",57),a(22,"Ora\u0219ul"),o()()(),r(23,"th")(24,"div",56)(25,"div",57),a(26,"Regiunea"),o()()()()(),r(27,"tbody"),h(28,lM,26,9,"tr",58),o()()),t&2){let e=p(2);c(28),m("ngForOf",e.paginatedTeams)("ngForTrackBy",e.trackByTeamId)}}function mM(t,s){t&1&&(r(0,"p",69),a(1," * Click pe num\u0103rul de echip\u0103 pentru a naviga la detaliile echipei "),o())}function gM(t,s){if(t&1&&(r(0,"div",50),h(1,cM,3,0,"div",51)(2,dM,29,2,"table",52)(3,mM,2,0,"p",53),o()),t&2){let e=p();c(),m("ngIf",e.filteredTeams.length===0),c(),m("ngIf",e.filteredTeams.length>0),c(),m("ngIf",e.filteredTeams.length>0)}}function pM(t,s){if(t&1){let e=E();r(0,"button",79),b("click",function(i){let d=v(e).$implicit,u=p(2);return M(u.goToPage(d,i))}),a(1),o()}if(t&2){let e=s.$implicit,n=p(2);I("active",e===n.currentPage),c(),w(" ",e," ")}}function uM(t,s){if(t&1){let e=E();r(0,"div",70)(1,"div",71)(2,"span"),a(3),o()(),r(4,"div",72)(5,"button",73),b("click",function(i){v(e);let d=p();return M(d.previousPage(i))}),_(6,"i",74),a(7," Anterior "),o(),r(8,"div",75),h(9,pM,2,3,"button",76),o(),r(10,"button",77),b("click",function(i){v(e);let d=p();return M(d.nextPage(i))}),a(11," Urm\u0103tor "),_(12,"i",78),o()()()}if(t&2){let e=p();c(3),G("Pagina ",e.currentPage," din ",e.totalPages,""),c(2),I("disabled",e.currentPage===1),m("disabled",e.currentPage===1),c(4),m("ngForOf",e.getPageNumbers()),c(),I("disabled",e.currentPage===e.totalPages),m("disabled",e.currentPage===e.totalPages)}}var F0=(()=>
14{class t{trackByTeamId(e,n){return n.internationalNumber||e.toString()}constructor(e,n){this.teamsService=e,this.seasonsService=n,this.confirmedTeams=[],this.filteredTeams=[],this.paginatedTeams=[],this.filterTerm="",this.selectedRegion="",this.availableRegions=[],this.showOnlyActive=!1,this.loading=!0,this.error="",this.seasons=[],this.currentSeason=null,this.currentPage=1,this.pageSize=20,this.totalPages=0,this.totalItems=0,this.pageSizeOptions=[20,50,100],this.showAllOption=!0,this.Math=Math,this.scrollToTopOnPagination=!1,this.map=null,this.markers=[],this.teamLocations=[],this.mapLoading=!0}ngOnInit(){this.paginatedTeams=[],this.loadSeasonsAndData()}loadSeasonsAndData(){this.loading=!0,this.error="",this.seasonsService.getAllSeasons().subscribe({next:e=>{this.seasons=e.message,this.seasonsService.getCurrentSeason().subscribe({next:n=>{this.currentSeason=n.message,this.selectedSeasonId=this.getDefaultSeasonId(),this.loadConfirmedTeams(),this.loadTeamLocations()},error:n=>{console.error("Error loading current season:",n),this.seasons.length>0&&(this.selectedSeasonId=this.seasons[0].id),this.loadConfirmedTeams(),this.loadTeamLocations()}})},error:e=>{this.error="Failed to load seasons. Please try again later.",this.loading=!1,console.error("Error loading seasons:",e)}})}getDefaultSeasonId(){return this.currentSeason?this.isRegistrationOpen(this.currentSeason)?this.getPreviousSeason(this.currentSeason)?.id??this.currentSeason.id:this.currentSeason.id:this.seasons[0]?.id}isRegistrationOpen(e){if(!e.registrationStart||!e.registrationEnd)return!1;let n=new Date,i=new Date(e.registrationStart),d=new Date(e.registrationEnd);return/^\d{4}-\d{2}-\d{2}$/.test(e.registrationEnd)&&d.setHours(23,59,59,999),Number.isNaN(i.getTime())||Number.isNaN(d.getTime())?!1:n>=i&&n<=d}getPreviousSeason(e){return this.seasons.filter(n=>n.id!==e.id&&n.seasonNumber<e.seasonNumber).sort((n,i)=>i.seasonNumber-n.seasonNumber)[0]}onSeasonChange(){this.currentPage=1,this.selectedRegion="",this.loadConfirmedTeams(),this.loadTeamLocations()}ngAfterViewInit(){}ngOnDestroy(){this.map&&this.map.remove()}loadConfirmedTeams(){this.loading=!0,this.error="",this.teamsService.getPublicTeamsList(this.selectedSeasonId).subscribe({next:e=>{this.confirmedTeams=e.message,this.populateAvailableRegions(),this.onFilterChange(),this.loading=!1},error:e=>{this.error="Failed to load teams. Please try again later.",this.loading=!1,console.error("Error loading teams:",e)}})}populateAvailableRegions(){let e=new Set;this.confirmedTeams.forEach(n=>{let i=this.getCurrentSeasonData(n);i?.seasonRegion?.name&&e.add(i.seasonRegion.name)}),this.availableRegions=Array.from(e).sort()}onFilterChange(){let e=this.confirmedTeams;if(this.filterTerm.trim()){let n=this.filterTerm.toLowerCase();e=e.filter(i=>{let d=this.getCurrentSeasonData(i);return i.internationalNumber.toLowerCase().includes(n)||i.name.toLowerCase().includes(n)||d?.city&&d.city.toLowerCase().includes(n)||d?.seasonRegion?.name&&d.seasonRegion.name.toLowerCase().includes(n)})}this.selectedRegion&&(e=e.filter(n=>this.getCurrentSeasonData(n)?.seasonRegion?.name===this.selectedRegion)),e=e.sort((n,i)=>{let d=this.extractNumericPart(n.internationalNumber),u=this.extractNumericPart(i.internationalNumber);return d!==null&&u!==null?d-u:n.internationalNumber.localeCompare(i.internationalNumber)}),this.filteredTeams=e,this.updatePagination()}onRegionFilterChange(e){this.selectedRegion=e,this.currentPage=1,this.onFilterChange(),this.updateMapMarkers()}getCurrentSeasonData(e){return e.currentSeasonData||null}getTeamNumber(e){return e.internationalNumber}getTeamName(e){return e.name}getTeamInstitution(e){return this.getCurrentSeasonData(e)?.school||""}getTeamCity(e){return this.getCurrentSeasonData(e)?.city||""}getTeamRegion(e){return this.getCurrentSeasonData(e)?.seasonRegion?.name||""}getRowNumber(e,n){return this.confirmedTeams.findIndex(d=>d.internationalNumber===n.internationalNumber)+1}extractNumericPart(e){let n=e.match(/\d+/);return n?parseInt(n[0],10):null}updatePagination(){if(this.totalItems=this.filteredTeams.length,this.pageSize===-1)this.paginatedTeam
14s=[...this.filteredTeams],this.totalPages=1,this.currentPage=1;else{this.totalPages=Math.ceil(this.totalItems/this.pageSize),this.currentPage>this.totalPages&&(this.currentPage=1);let e=(this.currentPage-1)*this.pageSize,n=e+this.pageSize;this.paginatedTeams=this.filteredTeams.slice(e,n)}}onPageSizeChange(e){this.pageSize=typeof e=="string"?parseInt(e,10):e,this.currentPage=1,this.updatePagination()}goToPage(e,n){n&&(n.preventDefault(),n.stopPropagation()),e>=1&&e<=this.totalPages&&(this.currentPage=e,this.updatePagination(),this.scrollToTable())}previousPage(e){e&&(e.preventDefault(),e.stopPropagation()),this.currentPage>1&&(this.currentPage--,this.updatePagination(),this.scrollToTable())}nextPage(e){e&&(e.preventDefault(),e.stopPropagation()),this.currentPage<this.totalPages&&(this.currentPage++,this.updatePagination(),this.scrollToTable())}getPageNumbers(){let e=[];if(this.totalPages<=5)for(let i=1;i<=this.totalPages;i++)e.push(i);else{let i=Math.max(1,this.currentPage-2),d=Math.min(this.totalPages,i+5-1);d-i<4&&(i=Math.max(1,d-5+1));for(let u=i;u<=d;u++)e.push(u)}return e}scrollToTable(){this.scrollToTopOnPagination&&setTimeout(()=>{let e=document.querySelector(".teams-table-wrapper");if(e||(e=document.querySelector(".page-size-controls")),e||(e=document.querySelector(".filter-controls")),e){let n=e.getBoundingClientRect(),d=Math.max(0,window.pageYOffset+n.top-20
14);Math.abs(window.pageYOffset-d)>10&&window.scrollTo({top:d,behavior:"smooth"})}},50)}loadTeamLocations(){this.mapLoading=!0,this.teamsService.getTeamLocations(this.selectedSeasonId).subscribe({next:e=>{this.teamLocations=e.message,this.mapLoading=!1,this.map?this.updateMapMarkers():setTimeout(()=>this.initializeMap(),200)},error:e=>{console.error("Error loading team locations:",e),this.mapLoading=!1}})}initializeMap(){!document.getElementById("teams-map")||this.map||(this.map=wi.map("teams-map").setView([45.9432,24.9668],7),wi.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',maxZoom:18}).addTo(this.map),this.addTeamMarkers())}getFilteredTeamLocations(){return this.selectedRegion?this.teamLocations.filter(e=>e.seasonRegion?.name===this.selectedRegion):this.teamLocations}updateMapMarkers(){this.map&&this.addTeamMarkers()}addTeamMarkers(){if(!this.map)return;this.markers.forEach(i=>i.remove()),this.markers=[];let e=this.getFilteredTeamLocations(),n=wi.divIcon({className:"custom-marker",html:'<div style="background-color: #e74c3c; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.3);"></div>',iconSize:[12,12],iconAnchor:[6,6]});e.forEach(i=>{if(i.latitude&&i.longitude){let d=wi.marker([i.latitude,i.longitude],{icon:n}).addTo(this.map),u=` 15 <div style="min-width: 200px;"> 16 <h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 600;"> 17 <a href="/teams/${i.internationalNumber}" style="color: #667eea; text-decoration: none;"> 18 #${i.internationalNumber} - ${i.name} 19 </a> 20 </h3> 21 ${i.school?`<p style="margin: 4px 0; font-size: 14px;"><strong>Afiliere:</strong> ${i.school}</p>`:""} 22 ${i.city?`<p style="margin: 4px 0; font-size: 14px;"><strong>Ora\u0219:</strong> ${i.city}</p>`:""} 23 ${i.seasonRegion?.name?`<p style="margin: 4px 0; font-size: 14px;"><strong>Regiunea:</strong> ${i.seasonRegion.name}</p>`:""} 24 <p style="margin: 8px 0 0 0; font-size: 12px; color: #666;">Rookie Year: ${i.rookieYear}</p> 25 </div> 26 `;d.bindPopup(u),this.markers.push(d)}})}static{this.\u0275fac=function(n){return new(n||t)(T(Ne),T(Ve))}}static{this.\u0275cmp=V({type:t,selectors:[["app-teams"]],standalone:!0,features:[B],decls:31,vars:12,consts:[[1,"teams-hero",2,"background-image","url('/assets/bannere/teeeams.jpg')"],[1,"teams-content"],[1,"teams-header-container"],["class","season-selector-container",4,"ngIf"],[1,"map-container"],["class","map-loading",4,"ngIf"],["id","teams-map",1,"leaflet-map"],["class","map-info",4,"ngIf"],[1,"filter-controls"],[1,"search-input-container"],["type","text","placeholder","C\u0103uta\u021Bi dup\u0103 num\u0103rul de echip\u0103, numele, ora\u0219ul sau regiunea",1,"search-input",3,"ngModelChange","ngModel"],[1,"fas","fa-search","search-icon"],["class","region-filter-container",4,"ngIf"],["class","page-size-controls",4,"ngIf"],[1,"table-container"],["class","loading-indicator",4,"ngIf"],["class","error-message",4,"ngIf"],["class","teams-table-wrapper",4,"ngIf"],["class","pagination-controls",4,"ngIf"],[1,"start-team-card"],[1,"start-team-text"],[1,"get-started-btn",3,"routerLink"],[1,"btn-icon"],["src","assets/teams/link_icon.webp","alt","Get Started Icon"],[1,"start-team-logo"],["src","assets/teams/FTC_logo.webp","alt","FIRST Tech Challenge Logo"],[1,"season-selector-container"],["for","seasonSelect"],[1,"season-select-wrapper"],["id","seasonSelect",1,"season-select",3,"ngModelChange","ngModel"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],[1,"map-loading"],[1,"spinner"],[1,"map-info"],[1,"fas","fa-info-circle"],[1,"region-filter-container"],[1,"region-filter-select",3,"ngModelChange","ngModel"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"page-size-controls"],[1,"page-size-selector"],["for","pageSize"],["id","pageSize",1,"page-size-select",3,"ngModelChange","ngModel"],[1,"results-info"],[4,"ngIf"],[1,"loading-indicator"],[1,"error-message"],[1,"retry-btn",3,"click"],[1,"team
26s-table-wrapper"],["class","no-teams-message",4,"ngIf"],["class","teams-table",4,"ngIf"],["class","table-note",4,"ngIf"],[1,"no-teams-message"],[1,"teams-table"],[1,"header-content"],[1,"header-text"],["class","team-row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"team-row"],[1,"row-number"],[1,"cell-content"],[1,"cell-text"],[1,"team-number"],[1,"team-link",3,"routerLink"],[1,"team-name"],[1,"team-institution"],[1,"team-city"],[1,"team-region"],[1,"table-note"],[1,"pagination-controls"],[1,"pagination-info"],["role","group","aria-label","Pagination navigation",1,"pagination-buttons"],["type","button",1,"pagination-btn","prev-btn",3,"click","disabled"],[1,"fas","fa-chevron-left"],[1,"page-numbers"],["type","button","class","pagination-btn page-btn",3,"active","click",4,"ngFor","ngForOf"],["type","button",1,"pagination-btn","next-btn",3,"click","disabled"],[1,"fas","fa-chevron-right"],["type","button",1,"pagination-btn","page-btn",3,"click"]],template:function(n,i){n&1&&(_(0,"div",0),r(1,"div",1)(2,"div",2)(3,"h1"),a(4,"Harta \u0219i lista echipelor FTC din Rom\xE2nia"),o(),h(5,Jv,6,2,"div",3),o(),r(6,"div",4),h(7,Xv,4,0,"div",5),_(8,"div",6),h(9,eM,4,0,"div",7),o(),r(10,"div",8)(11,"div",9)(12,"input",10),z("ngModelChange",function(u){return R(i.filterTerm,u)||(i.filterTerm=u),u}),b("ngModelChange",function(){return i.onFilterChange()}),o(),_(13,"i",11),o(),h(14,nM,5,2,"div",12),o(),h(15,rM,16,7,"div",13),r(16,"div",14),h(17,aM,4,0,"div",15)(18,sM,5,1,"div",16)(19,gM,4,3,"div",17)(20,uM,13,9,"div",18),o(),r(21,"div",19)(22,"div",20)(23,"h2"),a(24,"Afla\u021Bi cum s\u0103 \xEEncepe\u021Bi o echip\u0103"),o(),r(25,"a",21)(26,"span",22),_(27,"img",23),o(),a(28," \xCEncepe\u021Bi acum "),o()(),r(29,"div",24),_(30,"img",25),o()()()),n&2&&(c(5),m("ngIf",i.seasons.length>0),c(2),m("ngIf",i.mapLoading),c(2),m("ngIf",!i.mapLoading),c(3),D("ngModel",i.filterTerm),c(2),m("ngIf",i.availableRegions.length>0),c(),m("ngIf",!i.loading&&!i.error&&i.filteredTeams.length>0),c(2),m("ngIf",i.loading),c(),m("ngIf",i.error&&!i.loading),c(),m("ngIf",!i.loading&&!i.error),c(),m("ngIf",!i.loading&&!i.error&&i.filteredTeams.length>0&&i.pageSize!==-1&&i.totalPages>1),c(5),m("routerLink",un(11,Yv)))},dependencies:[H,X,$,se,fe,he,re,ue,ie,pe,Te],styles:[`.teams-hero[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);aspect-ratio:var(--banner-md-aspect);background:#333 center/cover no-repeat}.teams-content[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem 1rem 3rem;background:#fff;box-shadow:0 2px 16px #0000000f}.teams-header-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;padding:0 1rem}.teams-header-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:0;text-align:center}@media (min-width: 768px){.teams-header-container[_ngcontent-%COMP%]{flex-direction:row;justify-content:space-between;align-items:center;border-bottom:2px solid #f0f2f5;padding-bottom:1.25rem}.teams-header-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{text-align:left}}.season-selector-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:.5rem .85rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;transition:all .3s ease;height:42px}.season-selector-container[_ngcontent-%COMP%]:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.season-selector-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%] .season-select[_ngcontent-%COMP%]{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.4rem 2rem .4rem .85rem;font-size:.9rem;font-weight:600;color:#1e293b;background-color:transparent;border:none;border-radius:8px;
26cursor:pointer;font-family:var(--font-family-primary);outline:none;min-width:160px}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%] .season-select[_ngcontent-%COMP%]:focus{outline:none}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%]:after{content:"";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:.85rem;height:.85rem;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;transition:transform .2s ease}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%]:hover:after{transform:translateY(-30%)}.map-container[_ngcontent-%COMP%]{position:relative;border:1px solid #ddd;border-radius:12px;overflow:hidden;margin:0 1rem 2rem;box-shadow:0 2px 8px #00000012;background:#fff}.map-container[_ngcontent-%COMP%] .leaflet-map[_ngcontent-%COMP%]{width:100%;height:480px;border-radius:12px;z-index:1}.map-container[_ngcontent-%COMP%] .map-loading[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:480px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff2;z-index:2}.map-container[_ngcontent-%COMP%] .map-loading[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin-bottom:12px}.map-container[_ngcontent-%COMP%] .map-loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:14px;margin:0}.map-container[_ngcontent-%COMP%] .map-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8f9fa;border-top:1px solid #e9ecef;font-size:14px;color:#495057}.map-container[_ngcontent-%COMP%] .map-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea;font-size:16px}.map-container[_ngcontent-%COMP%] .map-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1}[_nghost-%COMP%] .leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 4px 12px #00000026}[_nghost-%COMP%] .leaflet-popup-content{margin:12px 16px}[_nghost-%COMP%] .leaflet-popup-content h3 a:hover{text-decoration:underline}[_nghost-%COMP%] .leaflet-popup-tip{box-shadow:0 2px 4px #0000001a}.filter-controls[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:0 1rem}@media (min-width: 768px){.filter-controls[_ngcontent-%COMP%]{flex-direction:row;justify-content:center;align-items:center;gap:1.5rem}}.search-input-container[_ngcontent-%COMP%]{position:relative;width:100%;max-width:900px}.search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{width:100%;padding:12px 16px 12px 40px;border:2px solid #e9ecef;border-radius:12px;font-size:14px;background:#f8f9fa;transition:all .3s ease;font-family:var(--font-family-primary)}.search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]:hover{border-color:#ced4da}.search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]::placeholder{color:#6c757d;font-style:italic}.search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6c757d;font-size:14px;pointer-events:none}.region-filter-container[_ngcontent-%COMP%]{display:flex;align-items:center;
26min-width:200px}@media (max-width: 767px){.region-filter-container[_ngcontent-%COMP%]{width:100%;min-width:auto}}.region-filter-container[_ngcontent-%COMP%] .region-filter-select[_ngcontent-%COMP%]{width:100%;padding:.5rem .75rem;border:1px solid #ced4da;border-radius:6px;background:#fff;font-size:.9rem;color:#495057;cursor:pointer;transition:border-color .2s ease;font-family:var(--font-family-primary)}.region-filter-container[_ngcontent-%COMP%] .region-filter-select[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.region-filter-container[_ngcontent-%COMP%] .region-filter-select[_ngcontent-%COMP%]:hover{border-color:#adb5bd}.region-filter-container[_ngcontent-%COMP%] .region-filter-select[_ngcontent-%COMP%] option[_ngcontent-%COMP%]{padding:8px;background:#fff;color:#495057}.toggle-switch[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.7rem}.toggle-switch[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:500}.switch[_ngcontent-%COMP%]{position:relative;display:inline-block;width:44px;height:24px}.switch[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{opacity:0;width:0;height:0}.slider[_ngcontent-%COMP%]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s}.slider.round[_ngcontent-%COMP%]{border-radius:24px}.slider[_ngcontent-%COMP%]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s}.slider[_ngcontent-%COMP%]:before.round{border-radius:50%}input[_ngcontent-%COMP%]:checked + .slider[_ngcontent-%COMP%]{background-color:#2196f3}input[_ngcontent-%COMP%]:checked + .slider[_ngcontent-%COMP%]:before{transform:translate(20px)}.table-container[_ngcontent-%COMP%]{width:100%;overflow-x:auto;margin-bottom:2rem}.table-container[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.table-container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table-container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:.8rem 1rem;border-bottom:1px solid #e0e0e0;text-align:left}.table-container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#24252a;font-weight:600}.table-container[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);text-decoration:underline;font-weight:500}.table-note[_ngcontent-%COMP%]{font-style:italic;color:#666;margin-top:.5rem;font-size:var(--font-size-sm);text-align:left}.start-team-card[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background-color:#f5f7fa;border:1px solid #dbe3ea;border-radius:12px;margin-top:2rem;margin:0 1rem}.start-team-card[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--font-size-lg);font-weight:700;margin:0 0 1rem}.get-started-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.6rem 1.2rem;background:#fff;border:1px solid #ccc;border-radius:6px;text-decoration:none;color:#333;font-weight:600;transition:background .2s;font-size:var(--font-size-sm)}.get-started-btn[_ngcontent-%COMP%] .btn-icon[_ngcontent-%COMP%]{margin-right:.5rem;display:flex;align-items:center}.get-started-btn[_ngcontent-%COMP%] .btn-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:20px;height:20px}.get-started-btn[_ngcontent-%COMP%]:hover{background:#f0f0f0}.start-team-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:140px;height:auto}.loading-indicator[_ngcontent-%COMP%], .error-message[_ngcontent-%COMP%]{text-align:center;padding:2rem;font-size:var(--font-size-lg);color:#888}.error-message[_ngcontent-%COMP%]{color:#c00;font-weight:600}.teams-notice[_ngcontent-%COMP%]{margin:2rem 1rem;padding:2rem;background:linear-gradient(135deg,#e41017,#f06b0e);border-radius:16px;box-shadow:0 8px 32px #667eea4d;position:relative;overflow:hidden}.teams-notice[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.1"/><circle cx="10" cy="60" r="0.5" fill="white" opacity="0.1"/><circle cx="90" cy="40" r="0.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');pointer-events:none}.notice-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.5rem;position:relative;z-index:1}.notice-icon-wrapper[_ngcontent-%COMP%]{flex-shrink:0;width:60px;height:60px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3)}.notice-icon[_ngcontent-%COMP%]{width:32px;height:32px;color:#fff;animation:_ngcontent-%COMP%_pulse 2s infinite}.notice-text-content[_ngcontent-%COMP%]{flex:1;color:#fff}.notice-title[_ngcontent-%COMP%]{font-size:var(--font-size-2xl);font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.notice-description[_ngcontent-%COMP%]{font-size:var(--font-size-lg);margin:0 0 1rem;opacity:.95;line-height:1.5}.notice-description[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:gold;text-shadow:0 1px 2px rgba(0,0,0,.2)}.notice-progress[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-top:1rem}
26.progress-bar[_ngcontent-%COMP%]{flex:1;height:6px;background:#ffffff4d;border-radius:3px;overflow:hidden;position:relative}.progress-fill[_ngcontent-%COMP%]{height:100%;background:linear-gradient(90deg,gold,#ffed4e);border-radius:3px;width:65%;animation:_ngcontent-%COMP%_shimmer 2s ease-in-out infinite;position:relative}.progress-fill[_ngcontent-%COMP%]:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:_ngcontent-%COMP%_shimmer 2s ease-in-out infinite}.progress-text[_ngcontent-%COMP%]{font-size:var(--font-size-sm);opacity:.9;white-space:nowrap;font-weight:500}@keyframes _ngcontent-%COMP%_pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes _ngcontent-%COMP%_shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 768px){.teams-content[_ngcontent-%COMP%]{max-width:98vw;padding:1rem .2rem 2rem}.start-team-card[_ngcontent-%COMP%]{flex-direction:column;text-align:center;gap:1.5rem;padding:1.5rem 1rem}.start-team-text[_ngcontent-%COMP%]{order:1}.start-team-logo[_ngcontent-%COMP%]{order:2}.notice-content[_ngcontent-%COMP%]{flex-direction:column;text-align:center;gap:1rem}.notice-icon-wrapper[_ngcontent-%COMP%]{width:50px;height:50px}.notice-icon[_ngcontent-%COMP%]{width:28px;height:28px}.notice-progress[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem}.progress-text[_ngcontent-%COMP%]{white-space:normal;text-align:center}}.page-size-controls[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin:1rem 1rem 1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.page-size-controls[_ngcontent-%COMP%] .page-size-selector[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.page-size-controls[_ngcontent-%COMP%] .page-size-selector[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:#495057;font-size:.9rem}.page-size-controls[_ngcontent-%COMP%] .page-size-selector[_ngcontent-%COMP%] .page-size-select[_ngcontent-%COMP%]{padding:.5rem .75rem;border:1px solid #ced4da;border-radius:6px;background:#fff;font-size:.9rem;color:#495057;cursor:pointer;transition:border-color .2s ease}.page-size-controls[_ngcontent-%COMP%] .page-size-selector[_ngcontent-%COMP%] .page-size-select[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.page-size-controls[_ngcontent-%COMP%] .page-size-selector[_ngcontent-%COMP%] .page-size-select[_ngcontent-%COMP%]:hover{border-color:#adb5bd}.page-size-controls[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%]{font-size:.9rem;color:#6c757d;font-weight:500}.pagination-controls[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 1rem 2rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;position:relative;z-index:1}.pagination-controls[_ngcontent-%COMP%] .pagination-info[_ngcontent-%COMP%]{font-size:.9rem;color:#6c757d;font-weight:500}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;border:1px solid #dee2e6;background:#fff;color:#495057;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:40px;height:36px}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn[_ngcontent-%COMP%]:focus{outline:2px solid #667eea;outline-offset:2px}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn[_ngcontent-%COMP%]:active{transform:translateY(1px)}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn[_ngcontent-%COMP%]:hover:not(.disabled){background:#e9ecef;border-color:#adb5bd;color:#212529}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn.active[_ngcontent-%COMP%]{background:#667eea;border-color:#667eea;color:#fff}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn.active[_ngcontent-%COMP%]:hover{background:#5a67d8;border-color:#5a67d8}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed;background:#f8f9fa;color:#6c757d}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn.disabled[_ngcontent-%COMP%]:focus{outline:none}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.8rem}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .prev-btn[_ngcontent-%COMP%], .pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .next-btn[_ngcontent-%COMP%]{gap:.25rem;padding:.5rem 1rem}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .page-numbers[_ngcontent-%COMP%]{display:flex;gap:.25rem}.teams-table-wrapper[_ngcontent-%COMP%]{margin:0 1rem 2rem;background:#24252a;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;
26border:1px solid #f0f0f0}.teams-table[_ngcontent-%COMP%]{width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-family:var(--font-family-primary);overflow:hidden}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:1.25rem 1.5rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.8px;border:none;position:relative}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child{width:60px;min-width:60px;padding-left:1.5rem;border-top-left-radius:16px}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-child(2){width:120px;min-width:120px}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child{padding-right:2rem;border-top-right-radius:16px}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-bottom:1px solid #f5f5f5;transition:all .3s ease}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);transform:translateY(-1px);box-shadow:0 4px 12px #667eea26}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child{border-bottom:none}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:1.25rem 1.5rem;color:#2d3748;font-size:.95rem;font-weight:400;vertical-align:middle;border:none}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{width:60px;min-width:60px;padding-left:1.5rem;font-weight:500;text-align:center}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:nth-child(2){width:120px;min-width:120px}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:last-child{padding-right:2rem}.row-number[_ngcontent-%COMP%]{color:#6c757d;font-weight:500;font-size:.9rem}.team-number[_ngcontent-%COMP%] .team-link[_ngcontent-%COMP%]{color:#667eea;text-decoration:none;font-weight:600;padding:.25rem .5rem;border-radius:6px;background:linear-gradient(135deg,#667eea1a,#764ba21a);transition:all .3s ease;display:inline-block}.team-number[_ngcontent-%COMP%] .team-link[_ngcontent-%COMP%]:hover{color:#5a67d8;background:linear-gradient(135deg,#667eea33,#764ba233);transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.team-name[_ngcontent-%COMP%]{font-weight:600;color:#2d3748}.team-institution[_ngcontent-%COMP%], .team-city[_ngcontent-%COMP%], .team-region[_ngcontent-%COMP%]{color:#4a5568;font-weight:400}.loading-indicator[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#666}.loading-indicator[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin-bottom:1rem}.loading-indicator[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:1rem}
26@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:#e74c3c}.error-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 1rem;font-size:1rem}.error-message[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s ease}.error-message[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover{background:#764ba2}.no-teams-message[_ngcontent-%COMP%]{text-align:center;padding:3rem 1rem;color:#666}.no-teams-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:1.1rem}.table-note[_ngcontent-%COMP%]{text-align:center;color:#888;font-size:.85rem;margin:0;font-style:italic}@media (max-width: 768px){.teams-table-wrapper[_ngcontent-%COMP%]{margin:0 .5rem 1.5rem;box-shadow:0 2px 12px #0000000f}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:1rem .75rem;font-size:.75rem}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child{width:50px;min-width:50px;padding-left:1rem}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-child(2){width:100px;min-width:100px}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child{padding-right:1.5rem}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:1rem .75rem;font-size:.85rem}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{width:50px;min-width:50px;padding-left:1rem}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:nth-child(2){width:100px;min-width:100px}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:last-child{padding-right:1.5rem}.filter-controls[_ngcontent-%COMP%]{padding:0 .5rem;gap:.75rem}.filter-controls[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{max-width:none}.filter-controls[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{font-size:16px;padding:14px 16px 14px 40px}.filter-controls[_ngcontent-%COMP%] .region-filter-container[_ngcontent-%COMP%] .region-filter-select[_ngcontent-%COMP%]{font-size:16px;padding:.5rem .75rem}.page-size-controls[_ngcontent-%COMP%]{flex-direction:column;gap:1rem;margin:1rem .5rem 1.5rem;padding:1rem .75rem}.page-size-controls[_ngcontent-%COMP%] .page-size-selector[_ngcontent-%COMP%]{justify-content:center}.page-size-controls[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%]{text-align:center}.pagination-controls[_ngcontent-%COMP%]{flex-direction:column;gap:1rem;margin:1.5rem .5rem 2rem;padding:1rem .75rem}.pagination-controls[_ngcontent-%COMP%] .pagination-info[_ngcontent-%COMP%]{text-align:center}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%]{justify-content:center;flex-wrap:wrap}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .page-numbers[_ngcontent-%COMP%]{order:2;width:100%;justify-content:center;margin:.5rem 0}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .prev-btn[_ngcontent-%COMP%]{order:1}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .next-btn[_ngcontent-%COMP%]{order:3}}@media (max-width: 480px){.filter-controls[_ngcontent-%COMP%]{padding:0 .25rem;gap:.5rem}.filter-controls[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{padding:12px 14px 12px 36px;font-size:16px}.filter-controls[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{left:10px;font-size:12px}.filter-controls[_ngcontent-%COMP%] .region-filter-container[_ngcontent-%COMP%] .region-filter-select[_ngcontent-%COMP%]{padding:.5rem .75rem;font-size:16px}.teams-table-wrapper[_ngcontent-%COMP%]{overflow-x:auto;margin:0 .25rem 1rem;box-shadow:0 2px 8px #0000000d}.teams-table[_ngcontent-%COMP%]{min-width:600px}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:.75rem .5rem;font-size:.7rem}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child{width:40px;min-width:40px;padding-left:.75rem;border-top-left-radius:10px}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-child(2){width:80px;min-width:80px}.teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child{padding-right:1rem;border-top-right-radius:10px}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:.75rem .5rem;font-size:.8rem}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{width:40px;min-width:40px;padding-left:.75rem}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:nth-child(2){width:80px;min-width:80px}.teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:last-child{padding-right:1rem}
26.page-size-controls[_ngcontent-%COMP%]{margin:1rem .25rem 1.5rem;padding:.75rem .5rem}.page-size-controls[_ngcontent-%COMP%] .page-size-selector[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem;text-align:center}.pagination-controls[_ngcontent-%COMP%]{margin:1.5rem .25rem 2rem;padding:.75rem .5rem}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .pagination-btn[_ngcontent-%COMP%]{padding:.4rem .6rem;font-size:.8rem;min-width:32px;height:32px}.pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .prev-btn[_ngcontent-%COMP%], .pagination-controls[_ngcontent-%COMP%] .pagination-buttons[_ngcontent-%COMP%] .next-btn[_ngcontent-%COMP%]{padding:.4rem .8rem;font-size:.8rem}}`]})}}return t})();var D0=(()=>{class t{constructor(e){this.sanitizer=e}transform(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)}static{this.\u0275fac=function(n){return new(n||t)(T($i,16))}}static{this.\u0275pipe=Nm({name:"safeUrl",type:t,pure:!0,standalone:!0})}}return t})();var Si=Li(vi());var Jl="https://natie.ro",_M="Na\u021Bie Prin Educa\u021Bie | Educa\u021Bie STEAM \u0219i robotic\u0103 \xEEn Rom\xE2nia",fM="Na\u021Bie Prin Educa\u021Bie dezvolt\u0103 educa\u021Bia STEAM \xEEn Rom\xE2nia prin robotic\u0103, competi\u021Bii FIRST Tech Challenge \u0219i experien\u021Be practice pentru elevi.",R0="Na\u021Bie Prin Educa\u021Bie, FTC Rom\xE2nia, FIRST Tech Challenge Rom\xE2nia, robotic\u0103, educa\u021Bie STEAM, elevi, mentori",hM=`${Jl}/assets/social/home-preview.jpg`,CM="Elevi Na\u021Bie Prin Educa\u021Bie la competi\u021Bii de robotic\u0103",Wo=(()=>{class t{constructor(e,n,i,d,u){this.title=e,this.meta=n,this.router=i,this.activatedRoute=d,this.document=u,this.initialized=!1}init(){this.initialized||(this.initialized=!0,this.updateRouteMeta(this.router.url),this.router.events.pipe(Tt(e=>e instanceof Vt)).subscribe(e=>{this.updateRouteMeta(e.urlAfterRedirects)}))}updateMeta(e){this.updateDocumentMeta(this.resolveSeo(e,this.router.url))}updateRouteMeta(e){let i=this.getDeepestRoute(this.activatedRoute).snapshot.data.seo;this.updateDocumentMeta(this.resolveSeo(i??{},e))}getDeepestRoute(e){let n=e;for(;n.firstChild;)n=n.firstChild;return n}resolveSeo(e,n){let i=e.path??this.normalizePath(n);return{title:e.title??_M,description:e.description??fM,keywords:e.keywords??R0,image:this.toAbsoluteUrl(e.image??hM),imageAlt:e.imageAlt??CM,url:`${Jl}${i}`,type:e.type??"website",noIndex:e.noIndex??!1}}normalizePath(e){let n=e.split(/[?#]/)[0]||"/home",i=n==="/"?"/home":n;return i.length>1&&i.endsWith("/")?i.slice(0,-1):i}toAbsoluteUrl(e){if(/^https?:\/\//i.test(e))return e;let n=e.startsWith("/")?e:`/${e}`;return`${Jl}${n}`}updateDocumentMeta(e){this.title.setTitle(e.title),this.setCanonicalUrl(e.url),this.meta.updateTag({name:"description",content:e.description}),this.meta.updateTag({name:"keywords",content:e.keywords??R0}),this.meta.updateTag({name:"robots",content:e.noIndex?"noindex, nofollow, noarchive":"index, follow"}),this.meta.updateTag({property:"og:type",content:e.type}),this.meta.updateTag({property:"og:site_name",content:"Na\u021Bie Prin Educa\u021Bie"}),this.meta.updateTag({property:"og:locale",content:"ro_RO"}),this.meta.updateTag({property:"og:url",content:e.url}),this.meta.updateTag({property:"og:title",content:e.title}),this.meta.updateTag({property:"og:description",content:e.description}),this.meta.updateTag({property:"og:image",content:e.image}),this.meta.updateTag({property:"og:image:url",content:e.image}),this.meta.updateTag({property:"og:image:secure_url",content:e.image}),this.meta.updateTag({property:"og:image:alt",content:e.imageAlt}),this.meta.updateTag({name:"twitter:card",content:"summary_large_image"}),this.meta.updateTag({name:"twitter:title",content:e.title}),this.meta.updateTag({name:"twitter:description",content:e.description}),this.meta.updateTag({name:"twitter:image",content:e.image}),this.meta.updateTag({name:"twitter:image:alt",content:e.imageAlt})}setCanonicalUrl(e){let n=this.document.querySelector('link[rel="canonical"]');n||(n=this.document.createElement("link"),n.setAttribute("rel","canonical"),this.document.head.appendChild(n)),n.setAttribute("href",e)}static{this.\u0275fac=function(n){return new(n||t)(Q($a),Q(Bg),Q(ke),Q(Je),Q(_t))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function vM(t,s){t&1&&(r(0,"div",5),_(1,"div",6),r(2,"p"),a(3,"\xCEnc\u0103rcarea datelor echipei..."),o()())}function MM(t,s){if(t&1){let e=E();r(0,"div",7)(1,"p"),a(2),o(),r(3,"button",8),b("click",function(){v(e);let i=p();return M(i.loadTeamData())}
26),a(4,"\xCEncerca\u021Bi din nou"),o()()}if(t&2){let e=p();c(2),O(e.error)}}function xM(t,s){if(t&1&&(r(0,"span",39),a(1),o()),t&2){let e=p(2);c(),w(" Profil sezon: ",e.profileSeasonName," ")}}function bM(t,s){if(t&1&&(r(0,"div",40),_(1,"iframe",41),ze(2,"safeUrl"),o()),t&2){let e=p(2);I("youtube-shorts",e.isYouTubeShorts)("tiktok-video",e.isTikTokVideo),c(),m("src",Xn(2,5,e.registrationVideoLink),ji)}}function PM(t,s){if(t&1&&(r(0,"div",42)(1,"div",43),_(2,"i",44),r(3,"h3"),a(4,"Video TikTok"),o(),r(5,"p"),a(6,"Ap\u0103sa\u021Bi pe link pentru a viziona video-ul pe TikTok"),o(),r(7,"a",45),_(8,"i",44),a(9," Deschide pe TikTok "),_(10,"i",46),o()()()),t&2){let e=p(2);c(7),m("href",e.currentSeasonData==null?null:e.currentSeasonData.registrationVideoLink,ae)}}function OM(t,s){t&1&&(r(0,"div",48)(1,"div",49)(2,"p"),a(3,"Nu exist\u0103 video de \xEEnregistrare disponibil"),o()()())}function yM(t,s){if(t&1&&h(0,OM,4,0,"div",47),t&2){let e=p(2);m("ngIf",!e.hasTikTokShortenedUrl)}}function wM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"website"),o(),_(3,"br"),r(4,"a",51),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href",e.socialLinks.website,ae),c(),w(" ",e.parseUrl(e.socialLinks.website,"website")," ")}}function SM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"facebook"),o(),_(3,"br"),r(4,"a",51),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href",e.socialLinks.facebook,ae),c(),w(" ",e.parseUrl(e.socialLinks.facebook,"facebook")," ")}}function EM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"instagram"),o(),_(3,"br"),r(4,"a",51),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href",e.socialLinks.instagram,ae),c(),w(" ",e.parseUrl(e.socialLinks.instagram,"instagram")," ")}}function TM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"linkedin"),o(),_(3,"br"),r(4,"a",51),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href",e.socialLinks.linkedin,ae),c(),w(" ",e.parseUrl(e.socialLinks.linkedin,"linkedin")," ")}}function kM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"youtube"),o(),_(3,"br"),r(4,"a",51),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href",e.socialLinks.youtube,ae),c(),w(" ",e.parseUrl(e.socialLinks.youtube,"youtube")," ")}}function IM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"x"),o(),_(3,"br"),r(4,"a",51),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href",e.socialLinks.x,ae),c(),w(" ",e.parseUrl(e.socialLinks.x,"x")," ")}}function FM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"tiktok"),o(),_(3,"br"),r(4,"a",51),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href",e.socialLinks.tiktok,ae),c(),w(" ",e.parseUrl(e.socialLinks.tiktok,"tiktok")," ")}}function DM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"email"),o(),_(3,"br"),r(4,"a",53),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href","mailto:"+e.socialLinks.email,ae),c(),w(" ",e.socialLinks.email," ")}}function RM(t,s){if(t&1&&(r(0,"div")(1,"span",50),a(2,"other"),o(),_(3,"br"),r(4,"a",51),a(5),r(6,"span",52),a(7,"\u2197"),o()()()),t&2){let e=p(2);c(4),m("href",e.socialLinks.other,ae),c(),w(" ",e.parseUrl(e.socialLinks.other,"other")," ")}}function zM(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(3);c(),w(", ",e.region,"")}}function NM(t,s){if(t&1&&(r(0,"section",54)(1,"div",55),_(2,"i",56),r(3,"div")(4,"div",57),a(5,"Loca\u021Bia echipei"),o(),r(6,"div",58),a(7),h(8,zM,2,1,"span",4),o()()(),_(9,"div",59),o()),t&2){let e=p(2);c(7),O(e.city),c(),m("ngIf",e.region!=="-")}}function AM(t,s){if(t&1&&_(0,"img",68),t&2){let e=p().$implicit,n=p(3);m("src",n.getSponsorLogoUrl(e),ae)("alt",n.getSponsorAltText(e))}}function LM(t,s){if(t&1&&(r(0,"div",69)(1,"span",70),a(2),o()()),t&2){let e=p().$implicit,n=p(3);c(2),O(n.getSponsorDisplayName(e))}}function VM(t,s){if(t&1&&(r(0,"div",71),a(1),o()),t&2){let e=p().$implicit,n=p(3);c(),w(" ",n.getSponsorDisplayName(e)," ")}}function BM(t,s){if(t&1){let e=E();r(0,"div",64),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.onSponsorClick(i))}),h(1,AM,1,2,"img",65)(2,LM,3,1,"div",66)(3,VM,2,1,"div",67),o()}if(t&2){let e=s.$implicit,n=p(3);I("clickable",n.hasSponsorLink(e))("no-logo",!n.hasSponsorLogo(e))("no-name",!e.n
26ame||!e.name.trim()),m("title",n.getSponsorTitle(e)),c(),m("ngIf",n.hasSponsorLogo(e)),c(),m("ngIf",!n.hasSponsorLogo(e)),c(),m("ngIf",n.hasSponsorLogo(e)&&(!e.name||!e.name.trim()))}}function UM(t,s){if(t&1&&(r(0,"div",60)(1,"div",61),a(2,"Parteneri locali"),o(),r(3,"div",62),h(4,BM,4,10,"div",63),o()()),t&2){let e=p(2);c(4),m("ngForOf",e.currentSeasonData==null?null:e.currentSeasonData.sponsors)}}function jM(t,s){if(t&1&&(r(0,"div")(1,"div",9),_(2,"img",10),o(),r(3,"div",11)(4,"div",12)(5,"span",13),a(6),o(),h(7,xM,2,1,"span",14),o()(),r(8,"div",15),_(9,"img",16),o(),r(10,"div",17)(11,"div",18),a(12),o(),r(13,"div",19),a(14),o(),r(15,"div",20),a(16),o()(),r(17,"div",21)(18,"div",22)(19,"div",23),a(20,"An rookie"),o(),r(21,"div",24),a(22),o()(),r(23,"div",22)(24,"div",23),a(25,"Ora\u0219"),o(),r(26,"div",24),a(27),o()(),r(28,"div",22)(29,"div",23),a(30,"Regiune"),o(),r(31,"div",24),a(32),o()(),r(33,"div",22)(34,"div",23),a(35,"Num\u0103r rom\xE2nesc"),o(),r(36,"div",24),a(37),o()()(),r(38,"div",25)(39,"span",26),a(40,"Afiliere:"),o(),r(41,"span",27),a(42),o()(),r(43,"div",28)(44,"div",29),h(45,bM,3,7,"div",30)(46,PM,11,1,"div",31)(47,yM,1,1,"ng-template",null,0,Se),_(49,"div",32),r(50,"div",33),h(51,wM,8,2,"div",4)(52,SM,8,2,"div",4)(53,EM,8,2,"div",4)(54,TM,8,2,"div",4)(55,kM,8,2,"div",4)(56,IM,8,2,"div",4)(57,FM,8,2,"div",4)(58,DM,8,2,"div",4)(59,RM,8,2,"div",4),o()()(),r(60,"div",34)(61,"div",35),a(62,"Despre echipa"),o(),r(63,"div",36),a(64),o()(),h(65,NM,10,2,"section",37)(66,UM,5,1,"div",38),o()),t&2){let e=oe(48),n=p();c(2),m("src",n.teamBannerUrl,ae),c(3),I("inactive",!n.isTeamActive),c(),w(" ",n.registrationStatus.toLowerCase()," "),c(),m("ngIf",n.shouldShowProfileSeason),c(2),m("src",n.teamLogoUrl,ae),c(3),w("Echipa #",n.internationalNumber,""),c(2),O(n.teamName),c(2),O(n.teamMotto),c(),vo("background",n.infoGridStyle),c(5),O(n.rookieYear),c(5),O(n.city),c(5),O(n.region),c(5),O(n.romanianNumber),c(5),O(n.school),c(3),m("ngIf",n.hasValidVideoUrl)("ngIfElse",e),c(),m("ngIf",n.hasTikTokShortenedUrl),c(5),m("ngIf",n.socialLinks.website),c(),m("ngIf",n.socialLinks.facebook),c(),m("ngIf",n.socialLinks.instagram),c(),m("ngIf",n.socialLinks.linkedin),c(),m("ngIf",n.socialLinks.youtube),c(),m("ngIf",n.socialLinks.x),c(),m("ngIf",n.socialLinks.tiktok),c(),m("ngIf",n.socialLinks.email),c(),m("ngIf",n.socialLinks.other),c(5),O(n.teamDescription),c(),m("ngIf",n.hasLocation),c(),m("ngIf",n.hasSponsors)}}var z0=(()=>{class t{constructor(e,n,i,d){this.route=e,this.teamsService=n,this.seasonsService=i,this.seoService=d,this.internationalNumber="",this.team=null,this.currentSeasonData=null,this.allTeamSeasonData=[],this.currentSeason=null,this.loading=!0,this.error="",this.locationMap=null,this.viewInitialized=!1}ngOnInit(){this.route.params.subscribe(e=>{this.internationalNumber=e.internationalNumber,this.loadCurrentSeason()})}ngAfterViewInit(){this.viewInitialized=!0,this.initializeLocationMap()}ngOnDestroy(){this.locationMap?.remove(),this.locationMap=null}loadCurrentSeason(){this.seasonsService.getCurrentSeason().subscribe({next:e=>{this.currentSeason=e.message,this.loadTeamData()},error:e=>{console.error("Error loading current season:",e),this.loadTeamData()}})}loadTeamData(){this.loading=!0,this.error="",this.teamsService.getPublicTeamDetail(this.internationalNumber).subscribe({next:e=>{this.team=e.message,this.currentSeasonData=this.team?.currentSeasonData||null,this.allTeamSeasonData=this.team?.allTeamSeasonData||[],this.loading=!1;let n=this.team?.name||`Team ${this.internationalNumber}`;this.updateSeoMeta(n),this.initializeLocationMap()},error:e=>{this.error="Failed to load team data. Please try again later.",this.loading=!1,console.error("Error loading team:",e)}})}updateSeoMeta(e){let n=[this.city,this.region].filter(u=>u&&u!=="Unknown"&&u!=="-"),i=n.length?` din ${n.join(", ")}`:"",d=this.school!=="Unknown"?`, afiliat\u0103 la ${this.school}`:"";this.seoService.updateMeta({title:`${e} | Echipe FTC Rom\xE2nia`,description:`${e} este o echip\u0103 FIRST Tech Challenge${i}${d}. Vezi profilul public confirmat al echipei, descrierea \u0219i sponsorii.`,image:this.teamBannerUrl.split("?")[0],imageAlt:`${e} - echip\u0103 FIRST Tech Challenge Rom\xE2nia`})}get teamName(){return this.team?.name||"Loading..."}get teamMotto(){return this.currentSeasonData?.motto||"No motto available"}get rookieYear(){return this.team?.rookieYear||"Unknown"}get city(){return this.currentSeasonData?.city||"Unknown"}get region(){return this.currentSeasonData?.seasonRegion?.name||"-"}get romanianNumber(){return this.team?.romanianNumber||"Unknown"}get school(){return this.currentSeasonData?.school||"Unknown"}get hasLocation(){let e=Number(this.currentSeasonData?.latitude),n=Number(this.currentSeasonData?.longitude);return Number.isFinite(e)&&Number.isFinite(n)&&e>=-90&&e<=90&&n>=-180&&n<=180&&(e!==0||n!==0)}initializeLocationMap(){if(this.viewInitialized){if(!this.hasLocation){this.locationMap?.remove(),this.locationMap=null;return}setTimeout(()=>{let e=document.getElementById("team-public-location-map");if(!e||!this.hasLocation)return;this.locationMap?.remove();let n=Number(this.currentSeasonData.latitude),i=Number(this.currentSeasonData.longitude);this.locationMap=Si.map(e,{scrollWheelZoom:!1,dragging:!1,touchZoom:!1,doubleClickZoom:!1,boxZoom:!1,keyboard:!1,zoomControl:!0,attributionControl:!0}
26).setView([n,i],12),Si.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(this.locationMap);let d=Si.divIcon({className:"team-location-marker",html:"<span></span>",iconSize:[24,24],iconAnchor:[12,12]});Si.marker([n,i],{icon:d,interactive:!1}).addTo(this.locationMap),this.locationMap.invalidateSize()})}}get teamDescription(){return this.currentSeasonData?.teamDescription||"No description available"}get registrationStatus(){return this.isTeamActive?this.currentSeasonData?.registrationStatus||"Unknown":"inactive"}get isTeamActive(){return this.currentSeasonData!==null}get shouldShowProfileSeason(){return!!this.currentSeasonData?.season}get profileSeasonName(){let e=this.currentSeasonData?.season;return e?.seasonNumber&&e?.seasonName?`Sezonul ${e.seasonNumber} - ${e.seasonName}`:e?.seasonName?`Sezonul ${e.seasonName}`:this.currentSeasonData?.seasonId?`Sezon ID ${this.currentSeasonData.seasonId}`:"Sezon necunoscut"}get socialLinks(){return{website:this.currentSeasonData?.teamWebsiteLink||"",facebook:this.currentSeasonData?.facebookLink||"",instagram:this.currentSeasonData?.instagramLink||"",linkedin:this.currentSeasonData?.linkedInLink||"",youtube:this.currentSeasonData?.youtubeLink||"",x:this.currentSeasonData?.xLink||"",tiktok:this.currentSeasonData?.tiktokLink||"",email:this.currentSeasonData?.primaryEmailContact||"",other:this.currentSeasonData?.otherSocial||""}}get registrationVideoLink(){let e=this.currentSeasonData?.registrationVideoLink||"";return this.convertToEmbedUrl(e)}get hasValidVideoUrl(){return!!this.registrationVideoLink&&(this.registrationVideoLink.includes("youtube.com/embed")||this.registrationVideoLink.includes("tiktok.com/embed"))}get hasTikTokShortenedUrl(){return(this.currentSeasonData?.registrationVideoLink||"").includes("vm.tiktok.com/")}get isYouTubeShorts(){return(this.currentSeasonData?.registrationVideoLink||"").includes("youtube.com/shorts/")}get isTikTokVideo(){return(this.currentSeasonData?.registrationVideoLink||"").includes("tiktok.com/")}get hasSponsors(){return!!this.currentSeasonData?.sponsors?.length}get infoGridStyle(){let e=this.currentSeasonData?.teamMainColor,n=this.currentSeasonData?.teamSecondaryColor;return e&&n?`linear-gradient(90deg, ${e} 0%, ${n} 100%)`:e||n||"linear-gradient(90deg, #ff622f 0%, #0099ff 100%)"}get teamBannerUrl(){if(this.currentSeasonData?.teamBanner?.id){let e=new Date().getTime();return`${ne.apiUrl}/files/public/${this.currentSeasonData.teamBanner.id}?t=${e}`}return"/assets/teams/banner.webp"}get teamLogoUrl(){if(this.currentSeasonData?.teamLogo?.id){let e=new Date().getTime();return`${ne.apiUrl}/files/public/${this.currentSeasonData.teamLogo.id}?t=${e}`}return"/assets/teams/FTC_logo.webp"}getSponsorLogoUrl(e){if(e.logo){let n=new Date().getTime();return`${ne.apiUrl}/files/public/${e.logo.id}?t=${n}`}return null}hasSponsorLogo(e){return!!(e.logo&&e.logo.id)}onSponsorClick(e){e.link&&window.open(e.link,"_blank","noopener,noreferrer")}hasSponsorLink(e){return!!(e.link&&e.link.trim())}getSponsorDisplayName(e){return e.name&&e.name.trim()?e.name.trim():"Partner"}
26getSponsorAltText(e){return`${this.getSponsorDisplayName(e)} logo`}getSponsorTitle(e){let n=this.getSponsorDisplayName(e);return this.hasSponsorLink(e)?`Click to visit ${n} website`:n}parseUrl(e,n){if(!e)return"";try{let i=e.replace(/^https?:\/\//,"").replace(/^www\./,""),d=i.split("/");switch(n){case"facebook":return this.teamName;case"instagram":if(!i.includes("instagram.com"))return this.parseDomain(i);let u=d[1]?.split("?")[0]?.replace(/\/$/,"");return/^[a-zA-Z0-9._]+$/.test(u)?u:"Instagram";case"linkedin":if(!i.includes("linkedin.com"))return this.parseDomain(i);let x=d[2]?.split("?")[0]?.replace(/\/$/,"");return/^[a-zA-Z0-9._-]+$/.test(x)?x:"LinkedIn";case"youtube":if(!i.includes("youtube.com"))return this.parseDomain(i);let y=d[1]?.split("?")[0]?.replace(/\/$/,"");return y?.startsWith("@")?y:/^[a-zA-Z0-9_]+$/.test(y)?`@${y}`:"YouTube";case"x":if(!i.includes("x.com")&&!i.includes("twitter.com"))return this.parseDomain(i);let k=d[1]?.split("?")[0]?.replace(/\/$/,"");return/^[a-zA-Z0-9_]+$/.test(k)?k:"X";case"tiktok":if(!i.includes("tiktok.com"))return this.parseDomain(i);let W=d[1]?.split("?")[0]?.replace(/\/$/,"");return W?.startsWith("@")?W:/^[a-zA-Z0-9_]+$/.test(W)?`@${W}`:"TikTok";default:return this.parseDomain(i)}}catch{return n.charAt(0).toUpperCase()+n.slice(1)}}parseDomain(e){let n=e.split("/")[0],i=n.split(".");if(i.length>=2){let d=i[0],u=i.slice(1).join(".");return`www.${d}.${u}`}return n}convertToEmbedUrl(e){if(!e)return"";if(e.includes("embed"))return e;if(e.includes("youtube.com/watch")){let n=e.split("v=")[1]?.split("&")[0];return n?`https://www.youtube.com/embed/${n}`:""}if(e.includes("youtu.be/")){let n=e.split("youtu.be/")[1]?.split("?")[0];return n?`https://www.youtube.com/embed/${n}`:""}if(e.includes("youtube.com/shorts/")){let n=e.split("youtube.com/shorts/")[1]?.split("?")[0];return n?`https://www.youtube.com/embed/${n}`:""}if(e.includes("tiktok.com/")){if(e.includes("vm.tiktok.com/"))return"";let n=e.match(/\/video\/(\d+)/);if(n&&n[1])return`https://www.tiktok.com/embed/${n[1]}`}return""}static{this.\u0275fac=function(n){return new(n||t)(T(Je),T(Ne),T(Ve),T(Wo))}}static{this.\u0275cmp=V({type:t,selectors:[["app-teams-detail"]],standalone:!0,features:[B],decls:4,vars:3,consts:[["noVideo",""],[1,"team-detail-container"],["class","loading-container",4,"ngIf"],["class","error-container",4,"ngIf"],[4,"ngIf"],[1,"loading-container"],[1,"spinner"],[1,"error-container"],[1,"retry-btn",3,"click"],[1,"header-image"],["alt","Team Photo",3,"src"],[1,"badge-logo-row"],[1,"status-container"],[1,"status-badge"],["class","last-active-tag",4,"ngIf"],[1,"logo-badge-wrapper"],["alt","Team Logo",1,"team-logo",3,"src"],[1,"team-info"],[1,"team-number"],[1,"team-name"],[1,"team-motto"],[1,"info-grid"],[1,"info-item"],[1,"info-label"],[1,"info-value"],[1,"affiliation"],[1,"affiliation-label"],[1,"affiliation-value"],[1,"team-main-content"],[1,"video-social-row"],["class","video-container",3,"youtube-shorts","tiktok-video",4,"ngIf","ngIfElse"],["class","video-container tiktok-link-container",4,"ngIf"],[1,"divider"],[1,"social-list"],[1,"about-team"],[1,"about-label"],[1,"about-text"],["class","team-location",4,"ngIf"],["class","partners-section",4,"ngIf"],[1,"last-active-tag"],[1,"video-container"],["width","560","height","315","title","Team registration video","frameborder","0","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share","referrerpolicy","strict-origin-when-cross-origin","allowfullscreen","",3,"src"],[1,"video-container","tiktok-link-container"],[1,"tiktok-link-content"],[1,"fab","fa-tiktok"],["target","_blank",1,"tiktok-link-btn",3,"href"],[1,"fas","fa-external-link-alt"],["class","video-container no-video",4,"ngIf"],[1,"video-container","no-video"],[1,"no-video-placeholder"],[1,"label"],["target","_blank",1,"value",3,"href"],[1,"arrow"],[1,"value",3,"href"],[1,"team-location"],[1,"team-location-heading"],["aria-hidden","true",1,"fas","fa-map-marker-alt"],[1,"team-location-label"],[1,"team-location-value"],["id","team-public-location-map","aria-label","Harta cu loca\u021Bia echipei",1,"team-public-location-map"],[1,"partners-section"],[1,"partners-label"],[1,"partners-logos-row"],["class","partner-logo-container",3,"clickable","no-logo","no-name","title","click",4,"ngFor","ngForOf"],[1,"partner-logo-container",3,"click","title"],["class","partner-logo",3,"src","alt",4,"ngIf"],["class","sponsor-text-display",4,"ngIf"],["class","sponsor-name-fallback",4,"ngIf"],[1,"partner-logo",3,"src","alt"],[1,"sponsor-text-display"],[1,"sponsor-text-name"],[1,"sponsor-name-fallback"]],template:function(n,i){n&1&&(r(0,"div",1),h(1,vM,4,0,"div",2)(2,MM,5,1,"div",3)(3,jM,67,31,"div",4),o()),n&2&&(c(),m("ngIf",i.loading),c(),m("ngIf",i.error&&!i.loading),c(),m("ngIf",!i.loading&&!i.error&&i.team))},dependencies:[H,X,$,D0],styles:['.team-detail-container[_ngcontent-%COMP%]{max-width:1000px;margin:0 auto;background:#fff;box-shadow:0 4px 24px #00000014;overflow:hidden;font-family:IBM Plex Sans,sans-serif;padding-bottom:32px}.header-image[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:300px;overflow:hidden;background:#f8f9fa;display:flex;align-items:center;justify-content:center}.header-image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:none}.logo-badge-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;margin-top:-100px;margin-bottom:12px}.team-logo[_ngcontent-%COMP%]{width:160px;height:160px;border-radius:50%;border:6px solid #fff;background:#fff;object-fit:cover;box-shadow:0 2px 12px #0000001a;z-index:2}.badge-logo-row[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;margin-top:16px}.status-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;
26gap:8px;margin:0 32px 0 0;z-index:3}.status-badge[_ngcontent-%COMP%]{background:#2ecc40;color:#fff;font-size:15px;font-weight:600;padding:4px 18px;border-radius:16px;box-shadow:0 2px 8px #00000014;width:fit-content;text-align:center}.status-badge.inactive[_ngcontent-%COMP%]{background:#e74c3c}.last-active-tag[_ngcontent-%COMP%]{background:#e5b000;color:#fff;font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;border:1px solid #D4A000;width:fit-content;text-align:center;box-shadow:0 1px 4px #00000026}.team-info[_ngcontent-%COMP%]{text-align:center;margin-bottom:18px}.team-info[_ngcontent-%COMP%] .team-number[_ngcontent-%COMP%]{color:#888;font-size:18px;margin-bottom:2px}.team-info[_ngcontent-%COMP%] .team-name[_ngcontent-%COMP%]{font-size:28px;font-weight:700;margin-bottom:4px}.team-info[_ngcontent-%COMP%] .team-motto[_ngcontent-%COMP%]{font-size:15px;color:#7a7a7a;font-style:italic}.info-grid[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:18px;padding:48px 0;color:#fff}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]{flex:1;text-align:center;position:relative}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]:not(:last-child):after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:#ffffff4d}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%]{font-size:18px;opacity:.85}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{font-size:23px;font-weight:600;margin-top:2px}.affiliation[_ngcontent-%COMP%]{text-align:center;margin:24px 24px 32px;padding:16px 20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.affiliation[_ngcontent-%COMP%] .affiliation-label[_ngcontent-%COMP%]{font-weight:600;color:#222;font-size:16px}.affiliation[_ngcontent-%COMP%] .affiliation-value[_ngcontent-%COMP%]{color:#3e3c8c;font-weight:500;margin-left:4px;font-size:16px}.team-location[_ngcontent-%COMP%]{margin:0 24px 32px;overflow:hidden;border:1px solid #e9ecef;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000000f}.team-location-heading[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;padding:18px 20px;color:#3e3c8c}.team-location-heading[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#f0effa;font-size:17px}.team-location-label[_ngcontent-%COMP%]{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.team-location-value[_ngcontent-%COMP%]{margin-top:2px;color:#222;font-size:16px;font-weight:500}.team-public-location-map[_ngcontent-%COMP%]{width:100%;height:290px;background:#f4f5f7}[_nghost-%COMP%] .team-location-marker{background:transparent;border:0}
26[_nghost-%COMP%] .team-location-marker span{display:block;width:18px;height:18px;margin:3px;border:3px solid #fff;border-radius:50%;background:#e74c3c;box-shadow:0 1px 7px #00000059}.team-main-content[_ngcontent-%COMP%]{width:950px;margin:0 auto;padding:0 0 16px}.video-social-row[_ngcontent-%COMP%]{display:flex;align-items:stretch;gap:32px;width:100%;background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f;border:1px solid #e9ecef;min-height:350px}.video-container[_ngcontent-%COMP%]{flex:0 0 560px;min-width:320px;max-width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:center;align-items:center}.video-container[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:100%;border-radius:8px;box-shadow:0 4px 12px #0000001a}.video-container.youtube-shorts[_ngcontent-%COMP%]{flex:0 0 315px;min-width:200px;max-width:400px;aspect-ratio:9/16}.video-container.youtube-shorts[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{border-radius:12px;box-shadow:0 6px 16px #00000026}.video-container.tiktok-video[_ngcontent-%COMP%]{flex:0 0 325px;
26min-width:200px;max-width:400px;aspect-ratio:9/16}.video-container.tiktok-video[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{border-radius:16px;box-shadow:0 8px 20px #0003;border:2px solid #ff0050}.video-container.tiktok-link-container[_ngcontent-%COMP%]{flex:0 0 325px;min-width:200px;max-width:400px;aspect-ratio:9/16;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff0050,#ff4081);border-radius:16px;box-shadow:0 8px 20px #ff00504d;border:2px solid #ff0050}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%]{text-align:center;color:#fff;padding:1.5rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] i.fab.fa-tiktok[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;display:block}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:#fff}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.9rem;margin:0 0 1.5rem;opacity:.9;line-height:1.4}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] .tiktok-link-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;background:#fff3;color:#fff;text-decoration:none;padding:.75rem 1.5rem;border-radius:25px;font-weight:600;font-size:.9rem;transition:all .3s ease;border:2px solid rgba(255,255,255,.3)}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] .tiktok-link-btn[_ngcontent-%COMP%]:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] .tiktok-link-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem}.divider[_ngcontent-%COMP%]{width:1px;background:linear-gradient(to bottom,transparent 0%,#e0e0e0 10%,#e0e0e0 90%,transparent 100%);height:100%;align-self:stretch;flex-shrink:0;min-height:200px;opacity:.7}.social-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:20px;min-width:280px;flex:1;font-size:16px;color:#222;height:100%}.social-list[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:600;color:#3e3c8c;font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.social-list[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:500;color:#222;font-size:16px;text-decoration:none;transition:color .2s ease}.social-list[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]:hover{color:#3e3c8c}.social-list[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{color:#888;font-size:14px;font-weight:400;margin-left:4px;transition:color .2s ease}.social-list[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]:hover .arrow[_ngcontent-%COMP%]{color:#3e3c8c}.about-team[_ngcontent-%COMP%]{margin:24px 24px 0;border-radius:12px;padding:24px;background:#fff;box-shadow:0 2px 8px #0000000f;border:1px solid #e9ecef}.about-team[_ngcontent-%COMP%] .about-label[_ngcontent-%COMP%]{font-size:18px;font-weight:600;margin-bottom:16px;color:#3e3c8c;border-bottom:2px solid #3e3c8c;padding-bottom:8px;display:inline-block}.about-team[_ngcontent-%COMP%] .about-text[_ngcontent-%COMP%]{font-size:16px;color:#333;line-height:1.7;text-align:justify}.partners-section[_ngcontent-%COMP%]{margin:32px 24px 0;border-radius:12px;padding:24px;background:#fff;box-shadow:0 2px 8px #0000000f;border:1px solid #e9ecef;text-align:left}.partners-label[_ngcontent-%COMP%]{font-size:18px;font-weight:600;color:#3e3c8c;margin-bottom:20px;border-bottom:2px solid #3e3c8c;padding-bottom:8px;display:inline-block}.partners-logos-row[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:24px;flex-wrap:wrap}.partner-logo-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;transition:all .3s ease}.partner-logo-container.clickable[_ngcontent-%COMP%]{cursor:pointer}.partner-logo-container.clickable[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.partner-logo-container.no-logo[_ngcontent-%COMP%]{min-height:100px;padding:16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:2px solid #dee2e6;box-shadow:0 2px 8px #0000001a;min-width:150px;
26max-width:200px}.partner-logo-container.no-logo[_ngcontent-%COMP%]:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);box-shadow:0 4px 12px #00000026}.partner-logo-container.no-name[_ngcontent-%COMP%]{min-height:120px;padding:8px;background:#f8f9fa;border-radius:12px;border:2px dashed #dee2e6}.partner-logo-container.no-name[_ngcontent-%COMP%] .partner-logo[_ngcontent-%COMP%]{margin-bottom:8px}.partner-logo[_ngcontent-%COMP%]{flex:0 0 auto;max-width:200px;min-width:150px;height:100px;object-fit:contain;background:transparent;border-radius:8px;padding:12px;transition:all .3s ease;border:none}.sponsor-text-display[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center}.sponsor-text-display[_ngcontent-%COMP%] .sponsor-text-name[_ngcontent-%COMP%]{font-size:18px;font-weight:700;color:#3e3c8c;text-align:center;line-height:1.2;word-wrap:break-word;hyphens:auto;max-width:100%;display:block;text-shadow:0 1px 2px rgba(0,0,0,.1);letter-spacing:.5px}.sponsor-name-fallback[_ngcontent-%COMP%]{font-size:14px;font-weight:600;color:#6c757d;text-align:center;margin-top:4px;padding:4px 8px;background:#fff;border-radius:6px;border:1px solid #e9ecef;box-shadow:0 1px 3px #0000001a;max-width:180px;word-wrap:break-word}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-container[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin-bottom:20px}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:16px}.error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#e74c3c;font-size:16px;margin-bottom:20px}.error-container[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.error-container[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover{background:#2980b9}.no-video[_ngcontent-%COMP%] .no-video-placeholder[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:100%;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;font-size:16px;text-align:center}.no-video[_ngcontent-%COMP%] .no-video-placeholder[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;padding:20px}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 900px){.video-social-row[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch;gap:24px;min-height:auto}.divider[_ngcontent-%COMP%]{display:none}.video-container[_ngcontent-%COMP%]{width:100%;min-width:0;flex:none}.social-list[_ngcontent-%COMP%]{align-items:flex-start;min-width:0;flex:none;height:auto}.affiliation[_ngcontent-%COMP%]{margin:24px 16px;padding:16px;width:calc(100% - 32px);box-sizing:border-box}.team-main-content[_ngcontent-%COMP%]{margin:0 16px;padding:0 0 12px;width:calc(100% - 32px);box-sizing:border-box}.about-team[_ngcontent-%COMP%]{margin:20px 16px 0;padding:20px;width:calc(100% - 32px);box-sizing:border-box}.partners-section[_ngcontent-%COMP%]{margin:24px 16px 0;padding:20px;width:calc(100% - 32px);box-sizing:border-box}}@media (max-width: 768px){.team-location[_ngcontent-%COMP%]{margin:0 12px 24px}.team-public-location-map[_ngcontent-%COMP%]{height:230px}.team-detail-container[_ngcontent-%COMP%]{max-width:100vw;overflow-x:hidden}.info-grid[_ngcontent-%COMP%]{flex-direction:column;gap:16px;padding:24px 16px;margin:0 16px 18px;border-radius:12px;width:calc(100% - 32px);box-sizing:border-box;background:linear-gradient(180deg,#3e3c8c,#2c2a7a)}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]{flex:none;text-align:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2)}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]:last-child{border-bottom:none}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]:not(:last-child):after{display:none}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%]{font-size:16px;opacity:.9;margin-bottom:4px}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{font-size:20px;font-weight:600;margin-top:0}.video-container[_ngcontent-%COMP%]{flex:none;width:100%;max-width:100%;min-width:0;aspect-ratio:16/9;margin:0 auto;display:flex;justify-content:center;align-items:center}.video-container[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%}.video-container.youtube-shorts[_ngcontent-%COMP%]{max-width:300px;aspect-ratio:9/16;margin:0 auto}.video-container.youtube-shorts[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%}.video-container.tiktok-video[_ngcontent-%COMP%]{max-width:300px;aspect-ratio:9/16;margin:0 auto}.video-container.tiktok-video[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%;border:1px solid #ff0050}.video-container.tiktok-link-container[_ngcontent-%COMP%]{max-width:300px;aspect-ratio:9/16;margin:0 auto}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%]{padding:1rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] i.fab.fa-tiktok[_ngcontent-%COMP%]{font-size:2.5rem;margin-bottom:.75rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.25rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.8rem;margin-bottom:1rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] .tiktok-link-btn[_ngcontent-%COMP%]{padding:.6rem 1.2rem;font-size:.8rem}.video-social-row[_ngcontent-%COMP%]{padding:16px;min-height:auto;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.social-list[_ngcontent-%COMP%]{align-items:flex-start;width:100%}.team-main-content[_ngcontent-%COMP%]{width:100%;max-width:100vw;margin:0;padding:0 0 12px;box-sizing:border-box}}@media (max-width: 700px){.partners-logos-row[_ngcontent-%COMP%]{gap:16px;justify-content:center}
26.partner-logo-container.no-name[_ngcontent-%COMP%]{min-height:100px;padding:6px}.partner-logo-container.no-logo[_ngcontent-%COMP%]{min-height:80px;padding:12px;min-width:120px;max-width:150px}.partner-logo[_ngcontent-%COMP%]{max-width:120px;height:75px;min-width:100px}.sponsor-text-display[_ngcontent-%COMP%] .sponsor-text-name[_ngcontent-%COMP%]{font-size:16px;letter-spacing:.3px}.sponsor-name-fallback[_ngcontent-%COMP%]{font-size:12px;padding:3px 6px;max-width:110px}.status-container[_ngcontent-%COMP%]{margin:0 12px 0 0;gap:6px}.status-badge[_ngcontent-%COMP%]{font-size:13px;padding:3px 12px}.last-active-tag[_ngcontent-%COMP%]{font-size:11px;padding:3px 10px}.video-social-row[_ngcontent-%COMP%]{padding:16px}.social-list[_ngcontent-%COMP%]{gap:16px}.social-list[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:13px}.social-list[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-size:15px}.info-grid[_ngcontent-%COMP%]{margin:0 12px 18px;padding:20px 12px}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]{padding:10px 0}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%]{font-size:15px}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{font-size:18px}.video-container[_ngcontent-%COMP%]{width:100%;max-width:calc(100vw - 32px);margin:0 auto;display:flex;justify-content:center;align-items:center}.video-container[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%}.video-container.youtube-shorts[_ngcontent-%COMP%]{max-width:280px;aspect-ratio:9/16;margin:0 auto}.video-container.youtube-shorts[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%}.video-container.tiktok-video[_ngcontent-%COMP%]{max-width:280px;aspect-ratio:9/16;margin:0 auto}.video-container.tiktok-video[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%;border:1px solid #ff0050}.video-container.tiktok-link-container[_ngcontent-%COMP%]{max-width:280px;aspect-ratio:9/16;margin:0 auto}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%]{padding:.75rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] i.fab.fa-tiktok[_ngcontent-%COMP%]{font-size:2rem;margin-bottom:.5rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.1rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.75rem;margin-bottom:.75rem}.video-container.tiktok-link-container[_ngcontent-%COMP%] .tiktok-link-content[_ngcontent-%COMP%] .tiktok-link-btn[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.75rem}.video-social-row[_ngcontent-%COMP%]{padding:12px;margin:0 8px;display:flex;flex-direction:column;align-items:center;width:calc(100% - 16px);box-sizing:border-box}.social-list[_ngcontent-%COMP%]{align-items:flex-start;width:100%}.team-main-content[_ngcontent-%COMP%]{width:100%;max-width:100vw;margin:0;padding:0 0 12px;box-sizing:border-box}}']})}}return t})();var N0=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-teams-detail-mock"]],standalone:!0,features:[B],decls:111,vars:0,consts:[[1,"team-detail-container"],[1,"header-image"],["src","/assets/teams/banner.webp","alt","Team Photo"],[1,"badge-logo-row"],[1,"status-badge"],[1,"logo-badge-wrapper"],["src","/assets/teams/FTC_logo.webp","alt","Team Logo",1,"team-logo"],[1,"team-info"],[1,"team-number"],[1,"team-name"],[1,"team-motto"],[1,"info-grid"],[1,"info-item"],[1,"info-label"],[1,"info-value"],[1,"affiliation"],[1,"affiliation-label"],[1,"affiliation-value"],[1,"main-content"],[1,"video-social-row"],[1,"video-container"],["width","560","height","315","src",qt`https://www.youtube.com/embed/NnInm3IP2Ko?si=aOmvuKRGoURve7De`,"title","YouTube video player","frameborder","0","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share","referrerpolicy","strict-origin-when-cross-origin","allowfullscreen",""],[1,"divi
26der"],[1,"social-list"],[1,"label"],[1,"value"],[1,"arrow"],[1,"about-team"],[1,"about-label"],[1,"about-text"],[1,"partners-section"],[1,"partners-label"],[1,"partners-logos-row"],["src","assets\\about-pages\\partner-logo\\BRD.webp","alt","Partner 1",1,"partner-logo"],["src","assets\\about-pages\\FIRST_Horz_RGB.webp","alt","Partner 2",1,"partner-logo"],["src","assets\\about-pages\\NATIE_TEXT_SIGLA.webp","alt","Partner 3",1,"partner-logo"],[1,"partners-logos-row","more"],["src","assets\\about-pages\\partner-logo\\BRD.webp","alt","Partner 4",1,"partner-logo"],["src","assets\\about-pages\\FIRST_Horz_RGB.webp","alt","Partner 5",1,"partner-logo"],["src","assets\\about-pages\\NATIE_TEXT_SIGLA.webp","alt","Partner 6",1,"partner-logo"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1),_(2,"img",2),o(),r(3,"div",3)(4,"span",4),a(5,"active"),o()(),r(6,"div",5),_(7,"img",6),o(),r(8,"div",7)(9,"div",8),a(10,"Team #00000"),o(),r(11,"div",9),a(12,"NATIE"),o(),r(13,"div",10),a(14,"NATION THROUGH EDUCATION"),o()(),r(15,"div",11)(16,"div",12)(17,"div",13),a(18,"Rookie Year"),o(),r(19,"div",14),a(20,"2016"),o()(),r(21,"div",12)(22,"div",13),a(23,"City"),o(),r(24,"div",14),a(25,"Bucuresti"),o()(),r(26,"div",12)(27,"div",13),a(28,"Region"),o(),r(29,"div",14),a(30,"South"),o()(),r(31,"div",12)(32,"div",13),a(33,"Romanian No."),o(),r(34,"div",14),a(35,"RO000"),o()()(),r(36,"div",15)(37,"span",16),a(38,"Affiliation:"),o(),r(39,"span",17),a(40,"Asociatia Natie Prin Educatie"),o()(),r(41,"div",18)(42,"div",19)(43,"div",20),_(44,"iframe",21),o(),_(45,"div",22),r(46,"div",23)(47,"div")(48,"span",24),a(49,"website"),o(),_(50,"br"),r(51,"span",25),a(52,"natieprineducatie.ro "),r(53,"span",26),a(54,"\u2197"),o()()(),r(55,"div")(56,"span",24),a(57,"facebook"),o(),_(58,"br"),r(59,"span",25),a(60,"/natieprineducatie "),r(61,"span",26),a(62,"\u2197"),o()()(),r(63,"div")(64,"span",24),a(65,"instagram"),o(),_(66,"br"),r(67,"span",25),a(68,"@natieprineducatie "),r(69,"span",26),a(70,"\u2197"),o()()(),r(71,"div")(72,"span",24),a(73,"linkedin"),o(),_(74,"br"),r(75,"span",25),a(76,"/company/natieprineducatie "),r(77,"span",26),a(78,"\u2197"),o()()(),r(79,"div")(80,"span",24),a(81,"mail"),o(),_(82,"br"),r(83,"span",25),a(84,"[email protected] "),r(85,"span",26),a(86,"\u2197"),o()()(),r(87,"div")(88,"span",24),a(89,"other"),o(),_(90,"br"),r(91,"span",25),a(92,"linktr.ee/natieprineducatie "),r(93,"span",26),a(94,"\u2197"),o()()()()()(),r(95,"div",27)(96,"div",28),a(97,"About the team"),o(),r(98,"div",29),a(99," Suntem echipa NATIE, parte a Asociatiei Natie Prin Educatie, dedicata promovarii educatiei STEM in Romania. Organiz\u0103m \u0219i sus\u021Binem competi\u021Bii de robotic\u0103, proiecte educa\u021Bionale \u0219i ini\u021Biative care inspir\u0103 tinerii s\u0103 devin\u0103 lideri \u0219i inovatori. Credem \xEEn puterea educa\u021Biei de a transforma societatea \u0219i de a construi un viitor mai bun pentru to\u021Bi. "),o()(),r(100,"div",30)(101,"div",31),a(102,"Local Partners"),o(),r(103,"div",32),_(104,"img",33)(105,"img",34)(106,"img",35),o(),r(107,"div",36),_(108,"img",37)(109,"img",38)(110,"img",39),o()()())},dependencies:[H],styles:['.team-detail-container[_ngcontent-%COMP%]{max-width:1000px;margin:0 auto;background:#fff;box-shadow:0 4px 24px #00000014;overflow:hidden;font-family:IBM Plex Sans,sans-serif;padding-bottom:32px}.header-image[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);aspect-ratio:var(--banner-sm-aspect);overflow:hidden;position:relative}.header-image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;border-top-left-radius:9px;border-top-right-radius:px}.logo-badge-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;position:relative;margin-top:-100px;margin-bottom:12px}.team-logo[_ngcontent-%COMP%]{width:160px;height:160px;border-radius:50%;border:6px solid #fff;background:#fff;object-fit:cover;box-shadow:0 2px 12px #0000001a;z-index:2}.badge-logo-row[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;margin-top:16px;margin-bottom:0}.status-badge[_ngcontent-%COMP%]{background:#2ecc40;color:#fff;font-size:15px;font-weight:600;padding:4px 18px;border-radius:16px;box-shadow:0 2px 8px #00000014;width:fit-content;text-align:center;z-index:3;margin:0 32px 0 0}.team-info[_ngcontent-%COMP%]{text-align:center;margin-bottom:18px}.team-info[_ngcontent-%COMP%] .team-number[_ngcontent-%COMP%]{color:#888;font-size:18px;margin-bottom:2px}
26.team-info[_ngcontent-%COMP%] .team-name[_ngcontent-%COMP%]{font-size:28px;font-weight:700;margin-bottom:4px}.team-info[_ngcontent-%COMP%] .team-motto[_ngcontent-%COMP%]{font-size:15px;color:#7a7a7a;font-style:italic}.info-grid[_ngcontent-%COMP%]{display:flex;justify-content:space-between;background:linear-gradient(90deg,#ff622f,#09f);margin-bottom:18px;padding:48px 0;color:#fff}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]{flex:1;text-align:center;position:relative}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]:not(:last-child):after{content:"";position:absolute;right:0;top:0%;bottom:0%;width:2px;background:#ffffff4d}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%]{font-size:18px;opacity:.85}.info-grid[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{font-size:23px;font-weight:600;margin-top:2px}.affiliation[_ngcontent-%COMP%]{text-align:center;margin:18px 0 0}.affiliation[_ngcontent-%COMP%] .affiliation-label[_ngcontent-%COMP%]{font-weight:600;color:#222}.affiliation[_ngcontent-%COMP%] .affiliation-value[_ngcontent-%COMP%]{color:#3e3c8c;font-weight:500;margin-left:4px}.main-content[_ngcontent-%COMP%]{margin:24px 24px 0}.video-social-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:flex-start;gap:0;width:100%}.video-container[_ngcontent-%COMP%]{width:560px;min-width:320px;max-width:100%;aspect-ratio:16/9;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;margin-right:32px}.video-container[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:100%;border-radius:8px}.video-play-circle[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);z-index:2}.video-progress[_ngcontent-%COMP%]{position:absolute;left:0;right:0;bottom:48px;height:7px;width:100%;display:flex;z-index:3}.video-progress-red[_ngcontent-%COMP%]{background:#ff4c4c;height:100%;width:22%;border-radius:2px 0 0 2px}.video-progress-gray[_ngcontent-%COMP%]{background:#eee;height:100%;width:78%;border-radius:0 2px 2px 0}.video-controls[_ngcontent-%COMP%]{position:absolute;left:0;right:0;bottom:10px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:0 12px;gap:8px;z-index:4}.video-controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%]{color:#fff;font-size:22px;opacity:.95;margin-right:8px;-webkit-user-select:none;user-select:none}.divider[_ngcontent-%COMP%]{width:1px;background:#e0e0e0;height:350px;margin:0 32px 0 0;align-self:center}.social-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:18px;min-width:320px;font-size:17px;color:#222;font-family:inherit;margin-left:auto}.social-list[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:700;color:#222;font-size:16px}.social-list[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:400;color:#444;font-size:16px}.social-list[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{color:#888;font-size:15px;font-weight:400;margin-left:2px}.about-team[_ngcontent-%COMP%]{margin:32px 24px 0;border-radius:10px;padding:18px 20px}.about-team[_ngcontent-%COMP%] .about-label[_ngcontent-%COMP%]{font-size:17px;font-weight:600;margin-bottom:8px;color:#3e3c8c}.about-team[_ngcontent-%COMP%] .about-label[_ngcontent-%COMP%] .translation-note[_ngcontent-%COMP%]{font-size:12px;color:#888;font-weight:400;margin-left:8px}.about-team[_ngcontent-%COMP%] .about-text[_ngcontent-%COMP%]{font-size:15px;color:#222;line-height:1.6}.partners-section[_ngcontent-%COMP%]{margin:32px 24px 0;border-radius:10px;padding:18px 20px 24px;text-align:left}.partners-label[_ngcontent-%COMP%]{font-size:17px;font-weight:600;color:#3e3c8c;margin-bottom:16px}.partners-logos-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:0;margin-bottom:0;margin-top:0}.partners-logos-row.more[_ngcontent-%COMP%]{margin-top:18px}.partner-logo[_ngcontent-%COMP%]{flex:1 1 0;max-width:180px;min-width:0;height:90px;object-fit:contain;margin:0 8px;background:none;border-radius:0;box-shadow:none;padding:0;transition:transform .2s}.partner-logo[_ngcontent-%COMP%]:hover{transform:scale(1.06)}.expand-btn[_ngcontent-%COMP%]{margin:18px auto 0;display:block;background:#fff;color:#3e3c8c;border:1px solid #3e3c8c;border-radius:6px;padding:6px 18px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.expand-btn[_ngcontent-%COMP%]:hover{background:#3e3c8c;color:#fff}@media (max-width: 700px){.partners-logos-row[_ngcontent-%COMP%]{gap:0}.partner-logo[_ngcontent-%COMP%]{max-width:80px;height:60px;margin:0 2px}.status-badge[_ngcontent-%COMP%]{margin:0 12px 0 0;font-size:13px;padding:3px 12px}}@media (max-width: 900px){.video-social-row[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.divider[_ngcontent-%COMP%]{display:none}.video-container[_ngcontent-%COMP%]{margin-right:0;margin-bottom:24px;width:100%;min-width:0}.social-list[_ngcontent-%COMP%]{align-items:flex-start;min-width:0;margin-left:0}}']})}}return t})();function qM(t,s){t&1&&(r(0,"div",13),_(1,"span",14),a(2," LIVE "),o())}function WM(t,s){if(t&1&&(r(0,"span",15),a(1),o()),t&2){let e=s.$implicit;I("tag-ftc",e==="FTC")("tag-kickoff",e==="Kickoff")("tag-league",e==="League Tournament"),c(),w(" ",e," ")}}var A0=(()=>{class t{constructor(e){this.router=e,this.eventClick=new it}onEventClick(){this.event.ftcEventCode?this.router.navigate(["/events",this.event.ftcEventCode]):this.router.navigate(["/events",this.event.id]),this.eventClick.emit(this.event)}onMoreInfoClick(e){e.stopPropagation(),this.event.ftcEventCode?this.router.navigate(["/events",this.event.ftcEventCode]):this.router.navigate(["/events",this.event.id])}getEventImageUrl(){return this.event.image?this.event.image.path&&this.event.image.path.startsWith("assets/")?this.event.image.path:`${ne.apiUrl}/files/public/${this.event.image.id}`:"assets/events-page/post1_img.webp"}formatEventDate(){let e=new Date(this.event.dateStart),n=new Date(this.event.dateEnd);return e.toDateString()===n.toDateString()?e.toLocaleDateString("ro-RO"):`${e.toLocaleDateString("ro-RO")} - ${n.toLocaleDateString("ro-RO")}`}isEventOngoing(){let e=new Date,n=new Date(this.event.dateStart),i=new Date(this.event.dateEnd);return e>=n&&e<=i}getEventTags(){return[this.event.category]}static{this.\u0275fac=function(n){return new(n||t)(T(ke))}}static{this.\u0275cmp=V({type:t,selectors:[["app-event-card"]],inputs:{event:"event"},outputs:{eventClick:"eventClick"},standalone:!0,features:[B],decls:17,vars:7,consts:[[1,"event-card",3,"click"],[1,"event-image"],[3,"src","alt"],["class","live-indicator",4,"ngIf"],[1,"event-content"],[1,"event-tags"],["class","tag",3,"tag-ftc","tag-kickoff","tag-league",4,"ngFor","ngForOf"],[1,"event-title"],[1,"event-location"],[1,"event-date"],[1,"more-info-btn",3,"click"],["viewBox","0 0 24 24","fill","currentColor",1,"external-link-icon"],["d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6M15 3h6v6M10 14L21 3"],[1,"live-indicator"],[1,"live-dot"],[1,"tag"]],template:function(n,i){n&1&&(r(0,"div",0),b("
26click",function(){return i.onEventClick()}),r(1,"div",1),_(2,"img",2),h(3,qM,3,0,"div",3),o(),r(4,"div",4)(5,"div",5),h(6,WM,2,7,"span",6),o(),r(7,"h3",7),a(8),o(),r(9,"p",8),a(10),o(),r(11,"p",9),a(12),o(),r(13,"button",10),b("click",function(u){return i.onMoreInfoClick(u)}),fo(),r(14,"svg",11),_(15,"path",12),o(),a(16," More info... "),o()()()),n&2&&(c(2),m("src",i.getEventImageUrl(),ae)("alt",i.event.title),c(),m("ngIf",i.isEventOngoing()),c(3),m("ngForOf",i.getEventTags()),c(2),O(i.event.title),c(2),O(i.event.location),c(2),O(i.formatEventDate()))},dependencies:[H,X,$],styles:[".event-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e0e0e0;box-shadow:0 4px 6px #0000001a;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.event-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 6px #00000026}.event-card[_ngcontent-%COMP%] .event-image[_ngcontent-%COMP%]{width:100%;height:200px;overflow:hidden;position:relative}.event-card[_ngcontent-%COMP%] .event-image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.event-card[_ngcontent-%COMP%] .event-image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:hover{transform:scale(1.05)}.event-card[_ngcontent-%COMP%] .event-image[_ngcontent-%COMP%] .live-indicator[_ngcontent-%COMP%]{position:absolute;top:12px;right:12px;background-color:#dc3545e6;color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.event-card[_ngcontent-%COMP%] .event-image[_ngcontent-%COMP%] .live-indicator[_ngcontent-%COMP%] .live-dot[_ngcontent-%COMP%]{width:8px;height:8px;background-color:#fff;border-radius:50%;animation:_ngcontent-%COMP%_pulse 2s infinite}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%]{padding:16px}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .event-tags[_ngcontent-%COMP%]{display:flex;gap:8px;margin-bottom:12px}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .event-tags[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .event-tags[_ngcontent-%COMP%] .tag.tag-ftc[_ngcontent-%COMP%]{background-color:#ff6b35;color:#fff}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .event-tags[_ngcontent-%COMP%] .tag.tag-kickoff[_ngcontent-%COMP%], .event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .event-tags[_ngcontent-%COMP%] .tag.tag-league[_ngcontent-%COMP%]{background-color:#4ecdc4;color:#fff}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .event-title[_ngcontent-%COMP%]{font-size:18px;font-weight:700;color:#333;margin:0 0 8px;line-height:1.3}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .event-location[_ngcontent-%COMP%]{font-size:14px;color:#666;margin:0 0 4px}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .event-date[_ngcontent-%COMP%]{font-size:14px;color:#666;margin:0 0 16px}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .more-info-btn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#f5f5f5;border:none;border-radius:6px;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .more-info-btn[_ngcontent-%COMP%]:hover{background-color:#e8e8e8}.event-card[_ngcontent-%COMP%] .event-content[_ngcontent-%COMP%] .more-info-btn[_ngcontent-%COMP%] .external-link-icon[_ngcontent-%COMP%]{width:14px;height:14px}@keyframes _ngcontent-%COMP%_pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}"]})}}return t})();var $o=(()=>{class t{constructor(e){this.http=e,this.apiUrl=`${ne.apiUrl}/events`}getAllEvents(e,n){let i=new Kt;return e&&(i=i.set("seasonId",e.toString())),n&&(i=i.set("category",n)),this.http.get(this.apiUrl,{params:i}).pipe(_e(d=>d&&d.success&&Array.isArray(d.message)?d.message:Array.isArray(d)?d:(console.warn("Unexpected API response format:",d),[])),Be(d=>(console.error("Error fetching events from API:",d),Ce([]))))}getEventFtcTeams(e){return this.http.get(`${this.apiUrl}/${e}
26/ftc-teams`).pipe(_e(n=>{if(n?.success&&n.message&&typeof n.message=="object"){let i=n.message;return{teams:Array.isArray(i.teams)?i.teams:[],ftcError:i.ftcError??null}}return{teams:[],ftcError:"bad_response"}}),Be(()=>Ce({teams:[],ftcError:"http_error"})))}getEventById(e){return this.http.get(`${this.apiUrl}/${e}`).pipe(_e(n=>n&&n.success&&n.message?n.message:(n&&!n.success&&console.warn("API returned unsuccessful response:",n),n)),Be(n=>{throw console.error("Error fetching event by ID:",n),n}))}getEventsByCategory(e){return this.http.get(`${this.apiUrl}/category/${e}`)}getUpcomingEvents(e=10){return this.http.get(`${this.apiUrl}/upcoming/${e}`)}getEventsBySeason(e){return this.http.get(`${this.apiUrl}/season/${e}`)}createEvent(e,n){let i=new FormData;return Object.keys(e).forEach(d=>{let u=e[d];u!=null&&i.append(d,u.toString())}),n&&i.append("image",n),console.log("Creating event with data:",e),console.log("Image file:",n),this.http.post(this.apiUrl,i).pipe(Be(d=>{throw console.error("Error creating event:",d),console.error("Request URL:",this.apiUrl),console.error("Request data:",e),console.error("Error response:",d.error),d}))}updateEvent(e,n,i){let d=new FormData;return Object.keys(n).forEach(u=>{let x=n[u];x!=null&&d.append(u,x.toString())}),i&&d.append("image",i),console.log("Updating event with ID:",e),console.log("Event data:",n),console.log("Image file:",i),console.log("FormData contents:"),d.forEach((u,x)=>{console.log(`${x}:`,u)}),this.http.put(`${this.apiUrl}/${e}`,d).pipe(Be(u=>{throw console.error("Error updating event:",u),console.error("Request URL:",`${this.apiUrl}/${e}`),console.error("Request data:",n),console.error("Error response:",u.error),u}))}deleteEvent(e){return this.http.delete(`${this.apiUrl}/${e}`)}getPastEvents(){let e=new Date().toISOString();return this.http.get(`${this.apiUrl}?dateEnd=${e}`)}getOngoingEvents(){let e=new Date().toISOString();return this.http.get(`${this.apiUrl}?dateStart=${e}&dateEnd=${e}`)}getEventImageUrl(e){return e.image?e.image.path&&e.image.path.startsWith("assets/")?e.image.path:`${ne.apiUrl}/files/public/${e.image.id}`:"assets/events-page/post1_img.webp"}formatEventDate(e){let n=new Date(e.dateStart),i=new Date(e.dateEnd);return n.toDateString()===i.toDateString()?n.toLocaleDateString("ro-RO"):`${n.toLocaleDateString("ro-RO")} - ${i.toLocaleDateString("ro-RO")}`}isEventOngoing(e){let n=new Date,i=new Date(e.dateStart),d=new Date(e.dateEnd);return n>=i&&n<=d}isEventUpcoming(e){let n=new Date,i=new Date(e.dateStart);return n<i}isEventPast(e){let n=new Date,i=new Date(e.dateEnd);return n>i}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function $M(t,s){if(t&1&&(r(0,"option",16),a(1),o()),t&2){let e=s.$implicit,n=p(2);m("value",e.id),c(),G(" ",e.seasonName,"",e.id===(n.currentSeason==null?null:n.currentSeason.id)?" (Curent)":""," ")}}function HM(t,s){if(t&1){let e=E();r(0,"div",11)(1,"label",12),a(2,"Sezon:"),o(),r(3,"div",13)(4,"select",14),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectedSeasonId,i)||(d.selectedSeasonId=i),M(i)}),b("ngModelChange",function(){v(e);let i=p();return M(i.onSeasonChange())}),h(5,$M,2,3,"option",15),o()()()}if(t&2){let e=p();c(4),D("ngModel",e.selectedSeasonId),c(),m("ngForOf",e.seasons)}}function GM(t,s){t&1&&(r(0,"div",17),_(1,"div",18),r(2,"p"),a(3,"Loading events..."),o()())}function ZM(t,s){if(t&1){let e=E();r(0,"div",19)(1,"p",20),a(2),o(),r(3,"button",21),b("click",function(){v(e);let i=p();return M(i.retryLoad())}),a(4,"Try Again"),o()()}if(t&2){let e=p();c(2),O(e.error)}}function YM(t,s){if(t&1){let e=E();r(0,"app-event-card",33),b("eventClick",function(i){v(e);let d=p(2);return M(d.onEventClick(i))}),o()}if(t&2){let e=s.$implicit;m("event",e)}}function KM(t,s){t&1&&(r(0,"div",34)(1,"p"),a(2,"No past events available"),o()())}function QM(t,s){if(t&1){let e=E();r(0,"app-event-card",33),b("eventClick",function(i){v(e);let d=p(2);return M(d.onEventClick(i))}),o()}if(t&2){let e=s.$implicit;m("event",e)}}function JM(t,s){t&1&&(r(0,"div",34)(1,"p"),a(2,"No ongoing events"),o()())}function XM(t,s){if(t&1){let e=E();r(0,"app-event-card",33),b("eventClick",function(i){v(e);let d=p(2);return M(d.onEventClick(i))}),o()}if(t&2){let e=s.$implicit;m("event",e)}}function ex(t,s){t&1&&(r(0,"div",34)(1,"p"),a(2,"No upcoming events"),o()())}function tx(t,s){if(t&1){let e=E();r(0,"div")(1,"div",22)(2,"div",23),b("click",function(){v(e);let i=p();return M(i.toggleSection("past"))}),r(3,"div",24),fo(),r(4,"svg",25),_(5,"path",26),o(),va(),r(6,"h2",27),a(7,"Past Events"),o()()(),r(8,"div",28),h(9,YM,1,1,"app-event-card",29)(10,KM,3,0,"div",30),o()(),r(11,"div",22)(12,"div",31),b("click",function(){v(e);let i=p();return M(i.toggleSection("ongoing"))}),r(13,"div",24),fo(),r(14,"svg",25),_(15,"path",26),o(),va(),r(16,"h2",27),a(17,"Ongoing Events"),o(),r(18,"div",32),a(19,"LIVE"),o()()(),r(20,"div",28),h(21,QM,1,1,"app-event-card",29)(22,JM,3,0,"div",30),o()(),r(23,"div",22)(24,"div",23),b("click",function(){v(e);let i=p();return M(i.toggleSection("upcoming"))}),r(25,"div",24),fo(),r(26,"svg",25),_(27,"path",26),o(),va(),r(28,"h2",27),a(29,"Upcoming Events"),o()()(),r(30,"div",28),h(31,XM,1,1,"app-event-card",29)(32,ex,3,0,"div",30),o()()()}if(t&2){let e=p();c(4),I("expanded",e.pastEventsExpanded),c(4),I("expanded",e.pastEventsExpanded),c(),m("ngForOf",e.pastEvents),c(),m("ngIf",e.pastEvents.length===0),c(4),I("expanded",e.ongoingEventsExpanded),c(6),I("expanded",e.ongoingEventsExpanded),c(),m("ngForOf",e.ongoingEvents),c(),m("ngIf",e.ongoingEvents.length===0),c(4),I("expanded",e.upcomingEventsExpanded),c(4),I("expanded",e.upcomingEventsExpanded),c(),m("ngForOf",e.upcomingEvents),c(),m("ngIf",e.upcomingEvents.length===0)}}var L0=(()=>{class t{constructor(e,n,i){this.router=e,this.eventService=n,this.seasonsService=i,this.pastEvents=[],this.ongoingEvents=[],this.upcomingEvents=[],this.seasons=[],this.currentSeason=null,this.seasonLoading=!0,this.loading=!0,this.error=null,this.pastEventsExpanded=!1,this.ongoingEventsExpanded=!0,this.upcomingEventsExpanded=!0,this.mockEvents=[{id:1,title:"Season #09 Official Kickoff",shortDe
26scription:"Official kickoff event for the 2024-2025 FTC season",description:"The official kickoff event for the 2024-2025 FTC season in Romania.",location:"Bucuresti, Romania",latitude:44.4268,longitude:26.1025,organizer:"NATIE",dateStart:"2024-09-07",dateEnd:"2024-09-07",link:"#",category:"FTC",ftcEventCode:"RO-KICKOFF-2024",seasonId:9,image:{id:1,name:"kickoff.webp",path:"assets/events-page/post1_img.webp",size:1024,mimeType:"image/jpeg"}},{id:2,title:"East Romania League Tournament",shortDescription:"League tournament for East Romania region",description:"One of four League Tournament events for the 2024-2025 FTC season in Romania.",location:"Piatra Neamt, Romania",latitude:46.9275,longitude:26.3701,organizer:"NATIE",dateStart:"2025-01-17",dateEnd:"2025-01-19",link:"#",category:"FTC",ftcEventCode:"RO-LEAGUE-EAST-2025",seasonId:9,image:{id:2,name:"east-league.webp",path:"assets/events-page/post2.webp",size:1024,mimeType:"image/jpeg"}},{id:3,title:"South Romania League Tournament",shortDescription:"League tournament for South Romania region",description:"One of four League Tournament events for the 2024-2025 FTC season in Romania.",location:"Pitesti, Romania",latitude:44.8565,longitude:24.8692,organizer:"NATIE",dateStart:"2025-02-07",dateEnd:"2025-02-09",link:"#",category:"FTC",ftcEventCode:"RO-LEAGUE-SOUTH-2025",seasonId:9,image:{id:3,name:"south-league.webp",path:"assets/events-page/meet_post.webp",size:1024,mimeType:"image/jpeg"}},{id:4,title:"Season #08 National Championship",shortDescription:"National championship for the 2023-2024 FTC season",description:"The national championship event for the 2023-2024 FTC season in Romania.",location:"Bucuresti, Romania",latitude:44.4268,longitude:26.1025,organizer:"NATIE",dateStart:"2024-03-15",dateEnd:"2024-03-17",link:"#",category:"FTC",ftcEventCode:"RO-NATIONAL-2024",seasonId:8,image:{id:4,name:"national-championship.webp",path:"assets/events-page/banner_events.webp",size:1024,mimeType:"image/png"}},{id:5,title:"Cluj Regional Tournament",shortDescription:"Regional tournament for Cluj region",description:"Regional tournament for the Cluj region in the 2024-2025 FTC season. This event brings together teams from the Cluj area to compete and showcase their robotics skills.",location:"Cluj-Napoca, Romania",latitude:46.7712,longitude:23.6236,organizer:"NATIE",dateStart:"2025-03-15",dateEnd:"2025-03-17",link:"#",category:"FTC",ftcEventCode:"RO-REGIONAL-CLJ-2024",seasonId:9,image:{id:5,name:"cluj-regional.webp",path:"assets/events-page/banner_events.webp",size:1024,mimeType:"image/png"}}]}ngOnInit(){this.loadSeasonsAndData()}loadSeasonsAndData(){return q(this,null,function*(){try{this.seasonLoading=!0;let e=yield this.seasonsService.getAllSeasons().toPromise();e?.success&&(this.seasons=e.message);let n=yield this.seasonsService.getCurrentSeason().toPromise();n?.success?(this.currentSeason=n.message,this.currentSeason?this.selectedSeasonId=this.currentSeason.id:this.seasons.length>0&&(this.selectedSeasonId=this.seasons[0].id)):this.seasons.length>0&&(this.selectedSeasonId=this.seasons[0].id),yield this.loadEvents()}catch(e){console.error("Error loading seasons:",e),this.seasons.length>0&&(this.selectedSeasonId=this.seasons[0].id),yield this.loadEvents()}finally{this.seasonLoading=!1}})}loadEvents(){return q(this,null,function*(){try{this.loading=!0,this.error=null;let e=[],n=this.selectedSeasonId;if(n?(console.log(`Loading events for season ID: ${n}`),e=(yield this.eventService.getAllEvents(n).toPromise())||[]):(console.log("No season filter, loading all events"),e=(yield this.eventService.getAllEvents().toPromise())||[]),e&&e.length>0)this.categorizeEvents(e);else{console.log("No events returned from API, using mock data as fallback");let i=n||this.currentSeason?.id,d=i?this.mockEvents.filter(u=>u.seasonId===i):this.mockEvents;this.categorizeEvents(d)}}catch(e){console.error("Error loading events:",e),console.log("Using mock data as fallback due to API error");let n=this.selectedSeasonId||this.currentSeason?.id,i=n?this.mockEvents.filter(d=>d.seasonId===n):this.mockEvents;this.categorizeEvents(i)}finally{this.loading=!1}})}onSeasonChange(){this.loadEvents()}categorizeEvents(e){let n=new Date;this.pastEvents=e.filter(i=>this.eventService.isEventPast(i)),this.ongoingEvents=e.filter(i=>this.eventService.isEventOngoing(i)),this.upcomingEvents=e.filter(i=>this.eventService.isEventUpcoming(i)),this.pastEvents.sort((i,d)=>new Date(d.dateEnd).getTime()-new Date(i.dateEnd).getTime()),this.ongoingEvents.sort((i,d)=>new Date(i.dateStart).getTime()-new Date(d.dateStart).getTime()),this.upcomingEvents.sort((i,d)=>new Date(i.dateStart).getTime()-new Date(d.dateStart).getTime())}toggleSection(e){switch(e){case"past":this.pastEventsExpanded=!this.pastEventsExpanded;break;case"ongoing":this.ongoingEventsExpanded=!this.ongoingEventsExpanded;break;case"upcoming":this.upcomingEventsExpanded=!this.upcomingEventsExpanded;break}}onEventClick(e){e.ftcEventCode?this.router.navigate(["/events",e.ftcEventCode]):this.router.navigate(["/events",e.id])}getEventImageUrl(e){return this.eventService.getEventImageUrl(e)}getSponsorLogoUrl(e){return e.logo?`${ne.apiUrl}/files/public/${e.logo.id}`:null}formatEventDate(e){return this.eventService.formatEventDate(e)}retryLoad(){this.loadEvents()}static{this.\u0275fac=function(n){return new(n||t)(T(ke),T($o),T(Ve))}}static{this.\u0275cmp=V({type:t,selectors:[["app-events"]],standalone:!0,features:[B],decls:76,vars:4,consts:[[1,"events-hero",2,"background-image","url('/assets/bannere/events.jpg')"],["aria-hidden","true",1,"bandanna"],[1,"bandanna__track"],[1,"bandanna__item"],["aria-hidden","true",1,"bandanna__track"],[1,"events-content"],[1,"events-header-container"],["class","season-selector-container",4,"ngIf"],["class","loading-container",4,"ngIf"],["class","error-container",4,"ngIf"],[4,"ngIf"],[1,"season-selector-container"],["for","seasonSelect"],[1,"season-select-wrapper"],["id","seasonSelect",1,"season-select",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"loading-container"],[1,"loading-spinner"],[1,"error-container"],[1,"error-message"],[1,"retry-btn",3,"click"],[1,"events-section"],[1,"section-header",3,"click"],[1,"header-content"],["viewBox","0 0 24 24","fill","currentColor",1,"arrow-icon"],["d","M7 10l5 5 5-5z"],[1,"section-title"],[1,"events-grid"],[3,"event","eventClick",4,"ngFor","ngForOf"],["class","no-events",4,"ngIf"],[1,"section-header","ongoing",3,"click"],[1,"live-badge"],[3,"eventClick","event"],[1,"no-events"]],template:function(n,i){n&1&&(_(0,"div",0),r(1,"div",1)(2,"div",2)(3,"span",3),a(4,"OFFICIAL EVENTS/"),o(),r(5,"span",3),a(6,"OFFICIAL EVENTS/"),o(),r(7,"span",3),a(8,"OFFICIAL EVENTS/"),o(),r(9,"span",3),a(10,"OFFICIAL EVENTS/"),o(),r(11,"span",3),a(12,"OFFICIAL EVENTS/"),o(),r(13,"span",3),a(14,"OFFICIAL EVENTS/"),o(),r(15,"span",3),a(16,"OFFICIAL EVENTS/"),o(),r(17,"span",3),a(18,"OFFICIAL EVENTS/"),o(),r(19,"span",3),a(20,"OFFICIAL EVENTS/"),o(),r(21,"span",3),a(22,"OFFICIAL EVENTS/"),o(),r(23,"span",3),a(24,"OFFICIAL EVENTS/"),o(),r(25,"span",3),a(26,"OFFICIAL EVENTS/"),o(),r(27,"span",3),a(28,"OFFICIAL EVENTS/"),o(),r(29,"span",3),a(30,"OFFICIAL EVENTS/"),o(),r(31,"span",3),a(32,"OFFICIAL EVENTS/"),o(),r(33,"span",3),a(34,"OF
26FICIAL EVENTS/"),o()(),r(35,"div",4)(36,"span",3),a(37,"OFFICIAL EVENTS/"),o(),r(38,"span",3),a(39,"OFFICIAL EVENTS/"),o(),r(40,"span",3),a(41,"OFFICIAL EVENTS/"),o(),r(42,"span",3),a(43,"OFFICIAL EVENTS/"),o(),r(44,"span",3),a(45,"OFFICIAL EVENTS/"),o(),r(46,"span",3),a(47,"OFFICIAL EVENTS/"),o(),r(48,"span",3),a(49,"OFFICIAL EVENTS/"),o(),r(50,"span",3),a(51,"OFFICIAL EVENTS/"),o(),r(52,"span",3),a(53,"OFFICIAL EVENTS/"),o(),r(54,"span",3),a(55,"OFFICIAL EVENTS/"),o(),r(56,"span",3),a(57,"OFFICIAL EVENTS/"),o(),r(58,"span",3),a(59,"OFFICIAL EVENTS/"),o(),r(60,"span",3),a(61,"OFFICIAL EVENTS/"),o(),r(62,"span",3),a(63,"OFFICIAL EVENTS/"),o(),r(64,"span",3),a(65,"OFFICIAL EVENTS/"),o(),r(66,"span",3),a(67,"OFFICIAL EVENTS/"),o()()(),r(68,"div",5)(69,"div",6)(70,"h1"),a(71,"Evenimente FIRST Tech Challenge Rom\xE2nia"),o(),h(72,HM,6,2,"div",7),o(),h(73,GM,4,0,"div",8)(74,ZM,5,1,"div",9)(75,tx,33,18,"div",10),o()),n&2&&(c(72),m("ngIf",i.seasons.length>0),c(),m("ngIf",i.loading&&!i.seasonLoading),c(),m("ngIf",i.error&&!i.loading),c(),m("ngIf",!i.loading&&!i.error))},dependencies:[H,X,$,se,fe,he,ue,ie,pe,A0],styles:[`.events-content[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem 1rem 3rem;background:#fff;box-shadow:0 2px 16px #0000000f}.events-header-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;padding:0 1rem}.events-header-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:0;text-align:center}@media (min-width: 768px){.events-header-container[_ngcontent-%COMP%]{flex-direction:row;justify-content:space-between;align-items:center;border-bottom:2px solid #f0f2f5;padding-bottom:1.25rem}.events-header-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{text-align:left}}.season-selector-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:.5rem .85rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;transition:all .3s ease;height:42px}.season-selector-container[_ngcontent-%COMP%]:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.season-selector-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%] .season-select[_ngcontent-%COMP%]{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.4rem 2rem .4rem .85rem;font-size:.9rem;font-weight:600;color:#1e293b;background-color:transparent;border:none;border-radius:8px;cursor:pointer;font-family:var(--font-family-primary);outline:none;min-width:160px}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%] .season-select[_ngcontent-%COMP%]:focus{outline:none}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%]:after{content:"";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:.85rem;height:.85rem;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;transition:transform .2s ease}.season-selector-container[_ngcontent-%COMP%] .season-select-wrapper[_ngcontent-%COMP%]:hover:after{transform:translateY(-30%)}.events-container[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem 1rem;background:#fff;font-family:IBM Plex Sans Condensed,sans-serif}.events-hero[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:calc(var(--banner-md-height) - var(--bandanna-height, 112px));background:#333 center/cover no-repeat}.current-season-banner[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:2rem 1rem;text-align:center;box-shadow:0 4px 20px #28a7454d}.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-icon[_ngcontent-%COMP%]{font-size:2.5rem;color:gold;margin-bottom:.5rem}
26.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-details[_ngcontent-%COMP%] .season-title[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;opacity:.9}.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-details[_ngcontent-%COMP%] .season-name[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.25rem;font-weight:500;opacity:.95}.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-details[_ngcontent-%COMP%] .season-number[_ngcontent-%COMP%]{display:inline-block;background:#fff3;padding:.5rem 1rem;border-radius:20px;font-weight:700;font-size:1rem;letter-spacing:.5px}.bandanna[_ngcontent-%COMP%]{--bandanna-height: 112px;position:relative;overflow:hidden;width:100%;height:var(--bandanna-height);display:flex;align-items:center;background:linear-gradient(90deg,#f26522,#ef3e3a,#93328e,#0072bc,#00a2e8);border-bottom:1px solid rgba(0,0,0,.08)}.bandanna__track[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:0;white-space:nowrap;padding-left:0;animation:_ngcontent-%COMP%_bandanna-scroll 100s linear infinite}.bandanna__item[_ngcontent-%COMP%]{color:#fff;opacity:.95;font-weight:800;letter-spacing:1px;font-size:calc(var(--bandanna-height) * .9);line-height:var(--bandanna-height);text-transform:uppercase}@keyframes _ngcontent-%COMP%_bandanna-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.events-section[_ngcontent-%COMP%]{margin-bottom:40px}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{cursor:pointer;padding:16px 0;border-bottom:1px solid #e0e0e0;transition:all .3s ease}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]:hover{background-color:#f8f9fa}.events-section[_ngcontent-%COMP%] .section-header.ongoing[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{color:#333;padding:4px 8px;border-radius:4px}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;position:relative}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .arrow-icon[_ngcontent-%COMP%]{width:20px;height:20px;color:#666;transition:transform .3s ease}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .arrow-icon.expanded[_ngcontent-%COMP%]{transform:rotate(90deg);color:#4ecdc4}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:var(--font-size-xl);font-weight:600;color:#666;margin:0;transition:color .3s ease}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]:hover{color:#333}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .live-badge[_ngcontent-%COMP%]{background-color:#dc3545;color:#fff;padding:4px 8px;border-radius:4px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:auto}.events-section[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:0;max-height:0;overflow:hidden;opacity:0;transform:translateY(-10px);transition:all .3s ease}.events-section[_ngcontent-%COMP%] .events-grid.expanded[_ngcontent-%COMP%]{max-height:2000px;padding:24px 0;opacity:1;transform:translateY(0)}.events-section[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .no-events[_ngcontent-%COMP%]{grid-column:1/-1;text-align:center;padding:40px;color:#666;font-style:italic}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-container[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--natie-blue);border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin-bottom:16px}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:var(--font-size-md);margin:0}.error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.error-container[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:var(--font-size-md);margin-bottom:16px}.error-container[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]{background-color:var(--natie-blue-accessible);color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:var(--font-size-sm);cursor:pointer;transition:background-color .3s ease}.error-container[_ngcontent-%COMP%] .retry-btn[_ngcontent-%COMP%]:hover{background-color:#0056b3}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.current-season-banner[_ngcontent-%COMP%]{padding:1.5rem .5rem}.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-icon[_ngcontent-%COMP%]{font-size:2rem}.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-detail
26s[_ngcontent-%COMP%] .season-title[_ngcontent-%COMP%]{font-size:1.25rem}.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-details[_ngcontent-%COMP%] .season-name[_ngcontent-%COMP%]{font-size:1rem}.current-season-banner[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-details[_ngcontent-%COMP%] .season-number[_ngcontent-%COMP%]{font-size:.875rem;padding:.375rem .75rem}.events-content[_ngcontent-%COMP%]{max-width:98vw;padding:1rem .2rem 2rem}.events-container[_ngcontent-%COMP%]{padding:1.5rem .8rem}.events-section[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:16px}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:var(--font-size-lg)}}@media (max-width: 480px){.events-content[_ngcontent-%COMP%]{max-width:98vw;padding:1rem .2rem 2rem}.events-container[_ngcontent-%COMP%]{padding:1rem .5rem}.events-section[_ngcontent-%COMP%]{margin-bottom:24px}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:var(--font-size-md)}.events-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .live-badge[_ngcontent-%COMP%]{font-size:var(--font-size-xs);padding:2px 6px}}`]})}}return t})();var Ei=Li(vi());var Ho=(()=>{class t{constructor(e,n){this.http=e,this.fileService=n,this.apiUrl=`${ne.apiUrl}/sponsors`}getAllSponsors(){return this.http.get(this.apiUrl)}getSponsorById(e){return this.http.get(`${this.apiUrl}/${e}`)}getSponsorsByEvent(e){return this.http.get(`${this.apiUrl}/event/${e}`)}getSponsorsByTeamSeason(e){return this.http.get(`${this.apiUrl}/team-season/${e}`)}createSponsor(e,n){let i=new FormData;return Object.keys(e).forEach(d=>{let u=e[d];u!=null&&u!==""&&i.append(d,u.toString())}),n&&i.append("logo",n),this.http.post(this.apiUrl,i)}updateSponsor(e,n,i){let d=new FormData;return Object.keys(n).forEach(u=>{let x=n[u];x!=null&&x!==""&&d.append(u,x.toString())}),i&&d.append("logo",i),this.http.put(`${this.apiUrl}/${e}`,d)}deleteSponsor(e){return this.http.delete(`${this.apiUrl}/${e}`)}linkSponsorToEvent(e,n){return this.http.post(`${this.apiUrl}/${e}/link-event`,{eventId:n})}unlinkSponsorFromEvent(e){return this.http.post(`${this.apiUrl}/${e}/unlink-event`,{})}getSponsorLogoUrl(e){return e.logo?this.fileService.getPublicFilePreviewUrl(e.logo.id):null}static{this.\u0275fac=function(n){return new(n||t)(Q(He),Q(Dt))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function nx(t,s){if(t&1&&(r(0,"div",9),_(1,"img",10),o()),t&2){let e=p();c(),m("src",e.getEventImageUrl(),ae)("alt",e.event.title)}}function ix(t,s){t&1&&(r(0,"div",11)(1,"div",12)(2,"span",13),a(3,"OFFICIAL EVENTS/"),o(),r(4,"span",13),a(5,"OFFICIAL EVENTS/"),o(),r(6,"span",13),a(7,"OFFICIAL EVENTS/"),o(),r(8,"span",13),a(9,"OFFICIAL EVENTS/"),o(),r(10,"span",13),a(11,"OFFICIAL EVENTS/"),o(),r(12,"span",13),a(13,"OFFICIAL EVENTS/"),o()(),r(14,"div",14)(15,"span",13),a(16,"OFFICIAL EVENTS/"),o(),r(17,"span",13),a(18,"OFFICIAL EVENTS/"),o(),r(19,"span",13),a(20,"OFFICIAL EVENTS/"),o(),r(21,"span",13),a(22,"OFFICIAL EVENTS/"),o(),r(23,"span",13),a(24,"OFFICIAL EVENTS/"),o(),r(25,"span",13),a(26,"OFFICIAL EVENTS/"),o()()())}function ox(t,s){t&1&&(r(0,"div",15),_(1,"div",16),r(2,"p"),a(3,"Loading event details..."),o()())}function rx(t,s){if(t&1){let e=E();r(0,"div",17)(1,"h1"),a(2,"Event Not Found"),o(),r(3,"p"),a(4),o(),r(5,"div",18)(6,"button",19),b("click",function(){v(e);let i=p();return M(i.goBack())}),a(7,"\u2190 Back to Events"),o(),r(8,"button",20),b("click",function(){v(e);let i=p();return M(i.loadEvent())}),a(9,"Try Again"),o()()()}if(t&2){let e=p();c(4),O(e.error)}}function ax(t,s){if(t&1&&(r(0,"div",21)(1,"h1",22),a(2),o(),r(3,"p",23),a(4),o(),r(5,"p",24),a(6),o()()),t&2){let e=p();c(2),O(e.event.title),c(2),O(e.event.location),c(2),O(e.event.dateRange||e.formatEventDate()||"")}}function sx(t,s){if(t&1&&(r(0,"p",35),a(1," Full schedule and other event details are available in the "),r(2,"a",36),a(3,"event brochure, here"),o(),a(4,". "),o()),t&2){let e=p(2);c(2),m("href",e.event.link,ae)}}function cx(t,s){t&1&&_(0,"div",37)}function lx(t,s){t&1&&(r(0,"div",38)(1,"p"),a(2,"Map location not available"),o()())}function dx(t,s){t&1&&(r(0,"div",43),_(1,"div",16),r(2,"p"),a(3,"Loading participating teams..."),o()())}function mx(t,s){if(t&1&&(r(0,"div",44)(1,"p"),a(2),o()()),t&2){let e=p(3);c(2),O(e.teamsFtcMessage||"Nu s-au putut \xEEnc\u0103rca echipele. \xCEncearc\u0103 din nou mai t\xE2rziu.")}}function gx(t,s){if(t&1&&(r(0,"span",56),a(1),o()),t&2){let e=p().$implicit;c(),O(e.institution)}}function px(t,s){t&1&&(r(0,"span"),a(1,", "),o())}function ux(t,s){if(t&1&&(r(0,"span",56),a(1),h(2,px,2,0,"span",57),a(3),o()),t&2){let e=p().$implicit;c(),w(" ",e.city,""),c(),m("ngIf",e.city&&e.region),c(),w("",e.region," ")}}function _x(t,s){if(t&1){let e=E();r(0,"button",52),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.onTeamClick(i.id))}),r(1,"span",53),a(2),o(),r(3,"span",54),a(4),o(),h(5,gx,2,1,"span",55)(6,ux,4,3,"span",55),o()}if(t&2){let e=s.$implicit;c(2),O(e.id),c(2),O(e.name),c(),m("ngIf",e.institution),c(),m("ngIf",e.city||e.region)}}function fx(t,s){if(t&1&&(r(0,"div",50),h(1,_x,7,4,"button",51),o()),t&2){let e=p(4);c(),m("ngForOf",e.participatingTeams)}}function hx(t,s){if(t&1){let e=E();r(0,"tr",61),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.onTeamClick(i.id))}),r(1,"td",62),a(2),o(),r(3,"td"),a(4),o(),r(5,"td"),a(6),o(),r(7,"td"),a(8),o(),r(9,"td"),a(10),o()()}if(t&2){let e=s.$implicit;c(2),O(e.id),c(2),O(e.name),c(2),O(e.institution),c(2),O(e.city),c(2),O(e.region)}}
26function Cx(t,s){if(t&1&&(r(0,"div",58)(1,"table",59)(2,"thead")(3,"tr")(4,"th"),a(5,"ID"),o(),r(6,"th"),a(7,"Team"),o(),r(8,"th"),a(9,"Affiliation"),o(),r(10,"th"),a(11,"City"),o(),r(12,"th"),a(13,"Region"),o()()(),r(14,"tbody"),h(15,hx,11,5,"tr",60),o()()()),t&2){let e=p(4);c(15),m("ngForOf",e.participatingTeams)}}function vx(t,s){t&1&&(r(0,"div",63)(1,"p"),a(2,"No teams registered yet"),o()())}function Mx(t,s){t&1&&(r(0,"p",64),a(1," Date despre echipe provin din "),r(2,"a",65),a(3,"API-ul FIRST Tech Challenge"),o(),a(4," (utilizare necomercial\u0103). "),o())}function xx(t,s){if(t&1&&(r(0,"div",45),h(1,fx,2,1,"div",46)(2,Cx,16,1,"div",47)(3,vx,3,0,"div",48)(4,Mx,5,0,"p",49),o()),t&2){let e=p(3);c(),m("ngIf",e.participatingTeams.length>0),c(),m("ngIf",e.participatingTeams.length>0),c(),m("ngIf",e.participatingTeams.length===0),c(),m("ngIf",e.participatingTeams.length>0)}}function bx(t,s){if(t&1&&(r(0,"div",39)(1,"h2",28),a(2,"Participating Teams"),o(),h(3,dx,4,0,"div",40)(4,mx,3,1,"div",41)(5,xx,5,4,"div",42),o()),t&2){let e=p(2);c(3),m("ngIf",e.loadingTeams),c(),m("ngIf",e.teamsError&&!e.loadingTeams),c(),m("ngIf",!e.loadingTeams&&!e.teamsError)}}function Px(t,s){if(t&1&&_(0,"img",75),t&2){let e=p().$implicit,n=p(3);m("src",n.getSponsorLogoUrl(e),ae)("alt",n.getSponsorAltText(e))}}function Ox(t,s){if(t&1&&(r(0,"div",76)(1,"span",77),a(2),o()()),t&2){let e=p().$implicit,n=p(3);c(2),O(n.getSponsorDisplayName(e))}}function yx(t,s){if(t&1&&(r(0,"div",78),a(1),o()),t&2){let e=p().$implicit,n=p(3);c(),w(" ",n.getSponsorDisplayName(e)," ")}}function wx(t,s){if(t&1){let e=E();r(0,"div",71),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.onSponsorClick(i))}),h(1,Px,1,2,"img",72)(2,Ox,3,1,"div",73)(3,yx,2,1,"div",74),o()}if(t&2){let e=s.$implicit,n=p(3);I("clickable",n.hasSponsorLink(e))("no-logo",!n.hasSponsorLogo(e))("no-name",!e.name||!e.name.trim()),m("title",n.getSponsorTitle(e)),c(),m("ngIf",n.hasSponsorLogo(e)),c(),m("ngIf",!n.hasSponsorLogo(e)),c(),m("ngIf",n.hasSponsorLogo(e)&&(!e.name||!e.name.trim()))}}function Sx(t,s){if(t&1&&_(0,"img",75),t&2){let e=p().$implicit,n=p(4);m("src",n.getSponsorLogoUrl(e),ae)("alt",n.getSponsorAltText(e))}}function Ex(t,s){if(t&1&&(r(0,"div",76)(1,"span",77),a(2),o()()),t&2){let e=p().$implicit,n=p(4);c(2),O(n.getSponsorDisplayName(e))}}function Tx(t,s){if(t&1&&(r(0,"div",78),a(1),o()),t&2){let e=p().$implicit,n=p(4);c(),w(" ",n.getSponsorDisplayName(e)," ")}}function kx(t,s){if(t&1){let e=E();r(0,"div",71),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.onSponsorClick(i))}),h(1,Sx,1,2,"img",72)(2,Ex,3,1,"div",73)(3,Tx,2,1,"div",74),o()}if(t&2){let e=s.$implicit,n=p(4);I("clickable",n.hasSponsorLink(e))("no-logo",!n.hasSponsorLogo(e))("no-name",!e.name||!e.name.trim()),m("title",n.getSponsorTitle(e)),c(),m("ngIf",n.hasSponsorLogo(e)),c(),m("ngIf",!n.hasSponsorLogo(e)),c(),m("ngIf",n.hasSponsorLogo(e)&&(!e.name||!e.name.trim()))}}function Ix(t,s){if(t&1&&(r(0,"div",79),h(1,kx,4,10,"div",69),o()),t&2){let e=p(3);c(),m("ngForOf",e.eventSponsors.slice(3,6))}}function Fx(t,s){if(t&1&&(r(0,"div",66)(1,"div",67),a(2,"Local Partners"),o(),r(3,"div",68),h(4,wx,4,10,"div",69),o(),h(5,Ix,2,1,"div",70),o()),t&2){let e=p(2);c(4),m("ngForOf",e.eventSponsors.slice(0,3)),c(),m("ngIf",e.eventSponsors.length>3)}}function Dx(t,s){if(t&1&&(r(0,"div",25)(1,"div",26)(2,"div",27)(3,"h2",28),a(4,"About This Event"),o(),r(5,"p"),a(6),o(),h(7,sx,5,1,"p",29),o(),r(8,"div",30),h(9,cx,1,0,"div",31)(10,lx,3,0,"div",32),o()(),h(11,bx,6,3,"div",33)(12,Fx,6,2,"div",34),o()),t&2){let e=p();c(6),O(e.event.description),c(),m("ngIf",e.hasUploadedBrochureFile()),c(2),m("ngIf",e.event.coordinates),c(),m("ngIf",!e.event.coordinates),c(),m("ngIf",e.event.ftcEventCode),c(),m("ngIf",e.eventSponsors&&e.eventSponsors.length>0)}}function Rx(t,s){if(t&1){let e=E();r(0,"div",80)(1,"button",81),b("click",function(){v(e);let i=p();return M(i.goBack())}),a(2,"\u2190 Back to Events"),o()()}}var V0=(()=>{class t{constructor(e,n,i,d,u){this.route=e,this.router=n,this.eventService=i,this.sponsorService=d,this.seoService=u,this.ftcscoringeventid="",this.event=null,this.participatingTeams=[],this.loadingTeams=!1,this.teamsError=!1,this.teamsFtcMessage=null,this.loading=!0,this.error=null,this.eventSponsors=[],this.map=null}ngOnInit(){this.route.params.subscribe(e=>{this.ftcscoringeventid=e.ftcscoringeventid,this.loadEvent()})}ngAfterViewInit(){}ngOnDestroy(){this.destroyMap()}destroyMap(){if(this.map){try{this.map.remove()}catch{}this.map=null}}normalizeFtcRouteParam(e){return(e??"").trim().toUpperCase()}loadEvent(){return q(this,null,function*(){try{this.destroyMap(),this.loading=!0,this.error=null;let e=yield this.eventService.getAllEvents().toPromise(),n=this.normalizeFtcRouteParam(this.ftcscoringeventid);if(e&&e.length>0){if(this.event=e.find(i=>this.normalizeFtcRouteParam(i.ftcEventCode)===n)||null,!this.event){let i=parseInt(this.ftcscoringeventid,10);isNaN(i)||(this.event=e.find(d=>d.id===i)||null)}if(this.event&&(!this.event.partners||this.event.partners.length===0))try{let i=yield this.eventService.getEventById(this.event.id).toPromise();i&&(this.event=i)}catch(i){console.warn("Could not get individual event:",i)}}if(!this.event)this.error=`Nu exist\u0103 un eveniment cu codul FTC \u201E${this.ftcscoringeventid}\u201D (sau ID numeric) \xEEn lista curent\u0103. Verific\u0103 codul \xEEn administrare.`;else{this.enhanceEventData();let i=this.event.title||`Event ${this.ftcscoringeventid}`;this.updateSeoMeta(i),this.event.id&&(yield this.loadEventSponsors(this.event.id)),this.event.ftcEventCode&&this.loadParticipatingTeams(),setTimeout(()=>{this.initializeMap()},100)}}catch(e){console.error("Error loading event:",e),this.error="An error occurred while loading the event."}finally{this.loading=!1}})}enhanceEventData(){this.event&&(!this.event.coordinates&&this.event.latitude&&this.event.longitude&&(this.event.coordinates={lat:this.event.latitude,lng:this.event.longitude}),this.event.address||(this.event.address=this.event.location),this.event.tags||(this.event.tags=[this.event.category]),this.event.dateRange||(this.event.dateRange=this.formatEventDate()))}updateSeoMeta(e){this.seoService.updateMeta({title:`${e} | Evenimente FTC Rom\xE2nia`,description:this.buildEventDescription(e),image:this.getEventImageUrl(),imageAlt:`${e} - eveniment FIRST Tech Challenge Rom\xE2nia`})}buildEventDescription(e){let n=this.event?.dateRange?`, ${this.event.dateRange}`:"",i=this.event?.location?` la ${this.event.location}`:"";return`${e} este un eveniment FIRST Tech Challenge Rom\xE2nia${n}${i}. Vezi detalii despre loca\u021Bie, echipe participante \u0219i parteneri.`}goBack(){this.router.navigate(["/events"])}initializeMap(){if(!this.event?.coordinates)return;let e=document.getElementById("leaflet-map");if(!e)return;this.destroyMap();let n=this.event.coordinates.lat,i=this.event.coordinates.lng;this.map=Ei.map(e,{preferCanvas:!0}
26).setView([n,i],15),Ei.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(this.map);let d=Ei.divIcon({className:"custom-marker",html:'<div style="background-color: #e74c3c; width: 20px; height: 20px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); border: 2px solid #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.3);"></div>',iconSize:[20,20],iconAnchor:[10,20]}),u=Ei.marker([n,i],{icon:d}).addTo(this.map);this.event.title&&u.bindPopup(`<b>${this.event.title}</b><br>${this.event.location||""}`).openPopup(),requestAnimationFrame(()=>{this.map?.invalidateSize()})}getOpenStreetMapLink(){return this.event?.coordinates?`https://www.openstreetmap.org/?mlat=${this.event.coordinates.lat}&mlon=${this.event.coordinates.lng}&zoom=15&layers=M`:""}getAlternativeMapUrl(){if(!this.event?.coordinates)return"";let e=this.event.coordinates.lat,n=this.event.coordinates.lng;return`https://embed.wikimedia.org/?lang=en&domain=openstreetmap.org&title=${encodeURIComponent(this.event.title||"Event Location")}&lat=${e}&lon=${n}&zoom=15&width=100%&height=300`}formatEventDate(){if(!this.event)return"";let e=new Date(this.event.dateStart),n=new Date(this.event.dateEnd);return e.toDateString()===n.toDateString()?e.toLocaleDateString("ro-RO"):`${e.toLocaleDateString("ro-RO")} - ${n.toLocaleDateString("ro-RO")}`}loadParticipatingTeams(){!this.event?.ftcEventCode||!this.event?.id||(this.loadingTeams=!0,this.teamsError=!1,this.teamsFtcMessage=null,this.participatingTeams=[],this.eventService.getEventFtcTeams(this.event.id).subscribe({next:e=>{this.loadingTeams=!1,this.participatingTeams=this.transformTeamsData({teams:e.teams}),e.ftcError?(this.teamsFtcMessage=this.ftcTeamsUserMessage(e.ftcError),this.teamsError=!0):(this.teamsFtcMessage=null,this.teamsError=!1)},error:()=>{this.loadingTeams=!1,this.teamsError=!0,this.teamsFtcMessage="Nu s-au putut \xEEnc\u0103rca echipele. \xCEncearc\u0103 din nou mai t\xE2rziu.",this.participatingTeams=[]}}))}ftcTeamsUserMessage(e){if(!e)return null;
26switch(e){case"missing_ftc_event_code":return"Acest eveniment nu are cod FTC configurat.";case"missing_ftc_year":return"Sezonul evenimentului nu are configurat anul FTC Events API (\xEEn administrare \u2192 sezoane).";case"event_not_found_in_ftc":return"Evenimentul nu apare \xEEn datele FIRST pentru sezonul configurat; verific\u0103 codul \u0219i anul FTC.";case"ftc_auth_failed":return"Autentificarea la API-ul FIRST a e\u0219uat pe server. Contacteaz\u0103 administratorul.";case"ftc_credentials_missing":return"Pe server nu sunt configurate creden\u021Bialele pentru API-ul FIRST (FTC_API_USERNAME / FTC_API_AUTHORIZATION_KEY).";case"connection":return"Nu s-a putut contacta API-ul FIRST. \xCEncearc\u0103 din nou mai t\xE2rziu.";case"bad_response":case"http_error":return"R\u0103spuns nea\u0219teptat de la server la \xEEnc\u0103rcarea echipelor.";case"server_error":return"Serverul nu a putut \xEEnc\u0103rca lista de echipe. \xCEncearc\u0103 din nou mai t\xE2rziu sau contacteaz\u0103 administratorul.";default:return e.startsWith("ftc_http_")?"API-ul FIRST a returnat o eroare la listarea echipelor.":`Nu s-au putut \xEEnc\u0103rca datele echipelor (${e}).`}}transformTeamsData(e){return!e?.teams||!Array.isArray(e.teams)?[]:e.teams.map(n=>{let i=String(n.nameShort??n.NameShort??"").trim(),d=String(n.nameFull??n.NameFull??"").trim(),u=String(n.schoolName??n.SchoolName??"").trim(),x=i||d||"\u2014",y=u;return i&&d&&d!==i&&(y=d),{id:String(n.teamNumber??""),name:x,institution:y,city:String(n.city??"").trim(),region:String(n.stateProv??"").trim()}})}onTeamClick(e){this.router.navigate(["/teams",e])}getEventImageUrl(){return this.event?.image?this.event.image.path&&this.event.image.path.startsWith("assets/")?this.event.image.path:`${ne.apiUrl}/files/public/${this.event.image.id}`:"assets/events-page/post1_img.webp"}hasUploadedBrochureFile(){let e=(this.event?.link??"").trim();return e?/\/files\/public\//i.test(e):!1}loadEventSponsors(e){return q(this,null,function*(){try{let n=yield this.sponsorService.getSponsorsByEvent(e).toPromise();n?.success&&(this.eventSponsors=n.message)}catch(n){console.error("Error loading event sponsors:",n),this.eventSponsors=[]}})}getSponsorLogoUrl(e){return e.logo?`${ne.apiUrl}/files/public/${e.logo.id}`:null}hasSponsorLogo(e){return!!(e.logo&&e.logo.id)}getSponsorDisplayName(e){return e.name&&e.name.trim()?e.name.trim():"Partner"}
26getSponsorAltText(e){return`${this.getSponsorDisplayName(e)} logo`}getSponsorTitle(e){let n=this.getSponsorDisplayName(e);return e.link&&e.link.trim()?`Click to visit ${n} website`:n}hasSponsorLink(e){return!!(e.link&&e.link.trim())}onSponsorClick(e){e.link&&e.link.trim()&&window.open(e.link,"_blank","noopener,noreferrer")}static{this.\u0275fac=function(n){return new(n||t)(T(Je),T(ke),T($o),T(Ho),T(Wo))}}static{this.\u0275cmp=V({type:t,selectors:[["app-event-detail"]],standalone:!0,features:[B],decls:9,vars:7,consts:[[1,"event-detail-container"],["class","events-hero event-detail-hero",4,"ngIf"],["class","bandanna","aria-hidden","true",4,"ngIf"],[1,"events-content","event-detail-content"],["class","loading-container",4,"ngIf"],["class","error-state",4,"ngIf"],["class","event-header",4,"ngIf"],["class","event-details-section",4,"ngIf"],["class","back-button",4,"ngIf"],[1,"events-hero","event-detail-hero"],[1,"event-detail-hero-img",3,"src","alt"],["aria-hidden","true",1,"bandanna"],[1,"bandanna__track"],[1,"bandanna__item"],["aria-hidden","true",1,"bandanna__track"],[1,"loading-container"],[1,"loading-spinner"],[1,"error-state"],[1,"error-actions"],[1,"back-button",3,"click"],[1,"retry-button",3,"click"],[1,"event-header"],[1,"event-title"],[1,"event-location"],[1,"event-date"],[1,"event-details-section"],[1,"event-info-map-container"],[1,"event-description"],[1,"section-heading"],["class","brochure-link",4,"ngIf"],[1,"event-map"],["id","leaflet-map","class","leaflet-map-container",4,"ngIf"],["class","map-placeholder",4,"ngIf"],["class","participating-teams-section",4,"ngIf"],["class","partners-section",4,"ngIf"],[1,"brochure-link"],["target","_blank","rel","noopener noreferrer",3,"href"],["id","leaflet-map",1,"leaflet-map-container"],[1,"map-placeholder"],[1,"participating-teams-section"],["class","loading-container loading-container--compact",4,"ngIf"],["class","teams-error",4,"ngIf"],["class","teams-data",4,"ngIf"],[1,"loading-container","loading-container--compact"],[1,"teams-error"],[1,"teams-data"],["class","teams-cards",4,"ngIf"],["class","teams-table-container",4,"ngIf"],["class","teams-empty",4,"ngIf"],["class","teams-ftc-attribution",4,"ngIf"],[1,"teams-cards"],["type","button","class","team-card",3,"click",4,"ngFor","ngForOf"],["type","button",1,"team-card",3,"click"],[1,"team-card__number"],[1,"team-card__name"],["class","team-card__meta",4,"ngIf"],[1,"team-card__meta"],[4,"ngIf"],[1,"teams-table-container"],[1,"teams-table"],[3,"click",4,"ngFor","ngForOf"],[3,"click"],[1,"team-id"],[1,"teams-empty"],[1,"teams-ftc-attribution"],["href","https://ftc-events.firstinspires.org/services/API","target","_blank","rel","noopener noreferrer"],[1,"partners-section"],[1,"partners-label"],[1,"partners-logos-row"],["class","partner-logo-container",3,"clickable","no-logo","no-name","title","click",4,"ngFor","ngForOf"],["class","partners-logos-row more",4,"ngIf"],[1,"partner-logo-container",3,"click","title"],["class","partner-logo",3,"src","alt",4,"ngIf"],["class","sponsor-text-display",4,"ngIf"],["class","sponsor-name-fallback",4,"ngIf"],[1,"partner-logo",3,"src","alt"],[1,"sponsor-text-display"],[1,"sponsor-text-name"],[1,"sponsor-name-fallback"],[1,"partners-logos-row","more"],[1,"back-button"],["type","button",3,"click"]],template:function(n,i){n&1&&(r(0,"div",0),h(1,nx,2,2,"div",1)(2,ix,27,0,"div",2),r(3,"div",3),h(4,ox,4,0,"div",4)(5,rx,10,1,"div",5)(6,ax,7,3,"div",6)(7,Dx,13,6,"div",7)(8,Rx,3,0,"div",8),o()()),n&2&&(c(),m("ngIf",!i.loading&&!i.error&&i.event),c(),m("ngIf",!i.loading&&!i.error&&i.event),c(2),m("ngIf",i.loading),c(),m("ngIf",!i.loading&&i.error),c(),m("ngIf",!i.loading&&!i.error&&i.event),c(),m("ngIf",!i.loading&&!i.error&&i.event),c(),m("ngIf",!i.loading&&!i.error))},dependencies:[H,X,$],styles:[".event-detail-container[_ngcontent-%COMP%]{width:100%;background:#fff;font-family:IBM Plex Sans Condensed,sans-serif}.events-hero.event-detail-hero[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:calc(var(--banner-md-height) - var(--bandanna-height, 112px));background:#333 center/cover no-repeat;overflow:hidden;position:relative}.event-detail-hero-img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;display:block}.bandanna[_ngcontent-%COMP%]{--bandanna-height: 112px;position:relative;overflow:hidden;width:100%;height:var(--bandanna-height);display:flex;align-items:center;background:linear-gradient(90deg,#f26522,#ef3e3a,#93328e,#0072bc,#00a2e8);border-bottom:1px solid rgba(0,0,0,.08)}.bandanna__track[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:0;white-space:nowrap;padding-left:0;animation:_ngcontent-%COMP%_bandanna-scroll 100s linear infinite}.bandanna__item[_ngcontent-%COMP%]{color:#fff;opacity:.95;font-weight:800;letter-spacing:1px;font-size:calc(var(--bandanna-height) * .9);line-height:var(--bandanna-height);text-transform:uppercase}@keyframes _ngcontent-%COMP%_bandanna-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.events-content.event-detail-content[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem 1rem 3rem;background:#fff;box-shadow:0 2px 16px #0000000f}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-container.loading-container--compact[_ngcontent-%COMP%]{padding:32px 16px}.loading-container[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--natie-blue);border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin-bottom:16px}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:var(--font-size-md);margin:0}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.error-state[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:var(--font-size-3xl);
26color:#e74c3c;margin-bottom:1rem}.error-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:var(--font-size-md);color:#666;margin-bottom:2rem}.error-state[_ngcontent-%COMP%] .error-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-state[_ngcontent-%COMP%] .error-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.error-state[_ngcontent-%COMP%] .error-actions[_ngcontent-%COMP%] button.back-button[_ngcontent-%COMP%]{background-color:#6c757d;color:#fff}.error-state[_ngcontent-%COMP%] .error-actions[_ngcontent-%COMP%] button.back-button[_ngcontent-%COMP%]:hover{background-color:#5a6268}.error-state[_ngcontent-%COMP%] .error-actions[_ngcontent-%COMP%] button.retry-button[_ngcontent-%COMP%]{background-color:#ff6b35;color:#fff}.error-state[_ngcontent-%COMP%] .error-actions[_ngcontent-%COMP%] button.retry-button[_ngcontent-%COMP%]:hover{background-color:#e55a2b}.event-header[_ngcontent-%COMP%]{max-width:900px;width:100%;margin:0 auto;padding:1.5rem 1rem 1rem;text-align:center}.event-header[_ngcontent-%COMP%] .event-title[_ngcontent-%COMP%]{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700;margin:0 0 .25rem;line-height:1.2;color:#111}.event-header[_ngcontent-%COMP%] .event-location[_ngcontent-%COMP%]{font-size:var(--font-size-md);margin:0 0 .25rem;color:#666}.event-header[_ngcontent-%COMP%] .event-date[_ngcontent-%COMP%]{font-size:var(--font-size-base);margin:0;color:#777}.section-heading[_ngcontent-%COMP%]{color:#333;margin-bottom:1rem;font-size:var(--font-size-xl);font-weight:600}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;line-height:1.6;margin-bottom:1rem;font-size:var(--font-size-base)}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-description[_ngcontent-%COMP%] .brochure-link[_ngcontent-%COMP%]{margin-top:1.5rem}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-description[_ngcontent-%COMP%] .brochure-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#4ecdc4;text-decoration:underline;font-weight:500;transition:color .2s ease}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-description[_ngcontent-%COMP%] .brochure-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#45b7af}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-map[_ngcontent-%COMP%] .leaflet-map-container[_ngcontent-%COMP%]{width:100%;height:300px;border-radius:12px;box-shadow:0 2px 8px #0000001a;z-index:1}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-map[_ngcontent-%COMP%] .map-placeholder[_ngcontent-%COMP%]{height:300px;background:#f8f9fa;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#666;font-style:italic}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%]{margin:2rem 0}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-error[_ngcontent-%COMP%]{text-align:center;padding:1.5rem 1rem;color:#721c24;background:#f8d7da;border-radius:12px;border:1px solid #f5c6cb}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-error[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--font-size-sm);line-height:1.5}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-data[_ngcontent-%COMP%]{margin-top:0}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:#666;font-style:italic;background:#f8f9fa;border-radius:12px}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-ftc-attribution[_ngcontent-%COMP%]{margin:1rem 0 0;font-size:var(--font-size-xs);color:#888;line-height:1.4}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-ftc-attribution[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#0072bc;text-decoration:underline}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-ftc-attribution[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#0056a3}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-cards[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:14px 16px;border:1px solid #e0e0e0;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000000f;cursor:pointer;font-family:inherit;transition:background-color .2s ease,box-shadow .2s ease}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]:hover{background-color:#f8f9fa;box-shadow:0 4px 12px #00000014}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]:focus-visible{outline:2px solid #4ecdc4;outline-offset:2px}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .team-card__number[_ngcontent-%COMP%]{font-size:var(--font-size-lg);font-weight:700;color:#0072bc;margin-bottom:4px}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .team-card__name[_ngcontent-%COMP%]{font-size:var(--font-size-md);font-weight:600;color:#111;line-height:1.3;margin-bottom:6px}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .team-card__meta[_ngcontent-%COMP%]{font-size:var(--font-size-sm);color:#666;line-height:1.35}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table-container[_ngcontent-%COMP%]{display:none;overflow-x:auto;border-radius:12px;box-shadow:0 2px 8px #0000001a}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{background:#333;color:#fff}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-bottom:1px solid #e0e0e0;cursor:pointer;transition:background-color .2s ease}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#f8f9fa}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child{border-bottom:none}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:1rem;color:#333;font-size:.9rem}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.team-id[_ngcontent-%COMP%]{color:#4ecdc4;text-decoration:underline;font-weight:500}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(2n){background-color:#fafafa}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%]{margin:2rem 0 0;border-radius:10px;padding:18px 20px 24px;text-align:left;background:#fff}.event-details-section[_ngcontent-%COMP%] .partners-label[_ngcontent-%COMP%]{font-size:17px;font-weight:600;color:#3e3c8c;margin-bottom:16px}.event-details-section[_ngcontent-%COMP%] .partners-logos-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:0;margin:0}.event-details-section[_ngcontent-%COMP%] .partners-logos-row.more[_ngcontent-%COMP%]{margin-top:18px}.event-details-section[_ngcontent-%COMP%] .partner-logo-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90px;transition:all .3s ease;flex:1 1 0;margin:0 8px}.event-details-section[_ngcontent-%COMP%] .partner-logo-container.clickable[_ngcontent-%COMP%]{cursor:pointer}.event-details-section[_ngcontent-%COMP%] .partner-logo-container.clickable[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.event-details-section[_ngcontent-%COMP%] .partner-logo-container.no-logo[_ngcontent-%COMP%]{min-height:90px;padding:12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border:2px solid #dee2e6;box-shadow:0 2px 6px #00000014;min-width:120px;max-width:180px}.event-details-section[_ngcontent-%COMP%] .partner-logo-container.no-logo[_ngcontent-%COMP%]:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);box-shadow:0 3px 8px #0000001f}.event-details-section[_ngcontent-%COMP%] .partner-logo-container.no-name[_ng
26content-%COMP%]{min-height:110px;padding:8px;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.event-details-section[_ngcontent-%COMP%] .partner-logo-container.no-name[_ngcontent-%COMP%] .partner-logo[_ngcontent-%COMP%]{margin-bottom:8px}.event-details-section[_ngcontent-%COMP%] .partner-logo[_ngcontent-%COMP%]{flex:0 0 auto;max-width:180px;min-width:0;height:90px;object-fit:contain;background:none;border-radius:0;box-shadow:none;padding:0;transition:transform .2s}.event-details-section[_ngcontent-%COMP%] .sponsor-text-display[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center}.event-details-section[_ngcontent-%COMP%] .sponsor-text-display[_ngcontent-%COMP%] .sponsor-text-name[_ngcontent-%COMP%]{font-size:16px;font-weight:700;color:#3e3c8c;text-align:center;line-height:1.2;word-wrap:break-word;hyphens:auto;max-width:100%;display:block;text-shadow:0 1px 2px rgba(0,0,0,.1);letter-spacing:.3px}.event-details-section[_ngcontent-%COMP%] .sponsor-name-fallback[_ngcontent-%COMP%]{font-size:12px;font-weight:600;color:#6c757d;text-align:center;margin-top:4px;padding:3px 6px;background:#fff;border-radius:4px;border:1px solid #e9ecef;box-shadow:0 1px 2px #0000001a;max-width:160px;word-wrap:break-word}.back-button[_ngcontent-%COMP%]{margin-top:2rem}.back-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#4ecdc4;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.back-button[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:#45b7af}@media (min-width: 769px){.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-cards[_ngcontent-%COMP%]{display:none}.event-details-section[_ngcontent-%COMP%] .participating-teams-section[_ngcontent-%COMP%] .teams-table-container[_ngcontent-%COMP%]{display:block}}@media (max-width: 768px){.events-content.event-detail-content[_ngcontent-%COMP%]{max-width:98vw;padding:1rem .2rem 2rem}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1.5rem}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-map[_ngcontent-%COMP%] .leaflet-map-container[_ngcontent-%COMP%], .event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-map[_ngcontent-%COMP%] .map-placeholder[_ngcontent-%COMP%]{height:250px}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%] .partner-logo-container.no-logo[_ngcontent-%COMP%]{min-height:70px;padding:8px;min-width:100px;max-width:120px}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%] .partner-logo[_ngcontent-%COMP%]{max-width:120px;height:70px}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%] .sponsor-text-display[_ngcontent-%COMP%] .sponsor-text-name[_ng
26content-%COMP%]{font-size:14px;letter-spacing:.2px}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%] .sponsor-name-fallback[_ngcontent-%COMP%]{font-size:11px;padding:2px 4px;max-width:100px}}@media (max-width: 480px){.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%]{gap:1rem}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-description[_ngcontent-%COMP%] .section-heading[_ngcontent-%COMP%]{font-size:var(--font-size-lg)}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.9rem}.event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-map[_ngcontent-%COMP%] .leaflet-map-container[_ngcontent-%COMP%], .event-details-section[_ngcontent-%COMP%] .event-info-map-container[_ngcontent-%COMP%] .event-map[_ngcontent-%COMP%] .map-placeholder[_ngcontent-%COMP%]{height:200px}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%] .partner-logo-container.no-logo[_ngcontent-%COMP%]{min-height:60px;padding:6px;min-width:80px;max-width:100px;margin:0 2px}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%] .partner-logo[_ngcontent-%COMP%]{max-width:100px;height:60px;margin:0 2px}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%] .sponsor-text-display[_ngcontent-%COMP%] .sponsor-text-name[_ng
26content-%COMP%]{font-size:12px;letter-spacing:.1px}.event-details-section[_ngcontent-%COMP%] .partners-section[_ngcontent-%COMP%] .sponsor-name-fallback[_ngcontent-%COMP%]{font-size:10px;padding:2px 3px;max-width:80px}}"]})}}return t})();var B0=(()=>{class t{constructor(e){this.host=e,this.animationFrame=null,this.scrollItems=[],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}scrollToEducationImpact(e){e.preventDefault();let n=this.host.nativeElement.querySelector("#education-impact"),i=this.browserWindow?.matchMedia("(prefers-reduced-motion: reduce)").matches??!0;n?.scrollIntoView({behavior:i?"auto":"smooth",block:"start"})}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument,n=e.defaultView;!n||n.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=n,this.scrollContainer=e.body,this.host.nativeElement.classList.add("results-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll([".results-heading",".results-metric",".results-championship__layout > *",".results-global__layout > *",".results-quote"].join(","))),this.scrollItems.forEach(i=>i.classList.add("results-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),n.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.browserWindow)return;let e=this.browserWindow.innerHeight*.96,n=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(i=>i.style.setProperty("--results-item-progress",this.clamp((e-i.getBoundingClientRect().top)/(e-n)).toFixed(3)))}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-results"]],standalone:!0,features:[B],decls:144,vars:0,consts:[[1,"results-page"],["aria-labelledby","results-title",1,"results-hero"],["src","assets/bannere/results.jpg","alt","Comunitatea FIRST Tech Challenge Rom\xE2nia la un eveniment","loading","eager"],[1,"results-hero__overlay"],[1,"results-container","results-hero__content"],[1,"results-eyebrow"],["id","results-title"],["href","#education-impact",1,"results-button",3,"click"],["aria-hidden","true"],["id","education-impact","aria-labelledby","education-title",1,"results-section","results-education"],[1,"results-container"],[1,"results-heading"],["id","education-title"],[1,"results-metric-grid"],[1,"results-metric"],[1,"results-metric","results-metric--accent"],[1,"results-metric","results-metric--wide"],[1,"results-education__note"],["aria-labelledby","championship-title",1,"results-section","results-championship"],[1,"results-container","results-championship__layout"],["id","championship-title"],[1,"results-achievement-list"],["aria-labelledby","global-title",1,"results-section","results-global"],["id","global-title"],[1,"results-global__layout"],[1,"results-global__intro"],["routerLink","/about/first-global",1,"results-text-link"],[1,"results-achievement-list","results-achievement-list--light"],["aria-labelledby","testimonials-title",1,"results-section","results-testimonials"],[1,"results-heading","results-heading--left"],["id","testimonials-title"],[1,"results-testimonial-grid"],[1,"results-quote"],[1,"results-quote","results-quote--accent"],["aria-labelledby","closing-title",1,"results-closing"],[1,"results-container","results-closing__layout"],["id","closing-title"],["routerLink","/contribute/companies",1,"results-button"]],template:function(n,i){n&1&&(r(0,"main",0)(1,"section",1),_(2,"img",2)(3,"div",3),r(4,"div",4)(5,"p",5),a(6,"Na\u021Bie Prin Educa\u021Bie \xB7 Impact"),o(),r(7,"h1",6),a(8,"Dezvoltarea educa\u021Biei \xEEn \u0219coli"),o(),r(9,"p"),a(10,"Prin programul FIRST Tech Challenge, am reu\u0219it s\u0103 sprijinim \u0219i s\u0103 dezvolt\u0103m educa\u021Bia STEM \xEEn Rom\xE2nia:"),o(),r(11,"a",7),b("click",function(u){return i.scrollToEducationImpact(u)}),a(12,"Descoper\u0103 impactul "),r(13,"span",8),a(14,"\u2193"),o()()()(),r(15,"section",9)(16,"div",10)(17,"div",11)(18,"p",5),a(19,"Educa\u021Bie pus\u0103 \xEEn mi\u0219care"),o(),r(20,"h2",12),a(21,"Un ecosistem care ajunge \xEEn \u0219coli din toat\u0103 \u021Bara."),o(),r(22,"p"),a(23,"Rezultatele programului se v\u0103d \xEEn echipe, elevi, licee \u0219i resursele care sus\u021Bin \xEEnv\u0103\u021Barea practic\u0103."),o()(),r(24,"div",13)(25,"article",14)(26,"strong"),a(27,"236"),o(),r(28,"span"),a(29,"echipe de robotic\u0103 active la nivel na\u021Bional"),o()(),r(30,"article",15)(31,"strong"),a(32,"10.800"),o(),r(33,"span"),a(34,"elevi implica\u021Bi direct \xEEn competi\u021Bii \u0219i activit\u0103\u021Bi"),o()(),r(35,"article",14)(36,"strong"),a(37,"140"),o(),r(38,"span"),a(39,"licee incluse \xEEn program"),o()(),r(40,"article",16)(41,"strong"),a(42,"750.000 \u20AC"),o(),r(43,"span"),a(44,"investi\u021Bi \xEEn kit-uri de robotic\u0103 \u0219i imprimante 3D pentru liceele din Rom\xE2nia"),o()()(),r(45,"p",17),a(46,"Prezen\u021B\u0103 \xEEn numeroase jude\u021Be \u0219i ora\u0219e din \xEEntreaga \u021Bar\u0103."),o()()(),r(47,"section",18)(48,"div",19)(49,"div")(50,"p",5),a(51,"FIRST Championship"),o(),r(52,"h2",20),a(53,"Campionate mondiale (FIRST Championship)"),o(),r(54,"p"),a(55,"Particip\u0103rile interna\u021Bionale reflect\u0103 munca elevilor, mentorilor \u0219i comunit\u0103\u021Bii FIRST Tech Challenge Rom\xE2nia."),o()(),r(56,"ul",21)(57,"li")(58,"strong"),a(59,"10 particip\u0103ri"),o(),a(60," la Campionatul Mondial"),o(),r(61,"li")(62,"strong"),a(63,"3 titluri"),o(),a(64," de campioni mondiali c\xE2\u0219tigate pe teren"),o(),r(65,"li"),a(66,"Numeroase "),r(67,"strong"),a(68,"premii \u0219i distinc\u021Bii"),o(),a(69," ob\u021Binute de-a lungul anilor"),o(),r(70,"li")(71,"strong"),a(72,"Final\u0103 Rom\xE2nia vs. Rom\xE2nia"),o(),a(73,", un moment unic \xEEn istoria competi\u021Biei"),o(),r(74,"li")(75,"strong"),a(76,"Recunoa\u0219tere \u0219i apreciere"),o(),a(77," din partea comunit\u0103\u021Bii interna\u021Bionale FIRST"),o()()()(),r(78,"section",22)(79,"div",10)(80,"div",11)(81,"p",5),a(82,"FIRST Global"),o(),r(83,"h2",23),a(84,"Olimpiade pe \u021B\u0103ri (FIRST Global)"),o()(),r(85,"div",24)(86,"div",25)(87,"p")(88,"strong"),a(89,"FIRST Global Challenge"),o(),a(90," este o adev\u0103rat\u0103 \u201Eolimpiad\u0103 interna\u021Bional\u0103 de robotic\u0103\u201D, care reune\u0219te anual echipe din peste 190 de \u021B\u0103ri."),o(),r(91,"p"),a(92,"Rom\xE2nia este reprezentat\u0103 \xEEn fiecare an de Team Romania, o echip\u0103 format\u0103 din liceeni pasiona\u021Bi de tehnologie, selectat\u0103 dintre cele mai bune echipe din programul na\u021Bional "),r(93,"strong"),a(94,"FIRST Tech Challenge Rom\xE2nia."),o()(),r(95,"a",26),a(96,"Descoper\u0103 FIRST Global "),r(97,"span",8),a(98,"\u2192"),o()()(),r(99,"ul",27)(100,"li"),a(101,"Echipa noastr\u0103 a ob\u021Binut constant rezultate remarcabile, fiind apreciat\u0103 at\xE2t pentru performan\u021Bele tehnice, c\xE2t \u0219i pentru spiritul de colaborare \u0219i inova\u021Bie."),o(),r(102,"li")(103,"strong"),a(104,"Dean Kamen"),o(),a(105,", fondatorul FIRST, a men\u021Bionat \xEEn mai multe r\xE2nduri Rom\xE2nia ca un exemplu de implicare \u0219i excelen\u021B\u0103, felicit\xE2nd at\xE2t elevii, c\xE2t \u0219i profesorii \u0219i comunitatea pentru impactul creat."),o(),r(106,"li"),a(107,"Prin participarea la FIRST Global, Rom\xE2nia \xEE\u0219i consolideaz\u0103 imaginea de \u021Bar\u0103 inovatoare, care investe\u0219te \xEEn educa\u021Bia STEM \u0219i \xEEn viitorul tinerilor."),o()()()()(),r(108,"section",28)(109,"div",10)(110,"div",29)(111,"p",5),a(112,"Schimb\u0103m o genera\u021Bie"),o(),r(113,"h2",30),a(114,"Schimb\u0103m o genera\u021Bie - Testimoniale"),o(),r(115,"p"),a(116,"Cel mai important rezultat al programului FIRST Tech Challenge Rom\xE2nia este faptul c\u0103 reu\u0219im s\u0103 facilit\u0103m accesul la educa\u021Bie pentru mii de elevi anual, indiferent de mediul din care provin. Prin proiectele pe care le desf\u0103\u0219oar\u0103, tinerii nu doar c\u0103 \xEEnva\u021B\u0103 s\u0103 construiasc\u0103 \u0219i s\u0103 programeze robo\u021Bi, dar descoper\u0103 \u0219i ce \xEEnseamn\u0103 colaborarea, inova\u021Bia \u0219i responsabilitatea. Astfel, transform\u0103m pasiunea lor pentru tehnologie \xEEntr-o oportunitate real\u0103 de dezvoltare personal\u0103 \u0219i profesional\u0103, preg\u0103tindu-i pentru viitor \u0219i deschiz\xE2ndu-le u\u0219i c\u0103tre cariere pe care poate altfel nu le-ar fi visat."),o()(),r(117,"div",31)(118,"figure",32)(119,"blockquote"),a(120,"\u201E\xCEnainte de FIRST Tech Challenge eram timid \u0219i nu aveam \xEEncredere c\u0103 pot construi sau programa un robot. \xCEn echip\u0103 am descoperit ce \xEEnseamn\u0103 s\u0103 lucrezi cot la cot cu al\u021Bi colegi, s\u0103 gre\u0219e\u0219ti \u0219i s\u0103 \xEEncerci din nou. Acum \u0219tiu c\u0103 pot s\u0103-mi urmez pasiunea pentru tehnologie \u0219i c\u0103 viitorul meu poate fi \xEEn inginerie. FTC mi-a schimbat complet perspectiva asupra a ceea ce sunt capabil s\u0103 fac.\u201D"),o(),r(121,"figcaption"),a(122,"\u2014 Elev, membru de echip\u0103 FTC Rom\xE2nia"),o()(),r(123,"figure",33)(124,"blockquote"),a(125,"\u201ECa profesor, am v\u0103zut de multe ori elevi care se pierd \xEEn teorie. FIRST Tech Challenge mi-a oferit \u0219ansa s\u0103-i ghidez \xEEntr-un proiect practic, \xEEn care \xEE\u0219i pun ideile \xEEn mi\u0219care. Am \xEEnv\u0103\u021Bat \xEEmpreun\u0103 cu ei ce \xEEnseamn\u0103 munca \xEEn echip\u0103, inova\u021Bia \u0219i perseveren\u021Ba. Este incredibil s\u0103 vezi cum tinerii prind aripi \u0219i \xEE\u0219i descoper\u0103 pasiunea pentru \u0219tiin\u021B\u0103 \u0219i inginerie.\u201D"),o(),r(126,"figcaption"),a(127,"\u2014 Mentor, profesor FTC Rom\xE2nia"),o()(),r(128,"figure",32)(129,"blockquote"),a(130,"\u201EC\xE2nd copilul meu a intrat \xEEn program, era pasionat de tehnologie, dar nu \u0219tia cum s\u0103-\u0219i valorifice talentul. \xCEn FTC a \xEEnv\u0103\u021Bat nu doar s\u0103 construiasc\u0103 robo\u021Bi, ci \u0219i s\u0103 colaboreze, s\u0103 vorbeasc\u0103 \xEEn public \u0219i s\u0103 \xEE\u0219i asume responsabilit\u0103\u021Bi. Am v\u0103zut cum a crescut \xEEn c\xE2teva luni mai mult dec\xE2t \xEEn ani de \u0219coal\u0103 tradi\u021Bional\u0103. Pentru noi, ca p\u0103rin\u021Bi, aceasta a fost cea mai valoroas\u0103 experien\u021B\u0103 educa\u021Bional\u0103 pe care a tr\u0103it-o.\u201D"),o(),r(131,"figcaption"),a(132,"\u2014 P\u0103rinte al unui elev FTC Rom\xE2nia"),o()()()()(),r(133,"section",34)(134,"div",35)(135,"div")(136,"p",5),a(137,"Pentru companii \u0219i parteneri"),o(),r(138,"h2",36),a(139,"Construim oportunit\u0103\u021Bi prin educa\u021Bie, tehnologie \u0219i comunitate."),o(),r(140,"p"),a(141,"Descoper\u0103 cum se pot implica firmele \u0219i partenerii \xEEn ecosistemul Na\u021Bie Prin Educa\u021Bie, al\u0103turi de echipe, \u0219coli \u0219i mentori."),o()(),r(142,"a",37),a(143,"Afl\u0103 despre parteneriate"),o()()()())},dependencies:[Te],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;color:var(--natie-ink)}*[_ngcontent-%COMP%]{box-sizing:border-box}.results-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.results-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.results-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.results-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:1.35rem;font-size:clamp(2.35rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}p[_ngcontent-%COMP%]{line-height:1.65}.results-metric--wide[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{white-space:nowrap;font-size:clamp(2rem,3.1vw,3rem)}@media (max-width: 620px){.results-closing__layout[_ngcontent-%COMP%]{flex-direction:column!important;align-items:stretch!important}.results-closing[_ngcontent-%COMP%] .results-button[_ngcontent-%COMP%]{width:100%;justify-content:center}}.results-hero__overlay[_ngcontent-%COMP%]{background:linear-gradient(128deg,#24194bb8,#4c2d7e7a 56%,#0b415d3d)!important}.results-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;display:grid;min-height:clamp(500px,67vw,680px);place-items:center;overflow:hidden;color:var(--natie-white)}.results-hero[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], .results-hero__overlay[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.results-hero__overlay[_ngcontent-%COMP%]{z-index:-1;background:linear-gradient(100deg,#04243af5,#05415fbd 56%,#04243a66)}.results-hero__content[_ngcontent-%COMP%]{padding:clamp(5.5rem,12vw,9rem) 0}.results-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .results-hero[_ngcontent-%COMP%] .results-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.results-hero[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.results-eyebrow){max-width:720px;margin:0;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.7}.results-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.7rem;min-height:50px;margin-top:2.1rem;padding:.85rem 1.3rem;border-radius:4px;background:linear-gradient(90deg,var(--natie-orange),var(--natie-orange-strong));color:var(--natie-white);font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.results-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 10px 24px #ea461338}.results-button[_ngcontent-%COMP%]:focus-visible, .results-text-link[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.results-education[_ngcontent-%COMP%], .results-testimonials[_ngcontent-%COMP%]{background:var(--natie-surface)}.results-heading[_ngcontent-%COMP%]{max-width:760px;margin:0 auto 3rem;text-align:center}.results-heading[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{margin:0;color:var(--natie-text-soft);font-size:1.08rem}.results-heading--left[_ngcontent-%COMP%]{margin-left:0;text-align:left}.results-metric-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.results-metric[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;min-height:210px;padding:1.65rem;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}
26.results-metric--accent[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.results-metric--wide[_ngcontent-%COMP%]{border-top-color:var(--natie-blue-deep)}.results-metric[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{margin:0 0 1rem;color:var(--natie-blue-deep);font-size:clamp(2rem,3.5vw,3.3rem);letter-spacing:-.05em;line-height:1}.results-metric--accent[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--natie-orange-strong)}.results-metric[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--natie-text-muted);font-weight:700;line-height:1.45}.results-education__note[_ngcontent-%COMP%]{margin:1.75rem 0 0;padding-left:1.25rem;border-left:4px solid var(--natie-orange);color:var(--natie-text-muted)}.results-championship[_ngcontent-%COMP%]{background:var(--natie-charcoal);color:var(--natie-surface-on-dark)}.results-championship__layout[_ngcontent-%COMP%], .results-global__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,8vw,7rem);align-items:start}.results-championship[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .results-championship[_ngcontent-%COMP%] .results-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.results-championship[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{max-width:490px;color:var(--natie-text-on-dark-soft);font-size:1.08rem}.results-achievement-list[_ngcontent-%COMP%]{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.22)}.results-achievement-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{padding:1.15rem 0 1.15rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.22);color:var(--natie-text-on-dark-soft);line-height:1.55}.results-achievement-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before{position:absolute;margin-left:-1.5rem;color:var(--natie-orange);content:"\\2713";font-weight:900}.results-achievement-list[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--natie-white)}.results-global[_ngcontent-%COMP%]{background:var(--natie-white)}.results-global__intro[_ngcontent-%COMP%]{color:var(--natie-text-muted);font-size:1.08rem}.results-global__intro[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-top:0}.results-text-link[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);font-weight:800;text-decoration:none}.results-text-link[_ngcontent-%COMP%]:hover{color:var(--natie-blue-hover);text-decoration:underline}.results-achievement-list--light[_ngcontent-%COMP%]{border-top-color:var(--natie-border)}.results-achievement-list--light[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{border-bottom-color:var(--natie-border);color:var(--natie-text-muted)}.results-achievement-list--light[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--natie-ink)}.results-testimonial-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.results-quote[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:0;padding:2rem;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.results-quote--accent[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.results-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{flex:1;margin:0;color:var(--natie-text-muted);font-size:1.03rem;font-style:italic;line-height:1.65}.results-quote[_ngcontent-%COMP%] figcaption[_ngcontent-%COMP%]{margin-top:1.5rem;color:var(--natie-blue-deep);font-size:.92rem;font-weight:800;line-height:1.5}.results-closing[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7rem) 0;background:linear-gradient(115deg,var(--natie-blue-deep),var(--natie-charcoal))}.results-closing__layout[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:2rem}.results-closing[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .results-closing[_ngcontent-%COMP%] .results-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.results-closing[_ngcontent-%COMP%] .results-eyebrow[_ngcontent-%COMP%]{color:#ff9b4a}.results-closing[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:650px}.results-closing[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.results-eyebrow){max-width:680px;margin-bottom:0;color:var(--natie-text-on-dark-soft);font-size:1.08rem}.results-closing[_ngcontent-%COMP%] .results-button[_ngcontent-%COMP%]{margin-top:0;flex:0 0 auto}@media (max-width: 850px){.results-metric-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}.results-championship__layout[_ngcontent-%COMP%], .results-global__layout[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.5rem}.results-testimonial-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;max-width:650px;margin:auto}}@media (max-width: 620px){.results-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.results-hero[_ngcontent-%COMP%]{min-height:560px}.results-button[_ngcontent-%COMP%]{width:100%;justify-content:center}.results-heading[_ngcontent-%COMP%]{margin-bottom:2.2rem}.results-metric-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.results-metric[_ngcontent-%COMP%]{min-height:0;padding:1.4rem}.results-quote[_ngcontent-%COMP%]{padding:1.4rem}}.results-scroll-ready[_nghost-%COMP%] .results-scroll-item[_ngcontent-%COMP%]{opacity:var(--results-item-progress, 0);transform:translate3d(calc(var(--results-reveal-x, 0) * (1 - var(--results-item-progress, 0))),calc((1 - var(--results-item-progress, 0)) * 2.8rem),0)}.results-scroll-ready[_nghost-%COMP%] .results-championship__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%], .results-scroll-ready[_nghost-%COMP%] .results-global__intro[_ngcontent-%COMP%]{--results-reveal-x:-2.4rem}.results-scroll-ready[_nghost-%COMP%] .results-achievement-list[_ngcontent-%COMP%]{--results-reveal-x:2.4rem}.results-scroll-ready[_nghost-%COMP%] .results-metric[_ngcontent-%COMP%], .results-scroll-ready[_ngcontent-%COMP%] .results-quote[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--results-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--results-item-progress, 0) * .025))}@media (prefers-reduced-motion: reduce){.results-scroll-ready[_nghost-%COMP%] .results-scroll-item[_ngcontent-%COMP%], .results-scroll-ready[_nghost-%COMP%] .results-metric[_ngcontent-%COMP%], .results-scroll-ready[_nghost-%COMP%] .results-quote[_ngcontent-%COMP%]{opacity:1;transform:none}}']})}}return t})();function zx(t,s){if(t&1){let e=E();r(0,"button",7),b("click",function(){let i=v(e).$implicit,d=p();return M(d.setActiveTab(i.id))}),a(1),o()}if(t&2){let e=s.$implicit,n=p();I("active",n.isActiveTab(e.id)),c(),w(" ",e.label," ")}}function Nx(t,s){if(t&1&&_(0,"div",11),t&2){let e=p().$implicit;m("innerHTML",e.customHtml,Bn)}}function Ax(t,s){if(t&1&&_(0,"div",11),t&2){let e=p().$implicit;m("innerHTML",e.content,Bn)}}function Lx(t,s){if(t&1&&_(0,"p",16),t&2){let e=p(2).$implicit;m("innerHTML",e.intro,Bn)}}function Vx(t,s){if(t&1&&(r(0,"div",19)(1,"span",20),a(2),o(),_(3,"span",21),o()),t&2){let e=s.$implicit;c(2),O(e.number),c(),m("innerHTML",e.text,Bn)}}function Bx(t,s){if(t&1&&(r(0,"div",17),h(1,Vx,4,2,"div",18),o()),t&2){let e=p(2).$implicit;c(),m("ngForOf",e.steps)}}function Ux(t,s){if(t&1&&_(0,"p",22),t&2){let e=p(2).$implicit;m("innerHTML",e.deadline,Bn)}}function jx(t,s){if(t&1&&(r(0,"a",25),a(1),o()),t&2){let e=s.$implicit;m("href",e.url,ae)("target",e.target||"_self"),c(),O(e.text)}}function qx(t,s){if(t&1&&(r(0,"div",23),h(1,jx,2,3,"a",24),o()),t&2){let e=p(2).$implicit;c(),m("ngForOf",e.links)}}function Wx(t,s){if(t&1&&(r(0,"div"),h(1,Lx,1,1,"p",12)(2,Bx,2,1,"div",13)(3,Ux,1,1,"p",14)(4,qx,2,1,"div",15),o()),t&2){let e=p().$implicit;c(),m("ngIf",e.intro),c(),m("ngIf",e.steps&&e.steps.length>0),c(),m("ngIf",e.deadline),c(),m("ngIf",e.links&&e.links.length>0)}}function $x(t,s){if(t&1&&(r(0,"div",8),h(1,Nx,1,1,"div",9)(2,Ax,1,1,"div",9)(3,Wx,5,4,"div",10),o()),t&2){let e=s.$implicit,n=p();I("active",n.isActiveTab(e.id)),m("id",e.id),c(),m("ngIf",e.customHtml),c(),m("ngIf",!e.customHtml&&!e.intro&&!e.steps),c(),m("ngIf",!e.customHtml&&(e.intro||e.steps))}}var ws=(()=>{class t{constructor(){this.tabs=[],this.title="Metode de implicare",this.activeTabId="",this.backgroundColor="#f8f9fa"}ngOnInit(){this.tabs.length>0&&!this.activeTabId&&(this.activeTabId=this.tabs[0].id)}setActiveTab(e){this.activeTabId=e}isActiveTab(e){return this.activeTabId===e}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-configurable-tabs"]],inputs:{tabs:"tabs",title:"title",activeTabId:"activeTabId",backgroundColor:"backgroundColor"},standalone:!0,features:[B],decls:9,vars:5,consts:[[1,"methods-section"],[1,"content-wrapper"],[1,"tabs-container"],[1,"tabs-header"],["class","tab-btn",3,"active","click",4,"ngFor","ngForOf"],[1,"tab-content"],["class","tab-pane",3,"active","id",4,"ngFor","ngForOf"],[1,"tab-btn",3,"click"],[1,"tab-pane",3,"id"],[3,"innerHTML",4,"ngIf"],[4,"ngIf"],[3,"innerHTML"],["class","tab-intro",3,"innerHTML",4,"ngIf"],["class","steps-list",4,"ngIf"],["class","deadline",3,"innerHTML",4,"ngIf"],["class","additional-links",4,"ngIf"],[1,"tab-intro",3,"innerHTML"],[1,"steps-list"],["class","step",4,"ngFor","ngForOf"],[1,"step"],[1,"step-number"],[1,"step-text",3,"innerHTML"],[1,"deadline",3,"innerHTML"],[1,"additional-links"],["class","link",3,"href","target",4,"ngFor","ngForOf"],[1,"link",3,"href","target"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h2"),a(3),o(),r(4,"div",2)(5,"div",3),h(6,zx,2,3,"button",4),o(),r(7,"div",5),h(8,$x,4,6,"div",6),o()()()()),n&2&&(vo("background-color",i.backgroundColor),c(3),O(i.title),c(3),m("ngForOf",i.tabs),c(2),m("ngForOf",i.tabs))},dependencies:[H,X,$],styles:[".methods-section[_ngcontent-%COMP%]{padding:0;border-top:1px solid #e9ecef}.content-wrapper[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:0 2rem}.methods-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2.2rem;font-weight:700;color:#222;margin-bottom:2rem;text-align:left}.tabs-container[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.tabs-header[_ngcontent-%COMP%]{display:flex;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.tab-btn[_ngcontent-%COMP%]{flex:1;padding:1rem 1.5rem;background:#e0e0e0;border:none;font-size:.95rem;font-weight:500;color:#666;cursor:pointer;transition:all .3s ease;text-align:center}.tab-btn.active[_ngcontent-%COMP%]{background:#fff;color:#222;font-weight:600;box-shadow:0 2px 4px #0000001a}.tab-btn[_ngcontent-%COMP%]:hover:not(.active){background:#d0d0d0}.tab-content[_ngcontent-%COMP%]{padding:2rem}.tab-pane[_ngcontent-%COMP%]{display:none}.tab-pane.active[_ngcontent-%COMP%]{display:block}.tab-intro[_ngcontent-%COMP%]{font-size:1.1rem;line-height:1.6;color:#333;margin-bottom:2rem}.steps-list[_ngcontent-%COMP%]{margin-bottom:2rem}.step[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.step-number[_ngcontent-%COMP%]{background:var(--natie-blue);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.step-text[_ngcontent-%COMP%]{font-size:1rem;line-height:1.5;color:#333;padding-top:2px}.step-text[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);text-decoration:none;font-weight:500}.step-text[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.deadline[_ngcontent-%COMP%]{font-size:1rem;color:#666;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid var(--natie-blue)}.additional-links[_ngcontent-%COMP%]{display:flex;gap:2rem;flex-wrap:wrap}.additional-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);text-decoration:none;font-weight:500;font-size:.95rem;padding:.5rem 0;transition:color .3s ease}.additional-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover{color:#0056b3;text-decoration:underline}@media (max-width: 768px){.content-wrapper[_ngcontent-%COMP%]{padding:0 1rem}.methods-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.8rem}.tabs-header[_ngcontent-%COMP%]{flex-direction:column}.tab-btn[_ngcontent-%COMP%]{border-bottom:1px solid #e0e0e0}.tab-btn[_ngcontent-%COMP%]:last-child{border-bottom:none}.tab-content[_ngcontent-%COMP%]{padding:1.5rem}.additional-links[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}}"]})}}return t})();var U0=(()=>{class t{constructor(){this.tabs=[{id:"2024-2025",label:"2024-2025",content:"",customHtml:` 27 <p><strong>Programul Na\u021Bional de Educa\u021Bie STEAM FIRST Tech Challenge Rom\xE2nia</strong></p> 28 <p>Sezonul #9 2024 - 2025</p> 29 30 <p><strong>Competi\u021Bii oficiale:</strong></p> 31 32 <p><strong>
32Etape regionale (organizate de Na\u021Bie Prin Educa\u021Bie, cu licen\u021B\u0103 FIRST):</strong></p> 33 <ul> 34 <li>Campionatul Regional EST FIRST Tech Challenge Romania, Piatra Neam\u021B, 17-19 ianuarie 2025</li> 35 <li>Campionatul Regional SUD FIRST Tech Challenge Romania, Pite\u015Fti, 07-09 februarie 2025</li> 36 <li>Campionatul Regional VEST FIRST Tech Challenge Romania, Timi\u015Foara, 21-23 februarie 2025</li> 37 <li>Campionatul Regional NORD FIRST Tech Challenge Romania, Cluj-Napoca, 28 februarie - 02 martie 2025</li> 38 </ul> 39 40 <p><strong>Etapa na\u021Bional\u0103 (organizat\u0103 de Na\u021Bie Prin Educa\u021Bie, cu licen\u021B\u0103 FIRST):</strong></p> 41 <ul> 42 <li>Campionatul Na\u0163ional FIRST Tech Challenge Romania, Pite\u015Fti, 14-16 martie 2025</li> 43 </ul> 44 45 <p><strong>Etapa interna\u021Bional\u0103 (organizat\u0103 de FIRST - organiza\u0163ia interna\u021Bional\u0103):</strong></p> 46 <ul> 47 <li>Campionatul Mondial FIRST Championship - categoria FIRST Tech Challenge, Houston TX SUA, 16-19 aprilie 2025</li> 48 </ul> 49 `},{id:"2023-2024",label:"2023-2024",content:"",customHtml:` 50 <p><strong>Programul Na\u021Bional de Educa\u021Bie STEAM FIRST Tech Challenge Rom\xE2nia</strong></p> 51 <p>Sezonul #8 2023 - 2024</p> 52 53 <p><strong>Competi\u021Bii oficiale:</strong></p> 54 55 <p><strong>Etape regionale (organizate de Na\u021Bie Prin Educa\u021Bie, cu licen\u021B\u0103 FIRST):</strong></p> 56 <ul> 57 <li>Campionatul Regional #1 FIRST Tech Challenge Romania, Bucure\u0219ti, 26-28 ianuarie 2024</li> 58 <li>Campionatul Regional #2 FIRST Tech Challenge Romania, Bucure\u0219ti, 9-11 februarie 2024</li> 59 <li>Campionatul Regional #3 FIRST Tech Challenge Romania, Arad, 23-25 februarie 2024</li> 60 <li>Campionatul Regional #4 FIRST Tech Challenge Romania, Ia\u0219i, 7-9 martie 2024</li> 61 </ul> 62 63 <p><strong>Etapa na\u021Bional\u0103 (organizat\u0103 de Na\u021Bie Prin Educa\u021Bie, cu licen\u021B\u0103 FIRST):</strong></p> 64 <ul> 65 <li>Campionatul Na\u0163ional FIRST Tech Challenge Romania, Ia\u0219i, 21-23 martie 2024</li> 66 </ul> 67 68 <p><strong>Etapa interna\u021Bional\u0103 (organizat\u0103 de FIRST - organiza\u0163ia interna\u021Bional\u0103):</strong></p> 69 <ul> 70 <li>Campionatul Mondial FIRST Championship - categoria FIRST Tech Challenge, Houston TX SUA, 17-20 aprilie 2024</li> 71 </ul> 72 `},{id:"2022-2023",label:"2022-2023",content:"",customHtml:` 73 <p><strong>Programul Na\u021Bional de Educa\u021Bie STEAM FIRST Tech Challenge Rom\xE2nia</strong></p> 74 <p>Sezonul #7 2022 - 2023</p> 75 76 <p><strong>Competi\u021Bii oficiale:</strong></p> 77 78 <p><strong>Etape regionale (organizate de Na\u021Bie Prin Educa\u021Bie, cu licen\u021B\u0103 FIRST):</strong></p> 79 <ul> 80 <li>Campionatul Regional #1 FIRST Tech Challenge Romania, Bucure\u0219ti, 13-15 februarie 2023</li> 81 <li>Campionatul Regional #2 FIRST Tech Challenge Romania, Bucure\u0219ti, 17-19 februarie 2023</li> 82 </ul> 83 84 <p><strong>Etapa na\u021Bional\u0103 (organizat\u0103 de Na\u021Bie Prin Educa\u021Bie, cu licen\u021B\u0103 FIRST):</strong></p> 85 <ul> 86 <li>Campionatul Na\u0163ional FIRST Tech Challenge Romania, Bucure\u0219ti, 3-5 martie 2023</li> 87 </ul> 88 89 <p><strong>Etapa interna\u021Bional\u0103 (organizat\u0103 de FIRST - organiza\u0163ia interna\u021Bional\u0103):</strong></p> 90 <ul> 91 <li>Campionatul Mondial FIRST Championship - categoria FIRST Tech Challenge, Houston TX SUA, 19-22 aprilie 2023</li> 92 </ul> 93 `},{id:"2021-2022",label:"2021-2022",content:"",customHtml:` 94 <p><strong>Programul Na\u021Bional de Educa\u021Bie STEAM FIRST Tech Challenge Rom\xE2nia</strong></p> 95 <p>Sezonul #6 2021 - 2022</p> 96 97 <p><strong>Competi\u021Bii oficiale:</strong></p> 98 99 <p><strong>
99Etape regionale (organizate de Na\u021Bie Prin Educa\u021Bie, cu licen\u021B\u0103 FIRST):</strong></p> 100 <ul> 101 <li>Campionatul Regional #1 Timi\u0219oara & Bucure\u0219ti FIRST Tech Challenge Romania, Remote, 14-20 februarie 2022</li> 102 <li>Campionatul Regional #2 Cluj & Bucure\u0219ti FIRST Tech Challenge Romania, Remote, 28 februarie - 6 martie 2022</li> 103 <li>Campionatul Regional #3 Ia\u0219i & Bucure\u0219ti FIRST Tech Challenge Romania, Remote, 14-20 martie 2022</li> 104 </ul> 105 106 <p><strong>Etapa na\u021Bional\u0103 (organizat\u0103 de Na\u021Bie Prin Educa\u021Bie, cu licen\u021B\u0103 FIRST):</strong></p> 107 <ul> 108 <li>Campionatul Na\u0163ional FIRST Tech Challenge Romania, Bucure\u0219ti, 2-3 aprilie 2022</li> 109 </ul> 110 111 <p><strong>Etapa interna\u021Bional\u0103 (organizat\u0103 de FIRST - organiza\u0163ia interna\u021Bional\u0103):</strong></p> 112 <ul> 113 <li>Campionatul Mondial FIRST Championship - categoria FIRST Tech Challenge, Houston TX SUA, 20-23 aprilie 2022</li> 114 </ul> 115 `}]}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-competitions"]],standalone:!0,features:[B],decls:37,vars:4,consts:[[1,"get-started-hero"],["src","assets/about-pages/hero-image-NATIE.webp","alt","Competitions Hero Image","loading","eager",1,"get-started-hero-img"],[1,"get-started-main"],[1,"get-started-content"],[1,"get-started-title-row"],[1,"get-started-main-title"],[1,"get-started-section"],[1,"numbered-list"],[1,"list-item"],[1,"number"],[1,"text"],[1,"button-container"],["customClass","resource-btn",3,"link","name","iconType"],[1,"info-paragraph"],["backgroundColor","#ffffff","title","Sezoane \u0219i competi\u021Bii",3,"tabs"]],template:function(n,i){n&1&&(r(0,"div",0),_(1,"img",1),o(),r(2,"div",2)(3,"div",3)(4,"div",4)(5,"h1",5),a(6,"Programul Na\u021Bional de Educa\u021Bie STEAM FIRST Tech Challenge Rom\xE2nia"),o()(),r(7,"div",6)(8,"h2"),a(9,"Concursuri oficiale FIRST Tech Challenge"),o(),r(10,"div",7)(11,"div",8)(12,"span",9),a(13,"1."),o(),r(14,"span",10),a(15,"FIRST Tech Challenge Rom\xE2nia este pe "),r(16,"strong"),a(17,"Lista competi\u021Biilor interna\u021Bionale pe discipline \u0219colare \u0219i proiecte educative desf\u0103\u0219urate \xEEn Rom\xE2nia \u0219i str\u0103in\u0103tate, la care particip\u0103 elevii rom\xE2ni din \xEEnv\u0103\u0163\u0103m\xE2ntul secundar \xEEn anul 2025"),o(),a(18,", la pozi\u021Bia C.II.1., \xEEn Anexa nr.1 la O.M.E.C. 3025/14.01.2025."),o()(),r(19,"div",8)(20,"span",9),a(21,"2."),o(),r(22,"span",10),a(23,"Toate competi\u021Biile na\u021Bionale \u0219i interna\u021Bionale, oficiale sau off-season (\xEEn afara sezonului - neoficiale) se g\u0103sesc pe platforma ftc-events, sistem oficial de management al evenimentelor de la FIRST."),o()()(),r(24,"div",11),_(25,"app-external-link-button",12),o(),r(26,"p",13),a(27," Pentru o mai bun\u0103 vizibilitate, afi\u0219\u0103m mai jos "),r(28,"strong")(29,"u"),a(30,"competi\u021Biile oficiale"),o()(),a(31," ale sezoanelor FIRST Tech Challenge Rom\xE2nia. Doar acestea sunt luate \xEEn considerare ca parte din calendarul oficial. "),o()(),r(32,"div",6),_(33,"app-configurable-tabs",14),o(),r(34,"div",6)(35,"p",13),a(36," \xCEn cadrul unui sezon, exist\u0103 competi\u021Bii oficiale mai mici, organizate de echipe \u2013 Meets \u2013 \u0219i competi\u021Bii amicale sau demonstrative, f\u0103r\u0103 ca acestea s\u0103 fie parte din calendarul oficial. Exist\u0103 \u0219i competi\u021Bii off-season, \xEEn afara sezonului, care nu sunt competi\u021Bii oficiale dar sunt un moment de celebrare a muncii dintr-un sezon pentru echipele participante. "),o()()()()),n&2&&(c(25),m("link","https://ftc-events.firstinspires.org")("name","Platforma oficial\u0103 FIRST competi\u021Bii")("iconType","link"),c(8),m("tabs",i.tabs))},dependencies:[H,Tn,ws],styles:['.competitions-container[_ngcontent-%COMP%]{min-height:100vh;background:#fff;padding:2rem 0}.content-wrapper[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;padding:0 2rem}.competitions-hero[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);aspect-ratio:var(--banner-md-aspect);background:#333 center/cover no-repeat;overflow:hidden}.competitions-hero[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;display:block}.page-title[_ngcontent-%COMP%]{font-size:var(--font-size-4xl);font-weight:700;color:#1e3a8a;text-align:center;margin-bottom:3rem;line-height:1.2}
115.official-competitions-info[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem;margin-bottom:3rem;margin-top:3rem}.info-title[_ngcontent-%COMP%]{font-size:var(--font-size-2xl);font-weight:600;color:#222;margin-bottom:1.5rem;line-height:1.3}.info-content[_ngcontent-%COMP%]{color:#333;line-height:1.6}.info-paragraph[_ngcontent-%COMP%]{margin-bottom:1.5rem;font-size:var(--font-size-md);text-align:justify}.info-paragraph[_ngcontent-%COMP%]:last-child{margin-bottom:0}.info-paragraph[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1e3a8a;font-weight:600}.button-container[_ngcontent-%COMP%]{margin:1.5rem 0;display:flex;justify-content:flex-start}.year-navigation[_ngcontent-%COMP%]{margin-bottom:3rem}.year-tabs[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:1rem;background:#fff;padding:1rem;border-radius:12px;box-shadow:0 2px 8px #00000014}.year-tab[_ngcontent-%COMP%]{padding:.75rem 1.5rem;border:2px solid #e0e0e0;background:#fff;color:#666;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:var(--font-size-md)}.year-tab[_ngcontent-%COMP%]:hover{border-color:#1e3a8a;color:#1e3a8a}.year-tab.active[_ngcontent-%COMP%]{background:#1e3a8a;color:#fff;border-color:#1e3a8a}.competitions-content[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.season-title[_ngcontent-%COMP%]{font-size:var(--font-size-2xl);font-weight:600;color:#222;padding:2rem 2rem 1rem;margin:0;border-bottom:1px solid #e9ecef}.competitions-section[_ngcontent-%COMP%]{padding:2rem}.section-title[_ngcontent-%COMP%]{font-size:var(--font-size-xl);font-weight:600;color:#333;margin-bottom:2rem}.competition-type-section[_ngcontent-%COMP%]{margin-bottom:2.5rem}.competition-type-section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.type-title[_ngcontent-%COMP%]{font-size:var(--font-size-lg);font-weight:600;color:#1e3a8a;margin-bottom:1rem;display:flex;align-items:baseline;gap:.5rem}.type-description[_ngcontent-%COMP%]{font-weight:400;color:#666;font-size:var(--font-size-md)}.competitions-list[_ngcontent-%COMP%]{margin-left:1.5rem}.competition-item[_ngcontent-%COMP%]{margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;border-left:4px solid #1e3a8a;transition:all .3s ease}.competition-item[_ngcontent-%COMP%]:hover{background:#e6eaff;transform:translate(4px)}.competition-item[_ngcontent-%COMP%]:last-child{margin-bottom:0}.competition-name[_ngcontent-%COMP%]{font-weight:600;color:#222;margin-bottom:.5rem;font-size:var(--font-size-lg)}.competition-details[_ngcontent-%COMP%]{display:flex;gap:2rem;color:#666;font-size:var(--font-size-sm)}.location[_ngcontent-%COMP%]{font-weight:500;color:#1e3a8a}.dates[_ngcontent-%COMP%]{font-weight:500;color:#f59e42}.get-started-hero[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;aspect-ratio:var(--banner-md-aspect)}.get-started-hero-img[_ngcontent-%COMP%]{width:100vw;aspect-ratio:var(--banner-md-aspect);object-fit:cover;display:block}.get-started-main[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:0 2rem}.get-started-title-row[_ngcontent-%COMP%]{text-align:center;margin:3rem 0 2rem}.get-started-main-title[_ngcontent-%COMP%]{font-size:var(--font-size-4xl);color:#333;margin:0;font-weight:700;font-family:var(--font-family-condensed)}.get-started-content[_ngcontent-%COMP%]{background:#fff;box-shadow:0 2px 10px #0000000d;padding:2rem}.get-started-section[_ngcontent-%COMP%]{margin-bottom:3rem}.get-started-section[_ngcontent-%COMP%]:last-of-type{margin-bottom:2rem}.get-started-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#333;font-size:var(--font-size-2xl);font-weight:700;margin-bottom:1.5rem;font-family:var(--font-family-condensed)}.numbered-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.list-item[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:1rem;line-height:1.6}.list-item[_ngcontent-%COMP%] .number[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);font-weight:700;font-size:var(--font-size-lg);min-width:20px;flex-shrink:0}.list-item[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{color:#333;font-size:var(--font-size-base);line-height:1.6}.list-item[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);text-decoration:underline;cursor:pointer}.list-item[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover{color:#0096e6}.list-item[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{font-style:italic;color:#666}@media (max-width: 768px){.get-started-main[_ngcontent-%COMP%]{padding:0 1rem}.get-started-content[_ngcontent-%COMP%]{padding:1.5rem}.get-started-main-title[_ngcontent-%COMP%]{font-size:var(--font-size-3xl)}.get-started-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--font-size-xl)}.list-item[_ngcontent-%COMP%]{gap:.8rem}.list-item[_ngcontent-%COMP%] .number[_ngcontent-%COMP%]{font-size:var(--font-size-lg);min-width:18px}}@media (max-width: 480px){.get-started-main-title[_ngcontent-%COMP%]{font-size:var(--font-size-3xl)}.get-started-content[_ngcontent-%COMP%]{padding:1rem}.list-item[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem}.list-item[_ngcontent-%COMP%] .number[_ngcontent-%COMP%]{min-width:auto}}@media (max-width: 768px){.content-wrapper[_ngcontent-%COMP%]{padding:0 1rem}.page-title[_ngcontent-%COMP%]{font-size:var(--font-size-3xl);margin-bottom:2rem}.year-tabs[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem}.year-tab[_ngcontent-%COMP%]{text-align:center}.season-title[_ngcontent-%COMP%]{font-size:var(--font-size-xl);padding:1.5rem 1.5rem 1rem}.competitions-section[_ngcontent-%COMP%]{padding:1.5rem}
115.competition-details[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem}.type-title[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width: 480px){.competitions-container[_ngcontent-%COMP%]{padding:1rem 0}.page-title[_ngcontent-%COMP%]{font-size:var(--font-size-2xl)}.competition-item[_ngcontent-%COMP%]{padding:.75rem}.competition-name[_ngcontent-%COMP%]{font-size:var(--font-size-md)}}.competition-schedule[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fff 0% 100%);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.schedule-header[_ngcontent-%COMP%]{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid #e9ecef}.main-title[_ngcontent-%COMP%]{font-size:var(--font-size-3xl);font-weight:700;color:#1e3a8a;margin:0 0 1rem;line-height:1.2;text-shadow:0 2px 4px rgba(30,58,138,.1)}.season-badge[_ngcontent-%COMP%]{display:inline-block;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;padding:.75rem 2rem;border-radius:50px;font-weight:600;font-size:var(--font-size-lg);box-shadow:0 4px 12px #1e3a8a4d;transform:translateY(0);transition:all .3s ease}.season-badge[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e3a8a66}.schedule-content[_ngcontent-%COMP%]{max-width:900px;margin:0 auto}.section-title[_ngcontent-%COMP%]{font-size:var(--font-size-2xl);font-weight:700;color:#333;text-align:center;margin-bottom:2.5rem;position:relative}.section-title[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#1e3a8a,#3b82f6);border-radius:2px}.competition-section[_ngcontent-%COMP%]{margin-bottom:3rem;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 16px #00000014;border:1px solid #e9ecef;transition:all .3s ease}.competition-section[_ngcontent-%COMP%]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.stage-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;font-size:var(--font-size-xl);font-weight:700;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9;position:relative}.stage-title.regional[_ngcontent-%COMP%]{color:#059669}.stage-title.national[_ngcontent-%COMP%]{color:#dc2626}.stage-title.international[_ngcontent-%COMP%]{color:#7c3aed}.stage-icon[_ngcontent-%COMP%]{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.organizer[_ngcontent-%COMP%]{font-size:var(--font-size-sm);font-weight:400;color:#6b7280;margin-left:auto;font-style:italic}.competition-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.competition-item[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;padding:1.5rem;border-left:4px solid;transition:all .3s ease;position:relative;overflow:hidden}.competition-item[_ngcontent-%COMP%]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#1e3a8a,#3b82f6);transform:scaleX(0);transition:transform .3s ease}.competition-item[_ngcontent-%COMP%]:hover:before{transform:scaleX(1)}.competition-item[_ngcontent-%COMP%]:hover{transform:translate(8px);box-shadow:0 6px 20px #0000001a}.competition-name[_ngcontent-%COMP%]{font-size:var(--font-size-lg);font-weight:600;color:#1f2937;margin-bottom:.75rem;line-height:1.4}.competition-details[_ngcontent-%COMP%]{display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.location[_ngcontent-%COMP%], .dates[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm);font-weight:500;padding:.5rem 1rem;border-radius:20px;background:#fff;box-shadow:0 2px 8px #0000000d}.location[_ngcontent-%COMP%]{color:#059669;border:1px solid #d1fae5}.dates[_ngcontent-%COMP%]{color:#dc2626;border:1px solid #fecaca}@media (max-width: 768px){.competition-schedule[_ngcontent-%COMP%]{padding:1.5rem}.main-title[_ngcontent-%COMP%]{font-size:var(--font-size-2xl)}.season-badge[_ngcontent-%COMP%]{padding:.5rem 1.5rem;font-size:var(--font-size-md)}.competition-section[_ngcontent-%COMP%]{padding:1.5rem}.stage-title[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:.5rem}.organizer[_ngcontent-%COMP%]{margin-left:0;font-size:var(--font-size-xs)}
115.competition-details[_ngcontent-%COMP%]{flex-direction:column;gap:.75rem}.location[_ngcontent-%COMP%], .dates[_ngcontent-%COMP%]{width:100%;justify-content:center}}@media (max-width: 480px){.competition-schedule[_ngcontent-%COMP%]{padding:1rem}.main-title[_ngcontent-%COMP%]{font-size:var(--font-size-xl)}.competition-section[_ngcontent-%COMP%], .competition-item[_ngcontent-%COMP%]{padding:1rem}.competition-name[_ngcontent-%COMP%]{font-size:var(--font-size-md)}}']})}}return t})();var j0=(()=>{class t{constructor(e){this.host=e,this.animationFrame=null,this.scrollItems=[],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}scrollToPrograms(e){e.preventDefault();let n=this.host.nativeElement.querySelector("#first-programs"),i=this.browserWindow?.matchMedia("(prefers-reduced-motion: reduce)").matches??!0;n?.scrollIntoView({behavior:i?"auto":"smooth",block:"start"})}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument,n=e.defaultView;!n||n.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=n,this.scrollContainer=e.body,this.host.nativeElement.classList.add("first-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll([".first-story__copy",".first-story__visual",".first-film__copy",".first-film__frame",".first-quote img",".first-quote > div",".first-section-heading",".first-program-card"].join(","))),this.scrollItems.forEach(i=>i.classList.add("first-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),n.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.scrollContainer||!this.browserWindow)return;let e=this.host.nativeElement.querySelector(".first-hero"),n=this.scrollContainer.scrollTop,i=e?this.clamp(n/Math.max(e.offsetHeight,1)):0;this.host.nativeElement.style.setProperty("--first-hero-progress",i.toFixed(3));let d=this.browserWindow.innerHeight*.96,u=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(x=>{let y=this.clamp((d-x.getBoundingClientRect().top)/(d-u));x.style.setProperty("--first-item-progress",y.toFixed(3))})}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-firstftc"]],standalone:!0,features:[B],decls:150,vars:0,consts:[[1,"first-page"],["aria-labelledby","first-hero-title",1,"first-hero"],[1,"first-container","first-hero__content"],[1,"first-eyebrow"],["id","first-hero-title"],[1,"first-hero__lead"],[1,"first-actions"],["href","#first-programs",1,"first-button","first-button--primary",3,"click"],["routerLink","/resources/get-started",1,"first-button","first-button--secondary"],["aria-labelledby","first-story-title",1,"first-section","first-story"],[1,"first-container","first-story__layout"],[1,"first-story__copy"],["id","first-story-title"],["src","assets/about-pages/FIRST_Horz_RGB.webp","alt","FIRST \u2014 For Inspiration and Recognition of Science and Technology","loading","lazy",1,"first-story__logo"],["src","assets/about-pages/main_large.webp","alt","","loading","lazy",1,"first-story__wordmark"],[1,"first-story__visual"],["src","assets/about-pages/aboout-first-1.webp","alt","Elevi \u0219i mentori lucr\xE2nd \xEEmpreun\u0103 la un robot FIRST","loading","lazy"],["aria-labelledby","first-film-title",1,"first-section","first-film"],[1,"first-container","first-film__layout"],[1,"first-film__copy"],["id","first-film-title"],[1,"first-film__frame"],["src",qt`https://www.youtube.com/embed/Pw2HtnuCodQ?si=Hz3kXJjIsvvta19X`,"title","Prezentare video a programelor FIRST","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share","referrerpolicy","strict-origin-when-cross-origin","loading","lazy","allowfullscreen",""],["aria-label","Mesajul fondatorului FIRST",1,"first-section","first-quote-section"],[1,"first-container"],[1,"first-quote"],["src","assets/about-pages/dean_kamen.webp","alt","Dean Kamen, fondator FIRST","loading","lazy"],["id","first-programs","aria-labelledby","first-programs-title",1,"first-section","first-programs"],[1,"first-section-heading"],["id","first-programs-title"],[1,"first-program-grid"],[1,"first-program-card","first-program-card--fll"],[1,"first-program-card__brand"],["src","assets/about-pages/first-comp-logos/FIRSTLego_Type_White.webp","alt","FIRST LEGO League","loading","lazy"],["src","assets/about-pages/FLL-20250417BEN00192-PR.JPG","alt","Participan\u021Bi la FIRST LEGO League \xEEn timpul competi\u021Biei","loading","lazy",1,"first-program-card__image"],[1,"first-program-card__body"],[1,"first-program-card__facts"],["href","https://www.firstinspires.org/robotics/fll","target","_blank","rel","noopener noreferrer",1,"first-program-card__link"],["aria-hidden","true"],[1,"first-program-card","first-program-card--ftc"],["src","assets/about-pages/first-comp-logos/FIRSTTech_Type_White.webp","alt","FIRST Tech Challenge","loading","lazy"],["src","assets/about-pages/FTC-20250419JEF0926-PR.JPG","alt","Elevi \u0219i robot pe terenul FIRST Tech Challenge","loading","lazy",1,"first-program-card__image"],["href","https://www.firstinspires.org/robotics/ftc","target","_blank","rel","noopener noreferrer",1,"first-program-card__link"],[1,"first-program-card","first-program-card--frc"],["src","assets/about-pages/first-comp-logos/FIRSTRobotics_Type_White.webp","alt","FIRST Robotics Competition","loading","lazy"],["src","assets/about-pages/FRC-20250419BEN01114-PR.JPG","alt","Robot de dimensiuni industriale la FIRST Robotics Competition","loading","lazy",1,"first-program-card__image"],["href","https://www.firstinspires.org/robotics/frc","target","_blank","rel","noopener noreferrer",1,"first-program-card__link"],["aria-labelledby","first-cta-title",1,"first-cta"],[1,"first-container","first-cta__layout"],["id","first-cta-title"],["routerLink","/resources/get-started",1,"first-button","first-button--primary"]],template:function(n,i){n&1&&(r(0,"main",0)(1,"section",1)(2,"div",2)(3,"p",3),a(4,"For Inspiration and Recognition of Science and Technology"),o(),r(5,"h1",4),a(6,"FIRST: mai mult dec\xE2t robo\u021Bi."),o(),r(7,"p",5),a(8,"Programe de robotic\u0103 prin care tinerii \xEE\u0219i dezvolt\u0103 \xEEncrederea, cuno\u0219tin\u021Bele \u0219i abilit\u0103\u021Bile esen\u021Biale pentru via\u021B\u0103."),o(),r(9,"div",6)(10,"a",7),b("click",function(u){return i.scrollToPrograms(u)}),a(11,"Descoper\u0103 programele FIRST"),o(),r(12,"a",8),a(13,"\xCEncepe o echip\u0103"),o()()()(),r(14,"section",9)(15,"div",10)(16,"div",11)(17,"p",3),a(18,"Din 1989"),o(),r(19,"h2",12),a(20,"Inspira\u021Bie, \u0219tiin\u021B\u0103 \u0219i tehnologie puse \xEEn mi\u0219care."),o(),_(21,"img",13),r(22,"p"),a(23,"Organiza\u021Bia FIRST "),r(24,"strong"),a(25,"(For Inspiration and Recognition of Science and Technology)"),o(),a(26," a fost fondat\u0103 \xEEn 1989 cu scopul de a inspira interesul \u0219i implicarea tinerilor \xEEn \u0219tiin\u021B\u0103 \u0219i tehnologie."),o(),r(27,"p"),a(28,"Cu sediul \xEEn Manchester, FIRST este o organiza\u021Bie non-profit care dezvolt\u0103 programe accesibile \u0219i inovatoare, menite s\u0103 motiveze tinerii s\u0103 urmeze o educa\u021Bie \u
1150219i o carier\u0103 \xEEn domeniile \u0219tiin\u021Bei, tehnologiei, ingineriei \u0219i matematicii (STEM). Prin aceste programe, tinerii \xEE\u0219i dezvolt\u0103 \xEEncrederea \xEEn sine, cuno\u0219tin\u021Bele \u0219i abilit\u0103\u021Bile necesare pentru via\u021B\u0103."),o(),_(29,"img",14),o(),r(30,"figure",15),_(31,"img",16),r(32,"figcaption"),a(33,"\xCEnv\u0103\u021Bare practic\u0103, mentorat \u0219i colaborare \xEEn jurul unei provoc\u0103ri reale."),o()()()(),r(34,"section",17)(35,"div",18)(36,"div",19)(37,"p",3),a(38,"FIRST \xEEn ac\u021Biune"),o(),r(39,"h2",20),a(40,"O comunitate construit\u0103 \xEEn jurul curiozit\u0103\u021Bii."),o(),r(41,"p"),a(42,"Descoper\u0103 experien\u021Ba FIRST \u0219i felul \xEEn care robotica devine un context pentru \xEEnv\u0103\u021Bare, colaborare \u0219i \xEEncredere."),o()(),r(43,"div",21),_(44,"iframe",22),o()()(),r(45,"section",23)(46,"div",24)(47,"figure",25),_(48,"img",26),r(49,"div")(50,"p",3),a(51,"Viziunea FIRST"),o(),r(52,"blockquote"),a(53,"\u201EFIRST \xEEnseamn\u0103 mai mult dec\xE2t robo\u021Bi. Robo\u021Bii sunt doar un vehicul prin care elevii \xEEnva\u021B\u0103 abilit\u0103\u021Bi esen\u021Biale pentru via\u021B\u0103. Chiar \u0219i dup\u0103 primul sezon, ei pleac\u0103 av\xE2nd o "),r(54,"strong"),a(55,"viziune"),o(),a(56,", cu "),r(57,"strong"),a(58,"\xEEncredere"),o(),a(59," \u0219i cu sentimentul c\u0103 \xEE\u0219i pot construi propriul "),r(60,"strong"),a(61,"viitor"),o(),a(62,".\u201D"),o(),r(63,"figcaption"),a(64,"\u2014 Dean Kamen, Fondator FIRST"),o()()()()(),r(65,"section",27)(66,"div",24)(67,"div",28)(68,"p",3),a(69,"Un parcurs pentru fiecare etap\u0103"),o(),r(70,"h2",29),a(71,"Programele FIRST"),o(),r(72,"p"),a(73,"De la primele experien\u021Be de construc\u021Bie p\xE2n\u0103 la robo\u021Bi de dimensiuni industriale, programele FIRST transform\u0103 \xEEnv\u0103\u021Barea STEM \xEEntr-o experien\u021B\u0103 practic\u0103."),o()(),r(74,"div",30)(75,"article",31)(76,"div",32),_(77,"img",33),o(),_(78,"img",34),r(79,"div",35)(80,"dl",36)(81,"div")(82,"dt"),a(83,"Clasele"),o(),r(84,"dd"),a(85,"PreK\u20138"),o()(),r(86,"div")(87,"dt"),a(88,"V\xE2rsta"),o(),r(89,"dd"),a(90,"4\u201316"),o()()(),r(91,"p"),a(92,"FIRST\xAE LEGO\xAE League introduce copiii \xEEn lumea STEM printr-o experien\u021B\u0103 de \xEEnv\u0103\u021Bare practic\u0103, distractiv\u0103 \u0219i captivant\u0103. Participan\u021Bii dob\xE2ndesc abilit\u0103\u021Bi reale de rezolvare a problemelor printr-un program global de robotic\u0103, ghidat \u0219i sus\u021Binut de tehnologia LEGO\xAE, ajut\xE2nd elevii \u0219i profesorii de ast\u0103zi s\u0103 construiasc\u0103 \xEEmpreun\u0103 un viitor mai bun. Cele trei divizii ale FIRST LEGO League \xEEi inspir\u0103 pe tineri s\u0103 experimenteze, s\u0103 \xEE\u0219i dezvolte g\xE2ndirea critic\u0103, competen\u021Bele de programare \u0219i design \u0219i s\u0103 \xEE\u0219i prezinte cu m\xE2ndrie ceea ce au \xEEnv\u0103\u021Bat."),o(),r(93,"a",37),a(94,"Afl\u0103 mai multe despre FIRST LEGO League "),r(95,"span",38),a(96,"\u2197"),o()()()(),r(97,"article",39)(98,"div",32),_(99,"img",40),o(),_(100,"img",41),r(101,"div",35)(102,"dl",36)(103,"div")(104,"dt"),a(105,"Clasele"),o(),r(106,"dd"),a(107,"7\u201312"),o()(),r(108,"div")(109,"dt"),a(110,"V\xE2rsta"),o(),r(111,"dd"),a(112,"12\u201318"),o()()(),r(113,"p"),a(114,"Elevii FIRST\xAE Tech Challenge colaboreaz\u0103 cu mentorii lor pentru a proiecta \u0219i construi robo\u021Bi care s\u0103 participe la o provocare dinamic\u0103 \u0219i captivant\u0103, lansat\u0103 \xEEn fiecare an \xEEn septembrie. Echipele programeaz\u0103 robo\u021Bi de dimensiuni adaptate s\u0103lii de clas\u0103 pentru a urma comenzi autonome, \xEEnainte ca elevii s\u0103 preia controlul \xEEn meciuri de tip doi contra doi. Pe teren \u0219i \xEEn afara lui, participan\u021Bii \xEE\u0219i dezvolt\u0103 abilit\u0103\u021Bi STEM, se implic\u0103 \xEEn proiecte comunitare, exerseaz\u0103 inova\u021Bia \xEEn inginerie \u0219i \xEE\u0219i construiesc \xEEncrederea necesar\u0103 pentru a reu\u0219i."),o(),r(115,"a",42),a(116,"Afl\u0103 mai multe despre FIRST Tech Challenge "),r(117,"span",38),a(118,"\u2197"),o()()()(),r(119,"article",43)(120,"div",32),_(121,"img",44),o(),_(122,"img",45),r(123,"div",35)(124,"dl",36)(125,"div")(126,"dt"),a(127,"Clasele"),o(),r(128,"dd"),a(129,"9\u201312"),o()(),r(130,"div")(131,"dt"),a(132,"V\xE2rsta"),o(),r(133,"dd"),a(134,"14\u201318"),o()()(),r(135,"p"),a(136,"\xCEn fiecare ianuarie, echipele FIRST\xAE Robotics Competition primesc o nou\u0103 provocare. \xCEncep\xE2nd cu un Kit de Componente, ele proiecteaz\u0103, programeaz\u0103 \u0219i construiesc robo\u021Bi de dimensiuni industriale pentru a juca un joc plin de ac\u021Biune pe un teren tematic, ca parte a unei alian\u021Be de trei echipe. Ghida\u021Bi de mentori \u0219i sponsori, elevii \xEEnva\u021B\u0103 abilit\u0103\u021Bi de inginerie \u0219i rezolvare a problemelor, concureaz\u0103 pentru premii, \xEE\u0219i construiesc identitatea echipei, str\xE2ng fonduri, \xEE\u0219i perfec\u021Bioneaz\u0103 munca \xEEn echip\u0103 \u0219i \xEE\u0219i dezvolt\u0103 aprecierea pentru STEM \xEEn comunitatea lor."),o(),r(137,"a",46),a(138,"Afl\u0103 mai multe despre FIRST Robotics Competition "),r(139,"span",38),a(140,"\u2197"),o()()()()()()(),r(141,"section",47)(142,"div",48)(143,"div")(144,"p",3),a(145,"FIRST Tech Challenge Rom\xE2nia"),o(),r(146,"h2",49),a(147,"Du experien\u021B
115a FIRST mai departe \xEEn liceul t\u0103u."),o()(),r(148,"a",50),a(149,"Descoper\u0103 cum \xEEncepi o echip\u0103"),o()()()())},dependencies:[Te],styles:['[_nghost-%COMP%]{display:block;color:var(--natie-ink)}.first-hero[_ngcontent-%COMP%]{background:linear-gradient(112deg,#361f12b8 3%,#7637197a 56%,#0530483d),url(/assets/bannere/first2.jpg) center/cover!important}*[_ngcontent-%COMP%]{box-sizing:border-box}.first-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.first-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.first-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.first-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:1.35rem;font-size:clamp(2.55rem,6vw,5rem);letter-spacing:-.05em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}p[_ngcontent-%COMP%]{line-height:1.65}.first-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;min-height:min(780px,100vh - var(--navbar-height));padding:clamp(5.5rem,12vw,9rem) 0;display:flex;align-items:center;color:var(--natie-white);background:linear-gradient(100deg,var(--natie-hero-overlay-start) 3%,var(--natie-hero-overlay-mid) 56%,var(--natie-hero-overlay-end)),url(/assets/bannere/first2.jpg) center/cover}.first-hero[_ngcontent-%COMP%]:after{position:absolute;z-index:-1;right:-9vw;bottom:-27vw;width:56vw;height:56vw;border:1px solid rgba(255,255,255,.18);border-radius:50%;content:""}.first-hero__content[_ngcontent-%COMP%]{max-width:900px;margin-left:max(24px,(100vw - 1160px) / 2)}.first-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .first-hero[_ngcontent-%COMP%] .first-e
115yebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.first-hero__lead[_ngcontent-%COMP%]{max-width:720px;margin:0;font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.7}.first-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.1rem}.first-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.3rem;border:2px solid transparent;border-radius:4px;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.first-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.first-button--primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,#c84c00,#b83212 80%);color:var(--natie-white);box-shadow:0 10px 24px #ea461338}.first-button--secondary[_ngcontent-%COMP%]{border-color:#ffffffe6;color:var(--natie-white)}.first-button--secondary[_ngcontent-%COMP%]:hover{background:var(--natie-white);color:var(--natie-navy-mid)}.first-button[_ngcontent-%COMP%]:focus-visible, .first-program-card__link[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.first-story[_ngcontent-%COMP%]{background:#fffaf5}.first-story__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2.5rem,8vw,7rem);align-items:center}.first-story__copy[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:not(.first-eyebrow){color:var(--natie-text-muted)}.first-story__logo[_ngcontent-%COMP%]{width:min(360px,100%);height:auto;margin:1rem 0 1.5rem;display:block}.first-story__wordmark[_ngcontent-%COMP%]{width:min(100%,520px);height:auto;margin-top:1.65rem;display:block}.first-story__visual[_ngcontent-%COMP%]{position:relative;margin:0}.first-story__visual[_ngcontent-%COMP%]:before{position:absolute;z-index:0;top:-1.5rem;right:-1.5rem;width:52%;height:52%;border-radius:2px;background:linear-gradient(135deg,var(--natie-orange),var(--natie-orange-strong));content:""}.first-story__visual[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{position:relative;z-index:1;width:100%;min-height:440px;display:block;object-fit:cover;box-shadow:var(--natie-card-shadow)}.first-story__visual[_ngcontent-%COMP%] figcaption[_ngcontent-%COMP%]{position:relative;z-index:2;width:calc(100% - 3rem);margin:-2.5rem 0 0 3rem;padding:1.25rem 1.45rem;border-left:4px solid var(--natie-orange);background:var(--natie-white);color:var(--natie-text-muted);font-size:.95rem;font-weight:700;line-height:1.5;box-shadow:var(--natie-card-shadow)}.first-film[_ngcontent-%COMP%]{background:var(--natie-white)}.first-film__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(2.5rem,7vw,6.5rem);align-items:center}.first-film__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{color:var(--natie-text-soft)}.first-film__frame[_ngcontent-%COMP%]{position:relative;padding:.65rem;background:var(--natie-charcoal);box-shadow:0 24px 52px #112d4d2e}.first-film__frame[_ngcontent-%COMP%]:before{position:absolute;z-index:-1;right:-1.25rem;bottom:-1.25rem;width:38%;height:46%;background:linear-gradient(135deg,var(--natie-orange),var(--natie-orange-strong));content:""}.first-film[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;aspect-ratio:16/9;display:block;border:0}.first-quote-section[_ngcontent-%COMP%]{background:var(--natie-charcoal);color:var(--natie-surface-on-dark)}.first-quote[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(220px,.58fr) 1.42fr;gap:clamp(2rem,6vw,5.5rem);align-items:center;margin:0}.first-quote[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;max-height:470px;display:block;object-fit:cover;object-position:center top;border-bottom:7px solid var(--natie-orange)}
115.first-quote[_ngcontent-%COMP%] .first-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.first-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{margin:0;color:var(--natie-white);font-size:clamp(1.45rem,2.8vw,2.45rem);font-weight:700;letter-spacing:-.025em;line-height:1.4}.first-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#ff9b4a;font-weight:800;text-transform:uppercase}.first-quote[_ngcontent-%COMP%] figcaption[_ngcontent-%COMP%]{margin-top:1.6rem;color:var(--natie-text-on-dark-soft);font-size:.95rem;font-weight:700}.first-programs[_ngcontent-%COMP%]{scroll-margin-top:calc(var(--header-height) + var(--navbar-height));background:var(--natie-surface)}.first-section-heading[_ngcontent-%COMP%]{max-width:760px;margin:0 auto 3.25rem;text-align:center}.first-section-heading[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{margin:0;color:var(--natie-text-soft);font-size:1.08rem}.first-program-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;align-items:stretch}.first-program-card[_ngcontent-%COMP%]{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--natie-border-soft);border-radius:10px;background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.first-program-card__brand[_ngcontent-%COMP%]{min-height:104px;padding:1.5rem;display:flex;align-items:center;justify-content:center}.first-program-card--fll[_ngcontent-%COMP%] .first-program-card__brand[_ngcontent-%COMP%]{background:var(--natie-red)}.first-program-card--ftc[_ngcontent-%COMP%] .first-program-card__brand[_ngcontent-%COMP%]{background:linear-gradient(115deg,var(--natie-orange),var(--natie-orange-strong))}.first-program-card--frc[_ngcontent-%COMP%] .first-program-card__brand[_ngcontent-%COMP%]{background:var(--natie-blue-darkest)}.first-program-card__brand[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:auto;max-width:100%;max-height:54px;object-fit:contain}.first-program-card__image[_ngcontent-%COMP%]{width:100%;aspect-ratio:3/2;display:block;object-fit:cover}.first-program-card__body[_ngcontent-%COMP%]{flex:1;padding:1.6rem;display:flex;flex-direction:column}.first-program-card__facts[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);margin:0 0 1.35rem;padding-bottom:1.2rem;border-bottom:1px solid var(--natie-border-soft)}.first-program-card__facts[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{padding:0 1rem;text-align:center}.first-program-card__facts[_ngcontent-%COMP%] div[_ngcontent-%COMP%] + div[_ngcontent-%COMP%]{border-left:1px solid var(--natie-border-soft)}.first-program-card__facts[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{margin-bottom:.25rem;color:var(--natie-text-soft);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.first-program-card__facts[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{margin:0;color:var(--natie-ink);font-size:1.13rem;font-weight:800}.first-program-card__body[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{flex:1;margin:0 0 1.5rem;color:var(--natie-text-muted);font-size:.95rem}.first-program-card__link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:48px;padding:.8rem 1rem;border:2px solid var(--natie-blue-accessible);border-radius:4px;color:var(--natie-blue-accessible);font-size:.9rem;font-weight:800;line-height:1.35;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}.first-program-card__link[_ngcontent-%COMP%]:hover{background:var(--natie-blue-accessible);color:var(--natie-white);transform:translateY(-2px)}.first-cta[_ngcontent-%COMP%]{padding:clamp(3.5rem,7vw,5.5rem) 0;background:radial-gradient(circle at 88% 120%,rgba(var(--natie-blue-rgb),.34),transparent 38%),var(--natie-charcoal);color:var(--natie-white)}.first-cta__layout[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:2.5rem}.first-cta[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .first-cta[_ngcontent-%COMP%] .first-e
115yebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.first-cta[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:760px;margin-bottom:0}.first-cta[_ngcontent-%COMP%] .first-button[_ngcontent-%COMP%]{flex:0 0 auto}@media (max-width: 960px){.first-story__layout[_ngcontent-%COMP%], .first-film__layout[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:3.25rem}.first-story__copy[_ngcontent-%COMP%], .first-story__visual[_ngcontent-%COMP%]{max-width:760px}.first-film__copy[_ngcontent-%COMP%]{max-width:680px}.first-program-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;max-width:680px;margin:0 auto}.first-program-card[_ngcontent-%COMP%]{display:grid;grid-template-columns:240px minmax(0,1fr)}.first-program-card__brand[_ngcontent-%COMP%]{min-height:112px}.first-program-card__image[_ngcontent-%COMP%]{height:100%;min-height:250px;aspect-ratio:auto;grid-row:2}.first-program-card__body[_ngcontent-%COMP%]{grid-row:1/span 2;grid-column:2}}@media (max-width: 720px){.first-container[_ngcontent-%COMP%], .first-hero__content[_ngcontent-%COMP%]{width:min(100% - 32px,1160px);margin-right:auto;margin-left:auto}.first-hero[_ngcontent-%COMP%]{min-height:610px;padding:4.75rem 0;background-position:59% center}.first-actions[_ngcontent-%COMP%]{flex-direction:column}.first-button[_ngcontent-%COMP%]{width:100%}.first-story__visual[_ngcontent-%COMP%]:before, .first-film__frame[_ngcontent-%COMP%]:before{right:-.65rem}.first-story__visual[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{min-height:320px}.first-story__visual[_ngcontent-%COMP%] figcaption[_ngcontent-%COMP%]{width:calc(100% - 1rem);margin-left:1rem}.first-quote[_ngcontent-%COMP%]{grid-template-columns:1fr}.first-quote[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:148px;height:148px;border:0;border-radius:50%;box-shadow:0 0 0 5px #ffffff1a}.first-program-card[_ngcontent-%COMP%]{display:flex}.first-program-card__image[_ngcontent-%COMP%]{height:auto;min-height:0;aspect-ratio:3/2}.first-cta__layout[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}}@media (max-width: 420px){h1[_ngcontent-%COMP%]{font-size:2.5rem}.first-section[_ngcontent-%COMP%]{padding:4rem 0}.first-story__visual[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{min-height:260px}.first-program-card__body[_ngcontent-%COMP%]{padding:1.25rem}.first-program-card__facts[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{padding:0 .5rem}}.first-scroll-ready[_nghost-%COMP%] .first-hero[_ngcontent-%COMP%]{background-position:center calc(45% + var(--first-hero-progress, 0) * 20%)}.first-scroll-ready[_nghost-%COMP%] .first-hero__content[_ngcontent-%COMP%]{opacity:calc(1 - var(--first-hero-progress, 0) * .82);transform:translateY(calc(var(--first-hero-progress, 0) * 4rem))}.first-scroll-ready[_nghost-%COMP%] .first-scroll-item[_ngcontent-%COMP%]{opacity:var(--first-item-progress, 0);transform:translate3d(calc(var(--first-reveal-x, 0) * (1 - var(--first-item-progress, 0))),calc((1 - var(--first-item-progress, 0)) * 2.8rem),0)}.first-scroll-ready[_nghost-%COMP%] .first-story__copy[_ngcontent-%COMP%], .first-scroll-ready[_nghost-%COMP%] .first-film__copy[_ngcontent-%COMP%], .first-scroll-ready[_nghost-%COMP%] .first-quote[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{--first-reveal-x: -2.4rem}.first-scroll-ready[_nghost-%COMP%] .first-story__visual[_ngcontent-%COMP%], .first-scroll-ready[_nghost-%COMP%] .first-film__frame[_ngcontent-%COMP%], .first-scroll-ready[_nghost-%COMP%] .first-quote[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{--first-reveal-x: 2.4rem}.first-scroll-ready[_nghost-%COMP%] .first-program-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--first-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--first-item-progress, 0) * .025))}@media (max-width: 720px){.first-scroll-ready[_nghost-%COMP%] .first-hero[_ngcontent-%COMP%]{background-position:59% calc(45% + var(--first-hero-progress, 0) * 20%)}}@media (prefers-reduced-motion: reduce){.first-button[_ngcontent-%COMP%], .first-program-card__link[_ngcontent-%COMP%]{transition:none}.first-scroll-ready[_nghost-%COMP%] .first-hero[_ngcontent-%COMP%]{background-position:center}.first-scroll-ready[_nghost-%COMP%] .first-hero__content[_ngcontent-%COMP%], .first-scroll-ready[_nghost-%COMP%] .first-scroll-item[_ngcontent-%COMP%], .first-scroll-ready[_nghost-%COMP%] .first-program-card[_ngcontent-%COMP%]{opacity:1;transform:none}}']})}}return t})();var q0=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-firstglobal"]],standalone:!0,features:[B],decls:81,vars:0,consts:[[1,"hero-section"],["src","assets/about-pages/hero-img-first.webp","alt","FIRST Global Hero Image","loading","eager",1,"hero-img"],[1,"about-ftc-main"],[1,"about-ftc-description-wrap"],["src","assets/about-pages/FG-header-black.webp","alt","FIRST Logo","loading","lazy",1,"about-ftc-logo-title"],[1,"about-ftc-content-section"],[1,"about-ftc-text-content"],[1,"about-ftc-side-image"],["src","assets/about-pages/first-global-national.webp","alt","FIRST Organization","loading","lazy",1,"about-ftc-side-image-float"],[1,"full-width-image-section"],["src","assets/about-pages/FGb-203-2-scaled.webp","alt","FIRST Global Event","loading","lazy",1,"full-width-image"],[1,"event-overlay"],[1,"event-content"],[1,"event-title"],[1,"event-location-date"],[1,"event-location"],[1,"event-date"],[1,"event-description"],[1,"challenges-content"],[1,"challenges-image"],["src","assets/about-pages/firstglobal post.webp","alt","FIRST Global Stadium Event","loading","lazy",1,"challenges-hero-img"],[1,"challenges-text"],[1,"challenges-title"],[1,"challenges-description"],[1,"inspirational-banner"],[1,"banner-content"],[1,"banner-image"],["src","assets/about-pages/first-global-national-2.webp","alt","ARRA Robotics Team with Romanian Flag","loading","lazy",1,"banner-hero-img"],[1,"banner-quote"]],template:function(n,i){n&1&&(r(0,"div",0),_(1,"img",1),o(),r(2,"div",2)(3,"div",3),_(4,"img",4),r(5,"div",5)(6,"div",6)(7,"p")(8,"strong"),a(9,"Ce este FIRST GLOBAL CHALLENGE?"),o(),_(10,"br"),r(11,"strong"),a(12,"FIRST Global Challenge (FGC)"),o(),a(13," este cea mai mare competi\u021Bie interna\u021Bional\u0103 de robotic\u0103 pentru liceeni: "),r(14,"strong"),a(15,"peste 190 de \u021B\u0103ri participante"),o(),a(16,", fiecare reprezentat\u0103 de o singur\u0103 echip\u0103 na\u021Bional\u0103, care concureaz\u0103 sub steagul \u021B\u0103rii sale. De aici \u0219i numele sub care a devenit cunoscut\u0103 \u2013 "),r(17,"strong"),a(18,'\u201EOlimpiada roboticii"'),o(),a(19,". Competi\u021Bia este organizat\u0103 anual de FIRST Global, o organiza\u021Bie non-profit cu o misiune clar\u0103: "),r(20,"strong"),a(21,"s\u0103 inspire liderii de m\xE2ine prin \u0219tiin\u021B\u0103, tehnologie, inginerie \u0219i matematic\u0103 (STEM)."),o()()(),r(22,"div",7),_(23,"img",8),o()(),r(24,"div",6)(25,"p"),a(26,"Fiecare edi\u021Bie are o tem\u0103 inspirat\u0103 de o problem\u0103 real\u0103 a planetei, iar jocul de pe teren o simuleaz\u0103. Toate echipele primesc exact acela\u0219i kit de piese, nimeni nu are un avantaj de buget, a\u0219a c\u0103 diferen\u021Ba o fac ideea, disciplina \u0219i num\u0103rul de itera\u021Bii. Din acel kit, elevii proiecteaz\u0103, construiesc \u0219i programeaz\u0103 un robot capabil s\u0103 execute sarcini complexe: s\u0103 colecteze elemente de pe teren, s\u0103 le transporte \u0219i s\u0103 le plaseze cu precizie, sub presiunea cronometrului."),_(27,"br")(28,"br"),a(29," Meciurile se desf\u0103\u0219oar\u0103 \xEEn "),r(30,"strong"),a(31,"alian\u021Be interna\u021Bionale"),o(),a(32,": trei echipe de o parte a terenului, trei de cealalt\u0103, iar coechipierii sunt repartiza\u021Bi din alte \u021B\u0103ri, meci dup\u0103 meci. Punctele se adun\u0103 pentru \xEEntreaga alian\u021B\u0103, nu individual, a\u0219a c\u0103 strategia se stabile\u0219te pe loc, \xEEntre oameni care se cunosc de zece minute."),o()(),r(33,"div",9),_(34,"img",10),r(35,"div",11)(36,"div",12)(37,"h1",13),a(38,"2026 FIRST GLOBAL CHALLENGE"),o(),r(39,"div",14)(40,"p",15),a(41,"INCHEON, COREEA DE SUD"),o(),r(42,"p",16),a(43,"7 \u2013 10 OCTOMBRIE 2026"),o()(),r(44,"div",17)(45,"p"),a(46,"Fiecare edi\u021Bie a "),r(47,"strong"),a(48,"FIRST Global Challenge"),o(),a(49," porne\u0219te de la o provocare real\u0103 a planetei. Focul a fost o amenin\u021Bare pentru P\u0103m\xE2nt timp de milenii, dar schimb\u0103rile climatice l-au sc\u0103pat de sub control: incendiile de vegeta\u021Bie ard peisaje \xEEntregi, elibereaz\u0103 carbon \xEEn atmosfer\u0103 \u0219i preg\u0103tesc terenul pentru urm\u0103torul dezastru. Provocarea are dou\u0103 \u021Binte: oprirea incendiilor care ard acum \u0219i prevenirea celor care vor veni."),o(),r(50,"p"),a(51,"Pe teren, FIRST Global traduce toate acestea \xEEntr-un meci de dou\u0103 minute \u0219i treizeci de secunde, jucat pe o platform\u0103 de 7 pe 7 metri. La start, 500 de bile portocalii - focul - se revars\u0103 pe suprafa\u021Ba de joc, iar cele dou\u0103 alian\u021Be, formate din c\xE2te trei echipe, se \xEEntrec s\u0103 le izoleze \xEEn unit\u0103\u021Bile lor de suprimare. \xCEn paralel, toate cele \u0219ase echipe formeaz\u0103 o singur\u0103 alian\u021B\u0103 global\u0103, iar c\xE2te doi \u201Ehuman players\u201D alimenteaz\u0103 co\u0219ul comun, unde punctele se adun\u0103 pentru comunitatea global\u0103. Spre final, robo\u021Bii se ca\u021B\u0103r\u0103 pe grinzile metalice, iar dac\u0103 patru sau mai mul\u021Bi ajung \xEEmpreun\u0103 pe cea mai \xEEnalt\u0103 treapt\u0103, bonusul se acord\u0103 tuturor, indiferent de alian\u021B\u0103. E felul competi\u021Biei de a spune c\u0103, la scara unui incendiu, nimeni nu c\xE2\u0219tig\u0103 singur."),o(),r(52,"p"),a(53,"Competi\u021Bia are \u0219i o parte care nu se joac\u0103 pe teren. Prin proiectul "),r(54,"strong"),a(55,"Igniting Innovation \u2013 New Technology Experience"),o(),a(56,", echipele \xEE\u0219i folosesc creativitatea \u0219i ingineria pentru a descoperi solu\u021Bii de prevenire a incendiilor, limitare a lor \u0219i refacere de dup\u0103. Elevii exploreaz\u0103 astfel cum poate tehnologia s\u0103 reduc\u0103 riscul \u0219i amploarea focului, s\u0103 protejeze comunit\u0103\u021Bile \u0219i s\u0103 sprijine rezilien\u021B
115a mediului \xEEntr-o lume care se \xEEnc\u0103lze\u0219te."),o()()()()(),r(57,"div",18)(58,"div",19),_(59,"img",20),o(),r(60,"div",21)(61,"h2",22),a(62,"Social Media CHALLENGES"),o(),r(63,"div",23)(64,"p"),a(65,"Pe tot parcursul sezonului, "),r(66,"strong"),a(67,"FIRST Global"),o(),a(68," lanseaz\u0103 "),r(69,"strong"),a(70,"Social Media Challenges"),o(),a(71," \u2013 provoc\u0103ri online deschise tuturor echipelor. Sunt oportunit\u0103\u021Bi de a \xEE\u0219i ar\u0103ta cultura, locurile \u0219i oamenii din spatele fiec\u0103rei echipe. De exemplu, o \xEEnt\xE2lnire online cu o echip\u0103 de pe alt continent, o fotografie de grup \xEEn fa\u021Ba unui reper de acas\u0103, un video despre ceva ce numai \u021Bara ta \u0219tie s\u0103 fac\u0103, fiecare provocare vine cu o tem\u0103 \u0219i cu un termen de c\xE2teva zile. Toate aceste provoc\u0103ri se desf\u0103\u0219oar\u0103 pe platforme social media, precum Instagram, Facebook, YouTube, X \u0219i TikTok."),o()()()(),r(72,"div",24)(73,"div",25)(74,"div",26),_(75,"img",27),o(),r(76,"div",28)(77,"blockquote"),a(78,' "Prin FIRST Global Challenge, am descoperit c\u0103 uneori nu ai nevoie de un avion ca s\u0103 c\u0103l\u0103tore\u0219ti \xEEn jurul lumii, ci doar de curajul de a da un click. Am ajuns s\u0103 descoperim culturi, s\u0103 leg\u0103m prietenii peste grani\u021Be \u0219i s\u0103 \xEEnv\u0103\u021B\u0103m de la tineri care, de\u0219i vin din col\u021Buri diferite ale lumii, \xEEmp\u0103rt\u0103\u0219esc aceea\u0219i pasiune. Acum avem \u0219ansa de a duce Rom\xE2nia mai departe, de a purta drapelul cu m\xE2ndrie pe scena mondial\u0103 \u0219i de a transforma aceast\u0103 oportunitate \xEEntr-o experien\u021B\u0103 pe care nu o vom uita niciodat\u0103." '),o(),r(79,"cite"),a(80,"\u2013 ARRA, echipa care reprezint\u0103 Rom\xE2nia la FIRST Global 2026"),o()()()()()())},styles:['.hero-section[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:0;overflow-x:hidden;position:relative;height:var(--banner-md-height);padding-top:0}.hero-img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;object-position:center;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}@media (min-width: 1920px){.hero-img[_ngcontent-%COMP%]{max-height:100vh}}@media (min-width: 1200px){.hero-section[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#0000001a,#0006);z-index:1;pointer-events:none}.hero-img[_ngcontent-%COMP%]{z-index:0}}.about-ftc-main[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;padding:0 1rem}.about-ftc-description-wrap[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;background:#fff;box-shadow:0 2px 8px #00000014;padding:2.5rem 2rem 2rem;position:relative}.about-ftc-logo-title[_ngcontent-%COMP%]{width:100%;max-width:400px;margin:0 auto 1rem;display:block}.about-ftc-main-image[_ngcontent-%COMP%]{width:100%;max-width:400px;height:auto;margin:0 auto;display:block}.about-ftc-content-section[_ngcontent-%COMP%]{display:flex;gap:2rem;align-items:flex-start;margin-top:2rem}.about-ftc-text-content[_ngcontent-%COMP%]{flex:1;font-size:var(--font-size-lg);color:#222;line-height:1.6;margin:2rem 0}.about-ftc-text-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:inherit}.about-ftc-side-image[_ngcontent-%COMP%]{flex-shrink:0}.about-ftc-side-image-float[_ngcontent-%COMP%]{width:400px;height:auto;border-radius:12px;box-shadow:0 2px 8px #0000001a}.about-ftc-video-section[_ngcontent-%COMP%]{margin-top:2rem;text-align:center}.about-ftc-video[_ngcontent-%COMP%]{width:100%;max-width:800px;height:450px;border-radius:12px;box-shadow:0 4px 16px #00000026}@media (max-width: 1100px){.hero-section[_ngcontent-%COMP%], .hero-img[_ngcontent-%COMP%]{max-width:100vw;width:100vw}}@media (max-width: 900px){.about-ftc-description-wrap[_ngcontent-%COMP%]{max-width:90vw;margin:0 auto;padding:1.2rem .5rem}.about-ftc-logo-title[_ngcontent-%COMP%], .about-ftc-main-image[_ngcontent-%COMP%]{max-width:90vw}.about-ftc-content-section[_ngcontent-%COMP%]{flex-direction:column;gap:1.5rem}.about-ftc-side-image-float[_ngcontent-%COMP%]{width:100%;max-width:90vw}.about-ftc-video[_ngcontent-%COMP%]{max-width:90vw;height:350px}}@media (max-width: 768px){.hero-section[_ngcontent-%COMP%], .hero-img[_ngcontent-%COMP%]{height:auto;min-height:200px}.about-ftc-description-wrap[_ngcontent-%COMP%]{max-width:95vw;padding:1rem .75rem;margin:0 auto;box-shadow:none}.about-ftc-logo-title[_ngcontent-%COMP%]{max-width:95vw}.about-ftc-main-image[_ngcontent-%COMP%]{max-width:95vw;box-shadow:none}.about-ftc-content-section[_ngcontent-%COMP%]{flex-direction:column;gap:1.5rem;margin-top:1.5rem}.about-ftc-text-content[_ngcontent-%COMP%]{font-size:var(--font-size-sm)}.about-ftc-side-image-float[_ngcontent-%COMP%]{width:100%;max-width:95vw;box-shadow:none}}@media (max-width: 480px){.hero-section[_ngcontent-%COMP%]{margin-top:15px;height:auto;min-height:150px}.hero-img[_ngcontent-%COMP%]{height:auto;min-height:100px}.about-ftc-description-wrap[_ngcontent-%COMP%]{padding:.75rem .5rem;box-shadow:none}.about-ftc-main-image[_ngcontent-%COMP%]{box-shadow:none}.about-ftc-content-section[_ngcontent-%COMP%]{margin-top:1rem;gap:1rem}.about-ftc-text-content[_ngcontent-%COMP%]{font-size:var(--font-size-sm)}.about-ftc-side-image-float[_ngcontent-%COMP%]{box-shadow:none}.about-ftc-video[_ngcontent-%COMP%]{max-width:95vw;height:250px}}@media (max-width: 360px){.hero-section[_ngcontent-%COMP%]{margin-top:5px}.about-ftc-video[_ngcontent-%COMP%]{max-width:95vw;height:200px}}@media (min-width: 1200px){.about-ftc-description-wrap[_ngcontent-%COMP%]{max-width:1000px;padding:3rem 2.5rem 2.5rem}.about-ftc-logo-title[_ngcontent-%COMP%], .about-ftc-main-image[_ngcontent-%COMP%]{max-width:500px}.about-ftc-video[_ngcontent-%COMP%]{max-width:900px;height:500px}}.dean-kamen-quote-section[_ngcontent-%COMP%]{display:flex;margin:3rem auto;max-width:650px;background:#0066b3;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.dean-kamen-photo[_ngcontent-%COMP%]{flex:0 0 30%;position:relative}.dean-kamen-image[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.dean-kamen-quote[_ngcontent-%COMP%]{flex:0 0 70%;background:#0066b3;padding:2.5rem;display:flex;flex-direction:column;justify-content:center;color:#fff}.dean-kamen-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{font-size:1.1rem;line-height:1.6;margin:0 0 1.5rem;font-style:italic;text-align:left}.dean-kamen-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:700;color:#fbbf24}.dean-kamen-quote[_ngcontent-%COMP%] cite[_ngcontent-%COMP%]{font-size:.95rem;font-style:normal;opacity:.9;text-align:right}@media (max-width: 768px){.dean-kamen-quote-section[_ngcontent-%COMP%]{flex-direction:column;margin:2rem auto;max-width:95vw}.dean-kamen-photo[_ngcontent-%COMP%]{flex:none;height:200px;border-radius:50%;overflow:hidden;
115width:200px;margin:2rem auto 0;background:#0066b3}.dean-kamen-image[_ngcontent-%COMP%]{object-position:center}.dean-kamen-quote[_ngcontent-%COMP%]{flex:none;padding:2rem 1.5rem}.dean-kamen-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{font-size:1rem;margin-bottom:1rem}}@media (max-width: 480px){.dean-kamen-quote-section[_ngcontent-%COMP%]{margin:1.5rem auto;border-radius:8px}.dean-kamen-photo[_ngcontent-%COMP%]{height:150px;width:150px;background:#0066b3;margin:1.5rem auto 0}.dean-kamen-quote[_ngcontent-%COMP%]{padding:1.5rem 1rem}.dean-kamen-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{font-size:.95rem;line-height:1.5}.dean-kamen-quote[_ngcontent-%COMP%] cite[_ngcontent-%COMP%]{font-size:.9rem}}.first-programs-section[_ngcontent-%COMP%]{margin:4rem auto;max-width:1200px;padding:0 1rem}.programs-title[_ngcontent-%COMP%]{text-align:center;font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:3rem;position:relative}.programs-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.program-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.program-card[_ngcontent-%COMP%]:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.program-header[_ngcontent-%COMP%]{padding:1.5rem;text-align:center;color:#fff}.program-logo[_ngcontent-%COMP%]{max-width:100%;max-height:60px;object-fit:contain}.fll-header[_ngcontent-%COMP%]{background:#dc2626}.ftc-header[_ngcontent-%COMP%]{background:#ea580c}.frc-header[_ngcontent-%COMP%]{background:#2563eb}.program-image[_ngcontent-%COMP%]{padding:0;text-align:center;background:#f8fafc;height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden}.program-image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover}.program-demographics[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#fff;gap:1rem}.demographic-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center}.demographic-label[_ngcontent-%COMP%]{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:.5rem}.demographic-value[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:700;color:#1f2937}.demographic-divider[_ngcontent-%COMP%]{width:1px;height:40px;background:#e5e7eb}.program-description[_ngcontent-%COMP%]{padding:1.5rem;background:#fff;flex-grow:1}.program-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.95rem;line-height:1.6;color:#374151;text-align:left}.program-button[_ngcontent-%COMP%]{margin:0;padding:1rem 1.5rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;text-align:center;white-space:normal;line-height:1.3;width:100%;display:block}.program-card[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{margin:0 1.5rem 1.5rem;text-decoration:none;display:block}.fll-button[_ngcontent-%COMP%]{background:#dc2626}.fll-button[_ngcontent-%COMP%]:hover{background:#b91c1c;transform:translateY(-2px)}.ftc-button[_ngcontent-%COMP%]{background:#ea580c}.ftc-button[_ngcontent-%COMP%]:hover{background:#c2410c;transform:translateY(-2px)}.frc-button[_ngcontent-%COMP%]{background:#2563eb}.frc-button[_ngcontent-%COMP%]:hover{background:#1d4ed8;transform:translateY(-2px)}@media (max-width: 1024px){.programs-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width: 768px){.first-programs-section[_ngcontent-%COMP%]{margin:3rem auto;padding:0 .5rem}.programs-title[_ngcontent-%COMP%]{font-size:2rem;margin-bottom:2rem}.programs-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1.5rem}.program-card[_ngcontent-%COMP%]{max-width:500px;margin:0 auto}}@media (max-width: 480px){.first-programs-section[_ngcontent-%COMP%]{margin:2rem auto}.programs-title[_ngcontent-%COMP%]{font-size:1.75rem;margin-bottom:1.5rem}.program-header[_ngcontent-%COMP%]{padding:1.25rem}.program-logo[_ngcontent-%COMP%]{max-height:50px}.program-image[_ngcontent-%COMP%]{padding:0;height:180px}.program-demographics[_ngcontent-%COMP%], .program-description[_ngcontent-%COMP%]{padding:1.25rem}.program-card[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{margin:0 1.25rem 1.25rem}.program-button[_ngcontent-%COMP%]{padding:.875rem 1.25rem;font-size:.85rem}}.full-width-image-section[_ngcontent-%COMP%]{width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);height:800px;overflow:hidden;position:relative}.full-width-image-section[_ngcontent-%COMP%] .full-width-image[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.event-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;background:#0000007a;display:flex;align-items:center;justify-content:center;z-index:2}.event-content[_ngcontent-%COMP%]{max-width:1000px;padding:2rem;text-align:center;color:#fff;opacity:1!important;width:100%}.event-title[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:700;margin:0 0 1rem;line-height:1.2;white-space:normal;min-width:100%}.event-location-date[_ngcontent-%COMP%]{margin-bottom:2rem}.event-location[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.event-date[_ngcontent-%COMP%]{font-size:1.3rem;font-weight:500;margin:0}.event-description[_ngcontent-%COMP%]{text-align:left;max-width:700px;margin:0 auto}.event-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.1rem;line-height:1.6;margin:0 0 1rem}.event-description[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#fff;font-weight:700}@media (max-width: 1024px){.event-content[_ngcontent-%COMP%]{padding:2rem 1.5rem;max-width:95%}.event-title[_ngcontent-%COMP%]{font-size:3rem}}@media (max-width: 900px){.event-content[_ngcontent-%COMP%]{padding:1.75rem 1.25rem;max-width:95%}.event-title[_ngcontent-%COMP%]{font-size:2.5rem}.event-location[_ngcontent-%COMP%]{font-size:1.4rem}.event-date[_ngcontent-%COMP%]{font-size:1.2rem}}@media (max-width: 768px){.event-content[_ngcontent-%COMP%]{padding:1.5rem 1rem;max-width:95%}.event-title[_ngcontent-%COMP%]{font-size:2rem;line-height:1.3}.event-location[_ngcontent-%COMP%]{font-size:1.2rem}.event-date[_ngcontent-%COMP%]{font-size:1.1rem}.event-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1rem}}@media (max-width: 600px){.event-content[_ngcontent-%COMP%]{padding:1.25rem .75rem}.event-title[_ngcontent-%COMP%]{font-size:1.75rem}.event-location[_ngcontent-%COMP%]{font-size:1.1rem}.event-date[_ngcontent-%COMP%]{font-size:1rem}}@media (max-width: 480px){.event-content[_ngcontent-%COMP%]{padding:1rem .5rem}.event-title[_ngcontent-%COMP%]{font-size:1.5rem;line-height:1.2}.event-location[_ngcontent-%COMP%]{font-size:1rem}.event-date[_ngcontent-%COMP%]{font-size:.9rem}.event-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.9rem;line-height:1.5}}@media (max-width: 360px){.event-content[_ngcontent-%COMP%]{padding:.75rem .25rem}.event-title[_ngcontent-%COMP%]{font-size:1.3rem}.event-location[_ngcontent-%COMP%]{font-size:.9rem}.event-date[_ngcontent-%COMP%]{font-size:.8rem}.event-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.85rem}}.social-media-challenges-section[_ngcontent-%COMP%]{margin-top:3rem;padding:2rem;background:#f8fafc;border-radius:12px}.challenges-content[_ngcontent-%COMP%]{display:flex;gap:2rem;align-items:flex-start;max-width:1000px;margin:2rem auto 0}.challenges-image[_ngcontent-%COMP%]{flex:0 0 300px;flex-shrink:0}.challenges-hero-img[_ngcontent-%COMP%]{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 16px #00000026;object-fit:cover}.challenges-text[_ngcontent-%COMP%]{flex:1}.challenges-title[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 1.5rem;line-height:1.2}.challenges-description[_ngcontent-%COMP%]{font-size:var(--font-size-lg);color:#374151;line-height:1.6}.challenges-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 1rem;font-size:inherit}.challenges-description[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.challenges-description[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1f2937;font-weight:700}@media (max-width: 900px){.challenges-content[_ngcontent-%COMP%]{flex-direction:column;gap:1.5rem}.challenges-image[_ngcontent-%COMP%]{flex:none;max-width:400px;margin:0 auto}.challenges-text[_ngcontent-%COMP%]{text-align:center}}@media (max-width: 768px){.social-media-challenges-section[_ngcontent-%COMP%]{margin-top:2rem;padding:1.5rem}.challenges-title[_ngcontent-%COMP%]{font-size:1.75rem;margin-bottom:1rem}.challenges-description[_ngcontent-%COMP%]{font-size:var(--font-size-sm)}.challenges-image[_ngcontent-%COMP%]{max-width:100%}}
115@media (max-width: 480px){.social-media-challenges-section[_ngcontent-%COMP%]{padding:1rem;margin-top:1.5rem}.challenges-title[_ngcontent-%COMP%]{font-size:1.5rem}.challenges-content[_ngcontent-%COMP%]{gap:1rem}}.inspirational-banner[_ngcontent-%COMP%]{margin-top:4rem;width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);background:linear-gradient(135deg,#002776,#ff6b35,#f7931e,#ff6b35,#e53e3e,#c53030);padding:3rem 0;position:relative;overflow:hidden}.inspirational-banner[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#002776e6,#ff6b35e6,#f7931ee6,#ff6b35e6,#e53e3ee6,#c53030e6);z-index:1}.banner-content[_ngcontent-%COMP%]{display:flex;max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:2;gap:3rem;align-items:center}.banner-image[_ngcontent-%COMP%]{flex:0 0 400px;flex-shrink:0;position:relative}.banner-hero-img[_ngcontent-%COMP%]{width:100%;height:auto;border-radius:16px;box-shadow:0 8px 32px #0000004d;object-fit:cover;transition:transform .3s ease,box-shadow .3s ease}.banner-hero-img[_ngcontent-%COMP%]:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0006}.banner-quote[_ngcontent-%COMP%]{flex:1;color:#fff;padding:2rem;background:#ffffff1a;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.banner-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{font-size:1.4rem;line-height:1.7;margin:0 0 2rem;font-style:italic;text-align:left;font-weight:400;text-shadow:0 2px 4px rgba(0,0,0,.3)}.banner-quote[_ngcontent-%COMP%] cite[_ngcontent-%COMP%]{font-size:1.1rem;font-style:normal;font-weight:600;text-align:right;display:block;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media (max-width: 1024px){.banner-content[_ngcontent-%COMP%]{gap:2rem;padding:0 1.5rem}.banner-image[_ngcontent-%COMP%]{flex:0 0 350px}.banner-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{font-size:1.3rem}}@media (max-width: 900px){.banner-content[_ngcontent-%COMP%]{flex-direction:column;gap:2rem;text-align:center}.banner-image[_ngcontent-%COMP%]{flex:none;max-width:500px;margin:0 auto}.banner-quote[_ngcontent-%COMP%]{text-align:center}.banner-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{text-align:center;font-size:1.2rem}.banner-quote[_ngcontent-%COMP%] cite[_ngcontent-%COMP%]{text-align:center}}@media (max-width: 768px){.inspirational-banner[_ngcontent-%COMP%]{margin-top:3rem;padding:2rem 0}.banner-content[_ngcontent-%COMP%]{padding:0 1rem;gap:1.5rem}.banner-image[_ngcontent-%COMP%]{max-width:100%}.banner-quote[_ngcontent-%COMP%]{padding:1.5rem}.banner-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{font-size:1.1rem;margin-bottom:1.5rem}.banner-quote[_ngcontent-%COMP%] cite[_ngcontent-%COMP%]{font-size:1rem}}@media (max-width: 480px){.inspirational-banner[_ngcontent-%COMP%]{margin-top:2rem;padding:1.5rem 0}.banner-content[_ngcontent-%COMP%]{padding:0 .75rem;gap:1rem}.banner-quote[_ngcontent-%COMP%]{padding:1.25rem}.banner-quote[_ngcontent-%COMP%] blockquote[_ngcontent-%COMP%]{font-size:1rem;line-height:1.6}.banner-quote[_ngcontent-%COMP%] cite[_ngcontent-%COMP%]{font-size:.9rem}}']})}}return t})();var W0=(()=>{class t{constructor(){this.formData={firstName:"",lastName:"",email:"",phone:"",message:""}}onSubmit(){let e=this.createEmailBody(),n=`mailto:[email protected]?subject=Contact Form Submission&body=${encodeURIComponent(e)}`;window.location.href=n}createEmailBody(){return` 116Contact Form Submission 117 118First Name: ${this.formData.firstName} 119Last Name: ${this.formData.lastName} 120Email: ${this.formData.email} 121Phone: ${this.formData.phone} 122 123Message: 124${this.formData.message} 125 126--- 127This message was sent from the NATIE website contact form. 128 `.trim()}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-contact-us"]],standalone:!0,features:[B],decls:144,vars:5,consts:[[1,"hero-section"],["src","assets/bannere/contact us.jpg","alt","Contact Us Hero Image","loading","eager",1,"hero-img"],["aria-hidden","true",1,"hero-overlay"],[1,"hero-content"],[1,"contact-form-section"],[1,"contact-form-backdrop"],[1,"contact-form-container"],[1,"contact-form-header"],[1,"contact-form-content"],[1,"contact-promotional"],[1,"promotional-text"],[1,"promotional-line"],[1,"promotional-text-mobile"],[1,"contact-form-wrapper"],[1,"contact-form",3,"ngSubmit"],[1,"form-row"],[1,"form-group"],["for","firstName"],["type","text","id","firstName","name","firstName","required","",3,"ngModelChange","ngModel"],["for","lastName"],["type","text","id","lastName","name","lastName","required","",3,"ngModelChange","ngModel"],["for","email"],["type","email","id","email","name","email","required","",3,"ngModelChange","ngModel"],["for","phone"],["type","tel","id","phone","name","phone",3,"ngModelChange","ngModel"],["for","message"],["id","message","name","message","placeholder","Lasa-ne un mesaj...","required","",3,"ngModelChange","ngModel"],["type","submit",1,"submit-button"],[1,"contact-team-section"],[1,"contact-team-container"],[1,"contact-team-title"],[1,"script-text"],[1,"team-members-pyramid"],[1,"team-row","team-row-first"],[1,"team-member"],["src","assets/about-pages/contact-our-team/dana razboiu.webp","alt","Dana R\u0103zboiu",1,"team-member-photo"],[1,"team-member-name"],[1,"team-member-role"],[1,"team-member-email"],["src","assets/about-pages/contact-our-team/alexandru dragus.webp","alt","Alexandru Dr\u0103gu\u0219",1,"team-member-photo"],[1,"team-row","team-row-second"],["src","assets/about-pages/contact-our-team/victor brinzan.webp","alt","Victor Br\xEEnzan",1,"team-member-photo"],["src","assets/about-pages/contact-our-team/oana dragus.webp","alt","Oana Dr\u0103gu\u0219",1,"team-member-photo"],[1,"faq-contact-section"],[1,"faq-contact-backdrop"],[1,"faq-contact-container"],[1,"faq-column"],[1,"faq-label"],[1,"faq-title"],[1,"faq-title-line"],[1,"contact-column"],[1,"contact-main-title"],[1,"contact-intro"],[1,"contact-list"],["href","mailto:[email protected]?subject=\xCEntrebare despre promovare \u0219i comunicare",1,"contact-item"],[1,"contact-question"],[1,"contact-name"],[1,"contact-arrow"],["href","mailto:[email protected]?subject=\xCEntrebare despre parteneriate \u0219i evenimente",1,"contact-item"],["routerLink","/request-student-certificate",1,"contact-item"],["href","mailto:[email protected]?subject=\xCEntrebare despre jurizare \u0219i sfaturi",1,"contact-item"]],template:function(n,i){n&1&&(r(0,"div",0),_(1,"img",1)(2,"div",2),r(3,"div",3)(4,"h1"),a(5,"Vrem sa stim parerea ta. Educatia e sport de ECHIPA!"),o()()(),r(6,"div",4)(7,"div",5)(8,"div",6)(9,"div",7)(10,"h1"),a(11,"GET IN TOUCH!"),o()(),r(12,"div",8)(13,"div",9)(14,"div",10)(15,"div",11),a(16,"WE"),o(),r(17,"div",11),a(18,"WOULD"),o(),r(19,"div",11),a(20,"LOVE"),o(),r(21,"div",11),a(22,"TO HEAR"),o(),r(23,"div",11),a(24,"FROM"),o(),r(25,"div",11),a(26,"\u2192 YOU"),o()(),r(27,"div",12),a(28," WE WOULD LOVE TO HEAR FROM \u2192 YOU "),o()(),r(29,"div",13)(30,"form",14),b("ngSubmit",function(){return i.onSubmit()}),r(31,"div",15)(32,"div",16)(33,"label",17),a(34,"Prenume:"),o(),r(35,"input",18),z("ngModelChange",function(u){return R(i.formData.firstName,u)||(i.formData.firstName=u),u}),o()(),r(36,"div",16)(37,"label",19),a(38,"Nume de familie:"),o(),r(39,"input",20),z("ngModelChange",function(u){return R(i.formData.lastName,u)||(i.formData.lastName=u),u}),o()()(),r(40,"div",16)(41,"label",21),a(42,"Email:"),o(),r(43,"input",22),z("ngModelChange",function(u){return R(i.formData.email,u)||(i.formData.email=u),u}),o()(),r(44,"div",16)(45,"label",23),a(46,"Telefon:"),o(),r(47,"input",24),z("ngModelChange",function(u){return R(i.formData.phone,u)||(i.formData.phone=u),u}),o()(),r(48,"div",16)(49,"label",25),a(50,"Mesaj:"),o(),r(51,"textarea",26),z("ngModelChange",function(u){return R(i.formData.message,u)||(i.formData.message=u),u}),o()(),r(52,"button",27),a(53,"TRIMITE"),o()()()()()()(),r(54,"div",28)(55,"div",29)(56,"div",30)(57,"h2"),a(58,"CONTACT "),r(59,"span",31),a(60,"our"),o(),a(61," TEAM"),o()(),r(62,"div",32)(63,"div",33)(64,"div",34),_(65,"img",35),r(66,"h3",36),a(67,"Dana R\u0103zboiu"),o(),r(68,"p",37),a(69,"President"),o(),r(70,"p",38),a(71,"[email protected]"),o()(),r(72,"div",34),_(73,"img",39),r(74,"h3",36),a(75,"Alexandru Dr\u0103gu\u0219"),o(),r(76,"p",37),a(77,"Director de Program"),o(),r(78,"p",38),a(79,"[email protected]"),o()()(),r(80,"div",40)(81,"div",34),_(82,"img",41),r(83,"h3",36),a(84,"Victor Br\xEEnzan"),o(),r(85,"p",37),a(86,"Alumni Advisor"),o(),r(87,"p",38),a(88,"[email protected]"),o()(),r(89,"div",34),_(90,"img",42),r(91,"h3",36),a(92,"Oana Dr\u0103gu\u0219"),o(),r(93,"p",37),a(94,"Marketing"),o(),r(95,"p",38),a(96,"[email protected]"),o()()()()()(),r(97,"div",43)(98,"div",44)(99,"div",45)(100,"div",46)(101,"div",47),a(102,"FAQ"),o(),r(103,"div",48)(104,"div",49),a(105,"Frequently"),o(),r(106,"div",49),a(107,"asked"),o(),r(108,"div",49),a(109,"questions."),o()()(),r(110,"div",50)(111,"div",51),a(112,"Echipa Na\u021Bie este al\u0103turi de tine"),o(),r(113,"div",52),a(114,"Contacteaz\u0103-ne pentru orice legat de FTC, Na\u021Bie \u
1280219i educa\u021Bie \xEEn general!"),o(),r(115,"div",53)(116,"a",54)(117,"div",55),a(118,"Promovare \u0219i comunicare?"),o(),r(119,"div",56),a(120,"Oana"),o(),r(121,"div",57),a(122,"\u2192"),o()(),r(123,"a",58)(124,"div",55),a(125,"Parteneriate \u0219i evenimente?"),o(),r(126,"div",56),a(127,"Alex"),o(),r(128,"div",57),a(129,"\u2192"),o()(),r(130,"a",59)(131,"div",55),a(132,"Ai nevoie de o adeverin\u021B\u0103?"),o(),r(133,"div",56),a(134,"Completeaz\u0103 formularul"),o(),r(135,"div",57),a(136,"\u2192"),o()(),r(137,"a",60)(138,"div",55),a(139,"\xCEntreb\u0103ri despre jurizare?"),o(),r(140,"div",56),a(141,"Cristake"),o(),r(142,"div",57),a(143,"\u2192"),o()()()()()()()),n&2&&(c(35),D("ngModel",i.formData.firstName),c(4),D("ngModel",i.formData.lastName),c(4),D("ngModel",i.formData.email),c(4),D("ngModel",i.formData.phone),c(4),D("ngModel",i.formData.message))},dependencies:[se,Oe,re,ie,Pe,Yt,pe,Ot,Te],styles:[".hero-section[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:0;overflow-x:hidden;position:relative;height:var(--banner-md-height);padding-top:0;max-width:none;isolation:isolate}.hero-img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;object-position:center;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.hero-overlay[_ngcontent-%COMP%]{position:absolute;z-index:1;inset:0;background:linear-gradient(102deg,#073348b8 4%,#0f6f797a 56%,#324b823d);pointer-events:none}.hero-content[_ngcontent-%COMP%]{position:absolute;z-index:2;inset:0;display:flex;align-items:center;width:min(1160px,100% - 48px);margin:0 auto;color:var(--natie-white)}.hero-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{max-width:900px;margin:0;color:inherit;font-size:clamp(2.35rem,5vw,4.65rem);line-height:1.13;letter-spacing:-.045em}@media (max-width: 620px){.hero-content[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}}@media (min-width: 1920px){.hero-img[_ngcontent-%COMP%]{max-height:100vh}}.contact-form-section[_ngcontent-%COMP%]{width:100%;padding:0;position:relative}.contact-form-backdrop[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;background:#fff;box-shadow:0 2px 8px #00000014;position:relative}.contact-form-container[_ngcontent-%COMP%]{padding:4rem 2rem}.contact-form-header[_ngcontent-%COMP%]{text-align:center;margin-bottom:3rem}.contact-form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:3rem;font-weight:700;color:#333;margin:0;font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;letter-spacing:2px}.contact-form-content[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-promotional[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;position:relative}.promotional-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.promotional-text-mobile[_ngcontent-%COMP%]{display:none;font-size:2.5rem;font-weight:700;color:#0389d1;margin:0;line-height:1.1;font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;letter-spacing:1px;text-align:center}.promotional-line[_ngcontent-%COMP%]{font-size:4rem;font-weight:700;color:#0389d1;margin:0;line-height:.9;font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;letter-spacing:1px}.promotional-arrow[_ngcontent-%COMP%]{font-size:3rem;color:#0389d1;margin-top:1rem;font-weight:700}.contact-form-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column}.contact-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:1rem;font-weight:500;color:#333;font-family:IBM Plex Sans,sans-serif}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:.75rem;border:2px solid #0389d1;border-radius:12px;font-size:1rem;font-family:IBM Plex Sans,sans-serif;background:#fff;transition:border-color .2s ease}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{outline:none;border-color:#0056b3}.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{min-height:120px;resize:vertical}.submit-button[_ngcontent-%COMP%]{background:linear-gradient(90deg,#f06b0e,#e41017 49%,#0389d1 98.5%);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:12px;cursor:pointer;font-family:IBM Plex Sans,sans-serif;transition:transform .2s ease,box-shadow .2s ease;width:100%;margin-top:1rem}.submit-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.contact-team-section[_ngcontent-%COMP%]{background:#282828;width:100%;padding:4rem 0;position:relative}.contact-team-container[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;padding:0 2rem}.contact-team-title[_ngcontent-%COMP%]{text-align:center;margin-bottom:3rem}.contact-team-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#fff;font-size:2.5rem;font-weight:700;margin:0;font-family:IBM Plex Sans,sans-serif}.script-text[_ngcontent-%COMP%]{font-family:Brush Script MT,cursive;font-style:italic;font-weight:lighter;font-size:5rem}.team-members-pyramid[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;align-items:center}.team-row[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:2rem;width:100%}.team-row-first[_ngcontent-%COMP%], .team-row-second[_ngcontent-%COMP%]{justify-content:center}.team-member[_ngcontent-%COMP%]{text-align:center;display:flex;flex-direction:column;align-items:center}.team-member-photo[_ngcontent-%COMP%]{width:150px;height:150px;border-radius:12px;object-fit:cover;margin:0 auto 1rem;display:block;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.team-member-photo[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}
128.team-member-name[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:#fff;margin:0 0 .5rem;font-family:IBM Plex Sans,sans-serif}.team-member-role[_ngcontent-%COMP%]{font-size:1rem;color:#ccc;margin:0 0 .5rem;font-family:IBM Plex Sans,sans-serif}.team-member-email[_ngcontent-%COMP%]{font-size:.9rem;color:#ccc;margin:0;font-family:IBM Plex Sans,sans-serif;word-break:break-all}.faq-contact-section[_ngcontent-%COMP%]{width:100%;padding:0;position:relative}.faq-contact-backdrop[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;background:#fff;box-shadow:0 2px 8px #00000014;position:relative}.faq-contact-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.faq-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.faq-label[_ngcontent-%COMP%]{font-size:2rem;font-weight:400;color:#000;margin:0 0 1rem;font-family:IBM Plex Sans Condensed,sans-serif;font-weight:600}.faq-title[_ngcontent-%COMP%]{display:flex;flex-direction:column}.faq-title-line[_ngcontent-%COMP%]{font-size:4rem;font-weight:700;color:#000;margin:0;line-height:.9;font-family:IBM Plex Sans,sans-serif}.contact-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.contact-main-title[_ngcontent-%COMP%]{font-size:2.2rem;font-weight:700;color:#f06b0e;margin:0 0 1rem;font-family:IBM Plex Sans,sans-serif;line-height:1.2}.contact-intro[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:400;color:#f06b0e;margin:0 0 2rem;font-family:IBM Plex Sans,sans-serif;line-height:1.4}.contact-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.contact-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:opacity .2s ease;text-decoration:none;color:inherit;padding:.5rem;border-radius:4px}.contact-item[_ngcontent-%COMP%]:hover{opacity:.8;background-color:#f06b0e1a}.contact-question[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:700;color:#f06b0e;font-family:IBM Plex Sans,sans-serif}
128.contact-name[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:400;color:#ff8c69;font-family:IBM Plex Sans,sans-serif}.contact-arrow[_ngcontent-%COMP%]{font-size:1.2rem;color:#f06b0e;margin-left:auto;font-family:IBM Plex Sans,sans-serif}@media (max-width: 1100px){.hero-section[_ngcontent-%COMP%], .hero-img[_ngcontent-%COMP%]{max-width:100vw;width:100vw}}.hero-section[_ngcontent-%COMP%]{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw}@media (max-width: 900px){.contact-form-backdrop[_ngcontent-%COMP%]{max-width:90vw;margin:0 auto}.contact-form-container[_ngcontent-%COMP%]{padding:3rem 1rem}.contact-form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2.5rem}.contact-form-content[_ngcontent-%COMP%]{gap:3rem}.promotional-line[_ngcontent-%COMP%]{font-size:3rem}.promotional-arrow[_ngcontent-%COMP%]{font-size:2.5rem}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:.6rem}.submit-button[_ngcontent-%COMP%]{padding:.8rem 1.5rem;font-size:1rem}.contact-team-section[_ngcontent-%COMP%]{padding:3rem 0}.contact-team-container[_ngcontent-%COMP%]{padding:0 1rem}.contact-team-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2rem}.team-members-pyramid[_ngcontent-%COMP%], .team-row[_ngcontent-%COMP%]{gap:1.5rem}.team-member-photo[_ngcontent-%COMP%]{width:120px;height:120px}.team-member-name[_ngcontent-%COMP%]{font-size:1.1rem}.team-member-role[_ngcontent-%COMP%]{font-size:.9rem}.team-member-email[_ngcontent-%COMP%]{font-size:.8rem}.faq-contact-section[_ngcontent-%COMP%]{padding:0}.faq-contact-backdrop[_ngcontent-%COMP%]{max-width:90vw;margin:0 auto;padding:1.2rem .5rem}.faq-contact-container[_ngcontent-%COMP%]{gap:3rem}.faq-title-line[_ngcontent-%COMP%]{font-size:3rem}.contact-main-title[_ngcontent-%COMP%]{font-size:1.8rem}.contact-intro[_ngcontent-%COMP%], .contact-question[_ngcontent-%COMP%], .contact-name[_ng
128content-%COMP%]{font-size:1rem}}@media (max-width: 768px){.contact-form-backdrop[_ngcontent-%COMP%]{max-width:95vw;margin:0 auto;box-shadow:none}.contact-form-container[_ngcontent-%COMP%]{padding:2rem .75rem}.contact-form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem}.contact-form-content[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2rem}.promotional-text[_ngcontent-%COMP%]{display:none}.promotional-text-mobile[_ngcontent-%COMP%]{display:block;font-size:2.5rem}.promotional-line[_ngcontent-%COMP%]{font-size:2.5rem}.promotional-arrow[_ngcontent-%COMP%]{font-size:2rem;margin-top:.5rem}.form-row[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.5rem}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:.5rem}.submit-button[_ngcontent-%COMP%]{padding:.7rem 1.2rem;font-size:.9rem}.hero-section[_ngcontent-%COMP%], .hero-img[_ngcontent-%COMP%]{height:auto;min-height:200px}.contact-team-section[_ngcontent-%COMP%]{padding:2rem 0}.contact-team-container[_ngcontent-%COMP%]{padding:0 .75rem}.contact-team-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.8rem}.team-members-pyramid[_ngcontent-%COMP%]{gap:2rem}.team-row[_ngcontent-%COMP%]{flex-direction:column;gap:2rem}.team-member-photo[_ngcontent-%COMP%]{width:140px;height:140px}.team-member-name[_ngcontent-%COMP%]{font-size:1.1rem}.team-member-role[_ngcontent-%COMP%]{font-size:1rem}.team-member-email[_ngcontent-%COMP%]{font-size:.9rem}.faq-contact-section[_ngcontent-%COMP%]{padding:0}.faq-contact-backdrop[_ngcontent-%COMP%]{max-width:95vw;margin:0 auto;padding:1rem .75rem;box-shadow:none}.faq-contact-container[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2rem}.faq-label[_ngcontent-%COMP%]{display:none}.faq-title-line[_ngcontent-%COMP%]{font-size:2.5rem}.contact-main-title[_ngcontent-%COMP%]{font-size:1.6rem}.contact-intro[_ngcontent-%COMP%], .contact-question[_ngcontent-%COMP%], .contact-name[_ng
128content-%COMP%]{font-size:.95rem}}@media (max-width: 600px){.contact-form-backdrop[_ngcontent-%COMP%]{max-width:95vw;margin:0 auto;box-shadow:none}.contact-form-container[_ngcontent-%COMP%]{padding:1.5rem .5rem}.contact-form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.8rem}.promotional-text[_ngcontent-%COMP%]{display:none}.promotional-text-mobile[_ngcontent-%COMP%]{display:block;font-size:2rem}.promotional-line[_ngcontent-%COMP%]{font-size:2rem}.promotional-arrow[_ngcontent-%COMP%]{font-size:1.5rem}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:.4rem;font-size:.9rem}.submit-button[_ngcontent-%COMP%]{padding:.6rem 1rem;font-size:.85rem}.contact-team-section[_ngcontent-%COMP%]{padding:1.5rem 0}.contact-team-container[_ngcontent-%COMP%]{padding:0 .5rem}.contact-team-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.6rem}.team-member-photo[_ngcontent-%COMP%]{width:300px;height:300px}.team-member-name[_ngcontent-%COMP%]{font-size:1.05rem}.team-member-role[_ngcontent-%COMP%]{font-size:.95rem}.team-member-email[_ngcontent-%COMP%]{font-size:.85rem}.faq-contact-section[_ngcontent-%COMP%]{padding:0}.faq-contact-backdrop[_ngcontent-%COMP%]{max-width:95vw;margin:0 auto;padding:.75rem .5rem;box-shadow:none}.faq-label[_ngcontent-%COMP%]{display:none}.faq-title-line[_ngcontent-%COMP%]{font-size:2rem}.contact-main-title[_ngcontent-%COMP%]{font-size:1.4rem}.contact-intro[_ngcontent-%COMP%], .contact-question[_ngcontent-%COMP%], .contact-name[_ng
128content-%COMP%]{font-size:.9rem}}@media (max-width: 480px){.contact-form-backdrop[_ngcontent-%COMP%]{max-width:95vw;margin:0 auto;box-shadow:none}.contact-form-container[_ngcontent-%COMP%]{padding:1rem .5rem}.contact-form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.6rem}.promotional-text[_ngcontent-%COMP%]{display:none}.promotional-text-mobile[_ngcontent-%COMP%]{display:block;font-size:1.8rem}.promotional-line[_ngcontent-%COMP%]{font-size:1.8rem}.promotional-arrow[_ngcontent-%COMP%]{font-size:1.3rem}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:.9rem}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:.3rem;font-size:.85rem}.submit-button[_ngcontent-%COMP%]{padding:.5rem .8rem;font-size:.8rem}.hero-section[_ngcontent-%COMP%]{margin-top:15px;height:auto;min-height:150px}.hero-img[_ngcontent-%COMP%]{height:auto;min-height:100px}.contact-team-section[_ngcontent-%COMP%]{padding:1rem 0}.contact-team-container[_ngcontent-%COMP%]{padding:0 .5rem}.contact-team-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.4rem}.team-member-photo[_ngcontent-%COMP%]{width:250px;height:250px}.team-member-name[_ngcontent-%COMP%]{font-size:1rem}.team-member-role[_ngcontent-%COMP%]{font-size:.9rem}.team-member-email[_ngcontent-%COMP%]{font-size:.8rem}.faq-contact-section[_ngcontent-%COMP%]{padding:0}.faq-contact-backdrop[_ngcontent-%COMP%]{max-width:95vw;margin:0 auto;padding:.75rem .5rem;box-shadow:none}.faq-label[_ngcontent-%COMP%]{display:none}.faq-title-line[_ngcontent-%COMP%]{font-size:1.8rem}.contact-main-title[_ngcontent-%COMP%]{font-size:1.2rem}.contact-intro[_ngcontent-%COMP%], .contact-question[_ngcontent-%COMP%], .contact-name[_ng
128content-%COMP%]{font-size:.85rem}}@media (max-width: 360px){.hero-section[_ngcontent-%COMP%]{margin-top:5px}}@media (min-width: 1200px){.contact-form-backdrop[_ngcontent-%COMP%]{max-width:1000px;margin:0 auto;padding:0}.contact-form-container[_ngcontent-%COMP%]{padding:5rem 3rem}.contact-form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:3.5rem}.contact-form-content[_ngcontent-%COMP%]{gap:5rem}.promotional-line[_ngcontent-%COMP%]{font-size:5rem}.promotional-arrow[_ngcontent-%COMP%]{font-size:4rem}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:1rem;font-size:1.1rem}.submit-button[_ngcontent-%COMP%]{padding:1.2rem 2.5rem;font-size:1.2rem}.contact-team-section[_ngcontent-%COMP%]{padding:5rem 0}.contact-team-container[_ngcontent-%COMP%]{max-width:1400px;padding:0 3rem}.contact-team-title[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:3rem}.team-members-pyramid[_ngcontent-%COMP%], .team-row[_ngcontent-%COMP%]{gap:2.5rem}.team-member-photo[_ngcontent-%COMP%]{width:180px;height:180px}.team-member-name[_ngcontent-%COMP%]{font-size:1.3rem}.team-member-role[_ngcontent-%COMP%]{font-size:1.1rem}.team-member-email[_ngcontent-%COMP%]{font-size:1rem}.faq-contact-section[_ngcontent-%COMP%]{padding:0}.faq-contact-backdrop[_ngcontent-%COMP%]{max-width:1000px;margin:0 auto;padding:3rem 2.5rem 2.5rem}.faq-contact-container[_ngcontent-%COMP%]{gap:5rem}.faq-title-line[_ngcontent-%COMP%]{font-size:5rem}.contact-main-title[_ngcontent-%COMP%]{font-size:2.5rem}.contact-intro[_ngcontent-%COMP%], .contact-question[_ngcontent-%COMP%], .contact-name[_ng
128content-%COMP%]{font-size:1.2rem}}"]})}}return t})();var Hx=()=>["."];function Gx(t,s){if(t&1){let e=E();Me(0),r(1,"main",1)(2,"section",2),_(3,"img",3)(4,"div",4),r(5,"div",5)(6,"p",6),a(7,"Comunitatea Na\u021Bie Prin Educa\u021Bie"),o(),r(8,"h1",7),a(9,"Implic\u0103-te pentru o educa\u021Bie de calitate \xEEn Rom\xE2nia!"),o(),r(10,"p"),a(11,"Sustine educa\u021Bia STEAM pentru o lume mai bun\u0103 prin cunoa\u0219tere \u0219i inova\u021Bie."),o(),r(12,"div",8)(13,"button",9),b("click",function(){v(e);let i=p();return M(i.scrollToFragment("donate-form"))}),a(14,"Doneaz\u0103 (individual)"),o(),r(15,"a",10),a(16,"Sponsorizeaz\u0103 (companii)"),o()()()(),r(17,"section",11)(18,"div",12)(19,"div",13)(20,"p",6),a(21,"Dona\u021Bie individual\u0103"),o(),r(22,"h2",14),a(23,"Doneaz\u0103 pentru o Na\u021Bie Prin Educa\u021Bie!"),o(),r(24,"p"),a(25,"Po\u021Bi sus\u021Bine Na\u021Bie Prin Educa\u021Bie \u0219i prin compania ta sau ca voluntar."),o(),r(26,"div",15),_(27,"app-external-link-button",16)(28,"app-external-link-button",17),o()(),r(29,"div",18),_(30,"stripe-buy-button",19),o()()(),r(31,"section",20)(32,"div",21)(33,"div")(34,"p",6),a(35,"De ce conteaz\u0103 implicarea"),o(),r(36,"h2",22),a(37,"O comunitate de lideri ai viitorului."),o()(),r(38,"div",23)(39,"p"),a(40,"A fost o provocare s\u0103 lans\u0103m acest program educa\u021Bional \xEEn Rom\xE2nia \xEEn 2016, dar \xEEmpreun\u0103 cu partenerii no\u0219tri am reu\u0219it s\u0103 aducem \xEEmpreun\u0103 elevi din toate col\u021Burile \u021B\u0103rii \u0219i s\u0103 form\u0103m o \xEEntreag\u0103 "),r(41,"strong"),a(42,"comunitate de lideri ai viitorului"),o(),a(43,"."),o(),r(44,"p"),a(45,"Au trecut prin programele Na\u021Bie Prin Educa\u021Bie "),r(46,"strong"),a(47,"peste 10 000 de elevi \xEEn 10 ani"),o(),a(48," \u0219i vrem s\u0103 ajungem \xEEn c\xE2t mai multe \u0219coli din toat\u0103 \u021Bara. Am reu\u0219it s\u0103 fim "),r(49,"strong"),a(50,"Campioni Mondiali de 3 ori la robotic\u0103"),o(),a(51," \u0219i am ajuns cea mai mare competi\u021Bie din Europa \u0219i a 3-a \u021Bar\u0103 ca num\u0103r de elevi implica\u021Bi la nivel Global, dup\u0103 SUA \u0219i China."),o(),r(52,"p",24)(53,"strong"),a(54,"\u0218tim ce avem de f\u0103cut"),o(),a(55," mai departe, haide\u021Bi al\u0103turi de noi!"),o(),r(56,"p",25),a(57,"Echipa Na\u021Bie Prin Educa\u021Bie"),o()()()(),r(58,"section",26)(59,"div",27)(60,"div",28)(61,"p",6),a(62,"Cu fiecare dona\u021Bie aju\u021Bi la"),o(),r(63,"h2",29),a(64,"Mai multe \u0219anse pentru educa\u021Bie practic\u0103."),o()(),r(65,"div",30)(66,"article")(67,"span",31),a(68,"01"),o(),r(69,"p"),a(70,"Crearea cadrului de dezvoltare pentru peste 4500 de elevi anual, concursul FIRST Tech Challenge Romania"),o()(),r(71,"article")(72,"span",31),a(73,"02"),o(),r(74,"p"),a(75,"Dezvoltarea infrastructurii de educa\u021Bie STEAM prin dot\u0103ri \xEEn peste 150 de licee din toat\u0103 \u021Bara"),o()(),r(76,"article")(77,"span",31),a(78,"03"),o(),r(79,"p"),a(80,"Formarea de noi echipe de robotic\u0103 \u0219i drumul spre \u021Binta de a ajunge \xEEn 20% din liceele din Rom\xE2nia"),o()()()()(),r(81,"section",32)(82,"div",27)(83,"div",28)(84,"p",6),a(85,"Alege cum te implici"),o(),r(86,"h2",33),a(87,"Fiecare contribu\u021Bie poate deschide un drum."),o()(),r(88,"div",34)(89,"article",35),_(90,"img",36),r(91,"div")(92,"span",31),a(93,"01"),o(),r(94,"h3"),a(95,"Dona\u021Bii online"),o(),_(96,"app-external-link-button",37),o()(),r(97,"article",38),_(98,"img",39),r(99,"div")(100,"span",31),a(101,"02"),o(),r(102,"h3"),a(103,"Sponsoriz\u0103ri companii"),o(),_(104,"app-external-link-button",40),o()(),r(105,"article",35),_(106,"img",41),r(107,"div")(108,"span",31),a(109,"03"),o(),r(110,"h3"),a(111,"Implicare cu timp"),o(),_(112,"app-external-link-button",40),o()()()()()(),xe()}t&2&&(c(27),m("routerLink","companies")("showIcon",!0)("fullWidth",!0)("iconSrc","assets/resources/link_icon.webp"),c(),m("routerLink","/about/volunteer")("showIcon",!0)("fullWidth",!0)("iconSrc","assets/resources/link_icon.webp"),c(68),m("routerLink",un(15,Hx))("fragment","donate-form")("showIcon",!0),c(8),m("routerLink","companies")("showIcon",!0),c(8),m("routerLink","/about/volunteer")("showIcon",!0))}var $0=(()=>{class t{constructor(e,n,i){this.router=e,this.route=n,this.host=i,this.animationFrame=null,this.scrollItems=[],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}ngOnInit(){this.loadStripeScript();
128let e=this.route.snapshot.fragment;e&&setTimeout(()=>this.scrollToFragment(e),0),this.fragmentSubscription=this.route.fragment.subscribe(n=>{n&&this.scrollToFragment(n)})}loadStripeScript(){if(!document.querySelector('script[src*="stripe.com/v3/buy-button.js"]')){let e=document.createElement("script");e.src="https://js.stripe.com/v3/buy-button.js",e.async=!0,document.head.appendChild(e)}}isChildRouteActive(){return!!this.route.firstChild}scrollToFragment(e){let n=this.host.nativeElement.querySelector(`#${e}`);if(n){let i=this.browserWindow?.matchMedia("(prefers-reduced-motion: reduce)").matches??!0;n.scrollIntoView({behavior:i?"auto":"smooth",block:"start"})}}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument.defaultView;!e||e.matchMedia("(prefers-reduced-motion: reduce)").matches||this.isChildRouteActive()||(this.browserWindow=e,this.scrollContainer=this.host.nativeElement.ownerDocument.body,this.host.nativeElement.classList.add("contribute-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll([".contribute-story__layout > div",".contribute-heading",".contribute-impact__grid article",".contribute-donate__layout > div",".contribute-path-card"].join(","))),this.scrollItems.forEach(n=>n.classList.add("contribute-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),e.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.fragmentSubscription?.unsubscribe(),this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.browserWindow)return;let e=this.browserWindow.innerHeight*.96,n=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(i=>i.style.setProperty("--contribute-item-progress",this.clamp((e-i.getBoundingClientRect().top)/(e-n)).toFixed(3)))}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(ke),T(Je),T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-contribute"]],standalone:!0,features:[B],decls:2,vars:1,consts:[[4,"ngIf"],[1,"contribute-page"],["aria-labelledby","contribute-title",1,"contribute-hero"],["src","assets/about-pages/hero-image-NATIE.webp","alt","Elevi din comunitatea Na\u021Bie Prin Educa\u021Bie","loading","eager"],[1,"contribute-hero__overlay"],[1,"contribute-shell","contribute-hero__content"],[1,"contribute-eyebrow"],["id","contribute-title"],[1,"contribute-actions"],["type","button",1,"contribute-button","contribute-button--primary",3,"click"],["routerLink","companies","routerLinkActive","active",1,"contribute-button","contribute-button--secondary"],["id","donate-form","aria-labelledby","donate-title",1,"contribute-section","contribute-donate"],[1,"contribute-shell","contribute-donate__layout"],[1,"contribute-donate__copy"],["id","donate-title"],[1,"contribute-donate__alternatives"],["name","Informa\u021Bii pentru companii",3,"routerLink","showIcon","fullWidth","iconSrc"],["name","Informa\u021Bii pentru voluntari",3,"routerLink","showIcon","fullWidth","iconSrc"],[1,"contribute-donate__form"],["buy-button-id","buy_btn_1S46H4IkmMSw7MWmG9NU0mkn","publishable-key","pk_live_51RlP9GIkmMSw7MWmyvTw
128DXIDfz4trsiyN8G7xquMKqY6wliJXVMELRHBEbihlY2WOyMXGFa5WCYEgFosRbzQxyaq008L0uCXd7"],["aria-labelledby","story-title",1,"contribute-section","contribute-story"],[1,"contribute-shell","contribute-story__layout"],["id","story-title"],[1,"contribute-story__copy"],[1,"contribute-story__statement"],[1,"contribute-story__signature"],["aria-labelledby","impact-title",1,"contribute-section","contribute-impact"],[1,"contribute-shell"],[1,"contribute-heading"],["id","impact-title"],[1,"contribute-impact__grid"],["aria-hidden","true"],["aria-labelledby","paths-title",1,"contribute-section","contribute-paths"],["id","paths-title"],[1,"contribute-paths__grid"],[1,"contribute-path-card"],["src","assets/contribute/donate.jpg","alt","Dona\u021Bii online","loading","lazy"],["name","Detalii...",3,"routerLink","fragment","showIcon"],[1,"contribute-path-card","contribute-path-card--accent"],["src","assets/contribute/sponsor.jpg","alt","Sponsoriz\u0103ri companii","loading","lazy"],["name","Detalii...",3,"routerLink","showIcon"],["src","assets/contribute/volunteer.jpg","alt","Implicare cu timp","loading","lazy"]],template:function(n,i){n&1&&(h(0,Gx,113,16,"ng-container",0),_(1,"router-outlet")),n&2&&m("ngIf",!i.isChildRouteActive())},dependencies:[Qt,ei,Te,Ci,$,Tn],styles:["[_nghost-%COMP%]{display:block;color:var(--natie-ink)}*[_ngcontent-%COMP%]{box-sizing:border-box}.contribute-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.contribute-shell[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.contribute-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.contribute-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:1.35rem;font-size:clamp(2.35rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}h3[_ngcontent-%COMP%]{margin-bottom:.8rem;font-size:1.35rem}p[_ngcontent-%COMP%]{line-height:1.65}.contribute-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;display:grid;min-height:clamp(500px,67vw,680px);place-items:center;overflow:hidden;color:var(--natie-white)}.contribute-hero[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], .contribute-hero__overlay[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.contribute-hero__overlay[_ngcontent-%COMP%]{z-index:-1;background:linear-gradient(118deg,#491b1cb8,#8b38367a 56%,#0c3a503d)!important}.contribute-hero__content[_ngcontent-%COMP%]{padding:clamp(5.5rem,12vw,9rem) 0}.contribute-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .contribute-hero[_ngcontent-%COMP%] .contribute-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.contribute-hero[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.contribute-eyebrow){max-width:760px;margin:0;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.7}.contribute-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.1rem}.contribute-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.3rem;border:2px solid transparent;border-radius:4px;cursor:pointer;font:inherit;font-weight:800;text-align:center;text-decoration:none;transition:transform .2s ease,background-color .2s ease,color .2s ease}.contribute-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.contribute-button--primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--natie-orange),var(--natie-orange-strong));color:var(--natie-white)}.contribute-button--secondary[_ngcontent-%COMP%]{border-color:#ffffffe6;color:var(--natie-white)}.contribute-button--secondary[_ngcontent-%COMP%]:hover{background:var(--natie-white);color:var(--natie-navy-mid)}.contribute-button[_ngcontent-%COMP%]:focus-visible, a[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.contribute-story[_ngcontent-%COMP%]{background:var(--natie-white)}
128.contribute-story__layout[_ngcontent-%COMP%], .contribute-donate__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2.5rem,8vw,8rem);align-items:start}.contribute-story[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:540px;margin-bottom:0}.contribute-story__copy[_ngcontent-%COMP%]{max-width:660px;color:var(--natie-text-muted);font-size:1.08rem}.contribute-story__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.contribute-story__statement[_ngcontent-%COMP%]{margin:2rem 0 0;padding:1.25rem 0 0 1.4rem;border-left:4px solid var(--natie-orange);color:var(--natie-ink);font-size:1.25rem;font-weight:800;line-height:1.4}.contribute-story__signature[_ngcontent-%COMP%]{margin-bottom:0;color:var(--natie-text-soft);font-weight:700}.contribute-impact[_ngcontent-%COMP%]{background:var(--natie-surface)}.contribute-heading[_ngcontent-%COMP%]{max-width:760px;margin:0 auto 3rem;text-align:center}.contribute-impact__grid[_ngcontent-%COMP%], .contribute-paths__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.contribute-impact__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%]{min-height:265px;padding:2rem;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.contribute-impact__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%]:nth-child(2){border-top-color:var(--natie-orange-strong)}.contribute-impact__grid[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .contribute-path-card[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;margin-bottom:1.55rem;border-radius:50%;background:var(--natie-blue-tint);color:var(--natie-blue-deep);font-size:.82rem;font-weight:800}.contribute-impact__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%]:nth-child(2) span[_ngcontent-%COMP%], .contribute-path-card--accent[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{background:var(--natie-orange-tint);color:var(--natie-orange-strong)}.contribute-impact__grid[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--natie-text-muted);font-size:1.04rem}.contribute-donate[_ngcontent-%COMP%]{background:var(--natie-charcoal);color:var(--natie-surface-on-dark)}.contribute-donate[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .contribute-donate[_ngcontent-%COMP%] .contribute-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.contribute-donate[_ngcontent-%COMP%] .contribute-eyebrow[_ngcontent-%COMP%]{color:#ff9b4a}.contribute-donate__copy[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:not(.contribute-eyebrow){max-width:510px;color:var(--natie-text-on-dark-soft);font-size:1.08rem}.contribute-donate__alternatives[_ngcontent-%COMP%]{display:grid;gap:1rem;max-width:480px;margin-top:2rem}.contribute-donate__form[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-width:0;padding:2rem;background:var(--natie-white);box-shadow:0 24px 52px #0000002e}stripe-buy-button[_ngcontent-%COMP%]{display:flex;justify-content:center;width:100%;min-height:100px;text-align:center}app-external-link-button[_ngcontent-%COMP%]{display:block} app-external-link-button .external-link-button{width:100%;min-height:60px;border-color:#ffffff4d;border-radius:2px;background:#ffffff14} app-external-link-button .external-link-button:hover{border-color:var(--natie-orange);background:#ffffff26;transform:translateY(-2px)} app-external-link-button .external-link-button .button-text{color:var(--natie-white);font-weight:800}.contribute-paths[_ngcontent-%COMP%]{background:var(--natie-white)}.contribute-path-card[_ngcontent-%COMP%]{min-width:0;overflow:hidden;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.contribute-path-card--accent[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.contribute-path-card[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{width:100%;height:205px;display:block;object-fit:cover}.contribute-path-card[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;min-height:218px;padding:1.7rem}
128.contribute-path-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{flex:1}.contribute-path-card[_ngcontent-%COMP%] .external-link-button{min-height:auto;padding:0;border:0;background:transparent}.contribute-path-card[_ngcontent-%COMP%] .external-link-button:hover{background:transparent;box-shadow:none;transform:none}.contribute-path-card[_ngcontent-%COMP%] .external-link-button .button-text{color:var(--natie-blue-accessible)}.contribute-path-card[_ngcontent-%COMP%] .external-link-icon{filter:none}@media (max-width: 850px){.contribute-story__layout[_ngcontent-%COMP%], .contribute-donate__layout[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.5rem}.contribute-impact__grid[_ngcontent-%COMP%], .contribute-paths__grid[_ngcontent-%COMP%]{grid-template-columns:1fr;max-width:620px;margin:auto}.contribute-impact__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%], .contribute-path-card[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{min-height:0}.contribute-donate__form[_ngcontent-%COMP%]{max-width:500px;width:100%}}@media (max-width: 620px){.contribute-shell[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.contribute-hero[_ngcontent-%COMP%]{min-height:560px}.contribute-actions[_ngcontent-%COMP%]{flex-direction:column}.contribute-button[_ngcontent-%COMP%]{width:100%}.contribute-heading[_ngcontent-%COMP%]{margin-bottom:2.2rem}.contribute-impact__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%], .contribute-donate__form[_ngcontent-%COMP%], .contribute-path-card[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{padding:1.4rem}}.contribute-scroll-ready[_nghost-%COMP%] .contribute-scroll-item[_ngcontent-%COMP%]{opacity:var(--contribute-item-progress, 0);transform:translate3d(calc(var(--contribute-reveal-x, 0) * (1 - var(--contribute-item-progress, 0))),calc((1 - var(--contribute-item-progress, 0)) * 2.8rem),0)}.contribute-scroll-ready[_nghost-%COMP%] .contribute-story__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .contribute-scroll-ready[_nghost-%COMP%] .contribute-donate__copy[_ngcontent-%COMP%]{--contribute-reveal-x:-2.4rem}.contribute-scroll-ready[_nghost-%COMP%] .contribute-story__copy[_ngcontent-%COMP%], .contribute-scroll-ready[_nghost-%COMP%] .contribute-donate__form[_ngcontent-%COMP%]{--contribute-reveal-x:2.4rem}.contribute-scroll-ready[_nghost-%COMP%] .contribute-impact__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%], .contribute-scroll-ready[_ngcontent-%COMP%] .contribute-path-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--contribute-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--contribute-item-progress, 0) * .025))}@media (prefers-reduced-motion: reduce){.contribute-scroll-ready[_nghost-%COMP%] .contribute-scroll-item[_ngcontent-%COMP%], .contribute-scroll-ready[_nghost-%COMP%] .contribute-impact__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%], .contribute-scroll-ready[_ngcontent-%COMP%] .contribute-path-card[_ngcontent-%COMP%]{opacity:1;transform:none}}"]})}}return t})();function Zx(t,s){if(t&1){let e=E();r(0,"div",1),b("click",function(i){v(e);let d=p();return M(d.onOverlayClick(i))}),r(1,"div",2)(2,"div",3)(3,"h2"),a(4),o(),r(5,"button",4),b("click",function(){v(e);let i=p();return M(i.onClose())}),r(6,"span"),a(7,"\xD7"),o()()(),r(8,"div",5),_(9,"div",6),o()()()}if(t&2){let e=p();c(4),O(e.pillar==null?null:e.pillar.title),c(5),m("innerHTML",e.pillar==null?null:e.pillar.content,Bn)}}var H0=(()=>{class t{constructor(){this.pillar=null,this.isOpen=!1,this.close=new it}onClose(){this.close.emit()}onOverlayClick(e){e.target===e.currentTarget&&this.onClose()}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-csr-dialog"]],inputs:{pillar:"pillar",isOpen:"isOpen"},outputs:{close:"close"},standalone:!0,features:[B],decls:1,vars:1,consts:[["class","dialog-overlay",3,"click",4,"ngIf"],[1,"dialog-overlay",3,"click"],[1,"dialog-content"],[1,"dialog-header"],[1,"close-button",3,"click"],[1,"dialog-body"],[1,"pillar-content",3,"innerHTML"]],template:function(n,i){n&1&&h(0,Zx,10,2,"div",0),n&2&&m("ngIf",i.isOpen)},dependencies:[H,$],styles:[".dialog-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.dialog-content[_ngcontent-%COMP%]{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:80vh;overflow:hidden;box-shadow:0 10px 30px #0000004d;animation:_ngcontent-%COMP%_dialogSlideIn .3s ease-out}@keyframes _ngcontent-%COMP%_dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:#f8f9fa}.dialog-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:#222}.close-button[_ngcontent-%COMP%]{background:none;border:none;font-size:1.8rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button[_ngcontent-%COMP%]:hover{background:#e9ecef;color:#333}.dialog-body[_ngcontent-%COMP%]{padding:2rem;overflow-y:auto;max-height:calc(80vh - 100px)}.pillar-content[_ngcontent-%COMP%]{font-size:1.1rem;line-height:1.6;color:#333}.pillar-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:1rem}.pillar-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}@media (max-width: 768px){.dialog-overlay[_ngcontent-%COMP%]{padding:.5rem}.dialog-content[_ngcontent-%COMP%]{max-height:90vh}.dialog-header[_ngcontent-%COMP%]{padding:1rem 1.5rem}.dialog-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.3rem}.dialog-body[_ngcontent-%COMP%]{padding:1.5rem;max-height:calc(90vh - 80px)}.pillar-content[_ngcontent-%COMP%]{font-size:1rem}}@media (max-width: 480px){.dialog-header[_ngcontent-%COMP%]{padding:1rem}.dialog-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.2rem}.dialog-body[_ngcontent-%COMP%]{padding:1rem}}"]})}}return t})();var Yx=()=>["/contribute"],Kx=()=>["/about/volunteer"],G0=(()=>{class t{constructor(e){this.host=e,this.selectedPillar=null,this.isDialogOpen=!1,this.animationFrame=null,this.scrollItems=[],this.csrPillars=[{title:"Educa\u021Bie STEAM",content:` 129 <p>Asocia\u021Bia Na\u021Bie Prin Educa\u021Bie este un lider \xEEn educa\u021Bia STEAM din Rom\xE2nia \xEEnc\u0103 din anul 2016 \u0219i organizeaz\u0103 anual activit\u0103\u021Bi pentru peste 6000 de elevi \u0219i profesori.</p> 130 `},{title:"Egalitate de \u0219anse",content:` 131 <p>Toate programele Asocia\u021Biei, inclusiv FIRST Tech Challenge Rom\xE2nia, pun accent pe un mediu \xEEn care toate categoriile de persoane au un loc \u0219i un cuv\xE2nt de spus. Suntem m\xE2ndri cu ini\u021Biative ca Girls in STEM.</p> 132 `}
132,{title:"Investi\u021Bii \xEEn infrastructura \u0219colar\u0103",content:` 133 <p>\xCEntre 2016 \u0219i 2025, Na\u021Bie Prin Educa\u021Bie \xEEmpreun\u0103 cu partenerii a investit 750.000 euro \xEEn echipamente de robotic\u0103 \u0219i imprimante 3D care au fost donate direct liceelor din Rom\xE2nia.</p> 134 `},{title:"Implicare \xEEn comunitate",content:` 135 <p>Echipele din programul FIRST Tech Challenge Rom\xE2nia organizeaz\u0103 anual peste 500 de evenimente \xEEn comunit\u0103\u021Bile locale: str\xE2ngeri de fonduri caritabile, t\xE2rguri, expozi\u021Bii, concursuri, ateliere \u0219i altele.</p> 136 `},{title:"Inova\u021Bie \u0219i cercetare",content:` 137 <p>Elevii implica\u021Bi \xEEn programul FIRST Tech Challenge Rom\xE2nia sunt cu 95% mai interesa\u021Bi s\u0103 urmeze o form\u0103 de \xEEnv\u0103\u021B\u0103m\xE2nt superior \u0219i o parte semnificativ\u0103 \xEE\u0219i doresc s\u0103 studieze pentru a aduce inova\u021Bii \xEEn \u0219tiin\u021B\u0103.</p> 138 `},{title:"Leg\u0103tura \xEEntre \u0219coli \u0219i mediul privat",content:` 139 <p>Construim o leg\u0103tur\u0103 puternic\u0103 prin comunitatea noastr\u0103 \xEEntre sistemul public de \xEEnv\u0103\u021B\u0103m\xE2nt \u0219i mediul privat: peste 500 de companii din Rom\xE2nia sponsorizeaz\u0103 direct o echip\u0103 de robotic\u0103.</p> 140 `}],this.tabs=[{id:"sponsorizare",label:"sponsorizare 20% din impozit",content:"",intro:"Se poate direc\u021Biona p\xE2n\u0103 la 20% din impozitul pe profit datorat statului \xEEn anul 2025 pentru o Na\u021Bie Prin Educa\u021Bie.",steps:[{number:1,text:'Discut\u0103 cu echipa Na\u021Bie Prin Educa\u021Bie, la <a href="mailto:[email protected]">[email protected]</a>'},{number:2,text:'Completeaz\u0103 <a href="/assets/contribute/metode-de-implicare/sponzorizare-20-impozit/Contract_Sponsorizare_Natie_Prin_Educatie.docx" class="link">contractul de sponsorizare</a>'},{number:3,text:"Vireaz\u0103 banii \xEEn contul Asocia\u021Biei Na\u021Bie Prin Educa\u021Bie"}],deadline:"Termen limit\u0103 pentru anul \xEEn curs: <strong>31 decembrie</strong>",links:[{text:"Model de contract",url:"/assets/contribute/metode-de-implicare/sponzorizare-20-impozit/Contract_Sponsorizare_Natie_Prin_Educatie.docx"},{text:"Declara\u021Bia 107",url:"https://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/D107_XML_2024_240625.pdf",target:"_blank"},{text:"Instruc\u021Biuni completare D107",url:"https://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/structura_D107_2024_250625.pdf",target:"_blank"}]},{id:"declaratie",label:"declara\u021Bie 177",content:"",intro:"Dac\u0103 pl\u0103ti\u021Bi impozit pe profit \u0219i firma nu a alocat toate fondurile de sponsorizare pentru anul precedent, se poate solicita la ANAF redirec\u021Bionarea c\u0103tre Na\u021Bie Prin Educa\u021Bie a sumelor r\u0103mase, p\xE2n\u0103 la data de 25 iunie a anului curent.",steps:[{number:1,text:'Completeaz\u0103 contractul de sponsorizare \u0219i trimite-l la <a href="mailto:[email protected]">[email protected]</a>'},{number:2,text:'Depune la ANAF Declara\u021Bia <a target="_blank" href="https://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/D177_v.1.0.9_03072025.pdf" class="link">177</a>'},{number:3,text:"ANAF vireaz\u0103 banii \xEEn contul Asocia\u021Biei Na\u021Bie Prin Educa\u021Bie"}],deadline:"Termen limit\u0103 pentru anul \xEEn curs: <strong>25 iunie</strong>",links:[{text:"Model de contract",url:"/assets/contribute/metode-de-implicare/declaratie-177/Contract_Sponsorizare_Natie_Prin_Educatie.docx"},{text:"Declara\u021Bia 177",url:"https://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/D177_v.1.0.9_03072025.pdf",target:"_blank"},{text:"Instruc\u021Biuni completare D177",url:"https://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/structura_D177_v1.0.8_14032025_1.pdf",target:"_blank"}]},{id:"pachete",label:"pachete sponsorizare",content:"Con\u021Binut pentru pachete sponsorizare va fi ad\u0103ugat aici.",intro:"Partenerii principali ai Na\u021Bie Prin Educa\u021Bie includ \xEEn strategia organiza\u021Bional\u0103 parteneriatul cu asocia\u021Bia noastr\u0103 \u0219i au ca prioritate investi\u021Bia \xEEn educa\u021Bie, prin parteneriate pe termen lung sau sprijin punctual \xEEn momente cheie. Pentru astfel de colabor\u0103ri, punem la dispozi\u021Bie o serie de pachete de sponsorizare predefinite, care includ beneficii ale sponsorului \xEEn mai multe direc\u021Bii: implicare \xEEn evenimente, vizibilitate, recunoa\u0219tere.",steps:[{number:1,text:"Discut\u0103 cu echipa Na\u021Bie Prin Educa\u021Bie pentru a identifica cel mai potrivit pachet"},{number:2,text:"Completeaz\u0103 contractul de sponsorizare stabilit cu echipa Na\u021Bie"},{number:3,text:"Bucur\u0103-te de comunitatea STEAM din Rom\xE2nia \u0219i de atmosfera evenimentelor noastre!"}],links:[{text:"Model de contract",url:"/assets/contribute/metode-de-implicare/pachete-de-sponsorizare/Contract_Sponsorizare_Natie_Prin_Educatie.docx"},{text:"Exemple pachete de sponsorizare",url:"/assets/contribute/metode-de-implicare/pachete-de-sponsorizare/Pachete_Sponsorizare_NatiePrinEducatie_2025_exemple.pdf",target:"_blank"}]}],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}openCSRDialog(e){this.selectedPillar=this.csrPillars[e],this.isDialogOpen=!0}closeCSRDialog(){this.isDialogOpen=!1,this.selectedPillar=null}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument,n=e.defaultView;!n||n.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=n,this.scrollContainer=e.body,this.host.nativeElement.classList.add("companies-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll([".companies-intro__layout > div",".companies-resources__layout > div",".companies-heading",".companies-csr-card",".companies-closing__layout >
140 div"].join(","))),this.scrollItems.forEach(i=>i.classList.add("companies-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),n.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.browserWindow)return;let e=this.browserWindow.innerHeight*.96,n=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(i=>i.style.setProperty("--companies-item-progress",this.clamp((e-i.getBoundingClientRect().top)/(e-n)).toFixed(3)))}clamp(e){return Math.min(Math.max(e,0),1)}redirectToDeclaratie107(){window.open("https://static.anaf.ro/static/10/Anaf/Declaratii_R/AplicatiiDec/D177_v.1.0.9_03072025.pdf","_blank")}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-companies"]],standalone:!0,features:[B],decls:127,vars:8,consts:[[1,"companies-page"],["aria-labelledby","companies-title",1,"companies-hero"],["src","assets/about-pages/hero-image-NATIE.webp","alt","Elevi din comunitatea Na\u021Bie Prin Educa\u021Bie","loading","eager"],[1,"companies-hero__overlay"],[1,"companies-container","companies-hero__content"],[1,"companies-eyebrow"],["id","companies-title"],["href","#company-methods",1,"companies-button"],["aria-hidden","true"],["aria-labelledby","intro-title",1,"companies-section","companies-intro"],[1,"companies-container","companies-intro__layout"],["id","intro-title"],[1,"companies-intro__copy"],["aria-labelledby","resources-title",1,"companies-section","companies-resources"],[1,"companies-container","companies-resources__layout"],["id","resources-title"],[1,"companies-resource-links"],["link","assets/contribute/Prezentare_RO_NatiePrinEducatie.pdf","name","Descarc\u0103 prezentare PDF despre Na\u021Bie Prin Educa\u021Bie (RO)","customClass","download-btn"],["link","assets/contribute/Prezentare_EN_NatiePrinEducatie.pdf","name","Descarc\u0103 prezentare PDF despre Na\u021Bie Prin Educa\u021Bie (EN)","customClass","download-btn"],["id","company-methods","aria-labelledby","methods-title",1,"companies-section","companies-methods"],[1,"companies-container"],[1,"companies-heading"],["id","methods-title"],["title","Metode de implicare",3,"tabs"],["aria-labelledby","csr-title",1,"companies-section","companies-csr"],[1,"companies-heading","companies-heading--left"],["id","csr-title"],[1,"companies-csr-grid"],[1,"companies-csr-card"],["src","assets/contribute/csr/steam.webp","alt","Educa\u021Bie STEAM/STEM","loading","lazy"],["type","button",3,"click"],[1,"companies-csr-card","companies-csr-card--accent"],["src","assets/contribute/csr/egalitate.webp","alt","Egalitate de \u0219anse","loading","lazy"],["src","assets/contribute/csr/investment.webp","alt","Investi\u021Bii \xEEn infrastructura \u0219colar\u0103","loading","lazy"],["src","assets/contribute/csr/comunity.webp","alt","Implicare \xEEn comunitate","loading","lazy"],["src","assets/contribute/csr/inovation.webp","alt","Inova\u021Bie \u0219i cercetare","loading","lazy"],["src","assets/contribute/csr/school.webp","alt","Leg\u0103tura \xEEntre \u0219coli \u0219i mediul privat","loading","lazy"],["aria-labelledby","closing-title",1,"companies-closing"],[1,"companies-container","companies-closing__layout"],["id","closing-title"],["href","mailto:[email protected]"],[1,"companies-closing__links"],["name","Informa\u021Bii despre dona\u021Bii persoane fizice","customClass","closing-btn",3,"routerLink","fragment"],["name","Informa\u021Bii despre voluntariat","customClass","closing-btn",3,"routerLink"],[3,"close","pillar","isOpen"]],template:function(n,i){n&1&&(r(0,"main",0)(1,"section",1),_(2,"img",2)(3,"div",3),r(4,"div",4)(5,"p",5),a(6,"Pentru companii \u0219i parteneri"),o(),r(7,"h1",6),a(8,"Construim \xEEmpreun\u0103 o Na\u021Bie Prin Educa\u021Bie."),o(),r(9,"p"),a(10,"Parteneriatele cu mediul privat aduc educa\u021Bia practic\u0103, tehnologia \u0219i oportunit\u0103\u021Bile mai aproape de liceenii din Rom\xE2nia."),o(),r(11,"a",7),a(12,"Vezi modalit\u0103\u021Bile de implicare "),r(13,"span",8),a(14,"\u2193"),o()()()(),r(15,"section",9)(16,"div",10)(17,"div")(18,"p",5),a(19,"Rezultate care conteaz\u0103"),o(),r(20,"h2",11),a(21,"Ce am realizat p\xE2n\u0103 acum?"),o()(),r(22,"div",12)(23,"p"),a(24,"Rom\xE2nia a reu\u0219it s\u0103 devin\u0103 \xEEn mai pu\u021Bin de 10 ani prima \u021Bar\u0103 ca m\u0103rime din Europa \u0219i a 3-a \xEEn robotica mondial\u0103, la nivel de liceu, \u
1400219i suntem de 3 ori Campioni Mondiali, \xEEn 2022, 2024 \u0219i 2026, titluri c\xE2\u0219tigate \xEEn Houston, TX, SUA."),o(),r(25,"p"),a(26,"Premiile ob\u021Binute \u0219i performan\u021Bele robo\u021Bilor sunt dovada c\u0103 investi\u021Bia \xEEn educa\u021Bie aduce rezultate \u0219i Rom\xE2nia are un poten\u021Bial enorm prin tinerii noilor genera\u021Bii. Asocia\u021Bia Na\u021Bie Prin Educa\u021Bie organizeaz\u0103 Programul Na\u021Bional de Educa\u021Bie STEAM \xEEn Rom\xE2nia din 2016 \u0219i sus\u021Bine elevii rom\xE2ni pentru a ajunge la performan\u021Be ca cele de la acest campionat. Mai mult, programul a format 220 de echipe de liceeni \xEEn toat\u0103 \u021Bara, astfel c\u0103 sunt sus\u021Binu\u021Bi to\u021Bi elevii, nu doar v\xE2rfurile."),o()()()(),r(27,"section",13)(28,"div",14)(29,"div")(30,"p",5),a(31,"Pentru conversa\u021Bii informate"),o(),r(32,"h2",15),a(33,"Descoper\u0103 Na\u021Bie Prin Educa\u021Bie."),o(),r(34,"p"),a(35,"Descarc\u0103 prezentarea programului \xEEn limba rom\xE2n\u0103 sau englez\u0103."),o()(),r(36,"div",16),_(37,"app-external-link-button",17)(38,"app-external-link-button",18),o()()(),r(39,"section",19)(40,"div",20)(41,"div",21)(42,"p",5),a(43,"Colaborare cu impact"),o(),r(44,"h2",22),a(45,"Metode de implicare"),o(),r(46,"p"),a(47,"Mai jos prezent\u0103m mai multe metode de implicare \u0219i parteneriat pentru companii."),o()(),_(48,"app-configurable-tabs",23),o()(),r(49,"section",24)(50,"div",20)(51,"div",25)(52,"p",5),a(53,"Impact \xEEn comunitate"),o(),r(54,"h2",26),a(55,"Ne implic\u0103m \xEEn toate regiunile Rom\xE2niei, pe mai mul\u021Bi piloni de CSR."),o()(),r(56,"div",27)(57,"article",28),_(58,"img",29),r(59,"div")(60,"h3"),a(61,"Educa\u021Bie STEAM/STEM"),o(),r(62,"button",30),b("click",function(){return i.openCSRDialog(0)}),a(63,"Vezi detalii "),r(64,"span",8),a(65,"\u2192"),o()()()(),r(66,"article",31),_(67,"img",32),r(68,"div")(69,"h3"),a(70,"Egalitate de \u0219anse"),o(),r(71,"button",30),b("click",function(){return i.openCSRDialog(1)}),a(72,"Vezi detalii "),r(73,"span",8),a(74,"\u2192"),o()()()(),r(75,"article",28),_(76,"img",33),r(77,"div")(78,"h3"),a(79,"Investi\u021Bii \xEEn infrastructura \u0219colar\u0103"),o(),r(80,"button",30),b("click",function(){return i.openCSRDialog(2)}),a(81,"Vezi detalii "),r(82,"span",8),a(83,"\u2192"),o()()()(),r(84,"article",31),_(85,"img",34),r(86,"div")(87,"h3"),a(88,"Implicare \xEEn comunitate"),o(),r(89,"button",30),b("click",function(){return i.openCSRDialog(3)}),a(90,"Vezi detalii "),r(91,"span",8),a(92,"\u2192"),o()()()(),r(93,"article",28),_(94,"img",35),r(95,"div")(96,"h3"),a(97,"Inova\u021Bie \u0219i cercetare"),o(),r(98,"button",30),b("click",function(){return i.openCSRDialog(4)}),a(99,"Vezi detalii "),r(100,"span",8),a(101,"\u2192"),o()()()(),r(102,"article",31),_(103,"img",36),r(104,"div")(105,"h3"),a(106,"Leg\u0103tura \xEEntre \u0219coli \u0219i mediul privat"),o(),r(107,"button",30),b("click",function(){return i.openCSRDialog(5)}),a(108,"Vezi detalii "),r(109,"span",8),a(110,"\u2192"),o()()()()()()(),r(111,"section",37)(112,"div",38)(113,"div")(114,"p",5),a(115,"Mai multe moduri de implicare"),o(),r(116,"h2",39),a(117,"Educa\u021Bia are nevoie de o comunitate \xEEntreag\u0103."),o(),r(118,"p"),a(119,"Dac\u0103 vrei mai multe detalii despre implicarea \xEEn educa\u021Bie don\xE2nd timp sau resurse financiare, contacteaz\u0103 Asocia\u021Bia pe "),r(120,"a",40),a(121,"[email protected]"),o(),a(122," \u0219i ajut\u0103-ne s\u0103 form\u0103m o Na\u021Bie Prin Educa\u021Bie."),o()(),r(123,"div",41),_(124,"app-external-link-button",42)(125,"app-external-link-button",43),o()()()(),r(126,"app-csr-dialog",44),b("close",function(){return i.closeCSRDialog()}),o()),n&2&&(c(48),m("tabs",i.tabs),c(76),m("routerLink",un(6,Yx))("fragment","donate-form"),c(),m("routerLink",un(7,Kx)),c(),m("pillar",i.selectedPillar)("isOpen",i.isDialogOpen))},dependencies:[H,ws,Tn,H0],styles:["[_nghost-%COMP%]{display:block;color:var(--natie-ink)}*[_ngcontent-%COMP%]{box-sizing:border-box}.companies-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.companies-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.companies-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.companies-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:1.35rem;font-size:clamp(2.35rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}h3[_ngcontent-%COMP%]{margin-bottom:.8rem;font-size:1.35rem}p[_ngcontent-%COMP%]{line-height:1.65}.companies-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;display:grid;min-height:clamp(500px,67vw,680px);place-items:center;overflow:hidden;color:var(--natie-white)}.companies-hero[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], .companies-hero__overlay[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.companies-hero__overlay[_ngcontent-%COMP%]{z-index:-1;background:linear-gradient(62deg,#211c42b8,#473e877a 56%,#0c4f5b3d)!important}.companies-hero__content[_ngcontent-%COMP%]{padding:clamp(5.5rem,12vw,9rem) 0}.companies-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .companies-hero[_ngcontent-%COMP%] .companies-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.companies-hero[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.companies-eyebrow){max-width:760px;margin:0;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.7}.companies-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.7rem;min-height:50px;margin-top:2.1rem;padding:.85rem 1.3rem;border-radius:4px;background:linear-gradient(90deg,var(--natie-orange),var(--natie-orange-strong));color:var(--natie-white);font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.companies-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 10px 24px #ea461338}.companies-button[_ngcontent-%COMP%]:focus-visible, button[_ngcontent-%COMP%]:focus-visible, a[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.companies-intro__layout[_ngcontent-%COMP%], .companies-resources__layout[_ngcontent-%COMP%], .companies-closing__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2.5rem,8vw,8rem);align-items:start}.companies-intro[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:540px;margin-bottom:0}.companies-intro__copy[_ngcontent-%COMP%]{max-width:660px;color:var(--natie-text-muted);font-size:1.08rem}.companies-intro__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.companies-resources[_ngcontent-%COMP%], .companies-csr[_ngcontent-%COMP%]{background:var(--natie-surface)}.companies-resources[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin-bottom:1rem}.companies-resources[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.companies-eyebrow){max-width:460px;margin:0;color:var(--natie-text-soft);font-size:1.08rem}.companies-resource-links[_ngcontent-%COMP%], .companies-closing__links[_ngcontent-%COMP%]{display:grid;gap:1rem;align-content:center}app-external-link-button[_ngcontent-%COMP%]{display:block} app-external-link-button .external-link-button{width:100%;min-height:64px;border-color:var(--natie-border-soft);border-radius:2px;box-shadow:none} app-external-link-button .external-link-button:hover{border-color:var(--natie-blue);box-shadow:var(--natie-card-shadow);transform:translateY(-2px)} app-external-link-button .external-link-button .button-text{color:var(--natie-blue-accessible);font-weight:800}.companies-methods[_ngcontent-%COMP%]{background:var(--natie-white);scroll-margin-top:1.5rem}.companies-heading[_ngcontent-%COMP%]{max-width:760px;margin:0 auto 3rem;text-align:center}.companies-heading[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{margin:0;color:var(--natie-text-soft);font-size:1.08rem}.companies-heading--left[_ngcontent-%COMP%]{margin-left:0;text-align:left} app-configurable-tabs .methods-section{padding:0;border:1px solid var(--natie-border-soft);background:var(--natie-white);box-shadow:var(--natie-card-shadow)} app-configurable-tabs .methods-section h2{display:none} app-configurable-tabs .tabs-container{border-radius:0;box-shadow:none} app-configurable-tabs .tabs-header{background:var(--natie-blue-deep)} app-configurable-tabs .tab-btn{background:transparent;color:var(--natie-white);font-weight:800} app-configurable-tabs .tab-btn.active{background:var(--natie-white);color:var(--natie-ink);box-shadow:none} app-configurable-tabs .tab-content{padding:clamp(1.5rem,4vw,2.5rem)}.companies-csr-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.companies-csr-card[_ngcontent-%COMP%]{min-width:0;overflow:hidden;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}
140.companies-csr-card--accent[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.companies-csr-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:175px;display:block;object-fit:contain;background:var(--natie-white)}.companies-csr-card[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:162px;padding:1.45rem}.companies-csr-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{flex:1;color:var(--natie-ink)}.companies-csr-card[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:max-content;padding:0;border:0;background:transparent;color:var(--natie-blue-accessible);cursor:pointer;font:inherit;font-weight:800;text-align:left}.companies-csr-card[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{color:var(--natie-blue-hover);text-decoration:underline}.companies-closing[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7rem) 0;background:linear-gradient(115deg,var(--natie-blue-deep),var(--natie-charcoal));color:var(--natie-white)}.companies-closing[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .companies-closing[_ngcontent-%COMP%] .companies-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.companies-closing[_ngcontent-%COMP%] .companies-eyebrow[_ngcontent-%COMP%]{color:#ff9b4a}.companies-closing[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.companies-eyebrow){max-width:650px;margin-bottom:0;color:var(--natie-text-on-dark-soft);font-size:1.08rem}.companies-closing[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--natie-white);font-weight:800}.companies-closing[_ngcontent-%COMP%] app-external-link-button .external-link-button{border-color:#ffffff59;background:#ffffff14}.companies-closing[_ngcontent-%COMP%] app-external-link-button .external-link-button:hover{border-color:var(--natie-orange);background:#ffffff26}.companies-closing[_ngcontent-%COMP%] app-external-link-button .external-link-button .button-text{color:var(--natie-white)}@media (max-width: 850px){.companies-intro__layout[_ngcontent-%COMP%], .companies-resources__layout[_ngcontent-%COMP%], .companies-closing__layout[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.5rem}.companies-csr-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 620px){.companies-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.companies-hero[_ngcontent-%COMP%]{min-height:560px}.companies-button[_ngcontent-%COMP%]{width:100%;justify-content:center}.companies-heading[_ngcontent-%COMP%]{margin-bottom:2.2rem}.companies-csr-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.companies-csr-card[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{min-height:0} app-configurable-tabs .tabs-header{flex-direction:column}}.companies-scroll-ready[_nghost-%COMP%] .companies-scroll-item[_ngcontent-%COMP%]{opacity:var(--companies-item-progress, 0);transform:translate3d(calc(var(--companies-reveal-x, 0) * (1 - var(--companies-item-progress, 0))),calc((1 - var(--companies-item-progress, 0)) * 2.8rem),0)}.companies-scroll-ready[_nghost-%COMP%] .companies-intro__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .companies-scroll-ready[_nghost-%COMP%] .companies-resources__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .companies-scroll-ready[_nghost-%COMP%] .companies-closing__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{--companies-reveal-x:-2.4rem}.companies-scroll-ready[_nghost-%COMP%] .companies-intro__copy[_ngcontent-%COMP%], .companies-scroll-ready[_nghost-%COMP%] .companies-resource-links[_ngcontent-%COMP%], .companies-scroll-ready[_nghost-%COMP%] .companies-closing__links[_ngcontent-%COMP%]{--companies-reveal-x:2.4rem}.companies-scroll-ready[_nghost-%COMP%] .companies-csr-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--companies-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--companies-item-progress, 0) * .025))}@media (prefers-reduced-motion: reduce){.companies-scroll-ready[_nghost-%COMP%] .companies-scroll-item[_ngcontent-%COMP%], .companies-scroll-ready[_nghost-%COMP%] .companies-csr-card[_ngcontent-%COMP%]{opacity:1;transform:none}}"]})}}return t})();var Z0=(()=>{class t{constructor(e){this.host=e,this.animationFrame=null,this.scrollItems=[],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}scrollToForms(e){e.preventDefault();let n=this.host.nativeElement.querySelector("#volunteer-forms"),i=this.browserWindow?.matchMedia("(prefers-reduced-motion: reduce)").matches??!0;n?.scrollIntoView({behavior:i?"auto":"smooth",block:"start"})}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument.defaultView;!e||e.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=e,this.scrollContainer=this.host.nativeElement.ownerDocument.body,this.host.nativeElement.classList.add("volunteer-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll(".volunteer-intro__layout > div, .volunteer-heading, .volunteer-card, .volunteer-form-card, .volunteer-thanks .volunteer-container")),this.scrollItems.forEac
140h(n=>n.classList.add("volunteer-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),e.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.browserWindow)return;let e=this.browserWindow.innerHeight*.96,n=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(i=>i.style.setProperty("--volunteer-item-progress",this.clamp((e-i.getBoundingClientRect().top)/(e-n)).toFixed(3)))}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-volunteer"]],standalone:!0,features:[B],decls:98,vars:0,consts:[[1,"volunteer-page"],["aria-labelledby","volunteer-title",1,"volunteer-hero"],["src","assets/bannere/volunteers.jpg","alt","Voluntari implica\u021Bi \xEEn comunitatea FIRST Tech Challenge Rom\xE2nia"],[1,"volunteer-hero__overlay"],[1,"volunteer-container","volunteer-hero__content"],[1,"volunteer-eyebrow"],["id","volunteer-title"],[1,"volunteer-actions"],["href","#volunteer-forms",1,"volunteer-button","volunteer-button--primary",3,"click"],["routerLink","/judges",1,"volunteer-button","volunteer-button--secondary"],["aria-labelledby","volunteer-intro-title",1,"volunteer-intro","volunteer-section"],[1,"volunteer-container","volunteer-intro__layout"],["id","volunteer-intro-title"],[1,"volunteer-intro__copy"],["aria-labelledby","paths-title",1,"volunteer-section","volunteer-paths"],[1,"volunteer-container"],[1,"volunteer-heading"],["id","paths-title"],[1,"volunteer-paths__grid"],[1,"volunteer-card"],["aria-hidden","true",1,"volunteer-card__number"],["href","#alumni-form",1,"volunteer-text-link"],["aria-hidden","true"],[1,"volunteer-card","volunteer-card--accent"],["href","#non-alumni-form",1,"volunteer-text-link"],["id","volunteer-forms","aria-labelledby","forms-title",1,"volunteer-section","volunteer-forms"],[1,"volunteer-heading","volunteer-heading--left"],["id","forms-title"],[1,"volunteer-form-grid"],["id","alumni-form",1,"volunteer-form-card"],[1,"volunteer-form-card__head"],["title","Formular de \xEEnscriere \xEEn comunitatea Alumni FTC Rom\xE2nia","src",qt`https://forms.cloud.microsoft/e/MMdp9QWiV4`,"height","600","frameborder","0","marginheight","0","marginwidth","0"],["id","non-alumni-form",1,"volunteer-form-card"],["title","Formular de \xEEnscriere ca voluntar non-alumni","src",qt`https://forms.office.com/e/n8zuHnunPg`,"height","600","frameborder","0","marginheight","0","marginwidth","0"],["aria-labelledby","thanks-title",1,"volunteer-thanks"],["id","thanks-title"]],template:function(n,i){n&1&&(r(0,"main",0)(1,"section",1),_(2,"img",2)(3,"div",3),r(4,"div",4)(5,"p",5),a(6,"Comunitatea Na\u021Bie Prin Educa\u021Bie"),o(),r(7,"h1",6),a(8,"Voluntarii fac posibil\u0103 fiecare experien\u021B\u0103 FTC."),o(),r(9,"p"),a(10,"Al\u0103turi de comunitatea noastr\u0103, oferim competi\u021Bii de robotic\u0103 pentru echipe din toat\u0103 \u021Bara \u0219i contribuim la educa\u021Bia genera\u021Biilor viitoare."),o(),r(11,"div",7)(12,"a",8),b("click",function(u){return i.scrollToForms(u)}),a(13,"\xCEnscrie-te ca voluntar"),o(),r(14,"a",9),a(15,"Devino jurat FTC"),o()()()(),r(16,"section",10)(17,"div",11)(18,"div")(19,"p",5),a(20,"Timpul t\u0103u conteaz\u0103"),o(),r(21,"h2",12),a(22,"O comunitate care duce educa\u021Bia mai departe."),o()(),r(23,"div",13)(24,"p"),a(25,"Voluntarii Na\u021Bie Prin Educa\u021Bie sunt combustibilul care a f\u0103cut ca fenomenul FIRST Tech Challenge Rom\xE2nia s\u0103 ajung\u0103 la zeci de mii de elevi \xEEn toat\u0103 \u021Bara."),o(),r(26,"p"),a(27,"Te po\u021Bi implica \xEEn evenimente sau \xEEn afara lor, pun\xE2nd timpul, experien\u021Ba \u0219i energia ta \xEEn slujba unei comunit\u0103\u021Bi care \xEEnva\u021B\u0103 construind \xEEmpreun\u0103."),o()()()(),r(28,"section",14)(29,"div",15)(30,"div",16)(31,"p",5),a(32,"Alege locul t\u0103u \xEEn comunitate"),o(),r(33,"h2",17),a(34,"Dou\u0103 moduri de a \xEEncepe"),o(),r(35,"p"),a(36,"Indiferent de parcursul t\u0103u, exist\u0103 un loc pentru implicarea ta \xEEn FTC Rom\xE2nia."),o()(),r(37,"div",18)(38,"article",19)(39,"span",20),a(40,"01"),o(),r(41,"h3"),a(42,"Alumni FTC Rom\xE2nia"),o(),r(43,"p"),a(44,"Ai fost membru \xEEntr-o echip\u0103 din FTC Rom\xE2nia? R\u0103m\xE2i aproape de comunitate \u0219i contribuie cu experien\u021B
140a ta la urm\u0103torul sezon."),o(),r(45,"a",21),a(46,"\xCEnscrie-te \xEEn comunitatea Alumni "),r(47,"span",22),a(48,"\u2192"),o()()(),r(49,"article",23)(50,"span",20),a(51,"02"),o(),r(52,"h3"),a(53,"Voluntar non-alumni"),o(),r(54,"p"),a(55,"E\u0219ti pasionat de educa\u021Bie \u0219i vrei s\u0103 contribui la evenimente sau \xEEn afara lor? \xCEnscrie-te \u0219i te vom contacta la \xEEnceputul sezonului sau \xEEnaintea evenimentelor."),o(),r(56,"a",24),a(57,"\xCEnscrie-te ca voluntar "),r(58,"span",22),a(59,"\u2192"),o()()()()()(),r(60,"section",25)(61,"div",15)(62,"div",26)(63,"p",5),a(64,"Urm\u0103torul pas"),o(),r(65,"h2",27),a(66,"Spune-ne cum vrei s\u0103 te implici."),o()(),r(67,"div",28)(68,"article",29)(69,"div",30)(70,"span"),a(71,"01"),o(),r(72,"div")(73,"h3"),a(74,"\xCEnscriere \xEEn comunitatea de Alumni FTC Rom\xE2nia"),o(),r(75,"p"),a(76,"Pentru fo\u0219ti membri ai echipelor FTC Rom\xE2nia."),o()()(),r(77,"iframe",31),a(78,"Loading..."),o()(),r(79,"article",32)(80,"div",30)(81,"span"),a(82,"02"),o(),r(83,"div")(84,"h3"),a(85,"\xCEnscriere ca voluntar non-alumni"),o(),r(86,"p"),a(87,"Pentru cei care vor s\u0103 contribuie la educa\u021Bie al\u0103turi de noi."),o()()(),r(88,"iframe",33),a(89,"Loading..."),o()()()()(),r(90,"section",34)(91,"div",15)(92,"p",5),a(93,"\xCEmpreun\u0103 pentru viitor"),o(),r(94,"h2",35),a(95,"\xCE\u021Bi mul\u021Bumim pentru timpul acordat,"),_(96,"br"),a(97,"\xEEn numele viitoarelor genera\u021Bii!"),o()()()())},dependencies:[Qt,Te],styles:["[_nghost-%COMP%]{display:block;color:var(--natie-ink)}.volunteer-hero__overlay[_ngcontent-%COMP%]{background:linear-gradient(146deg,#0e3636b8,#1870657a 56%,#1a394e3d)!important}*[_ngcontent-%COMP%]{box-sizing:border-box}.volunteer-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.volunteer-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.volunteer-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.volunteer-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:1.35rem;font-size:clamp(2.35rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}h3[_ngcontent-%COMP%]{margin-bottom:.75rem;font-size:1.35rem}p[_ngcontent-%COMP%]{line-height:1.65}.volunteer-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;display:grid;min-height:clamp(500px,67vw,680px);place-items:center;overflow:hidden;color:var(--natie-white)}.volunteer-hero[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], .volunteer-hero__overlay[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.volunteer-hero__overlay[_ngcontent-%COMP%]{z-index:-1;background:linear-gradient(100deg,#04243af2,#05415fbd 56%,#04243a6b)}.volunteer-hero__content[_ngcontent-%COMP%]{padding:clamp(5.5rem,12vw,9rem) 0}.volunteer-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .volunteer-hero[_ngcontent-%COMP%] .volunteer-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.volunteer-hero[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.volunteer-eyebrow){max-width:730px;margin:0;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.7}.volunteer-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.1rem}.volunteer-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.3rem;border:2px solid transparent;border-radius:4px;color:var(--natie-white);font-weight:800;line-height:1.25;text-align:center;text-decoration:none;transition:transform .2s ease,background-color .2s ease,color .2s ease}.volunteer-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.volunteer-button--primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--natie-orange),var(--natie-orange-strong))}.volunteer-button--secondary[_ngcontent-%COMP%]{border-color:#ffffffe6}.volunteer-button--secondary[_ngcontent-%COMP%]:hover{background:var(--natie-white);color:var(--natie-navy-mid)}.volunteer-button[_ngcontent-%COMP%]:focus-visible, .volunteer-text-link[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.volunteer-intro__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2.5rem,8vw,8rem)}.volunteer-intro[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:530px;margin-bottom:0}.volunteer-intro__copy[_ngcontent-%COMP%]{max-width:650px;color:var(--natie-text-muted);font-size:1.08rem}.volunteer-intro__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.volunteer-paths[_ngcontent-%COMP%]{background:var(--natie-surface)}.volunteer-heading[_ngcontent-%COMP%]{max-width:720px;margin:0 auto 3rem;text-align:center}.volunteer-heading[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{margin:0;color:var(--natie-text-soft);font-size:1.08rem}.volunteer-heading--left[_ngcontent-%COMP%]{margin-left:0;text-align:left}.volunteer-paths__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;max-width:900px;margin:auto}.volunteer-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:300px;padding:2rem;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}
140.volunteer-card--accent[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.volunteer-card__number[_ngcontent-%COMP%], .volunteer-form-card__head[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;border-radius:50%;background:var(--natie-blue-tint);color:var(--natie-blue-deep);font-size:.82rem;font-weight:800}.volunteer-card--accent[_ngcontent-%COMP%] .volunteer-card__number[_ngcontent-%COMP%]{background:var(--natie-orange-tint);color:var(--natie-orange-strong)}.volunteer-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-top:1.6rem}.volunteer-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{flex:1;margin:0 0 1.5rem;color:var(--natie-text-muted)}.volunteer-text-link[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);font-weight:800;text-decoration:none}.volunteer-text-link[_ngcontent-%COMP%]:hover{color:var(--natie-blue-hover);text-decoration:underline}.volunteer-forms[_ngcontent-%COMP%]{background:var(--natie-white)}.volunteer-form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.volunteer-form-card[_ngcontent-%COMP%]{min-width:0;padding:1.5rem;border:1px solid var(--natie-border-soft);background:var(--natie-surface);box-shadow:var(--natie-card-shadow);scroll-margin-top:1.5rem}.volunteer-form-card__head[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.volunteer-form-card__head[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:.2rem 0 .3rem}.volunteer-form-card__head[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--natie-text-soft);font-size:.95rem}.volunteer-form-card[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{display:block;width:100%;border:0;background:var(--natie-white)}.volunteer-thanks[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7rem) 0;background:var(--natie-charcoal);text-align:center}.volunteer-thanks[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .volunteer-thanks[_ngcontent-%COMP%] .volunteer-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.volunteer-thanks[_ngcontent-%COMP%] .volunteer-eyebrow[_ngcontent-%COMP%]{color:var(--natie-orange)}@media (max-width: 850px){.volunteer-intro__layout[_ngcontent-%COMP%], .volunteer-form-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.5rem}.volunteer-form-grid[_ngcontent-%COMP%]{max-width:650px;margin:auto}}@media (max-width: 620px){.volunteer-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.volunteer-hero[_ngcontent-%COMP%]{min-height:560px}.volunteer-actions[_ngcontent-%COMP%]{flex-direction:column}.volunteer-button[_ngcontent-%COMP%]{width:100%}.volunteer-heading[_ngcontent-%COMP%]{margin-bottom:2.2rem}.volunteer-paths__grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.volunteer-card[_ngcontent-%COMP%], .volunteer-form-card[_ngcontent-%COMP%]{padding:1.4rem}}.volunteer-scroll-ready[_nghost-%COMP%] .volunteer-scroll-item[_ngcontent-%COMP%]{opacity:var(--volunteer-item-progress, 0);transform:translate3d(calc(var(--volunteer-reveal-x, 0) * (1 - var(--volunteer-item-progress, 0))),calc((1 - var(--volunteer-item-progress, 0)) * 2.8rem),0)}.volunteer-scroll-ready[_nghost-%COMP%] .volunteer-intro__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{--volunteer-reveal-x: -2.4rem}.volunteer-scroll-ready[_nghost-%COMP%] .volunteer-intro__copy[_ngcontent-%COMP%]{--volunteer-reveal-x: 2.4rem}.volunteer-scroll-ready[_nghost-%COMP%] .volunteer-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--volunteer-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--volunteer-item-progress, 0) * .025))}@media (prefers-reduced-motion: reduce){.volunteer-scroll-ready[_nghost-%COMP%] .volunteer-scroll-item[_ngcontent-%COMP%], .volunteer-scroll-ready[_nghost-%COMP%] .volunteer-card[_ngcontent-%COMP%]{opacity:1;transform:none}}"]})}}return t})();var Y0=(()=>{class t{constructor(e){this.host=e,this.animationFrame=null,this.scrollItems=[],this.youthProtectionLink="https://www.firstinspires.org/resource-library/youth-protection-policy",this.youthProtectionButtonName="Pagina Materiale Youth Protection FIRST",this.showIcon=!0,this.iconType="link",this.iconSrc="assets/resources/link_icon.webp",this.yppGuideLink="https://www.firstinspires.org/sites/default/files/uploads/about/FIRST-YPP-ProgramGuide.pdf",this.yppGuideButtonName="FIRST Youth Protection Program Guide",this.yppFaqLink="https://www.firstinspires.org/sites/default/files/uploads/about/ypp-faq.pdf",this.yppFaqButtonName="FIRST Youth Protection FAQ",this.pdfIconSrc="assets/resources/file_icon.webp",this.co
140deOfConductLink="https://www.firstinspires.org/about/code-of-conduct",this.codeOfConductButtonName="FIRST Code of Conduct",this.privacyLink="https://www.firstinspires.org/about/privacy-policy",this.privacyButtonName="FIRST Privacy",this.consentTeamTravelLink="https://www.firstinspires.org/sites/default/files/uploads/about/ypp/ypp-consent-team-travel.pdf",this.consentTeamTravelButtonName="FIRST Consent Team Travel",this.notificationParentsLink="https://www.firstinspires.org/sites/default/files/uploads/about/ypp/ypp-notification-guidelines-parents.pdf",this.notificationParentsButtonName="FIRST Notification Team Membership Parents",this.medicalIncidentLink="https://help.firstinspires.org/s/med-case-form?language=en_US",this.medicalIncidentButtonName="FIRST Medical Incident Form",this.reportSafetyLink="https://help.firstinspires.org/s/yppcaseform?language=en_US&hsCtaAttrib=183775743592",this.reportSafetyButtonName="FIRST Report Safety Concern Non-Medical Form",this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}scrollToYouthProtection(e){e.preventDefault();let n=this.host.nativeElement.querySelector("#youth-protection"),i=this.browserWindow?.matchMedia("(prefers-reduced-motion: reduce)").matches??!0;n?.scrollIntoView({behavior:i?"auto":"smooth",block:"start"})}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument,n=e.defaultView;!n||n.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=n,this.scrollContainer=e.body,this.host.nativeElement.classList.add("values-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll([".values-intro__layout > div",".values-heading",".values-resource-card",".values-video-library__intro",".values-video-grid",".values-conduct__layout > div",".values-document-grid",".values-reporting__layout > *"].join(","))),this.scrollItems.forEach(i=>i.classList.add("values-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),n.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.browserWindow)return;let e=this.browserWindow.innerHeight*.96,n=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(i=>i.style.setProperty("--values-item-progress",this.clamp((e-i.getBoundingClientRect().top)/(e-n)).toFixed(3)))}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-values"]],standalone:!0,features:[B],decls:127,vars:54,consts:[[1,"values-page"],["aria-labelledby","values-title",1,"values-hero"],["src","assets/bannere/values.jpg","alt","Participan\u021Bi din comunitatea Na\u021Bie Prin Educa\u021Bie","loading","eager"],[1,"values-hero__overlay"],[1,"values-container","values-hero__content"],[1,"values-eyebrow"],["id","values-title"],["href","#youth-protection",1,"values-button",3,"click"],["aria-hidden","true"],["aria-labelledby","values-intro-title",1,"values-section","values-intro"],[1,"values-container","values-intro__layout"],["id","values-intro-title"],[1,"values-intro__copy"],["id","youth-protection","aria-labelledby","protection-title",1,"values-section","values-protection"],[1,"values-container"],[1,"values-heading"],["id","protection-title"],[1,"values-resource-grid"],[1,"values-resource-card","values-resource-card--primary"],["aria-hidden","true",1,"values-card-number"],[3,"link","name","showIcon","iconSrc","target","rel"],[1,"values-resource-card"],[1,"values-resource-card","values-resource-card--accent"],["aria-labelledby","videos-title",1,"values-section","values-video-library"],[1,"values-container","values-video-library__layout"],[1,"values-video-library__intro"],["
140id","videos-title"],[1,"values-video-grid"],[1,"values-video-card"],[1,"values-video-frame"],["src",qt`https://www.youtube.com/embed/Llm2mMV8WHs`,"title","Video despre Youth Protection","loading","lazy","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture","allowfullscreen",""],["src",qt`https://www.youtube.com/embed/plrWHw7Bwrk?list=PLumXeb1tOUySHpI8eelwW62dNCEsE5ugf`,"title","Training video despre Youth Protection","loading","lazy","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture","allowfullscreen",""],["src",qt`https://www.youtube.com/embed/edfJT6ILCDc`,"title","Keeping Kids Safe - pentru adul\u021Bii care lucreaz\u0103 cu tineri","loading","lazy","allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture","allowfullscreen",""],["aria-labelledby","conduct-title",1,"values-section","values-conduct"],[1,"values-container","values-conduct__layout"],["id","conduct-title"],[1,"values-conduct__resources"],["aria-labelledby","additional-title",1,"values-section","values-additional"],[1,"values-heading","values-heading--left"],["id","additional-title"],[1,"values-document-grid"],["aria-labelledby","reporting-title",1,"values-reporting"],[1,"values-container","values-reporting__layout"],["id","reporting-title"],["href","mailto:[email protected]"],["href","mailto:[email protected]"]],template:function(n,i){n&1&&(r(0,"main",0)(1,"section",1),_(2,"img",2)(3,"div",3),r(4,"div",4)(5,"p",5),a(6,"Na\u021Bie Prin Educa\u021Bie \xB7 FIRST Tech Challenge Rom\xE2nia"),o(),r(7,"h1",6),a(8,"Valori care sus\u021Bin o comunitate sigur\u0103."),o(),r(9,"p"),a(10,"Respectul, siguran\u021Ba \u0219i grija pentru fiecare participant sunt parte din felul \xEEn care construim experien\u021Bele FIRST Tech Challenge Rom\xE2nia."),o(),r(11,"a",7),b("click",function(u){return i.scrollToYouthProtection(u)}),a(12,"Descoper\u0103 resursele de siguran\u021B\u0103 "),r(13,"span",8),a(14,"\u2193"),o()()()(),r(15,"section",9)(16,"div",10)(17,"div")(18,"p",5),a(19,"Un cadru comun"),o(),r(20,"h2",11),a(21,"Un spa\u021Biu \xEEn care fiecare poate \xEEnv\u0103\u021Ba \u0219i contribui cu \xEEncredere."),o()(),r(22,"div",12)(23,"p"),a(24,"\xCEn cadrul Programului Na\u021Bional de Educa\u021Bie STEAM FIRST Tech Challenge Rom\xE2nia, la fel ca \xEEn toate programele FIRST, \u021Binem foarte mult s\u0103 cre\u0103m un spa\u021Biu sigur pentru elevi din toate punctele de vedere. Astfel, ne aliniem politicilor FIRST de Youth Protection \u2014 siguran\u021Ba tinerilor \u2014 \u0219i Code of Conduct \u2014 codul de conduit\u0103 pe care \xEEl respect\u0103m."),o(),r(25,"p"),a(26,"To\u021Bi participan\u021Bii programelor organizate de Na\u021Bie Prin Educa\u021Bie citesc, \xEEn\u021Beleg, accept\u0103 \u0219i \xEE\u0219i \xEEnsu\u0219esc aceste reglement\u0103ri conforme cu FIRST International."),o()()()(),r(27,"section",13)(28,"div",14)(29,"div",15)(30,"p",5),a(31,"Siguran\u021Ba tinerilor"),o(),r(32,"h2",16),a(33,"Youth Protection"),o(),r(34,"p"),a(35,"Documentele \u0219i materialele FIRST care sus\u021Bin un mediu sigur pentru tineri, mentori \u0219i voluntari."),o()(),r(36,"div",17)(37,"article",18)(38,"span",19),a(39,"01"),o(),r(40,"h3"),a(41,"Politica FIRST Youth Protection"),o(),r(42,"p"),a(43,"Consult\u0103 pagina oficial\u0103 FIRST cu materialele dedicate politicilor de protec\u021Bie a tinerilor."),o(),_(44,"app-external-link-button",20),o(),r(45,"article",21)(46,"span",19),a(47,"02"),o(),r(48,"h3"),a(49,"Ghidul programului"),o(),r(50,"p"),a(51,"Material de referin\u021B\u0103 pentru aplicarea politicilor Youth Protection \xEEn programele FIRST."),o(),_(52,"app-external-link-button",20),o(),r(53,"article",22)(54,"span",19),a(55,"03"),o(),r(56,"h3"),a(57,"\xCEntreb\u0103ri frecvente"),o(),r(58,"p"),a(59,"R\u0103spunsuri oferite de FIRST pentru situa\u021Biile \u0219i \xEEntreb\u0103rile \xEEnt\xE2lnite cel mai des."),o(),_(60,"app-external-link-button",20),o()()()(),r(61,"section",23)(62,"div",24)(63,"div",25)(64,"p",5),a(65,"Resurse video"),o(),r(66,"h2",26),a(67,"\xCEnva\u021B\u0103 din explica\u021Bii clare \u0219i exemple concrete."),o(),r(68,"p"),a(69,"Urm\u0103re\u0219te materialele FIRST despre protec\u021Bia tinerilor \u0219i rolul adul\u021Bilor care lucreaz\u0103 al\u0103turi de ei."),o()(),r(70,"div",27)(71,"article",28)(72,"h3"),a(73,"Video despre Youth Protection"),o(),r(74,"div",29),_(75,"iframe",30),o()(),r(76,"article",28)(77,"h3"),a(78,"Training video despre Youth Protection"),o(),r(79,"div",29),_(80,"iframe",31),o()(),r(81,"article",28)(82,"h3"),a(83,"Keeping Kids Safe"),o(),r(84,"p"),a(85,"Pentru adul\u021Bii care lucreaz\u0103 cu tineri."),o(),r(86,"div",29),_(87,"iframe",32),o()()()()(),r(88,"section",33)(89,"div",34)(90,"div")(91,"p",5),a(92,"Respect \xEEn fiecare interac\u021Biune"),o(),r(93,"h2",35),a(94,"Codul de conduit\u0103 FIRST"),o(),r(95,"p"),a(96,"Code of Conduct stabile\u0219te a\u0219tept\u0103rile comune pentru o comunitate bazat\u0103 pe respect \u0219i comportament responsabil."),o()(),r(97,"div",36),_(98,"app-external-link-button",20)(99,"app-external-link-button",20),o()()(),r(100,"section",37)(101,"div",14)(102,"div",38)(103,"p",5),a(104,"Documente suplimentare"),o(),r(105,"h2",39),a(106,"Resurse utile pe
140ntru situa\u021Bii specifice."),o()(),r(107,"div",40),_(108,"app-external-link-button",20)(109,"app-external-link-button",20)(110,"app-external-link-button",20)(111,"app-external-link-button",20),o()()(),r(112,"section",41)(113,"div",42)(114,"div")(115,"p",5),a(116,"Ai nevoie s\u0103 raportezi o situa\u021Bie?"),o(),r(117,"h2",43),a(118,"Spune-ne. Siguran\u021Ba comunit\u0103\u021Bii conteaz\u0103."),o()(),r(119,"p"),a(120,"Pentru raport\u0103ri de nerespectare ale Codului de Conduit\u0103 sau politicilor de protec\u021Bie a tinerilor, v\u0103 rug\u0103m s\u0103 v\u0103 adresa\u021Bi la "),r(121,"a",44),a(122,"[email protected]"),o(),a(123," \u0219i la suportul interna\u021Bional "),r(124,"a",45),a(125,"[email protected]"),o(),a(126,"."),o()()()()),n&2&&(c(44),m("link",i.youthProtectionLink)("name",i.youthProtectionButtonName)("showIcon",i.showIcon)("iconSrc",i.iconSrc)("target","_blank")("rel","noopener noreferrer"),c(8),m("link",i.yppGuideLink)("name",i.yppGuideButtonName)("showIcon",i.showIcon)("iconSrc",i.pdfIconSrc)("target","_blank")("rel","noopener noreferrer"),c(8),m("link",i.yppFaqLink)("name",i.yppFaqButtonName)("showIcon",i.showIcon)("iconSrc",i.pdfIconSrc)("target","_blank")("rel","noopener noreferrer"),c(38),m("link",i.codeOfConductLink)("name",i.codeOfConductButtonName)("showIcon",i.showIcon)("iconSrc",i.pdfIconSrc)("target","_blank")("rel","noopener noreferrer"),c(),m("link",i.privacyLink)("name",i.privacyButtonName)("showIcon",i.showIcon)("iconSrc",i.pdfIconSrc)("target","_blank")("rel","noopener noreferrer"),c(9),m("link",i.consentTeamTravelLink)("name",i.consentTeamTravelButtonName)("showIcon",i.showIcon)("iconSrc",i.pdfIconSrc)("target","_blank")("rel","noopener noreferrer"),c(),m("link",i.notificationParentsLink)("name",i.notificationParentsButtonName)("showIcon",i.showIcon)("iconSrc",i.pdfIconSrc)("target","_blank")("rel","noopener noreferrer"),c(),m("link",i.medicalIncidentLink)("name",i.medicalIncidentButtonName)("showIcon",i.showIcon)("iconSrc",i.pdfIconSrc)("target","_blank")("rel","noopener noreferrer"),c(),m("link",i.reportSafetyLink)("name",i.reportSafetyButtonName)("showIcon",i.showIcon)("iconSrc",i.pdfIconSrc)("target","_blank")("rel","noopener noreferrer"))},dependencies:[Tn],styles:["[_nghost-%COMP%]{display:block;color:var(--natie-ink)}*[_ngcontent-%COMP%]{box-sizing:border-box}.values-hero__overlay[_ngcontent-%COMP%]{background:linear-gradient(92deg,#13372ab8,#3471477a 56%,#1046503d)!important}.values-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.values-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.values-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.values-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:1.35rem;font-size:clamp(2.35rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}h3[_ngcontent-%COMP%]{margin-bottom:.8rem;font-size:1.35rem}p[_ngcontent-%COMP%]{line-height:1.65}.values-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;display:grid;min-height:clamp(500px,67vw,680px);place-items:center;overflow:hidden;color:var(--natie-white)}.values-hero[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], .values-hero__overlay[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.values-hero__overlay[_ngcontent-%COMP%]{z-index:-1;background:linear-gradient(100deg,#04243af5,#05415fbd 56%,#04243a66)}.values-hero__content[_ngcontent-%COMP%]{padding:clamp(5.5rem,12vw,9rem) 0}.values-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .values-hero[_ngcontent-%COMP%] .values-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.values-hero[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.values-eyebrow){max-width:750px;margin:0;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.7}.values-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.7rem;min-height:50px;margin-top:2.1rem;padding:.85rem 1.3rem;border:2px solid transparent;border-radius:4px;background:linear-gradient(90deg,var(--natie-orange),var(--natie-orange-strong));color:var(--natie-white);font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.values-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 10px 24px #ea461338}.values-button[_ngcontent-%COMP%]:focus-visible, a[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.values-intro__layout[_ngcontent-%COMP%], .values-conduct__layout[_ngcontent-%COMP%], .values-reporting__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2.5rem,8vw,8rem);align-items:start}.values-intro[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:560px;margin-bottom:0}.values-intro__copy[_ngcontent-%COMP%]{max-width:660px;color:var(--natie-text-muted);font-size:1.08rem}.values-intro__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.values-protection[_ngcontent-%COMP%], .values-additional[_ngcontent-%COMP%]{background:var(--natie-surface)}.values-heading[_ngcontent-%COMP%]{max-width:740px;margin:0 auto 3rem;text-align:center}.values-heading[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{margin:0;color:var(--natie-text-soft);font-size:1.08rem}.values-heading--left[_ngcontent-%COMP%]{margin-left:0;text-align:left}.values-resource-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.values-resource-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0;min-height:310px;padding:2rem;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}.values-resource-card--primary[_ngcontent-%COMP%]{border-top-color:var(--natie-blue-deep)}
140.values-resource-card--accent[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.values-card-number[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;margin-bottom:1.55rem;border-radius:50%;background:var(--natie-blue-tint);color:var(--natie-blue-deep);font-size:.82rem;font-weight:800}.values-resource-card--accent[_ngcontent-%COMP%] .values-card-number[_ngcontent-%COMP%]{background:var(--natie-orange-tint);color:var(--natie-orange-strong)}.values-resource-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{flex:1;margin:0 0 1.5rem;color:var(--natie-text-muted)}.values-video-library[_ngcontent-%COMP%]{background:var(--natie-white)}.values-video-library__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(2.5rem,7vw,6.5rem);align-items:start}.values-video-library__intro[_ngcontent-%COMP%]{position:sticky;top:2rem}.values-video-library__intro[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{color:var(--natie-text-soft)}.values-video-grid[_ngcontent-%COMP%]{display:grid;gap:1.5rem}.values-video-card[_ngcontent-%COMP%]{padding:1.3rem;border:1px solid var(--natie-border-soft);background:var(--natie-surface);box-shadow:var(--natie-card-shadow)}.values-video-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:.8rem;color:var(--natie-blue-deep)}.values-video-card[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin:-.35rem 0 1rem;color:var(--natie-text-soft)}.values-video-frame[_ngcontent-%COMP%]{padding:.55rem;background:var(--natie-charcoal)}.values-video-frame[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;aspect-ratio:16/9;display:block;border:0}.values-conduct[_ngcontent-%COMP%]{background:var(--natie-charcoal);color:var(--natie-surface-on-dark)}.values-conduct[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .values-conduct[_ngcontent-%COMP%] .values-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.values-conduct[_ngcontent-%COMP%] > .values-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:not(.values-eyebrow){max-width:520px;margin-bottom:0;color:var(--natie-text-on-dark-soft);font-size:1.08rem}.values-conduct__resources[_ngcontent-%COMP%]{display:grid;align-content:center;gap:1rem}.values-document-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}app-external-link-button[_ngcontent-%COMP%]{display:block} app-external-link-button .external-link-button{width:100%;min-height:64px;border-color:var(--natie-border-soft);border-radius:2px;box-shadow:none} app-external-link-button .external-link-button:hover{border-color:var(--natie-blue);box-shadow:var(--natie-card-shadow);transform:translateY(-2px)} app-external-link-button .external-link-button .button-text{color:var(--natie-blue-accessible);font-weight:800}.values-resource-card[_ngcontent-%COMP%] app-external-link-button[_ngcontent-%COMP%]{margin-top:auto}.values-reporting[_ngcontent-%COMP%]{padding:clamp(4rem,8vw,6.5rem) 0;background:linear-gradient(115deg,var(--natie-blue-deep),var(--natie-charcoal));color:var(--natie-white)}.values-reporting[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .values-reporting[_ngcontent-%COMP%] .values-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.values-reporting[_ngcontent-%COMP%] .values-eyebrow[_ngcontent-%COMP%]{color:#ff9b4a}.values-reporting[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{max-width:650px;margin:0;color:var(--natie-text-on-dark-soft);font-size:1.08rem}.values-reporting[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--natie-white);font-weight:800;text-decoration-color:var(--natie-orange);text-underline-offset:.18em}@media (max-width: 850px){.values-intro__layout[_ngcontent-%COMP%], .values-video-library__layout[_ngcontent-%COMP%], .values-conduct__layout[_ngcontent-%COMP%], .values-reporting__layout[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.5rem}.values-resource-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;max-width:620px;margin:auto}.values-resource-card[_ngcontent-%COMP%]{min-height:0}.values-video-library__intro[_ngcontent-%COMP%]{position:static}}@media (max-width: 620px){.values-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.values-hero[_ngcontent-%COMP%]{min-height:560px}.values-button[_ngcontent-%COMP%]{width:100%;justify-content:center}.values-heading[_ngcontent-%COMP%]{margin-bottom:2.2rem}.values-resource-card[_ngcontent-%COMP%], .values-video-card[_ngcontent-%COMP%]{padding:1.4rem}.values-document-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.values-scroll-ready[_nghost-%COMP%] .values-scroll-item[_ngcontent-%COMP%]{opacity:var(--values-item-progress, 0);transform:translate3d(calc(var(--values-reveal-x, 0) * (1 - var(--values-item-progress, 0))),calc((1 - var(--values-item-progress, 0)) * 2.8rem),0)}.values-scroll-ready[_nghost-%COMP%] .values-intro__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .values-scroll-ready[_nghost-%COMP%] .values-video-library__intro[_ngcontent-%COMP%], .values-scroll-ready[_nghost-%COMP%] .values-conduct__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .values-scroll-ready[_nghost-%COMP%] .values-reporting__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{--values-reveal-x: -2.4rem}.values-scroll-ready[_nghost-%COMP%] .values-intro__copy[_ngcontent-%COMP%], .values-scroll-ready[_nghost-%COMP%] .values-video-grid[_ngcontent-%COMP%], .values-scroll-ready[_nghost-%COMP%] .values-conduct__resources[_ngcontent-%COMP%], .values-scroll-ready[_nghost-%COMP%] .values-reporting__layout[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{--values-reveal-x: 2.4rem}.values-scroll-ready[_nghost-%COMP%] .values-resource-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--values-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--values-item-progress, 0) * .025))}@media (prefers-reduced-motion: reduce){.values-scroll-ready[_nghost-%COMP%] .values-scroll-item[_ngcontent-%COMP%], .values-scroll-ready[_nghost-%COMP%] .values-resource-card[_ngcontent-%COMP%]{opacity:1;transform:none}}"]})}}return t})();function Qx(t,s){if(t&1&&(r(0,"a",42),_(1,"img",43),a(2),r(3,"span",44),a(4,"\u2192"),o()()),t&2){let e=s.$implicit;m("href",e.link,ae),c(),m("src",e.type==="pdf"?"assets/resources/file_icon.webp":"assets/resources/link_icon.webp",ae),c(),w("",e.title," ")}}var K0=(()=>{class t{constructor(e){this.host=e,this.animationFrame=null,this.scrollItems=[],this.judgeMaterials=[{title:"Judge Manual",link:"https://ftc-resources.firstinspires.org/ftc/archive/2026/volunteer/judge",type:"pdf"},{title:"Ghid proces de jurizare",link:"https://ftc-resources.firstinspires.org/ftc/archive/2026/event/judging-guide",type:"pdf"},{title:"Exemple intrebari premii",link:"https://ftc-resources.firstinspires.org/ftc/archive/2026/event/question-bank",type:"pdf"},{title:"Competition Manual - manual general regulament concurs",link:"https://ftc-resources.firstinspires.org/ftc/game/manual",type:"pdf"},{title:"YouTube Natie Prin Educatie - competitii din trecut",link:"https://www.youtube.com/@NatieprinEducatie",type:"external"}],this.scheduleScrollUpdate=()=>{!this.browserWindow||this.animationFrame!==null||(this.animationFrame=this.browserWindow.requestAnimationFrame(()=>{this.updateScrollProgress(),this.animationFrame=null}))}}scrollToForm(){let e=document.getElementById("inscriere-formular");if(e){let n=this.browserWindow?.matchMedia("(prefers-reduced-motion: reduce)").matches??!0;e.scrollIntoView({behavior:n?"auto":"smooth",block:"start"})}}ngAfterViewInit(){let e=this.host.nativeElement.ownerDocument.defaultView;!e||e.matchMedia("(prefers-reduced-motion: reduce)").matches||(this.browserWindow=e,this.scrollContainer=this.host.nativeElement.ownerDocument.body,this.host.nativeElement.classList.add("judges-scroll-ready"),this.scrollItems=Array.from(this.host.nativeElement.querySelectorAll(".judges-intro__layout > div, .judges-heading, .judges-card, .judges-workplace__layout > div, .judges-schedule__grid article, .resource-btn, .judges-form__card, .judges-thanks .judges-container")),this.scrollItems.forEac
140h(n=>n.classList.add("judges-scroll-item")),this.scrollContainer.addEventListener("scroll",this.scheduleScrollUpdate,{passive:!0}),e.addEventListener("resize",this.scheduleScrollUpdate,{passive:!0}),this.updateScrollProgress())}ngOnDestroy(){this.scrollContainer?.removeEventListener("scroll",this.scheduleScrollUpdate),this.browserWindow?.removeEventListener("resize",this.scheduleScrollUpdate),this.animationFrame!==null&&this.browserWindow?.cancelAnimationFrame(this.animationFrame)}updateScrollProgress(){if(!this.browserWindow)return;let e=this.browserWindow.innerHeight*.96,n=this.browserWindow.innerHeight*.42;this.scrollItems.forEach(i=>i.style.setProperty("--judges-item-progress",this.clamp((e-i.getBoundingClientRect().top)/(e-n)).toFixed(3)))}clamp(e){return Math.min(Math.max(e,0),1)}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-judges"]],standalone:!0,features:[B],decls:160,vars:1,consts:[[1,"judges-page"],["aria-labelledby","judges-title",1,"judges-hero"],["src","assets/about-pages/judges/judges_banner.webp","alt","Jura\u021Bi FIRST Tech Challenge Rom\xE2nia la un eveniment"],[1,"judges-hero__overlay"],[1,"judges-container","judges-hero__content"],[1,"judges-eyebrow"],["id","judges-title"],[1,"judges-actions"],[1,"judges-button","judges-button--primary",3,"click"],["routerLink","/about/volunteer",1,"judges-button","judges-button--secondary"],["aria-labelledby","judges-intro-title",1,"judges-section","judges-intro"],[1,"judges-container","judges-intro__layout"],["id","judges-intro-title"],[1,"judges-intro__copy"],["aria-labelledby","role-title",1,"judges-section","judges-role"],[1,"judges-container"],[1,"judges-heading"],["id","role-title"],[1,"judges-role__grid"],[1,"judges-card"],[1,"judges-card","judges-card--accent"],[1,"judges-role__note"],["aria-labelledby","workplace-title",1,"judges-section","judges-workplace"],[1,"judges-container","judges-workplace__layout"],["id","workplace-title"],["href","mailto:[email protected]"],["href","https://natie.ro/contribute/companies","target","_blank","rel","noopener"],["aria-labelledby","schedule-title",1,"judges-section","judges-schedule"],[1,"judges-heading","judges-heading--left"],["id","schedule-title"],[1,"judges-schedule__grid"],["aria-labelledby","resources-title",1,"judges-section","judges-resources"],["id","resources-title"],[1,"resource-buttons"],["target","_blank","rel","noopener","class","resource-btn",3,"href",4,"ngFor","ngForOf"],["id","inscriere-formular","aria-labelledby","form-title",1,"judges-section","judges-form"],["id","form-title"],[1,"judges-form__card"],["title","Formular de \xEEnscriere ca judge \xEEn FTC Rom\xE2nia","src",qt`https://forms.office.com/e/S93B2gVCVg`,"height","700","frameborder","0","marginheight","0","marginwidth","0"],[1,"judges-contact"],["href","mailto:[email protected]"],[1,"judges-thanks"],["target","_blank","rel","noopener",1,"resource-btn",3,"href"],["alt","","aria-hidden","true",3,"src"],["aria-hidden","true"]],template:function(n,i){n&1&&(r(0,"main",0)(1,"section",1),_(2,"img",2)(3,"div",3),r(4,"div",4)(5,"p",5),a(6,"Voluntariat specializat"),o(),r(7,"h1",6),a(8,"Jura\u021Bii care v\u0103d munca din spatele fiec\u0103rei echipe."),o(),r(9,"p"),a(10,"Speciali\u0219tii care sus\u021Bin competi\u021Biile FIRST Tech Challenge Rom\xE2nia prin experien\u021B\u0103, dialog \u0219i evaluare atent\u0103."),o(),r(11,"div",7)(12,"a",8),b("click",function(){return i.scrollToForm()}),a(13,"\xCEnscrie-te ca jurat"),o(),r(14,"a",9),a(15,"Descoper\u0103 voluntariatul"),o()()()(),r(16,"section",10)(17,"div",11)(18,"div")(19,"p",5),a(20,"Rolul t\u0103u \xEEn competi\u021Bie"),o(),r(21,"h2",12),a(22,"Expertiza ta poate \xEEncuraja urm\u0103toarea genera\u021Bie."),o()(),r(23,"div",13)(24,"p"),a(25,"Jura\u021Bii Na\u021Bie Prin Educa\u021Bie sunt voluntari cu experien\u021B\u0103 \xEEn domeniile abordate de Programul Na\u021Bional de Educa\u021Bie STEM organizat de Na\u021Bie Prin Educa\u021Bie. \xCEmpreun\u0103 cu voluntarii no\u0219tri, reu\u0219im s\u0103 oferim competi\u021Bii de robotic\u0103 pentru peste 200 de echipe din toat\u0103 \u021Bara \xEEn fiecare an."),o(),r(26,"p"),a(27,"Un jurat FTC intervieveaz\u0103 echipele de robotic\u0103, urm\u0103re\u0219te parcursul lor \xEEn competi\u021Bie \u
1400219i analizeaz\u0103 documenta\u021Bia tehnic\u0103 pentru a identifica echipele remarcabile din categoriile de jurizare."),o()()()(),r(28,"section",14)(29,"div",15)(30,"div",16)(31,"p",5),a(32,"O perspectiv\u0103 important\u0103"),o(),r(33,"h2",17),a(34,"Ce \xEEnseamn\u0103 s\u0103 fii jurat FTC"),o()(),r(35,"div",18)(36,"article",19)(37,"span"),a(38,"01"),o(),r(39,"h3"),a(40,"Ascul\u021Bi \u0219i descoperi"),o(),r(41,"p"),a(42,"Intervievezi echipe de liceeni \u0219i le urm\u0103re\u0219ti parcursul \xEEn competi\u021Bie."),o()(),r(43,"article",20)(44,"span"),a(45,"02"),o(),r(46,"h3"),a(47,"Analizezi \u0219i evaluezi"),o(),r(48,"p"),a(49,"Folose\u0219ti documenta\u021Bia tehnic\u0103 \u0219i observa\u021Biile din eveniment pentru a sus\u021Bine procesul de jurizare."),o()(),r(50,"article",19)(51,"span"),a(52,"03"),o(),r(53,"h3"),a(54,"Contribui cu expertiz\u0103"),o(),r(55,"p"),a(56,"Po\u021Bi avea experien\u021B\u0103 \xEEn inginerie, proiectare, mecanic\u0103, programare, financiar, marketing, promovare sau fundraising."),o()()(),r(57,"p",21),a(58,"Jura\u021Bii particip\u0103 voluntar; organizatorii pun la dispozi\u021Bie m\xE2ncarea \u0219i materialele necesare. Pentru deplas\u0103ri, cazarea \u0219i decontul transportului pot fi discutate cu Judge Advisor."),o()()(),r(59,"section",22)(60,"div",23)(61,"div")(62,"p",5),a(63,"Implicarea prin locul de munc\u0103"),o(),r(64,"h2",24),a(65,"Adu \u0219i compania ta mai aproape de educa\u021Bie."),o()(),r(66,"div")(67,"p"),a(68,"Mai multe companii din Rom\xE2nia ofer\u0103 beneficii pentru angaja\u021Bii implica\u021Bi \xEEn voluntariat, inclusiv dona\u021Bii prin platforme ca Benevity. Asocia\u021Bia Na\u021Bie Prin Educa\u021Bie poate parteneria cu angajatorul dumneavoastr\u0103 pentru a sus\u021Bine voluntariatul \xEEn cadrul evenimentelor."),o(),r(69,"p"),a(70,"Pentru parteneriate sau voluntariat al\u0103turi de colegi, scrie\u021Bi la "),r(71,"a",25),a(72,"[email protected]"),o(),a(73," (Director de Program). Pentru sponsorizare, vizita\u021Bi "),r(74,"a",26),a(75,"pagina dedicat\u0103 companiilor"),o(),a(76,"."),o()()()(),r(77,"section",27)(78,"div",15)(79,"div",28)(80,"p",5),a(81,"Program evenimente FTC 2026"),o(),r(82,"h2",29),a(83,"Sezonul 2025\u20132026"),o(),r(84,"p"),a(85,"Programul Na\u021Bional de Educa\u021Bie STEAM FIRST Tech Challenge Rom\xE2nia"),o()(),r(86,"div",30)(87,"article")(88,"h3"),a(89,"Etape regionale"),o(),r(90,"p"),a(91,"S\xE2mb\u0103t\u0103 08:30\u201318:00, duminic\u0103 08:30\u201316:00"),o(),r(92,"ul")(93,"li"),a(94,"Regionala Bucure\u0219ti, 31.01\u201301.02.2026"),o(),r(95,"li"),a(96,"Regionala Ploie\u0219ti, 07.02\u201308.02.2026"),o(),r(97,"li"),a(98,"Regionala Hunedoara, 07.02\u201308.02.2026"),o(),r(99,"li"),a(100,"Regionala Piatra-Neam\u021B, 21.02\u201322.02.2026"),o(),r(101,"li"),a(102,"Regionala Bistri\u021Ba, 21.02\u201322.02.2026"),o(),r(103,"li"),a(104,"Regionala Craiova, 28.02\u201301.03.2026"),o(),r(105,"li"),a(106,"Regionala Alba Iulia, 28.02\u201301.03.2026"),o()()(),r(107,"article")(108,"h3"),a(109,"Etapa na\u021Bional\u0103"),o(),r(110,"p"),a(111,"Vineri 09:00\u201317:00, s\xE2mb\u0103t\u0103 08:30\u201318:00, duminic\u0103 08:30\u201316:00"),o(),r(112,"ul")(113,"li"),a(114,"Campionatul Na\u021Bional FIRST Tech Challenge Romania, Bucure\u0219ti, 13\u201315 martie 2026"),o()()(),r(115,"article")(116,"h3"),a(117,"Etapa interna\u021Bional\u0103"),o(),r(118,"p"),a(119,"Organizat\u0103 de FIRST US; voluntarii rom\xE2ni pot participa dac\u0103 \xEE\u0219i asigur\u0103 transportul \u0219i cazarea."),o(),r(120,"ul")(121,"li"),a(122,"FIRST Championship \u2013 FIRST Tech Challenge, Houston, TX, SUA, 29.04\u201302.05.2026"),o()()()()()(),r(123,"section",31)(124,"div",15)(125,"div",28)(126,"p",5),a(127,"Preg\u0103te\u0219te-te pentru eveniment"),o(),r(128,"h2",32),a(129,"Materiale pentru jura\u021Bi"),o()(),r(130,"div",33),h(131,Qx,5,3,"a",34),o()()(),r(132,"section",35)(133,"div",15)(134,"div",28)(135,"p",5),a(136,"Urm\u0103torul pas"),o(),r(137,"h2",36),a(138,"\xCEnscrie-te ca judge \xEEn FTC Rom\xE2nia"),o(),r(139,"p"),a(140,"Dup\u0103 completare, te vom contacta \xEEn timpul fiec\u0103rui sezon \u0219i \xEEn apropierea evenimentelor."),o()(),r(141,"div",37)(142,"iframe",38),a(143,"Loa
140ding..."),o()(),r(144,"p",39),a(145,"Pentru informa\u021Bii: "),r(146,"a",25),a(147,"[email protected]"),o(),a(148," (Director de Program) sau "),r(149,"a",40),a(150,"[email protected]"),o(),a(151," (Judge Advisor)."),o()()(),r(152,"section",41)(153,"div",15)(154,"p",5),a(155,"\xCEmpreun\u0103 pentru viitor"),o(),r(156,"h2"),a(157,"\xCE\u021Bi mul\u021Bumim pentru timpul acordat,"),_(158,"br"),a(159,"\xEEn numele viitoarelor genera\u021Bii! <3"),o()()()()),n&2&&(c(131),m("ngForOf",i.judgeMaterials))},dependencies:[Qt,Te,H,X],styles:["[_nghost-%COMP%]{display:block;color:var(--natie-ink)}*[_ngcontent-%COMP%]{box-sizing:border-box}.judges-hero__overlay[_ngcontent-%COMP%]{background:linear-gradient(78deg,#08363eb8,#0e66697a 56%,#1e2b433d)!important}.judges-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.judges-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.judges-section[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.judges-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{margin-bottom:1.35rem;font-size:clamp(2.35rem,5vw,4.65rem);letter-spacing:-.045em}h2[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}h3[_ngcontent-%COMP%]{margin-bottom:.75rem;font-size:1.35rem}p[_ngcontent-%COMP%]{line-height:1.65}.judges-hero[_ngcontent-%COMP%]{position:relative;isolation:isolate;display:grid;min-height:clamp(500px,67vw,680px);place-items:center;overflow:hidden;color:var(--natie-white)}.judges-hero[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], .judges-hero__overlay[_ngcontent-%COMP%]{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.judges-hero__overlay[_ngcontent-%COMP%]{z-index:-1;background:linear-gradient(100deg,#04243af2,#05415fbd 56%,#04243a6b)}.judges-hero__content[_ngcontent-%COMP%]{padding:clamp(5.5rem,12vw,9rem) 0}.judges-hero[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], .judges-hero[_ngcontent-%COMP%] .judges-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.judges-hero[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:not(.judges-eyebrow){max-width:730px;margin:0;font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.7}.judges-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.1rem}.judges-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.3rem;border:2px solid transparent;border-radius:4px;color:var(--natie-white);cursor:pointer;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;transition:transform .2s ease,background-color .2s ease,color .2s ease}.judges-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.judges-button--primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--natie-orange),var(--natie-orange-strong))}.judges-button--secondary[_ngcontent-%COMP%]{border-color:#ffffffe6}.judges-button--secondary[_ngcontent-%COMP%]:hover{background:var(--natie-white);color:var(--natie-navy-mid)}.judges-button[_ngcontent-%COMP%]:focus-visible, a[_ngcontent-%COMP%]:focus-visible{outline:3px solid var(--natie-orange);outline-offset:4px}.judges-intro__layout[_ngcontent-%COMP%], .judges-workplace__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2.5rem,8vw,8rem)}.judges-intro[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .judges-workplace[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{max-width:540px;margin-bottom:0}.judges-intro__copy[_ngcontent-%COMP%], .judges-workplace__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{max-width:650px;color:var(--natie-text-muted);font-size:1.08rem}.judges-intro__copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child, .judges-workplace[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.judges-role[_ngcontent-%COMP%], .judges-resources[_ngcontent-%COMP%]{background:var(--natie-surface)}.judges-heading[_ngcontent-%COMP%]{max-width:720px;margin:0 auto 3rem;text-align:center}.judges-heading[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{margin:0;color:var(--natie-text-soft);font-size:1.08rem}.judges-heading--left[_ngcontent-%COMP%]{margin-left:0;text-align:left}.judges-role__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.judges-card[_ngcontent-%COMP%]{min-height:260px;padding:2rem;border:1px solid var(--natie-border-soft);border-top:5px solid var(--natie-blue);background:var(--natie-white);box-shadow:var(--natie-card-shadow)}
140.judges-card--accent[_ngcontent-%COMP%]{border-top-color:var(--natie-orange-strong)}.judges-card[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;border-radius:50%;background:var(--natie-blue-tint);color:var(--natie-blue-deep);font-size:.82rem;font-weight:800}.judges-card--accent[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{background:var(--natie-orange-tint);color:var(--natie-orange-strong)}.judges-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-top:1.6rem}.judges-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .judges-role__note[_ngcontent-%COMP%]{color:var(--natie-text-muted)}.judges-role__note[_ngcontent-%COMP%]{max-width:850px;margin:2rem auto 0;padding-left:1.25rem;border-left:4px solid var(--natie-orange)}.judges-workplace[_ngcontent-%COMP%]{background:var(--natie-charcoal);color:var(--natie-surface-on-dark)}.judges-workplace[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .judges-workplace[_ngcontent-%COMP%] .judges-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.judges-workplace__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{color:var(--natie-text-on-dark-soft)}.judges-workplace[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--natie-orange);font-weight:800}.judges-schedule__grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.judges-schedule__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%]{padding:1.65rem;border:1px solid var(--natie-border-soft);background:var(--natie-surface)}.judges-schedule__grid[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:var(--natie-blue-deep)}.judges-schedule__grid[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{min-height:4.8rem;margin:0 0 1rem;color:var(--natie-text-soft)}.judges-schedule__grid[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:1.2rem}.judges-schedule__grid[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:.65rem;color:var(--natie-text-muted);line-height:1.5}.resource-buttons[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.resource-btn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;min-height:66px;padding:1rem 1.1rem;border:1px solid var(--natie-border-soft);background:var(--natie-white);color:var(--natie-blue-accessible);font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.resource-btn[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:var(--natie-card-shadow)}.resource-btn[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:22px;height:22px;object-fit:contain}.resource-btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-left:auto}.judges-form[_ngcontent-%COMP%]{background:var(--natie-white)}.judges-form__card[_ngcontent-%COMP%]{max-width:900px;padding:1.5rem;border:1px solid var(--natie-border-soft);background:var(--natie-surface);box-shadow:var(--natie-card-shadow);scroll-margin-top:1.5rem}.judges-form[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{display:block;width:100%;border:0;background:var(--natie-white)}.judges-contact[_ngcontent-%COMP%]{margin:1.5rem 0 0;color:var(--natie-text-muted)}.judges-contact[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);font-weight:800}.judges-thanks[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7rem) 0;background:var(--natie-charcoal);text-align:center}.judges-thanks[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .judges-thanks[_ngcontent-%COMP%] .judges-eyebrow[_ngcontent-%COMP%]{color:var(--natie-white)}.judges-thanks[_ngcontent-%COMP%] .judges-eyebrow[_ngcontent-%COMP%]{color:var(--natie-orange)}@media (max-width: 850px){.judges-intro__layout[_ngcontent-%COMP%], .judges-workplace__layout[_ngcontent-%COMP%], .judges-schedule__grid[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:2.5rem}.judges-role__grid[_ngcontent-%COMP%]{grid-template-columns:1fr;max-width:620px;margin:auto}.resource-buttons[_ngcontent-%COMP%]{grid-template-columns:1fr}.judges-schedule__grid[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{min-height:0}}@media (max-width: 620px){.judges-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.judges-hero[_ngcontent-%COMP%]{min-height:560px}.judges-actions[_ngcontent-%COMP%]{flex-direction:column}.judges-button[_ngcontent-%COMP%]{width:100%}.judges-heading[_ngcontent-%COMP%]{margin-bottom:2.2rem}.judges-card[_ngcontent-%COMP%], .judges-schedule__grid[_ngcontent-%COMP%] article[_ngcontent-%COMP%], .judges-form__card[_ngcontent-%COMP%]{padding:1.4rem}}.judges-scroll-ready[_nghost-%COMP%] .judges-scroll-item[_ngcontent-%COMP%]{opacity:var(--judges-item-progress, 0);transform:translate3d(calc(var(--judges-reveal-x, 0) * (1 - var(--judges-item-progress, 0))),calc((1 - var(--judges-item-progress, 0)) * 2.8rem),0)}.judges-scroll-ready[_nghost-%COMP%] .judges-intro__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child, .judges-scroll-ready[_nghost-%COMP%] .judges-workplace__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{--judges-reveal-x: -2.4rem}.judges-scroll-ready[_nghost-%COMP%] .judges-intro__copy[_ngcontent-%COMP%], .judges-scroll-ready[_nghost-%COMP%] .judges-workplace__layout[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{--judges-reveal-x: 2.4rem}.judges-scroll-ready[_nghost-%COMP%] .judges-card[_ngcontent-%COMP%]{transform:translateY(calc((1 - var(--judges-item-progress, 0)) * 3.8rem)) scale(calc(.975 + var(--judges-item-progress, 0) * .025))}@media (prefers-reduced-motion: reduce){.judges-scroll-ready[_nghost-%COMP%] .judges-scroll-item[_ngcontent-%COMP%], .judges-scroll-ready[_nghost-%COMP%] .judges-card[_ngcontent-%COMP%]{opacity:1;transform:none}}"]})}}return t})();var Q0=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-partner-sponsor"]],standalone:!0,features:[B],decls:47,vars:1,consts:[[1,"hero-section"],["src","assets/bannere/sponsori.jpg","alt","NATIE Hero Image","loading","eager",1,"hero-img"],["aria-hidden","true",1,"hero-overlay"],[1,"partner-sponsor-main"],[1,"partner-sponsor-content-wrap"],[1,"partners-title"],[1,"sponsor-tier"],[1,"tier-header"],[1,"tier-circle","platinum"],[1,"tier-title"],[1,"tier-logos"],["href","https://www.brd.ro","target","_blank","rel","noopener noreferrer",1,"partner-link"],["src","assets/about-pages/partner-logo/BRD.webp","alt","BRD Groupe Soci\xE9t\xE9 G\xE9n\xE9rale",1,"partner-logo"],[1,"tier-circle","gold"],["href","https://www.nepirockcastle.com","target","_blank","rel","noopener noreferrer",1,"partner-link"],["src","assets/about-pages/partner-logo/NEPI.webp","alt","NEPI Rockcastle",1,"partner-logo"],[1,"tier-circle","silver"],["href","https://www.dedeman.ro","target","_blank","rel","noopener noreferrer",1,"partner-link"],["src","assets/about-pages/partner-logo/Dedeman.webp","alt","Dedeman",1,"partner-logo"],["href","https://www.klgeurope.com/en/","target","_blank","rel","noopener noreferrer",1,"partner-link"],["src","assets/about-pages/partner-logo/Strongo.svg","alt","KLG Europe",1,"partner-logo"],["href","https://www.lenovo.com","target","_blank","rel","noopener noreferrer",1,"partner-link"],["src","assets/about-pages/partner-logo/Lenovo.webp","alt","Lenovo",1,"partner-logo"],["href","https://www.arilog.ro/","target","_blank","rel","noopener noreferrer",1,"partner-link"],["src","assets/about-pages/partner-logo/arilog.webp","alt","Arilog",1,"partner-logo"],["href","https://sofmedica.com/","target","_blank","rel","noopener noreferrer",1,"partner-link"],["src","assets/about-pages/partner-logo/sofmedicagroup.webp","alt","Google",1,"partner-logo"],[1,"partners-footer"],[1,"thank-you-message"],[1,"contact-email"],[1,"contribute-button-container"],["routerLink","/contribute","name","Investe\u0219te \xEEn educa\u021Bie","iconType","external","customClass","contribute-button",3,"showIcon"],[2,"margin","1rem 0"]],template:function(n,i){n&1&&(r(0,"div",0),_(1,"img",1)(2,"div",2),o(),r(3,"div",3)(4,"div",4)(5,"h1",5),a(6,"Parteneri \xEEn educa\u021Bie"),o(),r(7,"div",6)(8,"div",7),_(9,"div",8),r(10,"h2",9),a(11,"P
140LATINUM"),o()(),r(12,"div",10)(13,"a",11),_(14,"img",12),o()()(),r(15,"div",6)(16,"div",7),_(17,"div",13),r(18,"h2",9),a(19,"GOLD"),o()(),r(20,"div",10)(21,"a",14),_(22,"img",15),o()()(),r(23,"div",6)(24,"div",7),_(25,"div",16),r(26,"h2",9),a(27,"SILVER"),o()(),r(28,"div",10)(29,"a",17),_(30,"img",18),o(),r(31,"a",19),_(32,"img",20),o(),r(33,"a",21),_(34,"img",22),o(),r(35,"a",23),_(36,"img",24),o(),r(37,"a",25),_(38,"img",26),o()()(),r(39,"div",27)(40,"p",28),a(41,"Le mul\u021Bumim partenerilor \u0219i v\u0103 invit\u0103m al\u0103turi de noi!"),o(),r(42,"p",29),a(43,"[email protected]"),o()(),r(44,"div",30),_(45,"app-external-link-button",31),o(),_(46,"div",32),o()()),n&2&&(c(45),m("showIcon",!0))},dependencies:[Tn],styles:[".hero-section[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:0;overflow-x:hidden;position:relative;height:var(--banner-md-height);padding-top:0;isolation:isolate}.hero-img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;object-position:center;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.hero-overlay[_ngcontent-%COMP%]{position:absolute;z-index:1;inset:0;background:linear-gradient(126deg,#4a1c26b8 4%,#843a427a 56%,#3030693d);pointer-events:none}@media (min-width: 1920px){.hero-img[_ngcontent-%COMP%]{max-height:100vh}}@media (max-width: 1100px){.hero-section[_ngcontent-%COMP%], .hero-img[_ngcontent-%COMP%]{max-width:100vw;width:100vw}}@media (max-width: 768px){.hero-section[_ngcontent-%COMP%], .hero-img[_ngcontent-%COMP%]{height:auto;min-height:200px}}@media (max-width: 480px){.hero-section[_ngcontent-%COMP%]{margin-top:15px;height:auto;min-height:150px}.hero-img[_ngcontent-%COMP%]{height:auto;min-height:100px}}@media (max-width: 360px){.hero-section[_ngcontent-%COMP%]{margin-top:5px}}.partner-sponsor-main[_ngcontent-%COMP%]{width:100%!important;max-width:none!important;display:flex;justify-content:center;padding:0 2rem}.partner-sponsor-content-wrap[_ngcontent-%COMP%]{max-width:900px!important;width:100%!important;margin:0 auto;background:#fff;box-shadow:0 2px 8px #00000014;padding:2.5rem 2rem 2rem;position:relative}@media (max-width: 900px){.partner-sponsor-content-wrap[_ngcontent-%COMP%]{max-width:90vw;margin:0 auto;padding:1.2rem .5rem}}@media (max-width: 768px){.partner-sponsor-content-wrap[_ngcontent-%COMP%]{max-width:95vw;padding:1rem .75rem;margin:0 auto;box-shadow:none}app-external-link-button[_ngcontent-%COMP%]{display:block;width:100%}app-external-link-button[_ngcontent-%COMP%] .external-link-button{display:flex;width:100%;justify-content:flex-start}}@media (max-width: 480px){.partner-sponsor-content-wrap[_ngcontent-%COMP%]{padding:.75rem .5rem;box-shadow:none}app-external-link-button[_ngcontent-%COMP%]{display:block;width:100%}app-external-link-button[_ngcontent-%COMP%] .external-link-button{display:flex;width:100%;justify-content:flex-start}}@media (max-width: 600px){.partner-sponsor-content-wrap[_ngcontent-%COMP%]{padding:.75rem .5rem;box-shadow:none}app-external-link-button[_ngcontent-%COMP%]{display:block;width:100%}app-external-link-button[_ngcontent-%COMP%] .external-link-button{display:flex;width:100%;justify-content:flex-start}}@media (min-width: 1200px){.partner-sponsor-content-wrap[_ngcontent-%COMP%]{max-width:1000px!important;width:100%!important;padding:3rem 2.5rem 2.5rem}}.partners-title[_ngcontent-%COMP%]{text-align:center;font-size:2.5rem;font-weight:700;color:#333;margin-bottom:3rem;margin-top:0}.sponsor-tier[_ngcontent-%COMP%]{margin-bottom:4rem;padding-bottom:2rem;border-bottom:1px solid #f0f0f0}.sponsor-tier[_ngcontent-%COMP%]:last-of-type{border-bottom:none;margin-bottom:2rem}.tier-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-start;margin-bottom:2rem;gap:1rem}.tier-circle[_ngcontent-%COMP%]{width:20px;height:20px;border-radius:50%;flex-shrink:0}.tier-circle.platinum[_ngcontent-%COMP%]{background-color:#e91e63}.tier-circle.gold[_ngcontent-%COMP%]{background-color:#ffc107}.tier-circle.silver[_ngcontent-%COMP%]{background-color:#9e9e9e}.tier-title[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;color:#333;margin:0;text-transform:uppercase;letter-spacing:2px}.tier-logos[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2rem;min-height:120px;max-width:100%}.tier-logos[_ngcontent-%COMP%]:has(.partner-link:nth-child(1):last-child){justify-content:center}.tier-logos[_ngcontent-%COMP%]:has(.partner-link:nth-child(2):last-child){justify-content:center}.partner-link[_ngcontent-%COMP%]{flex:0 0 calc(33.333% - 1.5rem);max-width:calc(33.333% - 1.5rem);display:flex;justify-content:center;align-items:center;text-decoration:none;transition:transform .3s ease,opacity .3s ease}.partner-link[_ngcontent-%COMP%]:hover{transform:scale(1.05);opacity:.8}.partner-logo[_ngcontent-%COMP%]{height:80px;
140max-width:200px;object-fit:contain;filter:grayscale(0);transition:filter .3s ease;display:block}.partner-link[_ngcontent-%COMP%]:hover .partner-logo[_ngcontent-%COMP%]{filter:grayscale(0)}.partners-footer[_ngcontent-%COMP%]{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid #e0e0e0}.thank-you-message[_ngcontent-%COMP%]{font-size:1.2rem;color:#333;margin-bottom:1rem;font-style:italic}.contact-email[_ngcontent-%COMP%]{font-size:1rem;color:#666;margin:0;font-weight:500}.contribute-button-container[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-top:3rem;padding-top:2rem;border-top:1px solid #e0e0e0}@media (max-width: 768px){.partners-title[_ngcontent-%COMP%]{font-size:2rem;margin-bottom:2rem}.tier-header[_ngcontent-%COMP%]{margin-bottom:1.5rem;gap:.75rem}.tier-circle[_ngcontent-%COMP%]{width:16px;height:16px}.tier-title[_ngcontent-%COMP%]{font-size:1.25rem;letter-spacing:1px}.tier-logos[_ngcontent-%COMP%]{gap:1.5rem;min-height:100px}.partner-link[_ngcontent-%COMP%]{flex:0 0 calc(50% - .75rem);max-width:calc(50% - .75rem)}.partner-logo[_ngcontent-%COMP%]{height:70px}.sponsor-tier[_ngcontent-%COMP%]{margin-bottom:2.5rem}.partners-footer[_ngcontent-%COMP%]{margin-top:3rem;padding-top:1.5rem}.thank-you-message[_ngcontent-%COMP%]{font-size:1.1rem}}@media (max-width: 480px){.partners-title[_ngcontent-%COMP%]{font-size:1.75rem}.tier-header[_ngcontent-%COMP%]{gap:.5rem}.tier-circle[_ngcontent-%COMP%]{width:14px;height:14px}.tier-title[_ngcontent-%COMP%]{font-size:1.1rem}.tier-logos[_ngcontent-%COMP%]{gap:1rem;min-height:80px}.partner-link[_ngcontent-%COMP%]{flex:0 0 calc(100% - .5rem);max-width:calc(100% - .5rem)}.partner-logo[_ngcontent-%COMP%]{height:60px}.thank-you-message[_ngcontent-%COMP%]{font-size:1rem}}"]})}}return t})();var at=(()=>{class t{constructor(e){this.http=e,this.apiUrl=ne.apiUrl,this.isLoggedIn=new At(this.getLoginStatusFromLocalStorage()),this.userRole=new At(null),this.currentUser=new At(null),this.accessToken=new At(this.getAccessTokenFromLocalStorage()),setTimeout(()=>{this.initializeAuth()},0),document.addEventListener("visibilitychange",()=>{if(!document.hidden&&this.isLoggedIn.value&&this.accessToken.value){let n=this.accessToken.value;this.isTokenExpiringSoon(n)&&this.refreshToken().subscribe({error:()=>{this.logout()}})}})}initializeAuth(){let e=this.getAccessTokenFromLocalStorage(),n=this.getLoginStatusFromLocalStorage();e&&n?this.isTokenExpired(e)?this.refreshToken().subscribe({next:()=>{this.fetchUserDetails().subscribe({next:()=>{this.isLoggedIn.next(!0),this.accessToken.next(this.getAccessTokenFromLocalStorage())},error:()=>{this.logout()}})},error:()=>{this.logout()}}):this.fetchUserDetails().subscribe({next:()=>{this.isLoggedIn.next(!0),this.accessToken.next(e)},error:()=>{this.logout()}}):this.logout()}isTokenExpired(e){try{let n=JSON.parse(atob(e.split(".")[1])),i=Date.now()/1e3;return n.exp<i}catch{return!0}}register(e){return this.http.post(`${this.apiUrl}/auth/register`,e,{withCredentials:!0}).pipe(ft(n=>{n.success&&(this.setAccessToken(n.message.access_token),this.isLoggedIn.next(!0),localStorage.setItem("isLoggedIn","true"),this.fetchUserDetails().subscribe())}))}login(e){return this.http.post(`${this.apiUrl}/auth/login`,e,{withCredentials:!0}).pipe(ft(n=>{n.success&&(this.setAccessToken(n.message.access_token),this.isLoggedIn.next(!0),localStorage.setItem("isLoggedIn","true"),this.fetchUserDetails().subscribe())}))}createShopSsoCode(e,n){return this.getAuthHeaders().pipe(gt(i=>this.http.post(`${this.apiUrl}/sso/shop/create-code`,{returnUrl:e,next:n},{headers:i,withCredentials:!0})),Be(i=>i.status===401?this.refreshToken().pipe(gt(()=>this.createShopSsoCode(e,n))):en(()=>i)))}fetchUserDetails(){return this.getAuthHeaders().pipe(gt(e=>this.http.get(`${this.apiUrl}/auth/profile`,{headers:e,withCredentials:!0})),ft(e=>{e.success&&(this.setLoggedInUser(e.message),this.userRole.next(e.message.userType||null))}),Be(e=>e.status===401?this.refreshToken().pipe(gt(()=>this.fetchUserDetails()),Be(()=>(this.logout(),en(()=>e)))):(this.logout(),en(()=>e))))}refreshToken(){return this.http.post(`${this.apiUrl}/auth/refresh`,{},{withCredentials:!0}).pipe(ft(e=>{e.success&&this.setAccessToken(e.message.access_token)}),Be(e=>(this.logout(),en(()=>e))))}getAuthHeaders(){return new uo(e=>{let n=this.accessToken.value;if(n){let i=new on({Authorization:`Bearer ${n}`,"Content-Type":"application/json"});e.next(i)}else e.error(new Error("No access token available"));e.complete()})}setAccessToken(e){this.accessToken.next(e),localStorage.setItem("accessToken",e),this.isTokenExpiringSoon(e)&&this.scheduleTokenRefresh(e)}scheduleTokenRefresh(e){let n=this.getTokenExpirationTime(e);
140if(!n)return;let i=Date.now()/1e3,d=(n-i)*1e3,u=Math.max(d-2*60*1e3,0);setTimeout(()=>{this.isLoggedIn.value&&this.refreshToken().subscribe({error:()=>{this.logout()}})},u)}getTokenExpirationTime(e){try{return JSON.parse(atob(e.split(".")[1])).exp}catch{return null}}isTokenExpiringSoon(e){let n=this.getTokenExpirationTime(e);if(!n)return!0;let i=Date.now()/1e3,d=5*60;return n-i<d}getAccessToken(){return this.accessToken.value}setLoggedInUser(e){this.currentUser.next(e)}getLoggedInUser(){return this.currentUser.asObservable()}getUserRole(){return this.userRole.asObservable()}updateOwnDisplayName(e){return this.getAuthHeaders().pipe(gt(n=>this.http.put(`${this.apiUrl}/user/me/name`,{name:e},{headers:n,withCredentials:!0})),ft(n=>{n.success&&(this.setLoggedInUser(n.message),this.userRole.next(n.message.userType||null))}),Be(n=>n.status===401?this.refreshToken().pipe(gt(()=>this.updateOwnDisplayName(e))):en(()=>n)))}isLoggedInStatus(){return this.isLoggedIn.asObservable()}isAuthenticated(){return this.isLoggedIn.value&&!!this.accessToken.value}logout(){this.isLoggedIn.next(!1),this.accessToken.next(null),localStorage.removeItem("isLoggedIn"),localStorage.removeItem("accessToken"),this.userRole.next(null),this.currentUser.next(null)}getLoginStatusFromLocalStorage(){return localStorage.getItem("isLoggedIn")==="true"}getAccessTokenFromLocalStorage(){return localStorage.getItem("accessToken")}authenticatedRequest(e,n={}){return this.getAuthHeaders().pipe(gt(i=>{let d=ye(J({},n),{headers:i});return this.http.get(e,d)}),Be(i=>i.status===401?this.refreshToken().pipe(gt(()=>this.authenticatedRequest(e,n))):en(()=>i)))}forgotPassword(e){return this.http.post(`${this.apiUrl}/auth/forgot-password`,{email:e})}resetPassword(e,n){return this.http.post(`${this.apiUrl}/auth/reset-password`,{token:e,newPassword:n})}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Jx(t,s){t&1&&(r(0,"div",15),a(1,"Email is required."),o())}function Xx(t,s){t&1&&(r(0,"div",15),a(1,"Password is required."),o())}function eb(t,s){if(t&1&&(r(0,"div",16)(1,"strong"),a(2,"There was a problem signing you in."),o(),r(3,"div"),a(4),o()()),t&2){let e=p();c(4),O(e.getFriendlyErrorMessage())}}var J0=(()=>{class t{constructor(e,n,i){this.authService=e,this.router=n,this.route=i,this.email="",this.password="",this.errorMessage=null}onSubmit(){let e={email:this.email,password:this.password};this.authService.login(e).subscribe({next:n=>{console.log("Login successful",n),this.errorMessage=null,this.router.navigateByUrl(this.getRedirectAfterLogin())},error:n=>{console.error("Login failed",n),n.status===401||n.status===403?this.errorMessage="Email or password is incorrect. Please try again.":n.status===0?this.errorMessage="Cannot reach the server. Check your internet connection and try again.":n.status===429?this.errorMessage="Too many attempts. Please wait a moment before trying again.":n.status>=500?this.errorMessage="We are experiencing issues. Please try again later.":this.errorMessage=this.extractReadableError(n)||"An unexpected error occurred. Please try again."}})}getRedirectAfterLogin(){let e=this.route.snapshot.queryParamMap.get("redirect");return e&&e.startsWith("/")&&!e.startsWith("//")?e:"/dashboard"}extractReadableError(e){let n=e?.error;if(!n)return e?.message||null;if(typeof n=="string")return n;let i=n.message??n.error??n.detail;if(typeof i=="string")return i;if(Array.isArray(i)){let d=i.filter(u=>typeof u=="string").join(" ");if(d)return d}try{return JSON.stringify(i??n)}catch{return"An unexpected error occurred. Please try again."}}getFriendlyErrorMessage(){if(!this.errorMessage)return null;let e=this.errorMessage.toLowerCase();return e.includes("password must be longer")||e.includes("password must be at least")?"Password must be at least 6 characters.":e.includes("email must be an email")||e.includes("invalid email")?"Please enter a valid email address.":e.includes("incorrect")||e.includes("invalid credentials")?"Email or password is incorrect. Please try again.":e.includes("too many attempts")||e.includes("rate limit")?"Too many attempts. Please wait a moment and try again.":e.includes("cannot reach the server")||e.includes("failed to fetch")||e.includes("network")?"Cannot reach the server. Check your internet connection and try again.":e.includes("experiencing issues")||e.includes("server error")?"We are experiencing issues. Please try again later.":this.errorMessage}static{this.\u0275fac=function(n){return new(n||t)(T(at),T(ke),T(Je))}}static{this.\u0275cmp=V({type:t,selectors:[["app-login"]],standalone:!0,features:[B],decls:23,vars:6,consts:[["loginForm","ngForm"],["emailInput","ngModel"],["passwordInput","ngModel"],[1,"login-container"],[3,"ngSubmit"],[1,"form-group"],["for","email"],["type","email","id","email","required","","name","email",3,"ngModelChange","ngModel"],["class","error",4,"ngIf"],["for","password"],["type","password","id","password","required","","name","password",3,"ngModelChange","ngModel"],["type","submit",3,"disabled"],["class","error-message","role","alert","aria-live","assertive",4,"ngIf"],[1,"forgot-password-link"],["routerLink","/forgot-password"],[1,"error"],["role","alert","aria-live","assertive",1,"error-message"]],template:function(n,i){if
140(n&1){let d=E();r(0,"div",3)(1,"h2"),a(2,"Login"),o(),r(3,"form",4,0),b("ngSubmit",function(){return v(d),M(i.onSubmit())}),r(5,"div",5)(6,"label",6),a(7,"Email:"),o(),r(8,"input",7,1),z("ngModelChange",function(x){return v(d),R(i.email,x)||(i.email=x),M(x)}),o(),h(10,Jx,2,0,"div",8),o(),r(11,"div",5)(12,"label",9),a(13,"Password:"),o(),r(14,"input",10,2),z("ngModelChange",function(x){return v(d),R(i.password,x)||(i.password=x),M(x)}),o(),h(16,Xx,2,0,"div",8),o(),r(17,"button",11),a(18,"Login"),o()(),h(19,eb,5,1,"div",12),r(20,"div",13)(21,"a",14),a(22,"Forgot your password?"),o()()()}if(n&2){let d=oe(4),u=oe(9),x=oe(15);c(8),D("ngModel",i.email),c(2),m("ngIf",u.invalid&&u.touched),c(4),D("ngModel",i.password),c(2),m("ngIf",x.invalid&&x.touched),c(),m("disabled",d.invalid),c(2),m("ngIf",i.errorMessage)}},dependencies:[H,$,se,Oe,re,ie,Pe,Yt,pe,Ot,Sn,Qt,Te],styles:[".login-container[_ngcontent-%COMP%]{max-width:400px;margin:50px auto;padding:20px;border:1px solid #ccc;border-radius:5px;background-color:#f9f9f9}.login-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{text-align:center;margin-bottom:20px}.login-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:15px}.login-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:5px}.login-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;padding:8px;box-sizing:border-box}.login-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{color:red;font-size:12px}.login-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%;padding:10px;background-color:#0389d1;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:16px}.login-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{background-color:#ccc;cursor:not-allowed}.login-container[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;font-size:14px;text-align:center;margin-top:10px}.login-container[_ngcontent-%COMP%] .forgot-password-link[_ngcontent-%COMP%]{margin-top:15px;text-align:center}.login-container[_ngcontent-%COMP%] .forgot-password-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#0389d1;text-decoration:none;font-size:14px;transition:color .3s}.login-container[_ngcontent-%COMP%] .forgot-password-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#025a8a;text-decoration:underline}"]})}}return t})();var tb=["turnstileContainer"];function nb(t,s){if(t&1&&(r(0,"div",10),_(1,"i",11),r(2,"span"),a(3),o()()),t&2){let e=p();c(3),O(e.registrationWindowLabel)}}function ib(t,s){t&1&&(r(0,"div",12),_(1,"i",13),r(2,"div")(3,"strong"),a(4,"Cererea a fost trimis\u0103."),o(),r(5,"span"),a(6,"Am trimis \u0219i un email de confirmare. V\u0103 vom contacta pe email dup\u0103 ce este verificat\u0103 de un administrator."),o()()())}function ob(t,s){if(t&1&&(r(0,"div",14),_(1,"i",15),r(2,"span"),a(3),o()()),t&2){let e=p();c(3),O(e.errorMessage)}}function rb(t,s){t&1&&(r(0,"div",14),_(1,"i",15),r(2,"span"),a(3,"\xCEnregistr\u0103rile pentru echipe noi nu sunt deschise \xEEn acest moment."),o()())}function ab(t,s){t&1&&(r(0,"small"),a(1,"Introduce\u021Bi numele persoanei de contact."),o())}function sb(t,s){t&1&&(r(0,"small"),a(1,"Introduce\u021Bi o adres\u0103 de email valid\u0103."),o())}function cb(t,s){t&1&&(r(0,"small"),a(1,"Introduce\u021Bi un num\u0103r de telefon."),o())}function lb(t,s){t&1&&(r(0,"small"),a(1,"Introduce\u021Bi numele echipei."),o())}function db(t,s){t&1&&(r(0,"small"),a(1,"ID-ul FTC interna\u021Bional trebuie s\u0103 con\u021Bin\u0103 doar cifre."),o())}function mb(t,s){t&1&&(r(0,"small"),a(1,"Introduce\u021Bi anul \xEEn format de 4 cifre."),o())}function gb(t,s){t&1&&(r(0,"small"),a(1,"Introduce\u021Bi \u0219coala sau institu\u021Bia."),o())}function pb(t,s){t&1&&(r(0,"small"),a(1,"Introduce\u021Bi ora\u0219ul."),o())}function ub(t,s){t&1&&(r(0,"small"),a(1,"Introduce\u021Bi jude\u021Bul."),o())}function _b(t,s){t&1&&_(0,"i",41)}function fb(t,s){t&1&&_(0,"i",42)}function hb(t,s){if(t&1){let e=E();r(0,"form",16),b("ngSubmit",function(){v(e);let i=p();return M(i.submitRequest())}),r(1,"section",17)(2,"h2"),a(3,"Persoan\u0103 de contact"),o(),r(4,"div",18)(5,"label",19)(6,"span"),a(7,"Nume complet *"),o(),_(8,"input",20),h(9,ab,2,0,"small",21),o(),r(10,"label",19)(11,"span"),a(12,"Email *"),o(),_(13,"input",22),h(14,sb,2,0,"small",21),o(),r(15,"label",19)(16,"span"),a(17,"Telefon *"),o(),_(18,"input",23),h(19,cb,2,0,"small",21),o()()(),r(20,"section",17)(21,"h2"),a(22,"Date echip\u0103"),o(),r(23,"div",18)(24,"label",19)(25,"span"),a(26,"Nume echip\u0103 *"),o(),_(27,"input",24),h(28,lb,2,0,"small",21),o(),r(29,"label",19)(30,"span"),a(31,"ID FTC interna\u021Bional"),o(),_(32,"input",25),r(33,"small",26),a(34,"Acest ID se ob\u021Bine dup\u0103 \xEEnregistrarea echipei pe platforma FIRST."),o(),h(35,db,2,0,"small",21),o(),r(36,"label",19)(37,"span"),a(38,"An \xEEnfiin\u021Bare *"),o(),_(39,"input",27),h(40,mb,2,0,"small",21),o(),r(41,"label",28)(42,"span"),a(43,"\u0218coal\u0103 / institu\u021Bie *"),o(),_(44,"input",29),h(45,gb,2,0,"small",21),o(),r(46,"label",19)(47,"span"),a(48,"Ora\u0219 *"),o(),_(49,"input",30),h(50,pb,2,0,"small",21),o(),r(51,"label",19)(52,"span"),a(53,"Jude\u021B *"),o(),_(54,"input",31),h(55,ub,2,0,"small",21),o(),r(56,"label",19)(57,"span"),a(58,"\u021Aar\u0103 *"),o(),_(59,"input",32),o()()(),r(60,"section",17)(61,"h2"),a(62,"Detalii suplimentare"),o(),r(63,"label",19)(64,"span"),a(65,"Mesaj pentru administratori"),o(),_(66,"textarea",33),o()(),r(67,"footer",34)(68,"a",35),a(69,"\xCEnapoi la ghid"),o(),r(70,"div",36),_(71,"div",37,0),r(73,"button",38),h(74,_b,1,0,"i",39)(75,fb,1,0,"i",40),a(76),o()()()()}if(t&2){let e=p();m("formGroup",e.registrationForm),c(8),I("invalid",e.hasFieldError("contactName")),c(),m("ngIf",e.hasFieldError("contactName")),c(4),I("invalid",e.hasFieldError("email")),c(),m("ngIf",e.hasFieldError("email")),c(4),I("invalid",e.hasFieldError("phone")),c(),m("ngIf",e.hasFieldError("phone")),c(8),I("invalid",e.hasFieldError("teamName")),c(),m("ngIf",e.hasFieldError("teamName")),c(4),I("invalid",e.hasFieldError("internationalNumber")),c(3),m("ngIf",e.hasFieldError("internationalNumber")),c(4),I("invalid",e.hasFieldError("rookieYear")),c(),m("ngIf",e.hasFieldError("rookieYear")),c(4),I("invalid",e.hasFieldError("school")),c(),m("ngIf",e.hasFieldError("school")),c(4),I("invalid",e.hasFieldError("city")),c(),m("ngIf",e.hasFieldError("city")),c(4),I("invalid",e.hasFieldError("county")),c(),m("ngIf",e.hasFieldError("county")),c(4),I("invalid",e.hasFieldError("country")),c(14),m("disabled",e.isSubmitting||!e.isRegistrationOpen||!e.turnstileSiteKey),c(),m("ngIf",!e.isSubmitting),c(),m("ngIf",e.isSubmitting),c(),w(" ",e.isSubmitting?"Se trimite...":"Trimite cererea"," ")}}function Cb(t,s){t&1&&(r(0,"div",43),_(1,"i",42),r(2,"span"),a(3,"Se verific\u0103 peri
140oada de \xEEnregistrare..."),o()())}var X0=(()=>{class t{constructor(e,n,i){this.fb=e,this.teamsService=n,this.seasonsService=i,this.currentSeason=null,this.isLoadingSeason=!0,this.isSubmitting=!1,this.submitSuccess=!1,this.errorMessage="",this.turnstileSiteKey="",this.turnstileToken="",this.viewReady=!1;let d=new Date().getFullYear().toString();this.registrationForm=this.fb.group({contactName:["",[N.required,N.minLength(2)]],email:["",[N.required,N.email]],phone:["",[N.required,N.minLength(3)]],teamName:["",[N.required,N.minLength(2)]],internationalNumber:["",[N.pattern(/^\d+$/)]],rookieYear:[d,[N.required,N.pattern(/^\d{4}$/)]],school:["",[N.required,N.minLength(2)]],city:["",[N.required,N.minLength(2)]],county:["",[N.required,N.minLength(2)]],country:["Romania",N.required],message:[""]})}ngOnInit(){this.loadCurrentSeason(),this.loadTurnstileConfig()}ngAfterViewInit(){this.viewReady=!0,this.renderTurnstile()}ngOnDestroy(){this.turnstileWidgetId&&window.turnstile&&window.turnstile.remove(this.turnstileWidgetId)}get isRegistrationOpen(){if(!this.currentSeason?.registrationStart||!this.currentSeason?.registrationEnd)return!1;let e=new Date,n=new Date(this.currentSeason.registrationStart),i=new Date(this.currentSeason.registrationEnd);return e>=n&&e<=i}get registrationWindowLabel(){return this.currentSeason?!this.currentSeason.registrationStart||!this.currentSeason.registrationEnd?"Perioada de \xEEnregistrare nu este configurat\u0103 \xEEnc\u0103.":`Perioada de \xEEnregistrare este ${this.formatDate(this.currentSeason.registrationStart)} - ${this.formatDate(this.currentSeason.registrationEnd)}.`:"Nu este setat niciun sezon curent."}submitRequest(){if(this.errorMessage="",this.submitSuccess=!1,!this.isRegistrationOpen){this.errorMessage="\xCEnregistr\u0103rile pentru echipe noi nu sunt deschise \xEEn acest moment.";return}if(this.registrationForm.markAllAsTouched(),this.registrationForm.invalid)return;if(!this.turnstileToken){this.errorMessage="Finaliza\u021Bi verificarea anti-spam.";return}this.isSubmitting=!0;let e=ye(J({},this.cleanPayload(this.registrationForm.getRawValue())),{turnstileToken:this.turnstileToken});this.teamsService.createTeamRegistrationRequest(e).subscribe({next:()=>{this.submitSuccess=!0,this.isSubmitting=!1,this.registrationForm.reset({rookieYear:new Date().getFullYear().toString(),country:"Romania"}),this.resetTurnstile()},error:n=>{this.errorMessage=n?.error?.message?.message||n?.error?.message||"Nu am putut trimite cererea. \xCEncerca\u021Bi din nou.",this.isSubmitting=!1,this.resetTurnstile()}})}hasFieldError(e){let n=this.registrationForm.get(e);return!!n?.invalid&&(n.touched||n.dirty)}cleanPayload(e){return Object.fromEntries(Object.entries(e).map(([n,i])=>[n,typeof i=="string"?i.trim():i]).filter(([,n])=>n!==""))}loadCurrentSeason(){this.seasonsService.getCurrentSeason().subscribe({next:e=>{this.currentSeason=e?.success?e.message:null,this.isLoadingSeason=!1},error:e=>{console.error("Error loading current season:",e),this.currentSeason=null,this.isLoadingSeason=!1}})}loadTurnstileConfig(){this.teamsService.getRegistrationConfig().subscribe({next:e=>{if(this.turnstileSiteKey=e.message.turnstileSiteKey,!this.turnstileSiteKey){this.errorMessage="Formularul nu este disponibil momentan.";return}this.loadTurnstile()},error:()=>this.errorMessage="Verificarea anti-spam nu poate fi \xEEnc\u0103rcat\u0103."})}loadTurnstile(){if(window.turnstile){this.renderTurnstile();return}let e=document.getElementById("cloudflare-turnstile-script");
140if(e){e.addEventListener("load",()=>this.renderTurnstile(),{once:!0});return}let n=document.createElement("script");n.id="cloudflare-turnstile-script",n.src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",n.async=!0,n.defer=!0,n.onload=()=>this.renderTurnstile(),n.onerror=()=>this.errorMessage="Verificarea anti-spam nu poate fi \xEEnc\u0103rcat\u0103.",document.head.appendChild(n)}renderTurnstile(){!this.viewReady||!this.turnstileSiteKey||!this.turnstileContainer||!window.turnstile||this.turnstileWidgetId||(this.turnstileWidgetId=window.turnstile.render(this.turnstileContainer.nativeElement,{sitekey:this.turnstileSiteKey,action:"team_registration",language:"ro",callback:e=>this.turnstileToken=e,"expired-callback":()=>this.turnstileToken="","error-callback":()=>{this.turnstileToken="",this.errorMessage="Verificarea anti-spam a \xEEnt\xE2mpinat o problem\u0103."}}))}resetTurnstile(){this.turnstileToken="",this.turnstileWidgetId&&window.turnstile&&window.turnstile.reset(this.turnstileWidgetId)}formatDate(e){return new Date(e).toLocaleDateString("ro-RO",{day:"2-digit",month:"long",year:"numeric"})}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ne),T(Ve))}}static{this.\u0275cmp=V({type:t,selectors:[["app-register-new-team"]],viewQuery:function(n,i){if(n&1&&Pa(tb,5),n&2){let d;xo(d=bo())&&(i.turnstileContainer=d.first)}},standalone:!0,features:[B],decls:15,vars:6,consts:[["turnstileContainer",""],[1,"register-team-page"],[1,"register-team-shell"],[1,"page-header"],[1,"eyebrow"],["class","info-message banner",4,"ngIf"],["class","success-message",4,"ngIf"],["class","error-message banner",4,"ngIf"],["class","registration-form",3,"formGroup","ngSubmit",4,"ngIf"],["class","loading-message",4,"ngIf"],[1,"info-message","banner"],[1,"fas","fa-calendar-alt"],[1,"success-message"],[1,"fas","fa-check-circle"],[1,"error-message","banner"],[1,"fas","fa-exclamation-circle"],[1,"registration-form",3,"ngSubmit","formGroup"],[1,"form-section"],[1,"form-grid"],[1,"form-field"],["type","text","formControlName","contactName"],[4,"ngIf"],["type","email","formControlName","email"],["type","tel","formControlName","phone"],["type","text","formControlName","teamName"],["type","text","formControlName","internationalNumber","inputmode","numeric","pattern","[0-9]*","placeholder","Ex: 19000"],[1,"field-note"],["type","text","formControlName","rookieYear","maxlength","4","readonly",""],[1,"form-field","wide"],["type","text","formControlName","school"],["type","text","formControlName","city"],["type","text","formControlName","county"],["type","text","formControlName","country","readonly",""],["formControlName","message","rows","5","placeholder","Orice informa\u021Bie util\u0103 despre echip\u0103, mentori sau afiliere."],[1,"form-actions"],["routerLink","/resources/get-started",1,"secondary-link"],[1,"submit-controls"],["aria-label","Verificare anti-spam",1,"turnstile-container"],["type","submit",3,"disabled"],["class","fas fa-paper-plane",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"fas","fa-paper-plane"],[1,"fas","fa-spinner","fa-spin"],[1,"loading-message"]],template:function(n,i){n&1&&(r(0,"main",1)(1,"section",2)(2,"header",3)(3,"span",4),a(4,"FIRST Tech Challenge Rom\xE2nia"),o(),r(5,"h1"),a(6,"\xCEnregistreaz\u0103 o echip\u0103 nou\u0103"),o(),r(7,"p"),a(8,"Cererea ajunge la echipa de administrare. Dup\u0103 confirmare, ve\u021Bi primi pe email datele de autentificare \u0219i link-ul pentru schimbarea parolei."),o()(),h(9,nb,4,1,"div",5)(10,ib,7,0,"div",6)(11,ob,4,1,"div",7)(12,rb,4,0,"div",7)(13,hb,77,34,"form",8)(14,Cb,4,0,"div",9),o()()),n&2&&(c(9),m("ngIf",!i.isLoadingSeason),c(),m("ngIf",i.submitSuccess),c(),m("ngIf",i.errorMessage),c(),m("ngIf",!i.isLoadingSeason&&!i.isRegistrationOpen&&!i.submitSuccess),c(),m("ngIf",!i.isLoadingSeason&&i.isRegistrationOpen),c(),m("ngIf",i.isLoadingSeason))},dependencies:[H,$,$e,Oe,re,ie,Pe,Cn,Qi,We,Ge,Te],styles:[".register-team-page[_ngcontent-%COMP%]{background:#f4f7fb;min-height:100vh;padding:5rem 1.25rem 3rem}.register-team-shell[_ngcontent-%COMP%]{margin:0 auto;max-width:980px}.page-header[_ngcontent-%COMP%]{margin-bottom:2rem}.page-header[_ngcontent-%COMP%] .eyebrow[_ngcontent-%COMP%]{color:#006b8f;display:block;font-size:.9rem;font-weight:700;margin-bottom:.5rem;text-transform:uppercase}.page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#102033;font-size:2.5rem;line-height:1.1;margin:0 0 .75rem}.page-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#4e5b6b;font-size:1.05rem;line-height:1.6;margin:0;max-width:760px}.success-message[_ngcontent-%COMP%], .error-message.banner[_ngcontent-%COMP%], .info-message.banner[_ngcontent-%COMP%], .loading-message[_ngcontent-%COMP%]{align-items:flex-start;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem}.success-message[_ngcontent-%COMP%]{background:#e8f6ee;border:1px solid #b7e0c5;color:#1d6b3a}.success-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-top:.15rem}.success-message[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], .success-message[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block}.error-message.banner[_ngcontent-%COMP%]{background:#fff0f0;border:1px solid #f1bbbb;color:#9f2d2d}.info-message.banner[_ngcontent-%COMP%], .loading-message[_ngcontent-%COMP%]{background:#edf7fb;border:1px solid #b9dce9;color:#18556e}.registration-form[_ngcontent-%COMP%]{background:#fff;border:1px solid #dfe6ef;border-radius:8px;box-shadow:0 12px 35px #10203314;overflow:hidden}.form-section[_ngcontent-%COMP%]{border-bottom:1px solid #e7edf5;padding:1.75rem}.form-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#102033;font-size:1.25rem;margin:0 0 1.25rem}.form-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.45rem}.form-field.wide[_ngcontent-%COMP%]{grid-column:span 2}.form-field[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#2b3b4f;font-weight:700}.form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{border:1px solid #cdd7e3;border-radius:6px;color:#102033;font:inherit;padding:.8rem .9rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .form-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{border-color:#0079a8;box-shadow:0 0 0 3px #0079a824;outline:none}.form-field[_ngcontent-%COMP%] input.invalid[_ngcontent-%COMP%], .form-field[_ngcontent-%COMP%] textarea.invalid[_ngcontent-%COMP%]{border-color:#c93f3f}.form-field[_ngcontent-%COMP%] input[readonly][_ngcontent-%COMP%], .form-field[_ngcontent-%COMP%] textarea[readonly][_ngcontent-%COMP%]{background:#f4f7fb;color:#667085;cursor:not-allowed}.form-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{min-height:130px;resize:vertical}.form-field[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#a13333}.form-field[_ngcontent-%COMP%] small.field-note[_ngcontent-%COMP%]{color:#5d6b7c}.form-actions[_ngcontent-%COMP%]{align-items:center;display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 1.75rem}.form-actions[_ngcontent-%COMP%] .secondary-link[_ngcontent-%COMP%]{color:#4e5b6b;font-weight:700;text-decoration:none}.form-actions[_ngcontent-%COMP%] .secondary-link[_ngcontent-%COMP%]:hover{color:#0079a8}
140.form-actions[_ngcontent-%COMP%] .submit-controls[_ngcontent-%COMP%]{align-items:flex-end;display:flex;flex-direction:column;gap:.75rem}.form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{align-items:center;background:#0079a8;border:0;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:.5rem;min-height:44px;padding:.8rem 1.25rem}.form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{background:#8aa7b6;cursor:not-allowed}.turnstile-container[_ngcontent-%COMP%]{min-height:65px}@media (max-width: 760px){.register-team-page[_ngcontent-%COMP%]{padding-top:4rem}.page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem}.form-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.form-field.wide[_ngcontent-%COMP%]{grid-column:span 1}.form-actions[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column-reverse}.form-actions[_ngcontent-%COMP%] .submit-controls[_ngcontent-%COMP%], .form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .form-actions[_ngcontent-%COMP%] .secondary-link[_ngcontent-%COMP%]{justify-content:center;text-align:center;width:100%}.form-actions[_ngcontent-%COMP%] .submit-controls[_ngcontent-%COMP%]{align-items:center}}"]})}}return t})();function vb(t,s){t&1&&(r(0,"span"),a(1,"Email is required."),o())}function Mb(t,s){t&1&&(r(0,"span"),a(1,"Please enter a valid email address."),o())}function xb(t,s){if(t&1&&(r(0,"div",14),h(1,vb,2,0,"span",15)(2,Mb,2,0,"span",15),o()),t&2){p();let e=oe(11);c(),m("ngIf",e.errors==null?null:e.errors.required),c(),m("ngIf",e.errors==null?null:e.errors.email)}}function bb(t,s){if(t&1&&(r(0,"div",16),a(1),o()),t&2){let e=p();c(),w(" ",e.successMessage," ")}}function Pb(t,s){if(t&1&&(r(0,"div",17),a(1),o()),t&2){let e=p();c(),w(" ",e.errorMessage," ")}}var eu=(()=>{class t{constructor(e,n){this.authService=e,this.router=n,this.email="",this.successMessage=null,this.errorMessage=null,this.isSubmitting=!1}onSubmit(){this.isSubmitting||(this.isSubmitting=!0,this.errorMessage=null,this.successMessage=null,this.authService.forgotPassword(this.email).subscribe({next:e=>{console.log("Password reset email sent",e),this.successMessage="If an account exists with this email, you will receive a password reset link shortly. Please check your email.",this.errorMessage=null,this.isSubmitting=!1,this.email=""},error:e=>{console.error("Forgot password failed",e),this.isSubmitting=!1,e.status===0?this.errorMessage="Cannot reach the server. Check your internet connection and try again.":e.status===429?this.errorMessage="Too many attempts. Please wait a moment before trying again.":e.status>=500?this.errorMessage="We are experiencing issues. Please try again later.":(this.successMessage="If an account exists with this email, you will receive a password reset link shortly. Please check your email.",this.errorMessage=null)}}))}static{this.\u0275fac=function(n){return new(n||t)(T(at),T(ke))}}static{this.\u0275cmp=V({type:t,selectors:[["app-forgot-password"]],standalone:!0,features:[B],decls:20,vars:7,consts:[["forgotPasswordForm","ngForm"],["emailInput","ngModel"],[1,"forgot-password-container"],[1,"description"],[3,"ngSubmit"],[1,"form-group"],["for","email"],["type","email","id","email","required","","email","","name","email",3,"ngModelChange","ngModel","disabled"],["class","error",4,"ngIf"],["type","submit",3,"disabled"],["class","success-message","role","alert","aria-live","polite",4,"ngIf"],["class","error-message","role","alert","aria-live","assertive",4,"ngIf"],[1,"back-to-login"],["routerLink","/login"],[1,"error"],[4,"ngIf"],["role","alert","aria-live","polite",1,"success-message"],["role","alert","aria-live","assertive",1,"error-message"]],template:function(n,i){if(n&1){let d=E();r(0,"div",2)(1,"h2"),a(2,"Reset Your Password"),o(),r(3,"p",3),a(4,"Enter your email address and we'll send you a link to reset your password."),o(),r(5,"form",4,0),b("ngSubmit",function(){return v(d),M(i.onSubmit())}),r(7,"div",5)(8,"label",6),a(9,"Email:"),o(),r(10,"input",7,1),z("ngModelChange",function(x){return v(d),R(i.email,x)||(i.email=x),M(x)}),o(),h(12,xb,3,2,"div",8),o(),r(13,"button",9),a(14),o()(),h(15,bb,2,1,"div",10)(16,Pb,2,1,"div",11),r(17,"div",12)(18,"a",13),a(19,"Back to Login"),o()()()}if(n&2){let d=oe(6),u=oe(11);c(10),D("ngModel",i.email),m("disabled",i.isSubmitting),c(2),m("ngIf",u.invali
140d&&u.touched),c(),m("disabled",d.invalid||i.isSubmitting),c(),w(" ",i.isSubmitting?"Sending...":"Send Reset Link"," "),c(),m("ngIf",i.successMessage),c(),m("ngIf",i.errorMessage)}},dependencies:[H,$,se,Oe,re,ie,Pe,Yt,Ki,pe,Ot,Sn,Qt,Te],styles:[".forgot-password-container[_ngcontent-%COMP%]{max-width:400px;margin:50px auto;padding:30px;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.forgot-password-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin-bottom:10px;color:#333;font-size:24px;text-align:center}.forgot-password-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{margin-bottom:25px;color:#666;font-size:14px;text-align:center;line-height:1.5}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:20px}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:8px;font-weight:500;color:#333}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:none;border-color:#4caf50}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:disabled{background-color:#f5f5f5;cursor:not-allowed}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{margin-top:5px;color:#d32f2f;font-size:12px}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%;padding:12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:not(:disabled){background-color:#45a049}.forgot-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{background-color:#ccc;cursor:not-allowed}.forgot-password-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%]{margin-top:20px;padding:12px;background-color:#e8f5e9;border-left:4px solid #4CAF50;color:#2e7d32;border-radius:4px;font-size:14px;line-height:1.5}.forgot-password-container[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{margin-top:20px;padding:12px;background-color:#ffebee;border-left:4px solid #d32f2f;color:#c62828;border-radius:4px;font-size:14px;line-height:1.5}.forgot-password-container[_ngcontent-%COMP%] .back-to-login[_ngcontent-%COMP%]{margin-top:20px;text-align:center}.forgot-password-container[_ngcontent-%COMP%] .back-to-login[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#4caf50;text-decoration:none;font-size:14px;transition:color .3s}.forgot-password-container[_ngcontent-%COMP%] .back-to-login[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#45a049;text-decoration:underline}"]})}}return t})();function Ob(t,s){t&1&&(r(0,"span"),a(1,"Password is required."),o())}function yb(t,s){t&1&&(r(0,"span"),a(1,"Password must be at least 6 characters long."),o())}function wb(t,s){if(t&1&&(r(0,"div",19),h(1,Ob,2,0,"span",20)(2,yb,2,0,"span",20),o()),t&2){p();let e=oe(12);c(),m("ngIf",e.errors==null?null:e.errors.required),c(),m("ngIf",e.errors==null?null:e.errors.minlength)}}function Sb(t,s){t&1&&(r(0,"div",19),a(1," Password confirmation is required. "),o())}function Eb(t,s){t&1&&(r(0,"div",19),a(1," Passwords do not match. "),o())}function Tb(t,s){if(t&1&&(r(0,"div",21),a(1),o()),t&2){let e=p();c(),w(" ",e.successMessage," ")}}function kb(t,s){if(t&1&&_(0,"div",22),t&2){let e=p();m("innerHTML",e.errorMessage,Bn)}}var tu=(()=>{class t{constructor(e,n,i){this.authService=e,this.router=n,this.route=i,this.token="",this.newPassword="",this.confirmPassword="",this.successMessage=null,this.errorMessage=null,this.isSubmitting=!1,this.showPassword=!1,this.showConfirmPassword=!1}ngOnInit(){this.route.queryParams.subscribe(e=>{this.token=e.token||"",this.token||(this.errorMessage="Invalid or missing reset token. Please request a new password reset link.")})}onSubmit(){if(!this.isSubmitting){if(this.newPassword!==this.confirmPassword){this.errorMessage="Passwords do not match. Please try again.";return}if(this.newPassword.length<6){this.errorMessage="Password must be at least 6 characters long.";return}this.isSubmitting=!0,this.errorMessage=null,this.successMessage=null,this.authService.resetPassword(this.token,this.newPassword).subscribe({next:e=>{console.log("Password reset successful",e),this.successMessage="Your password has been reset successfully! Redirecting to login...",this.errorMessage=null,this.isSubmitting=!1,setTimeout(()=>{this.router.navigate(["/login"])},3e3)},error:e=>{if(console.error("Password reset failed",e),this.isSubmitting=!1,e.status===0)this.errorMessage="Cannot reach the server. Check your internet connection and try again.";else if(e.status===400){let n=this.extractReadableError(e);n&&n.includes("Invalid or expired reset token")?this.errorMessage='Link expirat. Cereti din nou un email de resetare de la: <a href="/forgot-password" style="color: #4CAF50; text-decoration: underline;">link/forgot-password</a> si verificati ULTIMUL email primit.':this.errorMessage="Invalid or expired reset token. Please request a new password reset link."}else e.status===429?this.errorMessage="Too many attempts. Please wait a moment before trying again.":e.status>=500?this.errorMessage="We are experiencing issues. Please try again later.":this.errorMessage=this.extractReadableError(e)||"An unexpected error occurred. Please try again."}})}}extractReadableError(e){let n=e?.error;if(!n)return e?.message||null;if(typeof n=="string")return n;let i=n.message??n.error??n.detail;if(typeof i=="string")return i;try{return JSON.stringify(i??n)}catch{return"An unexpected error occurred. Please try again."}}togglePasswordVisibility(){this.showPassword=!this.showPassword}toggleConfirmPasswordVisibility(){this.showConfirmPassword=!this.showConfirmPassword}static{this.\u0275fac=function(n){return new(n||t)(T(at),T(ke),T(Je))}}static{this.\u0275cmp=V({type:t,selectors:[["app-reset-password"]],standalone:!0,features:[B],decls:33,vars:17,consts:[["resetPasswordForm","ngForm"],["newPasswordInput","ngModel"],["confirmPasswordInput","ngModel"],[1,"reset-password-container"],[1,"description"],[3,"ngSubmit"],[1,"form-group"],["for","newPassword"],[1,"password-input-wrapper"],["id","newPassword","required","","minlength","6","name","newPassword",3,"ngModelChange","type","ngModel","disabled"],["type","button",1,"toggle-password",3,"click","disabled"],["class","error",4,"ngIf"],["for","confirmPassword"],["id","confirmPassword","required","","name","confirmPassword",3,"ngModelChange","type","ngModel","disabled"],["type","submit",3,"disabled"],["class","success-message","role","alert","aria-live","polite",4,"ngIf"],["class","error-message","role","alert","aria-live","assertive",3,"innerHTML",4,"ngIf"],[1,"back-to-login"],["routerLink","/login"],[1,"error"],[4,"ngIf"],["role","alert","aria-live","polite",1,"success-message"],["role","alert","aria-live","assertive",1,"error-message",3,"innerHTML"]],template:function(n,i){if
140(n&1){let d=E();r(0,"div",3)(1,"h2"),a(2,"Set New Password"),o(),r(3,"p",4),a(4,"Please enter your new password below."),o(),r(5,"form",5,0),b("ngSubmit",function(){return v(d),M(i.onSubmit())}),r(7,"div",6)(8,"label",7),a(9,"New Password:"),o(),r(10,"div",8)(11,"input",9,1),z("ngModelChange",function(x){return v(d),R(i.newPassword,x)||(i.newPassword=x),M(x)}),o(),r(13,"button",10),b("click",function(){return v(d),M(i.togglePasswordVisibility())}),a(14),o()(),h(15,wb,3,2,"div",11),o(),r(16,"div",6)(17,"label",12),a(18,"Confirm Password:"),o(),r(19,"div",8)(20,"input",13,2),z("ngModelChange",function(x){return v(d),R(i.confirmPassword,x)||(i.confirmPassword=x),M(x)}),o(),r(22,"button",10),b("click",function(){return v(d),M(i.toggleConfirmPasswordVisibility())}),a(23),o()(),h(24,Sb,2,0,"div",11)(25,Eb,2,0,"div",11),o(),r(26,"button",14),a(27),o()(),h(28,Tb,2,1,"div",15)(29,kb,1,1,"div",16),r(30,"div",17)(31,"a",18),a(32,"Back to Login"),o()()()}if(n&2){let d=oe(6),u=oe(12),x=oe(21);c(11),m("type",i.showPassword?"text":"password"),D("ngModel",i.newPassword),m("disabled",i.isSubmitting||!i.token),c(2),m("disabled",i.isSubmitting||!i.token),c(),w(" ",i.showPassword?"\u{1F441}\uFE0F":"\u{1F441}\uFE0F\u200D\u{1F5E8}\uFE0F"," "),c(),m("ngIf",u.invalid&&u.touched),c(5),m("type",i.showConfirmPassword?"text":"password"),D("ngModel",i.confirmPassword),m("disabled",i.isSubmitting||!i.token),c(2),m("disabled",i.isSubmitting||!i.token),c(),w(" ",i.showConfirmPassword?"\u{1F441}\uFE0F":"\u{1F441}\uFE0F\u200D\u{1F5E8}\uFE0F"," "),c(),m("ngIf",x.invalid&&x.touched),c(),m("ngIf",x.valid&&i.newPassword!==i.confirmPassword),c(),m("disabled",d.invalid||i.isSubmitting||!i.token||i.newPassword!==i.confirmPassword),c(),w(" ",i.isSubmitting?"Resetting...":"Reset Password"," "),c(),m("ngIf",i.successMessage),c(),m("ngIf",i.errorMessage)}},dependencies:[H,$,se,Oe,re,ie,Pe,Yt,ni,pe,Ot,Sn,Qt,Te],styles:[".reset-password-container[_ngcontent-%COMP%]{max-width:400px;margin:50px auto;padding:30px;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.reset-password-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin-bottom:10px;color:#333;font-size:24px;text-align:center}.reset-password-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{margin-bottom:25px;color:#666;font-size:14px;text-align:center;line-height:1.5}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:20px}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:8px;font-weight:500;color:#333}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .password-input-wrapper[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .password-input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;padding:12px 45px 12px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .password-input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:none;border-color:#4caf50}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .password-input-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:disabled{background-color:#f5f5f5;cursor:not-allowed}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .password-input-wrapper[_ngcontent-%COMP%] .toggle-password[_ngcontent-%COMP%]{position:absolute;right:8px;background:none;border:none;cursor:pointer;font-size:18px;padding:5px;display:flex;align-items:center;justify-content:center}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .password-input-wrapper[_ngcontent-%COMP%] .toggle-password[_ngcontent-%COMP%]:hover:not(:disabled){opacity:.7}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .password-input-wrapper[_ngcontent-%COMP%] .toggle-password[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.5}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not(.password-input-wrapper input)[_ngcontent-%COMP%]{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not(.password-input-wrapper input)[_ngcontent-%COMP%]:focus{outline:none;border-color:#4caf50}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not(.password-input-wrapper input)[_ngcontent-%COMP%]:disabled{background-color:#f5f5f5;cursor:not-allowed}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{margin-top:5px;color:#d32f2f;font-size:12px}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] button[type=submit][_ngcontent-%COMP%]{width:100%;padding:12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] button[type=submit][_ngcontent-%COMP%]:hover:not(:disabled){background-color:#45a049}.reset-password-container[_ngcontent-%COMP%] form[_ngcontent-%COMP%] button[type=submit][_ngcontent-%COMP%]:disabled{background-color:#ccc;cursor:not-allowed}.reset-password-container[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%]{margin-top:20px;padding:12px;background-color:#e8f5e9;border-left:4px solid #4CAF50;color:#2e7d32;border-radius:4px;font-size:14px;line-height:1.5}.reset-password-container[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{margin-top:20px;padding:12px;background-color:#ffebee;border-left:4px solid #d32f2f;color:#c62828;border-radius:4px;font-size:14px;line-height:1.5}.reset-password-container[_ngcontent-%COMP%] .back-to-login[_ngcontent-%COMP%]{margin-top:20px;text-align:center}.reset-password-container[_ngcontent-%COMP%] .back-to-login[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#4caf50;text-decoration:none;font-size:14px;transition:color .3s}.reset-password-container[_ngcontent-%COMP%] .back-to-login[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#45a049;text-decoration:underline}"]})}}return t})();var Ib=(t,s)=>({$implicit:t,model:s,depth:0}),Fb=(t,s,e)=>({$implicit:t,model:s,depth:e});function Db(t,s){t&1&&Uc(0)}function Rb(t,s){t&1&&(Me(0),r(1,"option",21),a(2," Exist\u0103 cel pu\u021Bin o \xEEnregistrare care respect\u0103 "),o(),r(3,"option",22),a(4,"Nu exist\u0103 \xEEnregistr\u0103ri care respect\u0103"),o(),r(5,"option",23),a(6," Toate \xEEnregistr\u0103rile respect\u0103 (inclusiv lista goal\u0103) "),o(),xe())}function zb(t,s){t&1&&(r(0,"option",24),a(1,"\xCEnregistrarea asociat\u0103 respect\u0103"),o(),r(2,"option",25),a(3," \xCEnregistrarea asociat\u0103 nu respect\u0103 / lipse\u0219te "),o())}function Nb(t,s){if(t&1){let e=E();r(0,"select",19),z("ngModelChange",function(i){v(e);let d=p().$implicit;return R(d.quantifier,i)||(d.quantifier=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(2);return M(i.changed.emit())}),h(1,Rb,7,0,"ng-container",20)(2,zb,4,0,"ng-template",null,1,Se),o()}if(t&2){let e,n=oe(3),i=p(),d=i.$implicit,u=i.model,x=p();D("ngModel",d.quantifier),c(),m("ngIf",(e=x.field(u,d.field))==null?null:e.list)("ngIfElse",n)}}function Ab(t,s){if(t&1&&(r(0,"option",33),a(1),o()),t&2){let e=s.$implicit;m("value",e.name),c(),w(" ",e.label," ")}}
140function Lb(t,s){if(t&1&&(r(0,"option",33),a(1),o()),t&2){let e=s.$implicit,n=p(4);m("value",e),c(),w(" ",n.opLabel(e)," ")}}function Vb(t,s){if(t&1){let e=E();r(0,"input",34),b("ngModelChange",function(i){v(e);let d=p(2).$implicit,u=p(2);return d.jsonPath=i||void 0,M(u.changed.emit())}),o()}if(t&2){let e=p(2).$implicit;m("ngModel",e.jsonPath||"")}}function Bb(t,s){if(t&1&&(r(0,"option",33),a(1),o()),t&2){let e=s.$implicit;m("value",e),c(),w(" ",e," ")}}function Ub(t,s){if(t&1){let e=E();r(0,"select",36),z("ngModelChange",function(i){v(e);let d=p(4).$implicit;return R(d.value,i)||(d.value=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(6);return M(i.changed.emit())}),h(1,Bb,2,2,"option",29),o()}if(t&2){let e,n=p(4).$implicit,i=p(),d=i.$implicit,u=i.model,x=p();D("ngModel",n.value),c(),m("ngForOf",(e=x.field(x.target(d,u),n.field))==null?null:e.values)}}function jb(t,s){if(t&1){let e=E();r(0,"input",37),b("ngModelChange",function(i){v(e);let d=p(4).$implicit,u=p(2);return d.value=u.split(i),M(u.changed.emit())}),o()}if(t&2){let e=p(4).$implicit,n=p(2);m("ngModel",n.listText(e.value))}}function qb(t,s){if(t&1&&(Me(0),h(1,Ub,2,2,"select",35)(2,jb,1,1,"ng-template",null,4,Se),xe()),t&2){let e,n=oe(3),i=p(3).$implicit,d=p(),u=d.$implicit,x=d.model,y=p();c(),m("ngIf",(e=y.field(y.target(u,x),i.field))==null?null:e.values)("ngIfElse",n)}}function Wb(t,s){if(t&1&&(r(0,"option",33),a(1),o()),t&2){let e=s.$implicit;m("value",e),c(),w(" ",e," ")}}function $b(t,s){if(t&1){let e=E();r(0,"select",39),z("ngModelChange",function(i){v(e);let d=p(4).$implicit;return R(d.value,i)||(d.value=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(6);return M(i.changed.emit())}),h(1,Wb,2,2,"option",29),o()}if(t&2){let e,n=p(4).$implicit,i=p(),d=i.$implicit,u=i.model,x=p();D("ngModel",n.value),c(),m("ngForOf",(e=x.field(x.target(d,u),n.field))==null?null:e.values)}}function Hb(t,s){if(t&1){let e=E();r(0,"select",39),z("ngModelChange",function(i){v(e);let d=p(5).$implicit;return R(d.value,i)||(d.value=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(7);return M(i.changed.emit())}),r(1,"option",40),a(2,"Da"),o(),r(3,"option",40),a(4,"Nu"),o()()}if(t&2){let e=p(5).$implicit;D("ngModel",e.value),c(),m("ngValue",!0),c(2),m("ngValue",!1)}}function Gb(t,s){if(t&1&&(r(0,"option",40),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e.id),c(),w(" ",e.seasonName," ")}}function Zb(t,s){if(t&1){let e=E();r(0,"select",42),z("ngModelChange",function(i){v(e);let d=p(6).$implicit;return R(d.value,i)||(d.value=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(8);return M(i.changed.emit())}),r(1,"option",43),a(2," Sezonul curent (automat) "),o(),h(3,Gb,2,2,"option",44),o()}if(t&2){let e=p(6).$implicit,n=p(2);D("ngModel",e.value),c(3),m("ngForOf",n.metadata.seasons)}}function Yb(t,s){if(t&1){let e=E();r(0,"input",45),z("ngModelChange",function(i){v(e);let d=p(6).$implicit;return R(d.value,i)||(d.value=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(8);return M(i.changed.emit())}),o()}if(t&2){let e,n,i=p(6).$implicit,d=p(),u=d.$implicit,x=d.model,y=p();m("type",((e=y.field(y.target(u,x),i.field))==null?null:e.type)==="DateTime"?"datetime-local":"text"),D("ngModel",i.value),m("placeholder",((n=y.field(y.target(u,x),i.field))==null?null:n.type)==="Json"?'Valoare JSON, ex. "Da", 5, true':i.field==="seasonNumber"?"Num\u0103r sau $currentSeasonNumber":"Valoare")}}function Kb(t,s){if(t&1&&h(0,Zb,4,2,"select",41)(1,Yb,1,3,"ng-template",null,7,Se),t&2){let e=oe(2),n=p(5).$implicit,i=p(),d=i.$implicit,u=i.model,x=p();m("ngIf",n.field==="seasonId"||x.target(d,u)==="Season"&&n.field==="id")("ngIfElse",e)}}function Qb(t,s){if(t&1&&h(0,Hb,5,3,"select",38)(1,Kb,3,2,"ng-template",null,6,Se),t&2){let e,n=oe(2),i=p(4).$implicit,d=p(),u=d.$implicit,x=d.model,y=p();m("ngIf",((e=y.field(y.target(u,x),i.field))==null?null:e.type)==="Boolean")("ngIfElse",n)}}function Jb(t,s){if(t&1&&h(0,$b,2,2,"select",38)(1,Qb,3,2,"ng-template",null,5,Se),t&2){let e,n=oe(2),i=p(3).$implicit,d=p(),u=d.$implicit,x=d.model,y=p();m("ngIf",(e=y.field(y.target(u,x),i.field))==null?null:e.values)("ngIfElse",n)}}function Xb(t,s){if(t&1&&(Me(0),h(1,qb,4,2,"ng-container",20)(2,Jb,3,2,"ng-template",null,3,Se),xe()),t&2){let e=oe(3),n=p(2).$implicit;c(),m("ngIf",n.operator==="in")("ngIfElse",e)}}function eP(t,s){if(t&1){let e=E();Me(0),r(1,"select",28),b("ngModelChange",function(i){v(e);let d=p().$implicit,u=p(),x=u.$implicit,y=u.model,k=p();
140return M(k.setField(d,k.target(x,y),i))}),h(2,Ab,2,2,"option",29),o(),r(3,"select",30),z("ngModelChange",function(i){v(e);let d=p().$implicit;return R(d.operator,i)||(d.operator=i),M(i)}),b("ngModelChange",function(){v(e);let i=p().$implicit,d=p(),u=d.$implicit,x=d.model,y=p();return M(y.setOperator(i,y.target(u,x)))}),h(4,Lb,2,2,"option",29),o(),h(5,Vb,1,1,"input",31)(6,Xb,4,2,"ng-container",32),xe()}if(t&2){let e,n,i=p().$implicit,d=p(),u=d.$implicit,x=d.model,y=p();c(),m("ngModel",i.field),c(),m("ngForOf",y.scalarFields(y.target(u,x))),c(),D("ngModel",i.operator),c(),m("ngForOf",(e=y.field(y.target(u,x),i.field))==null?null:e.operators),c(),m("ngIf",((n=y.field(y.target(u,x),i.field))==null?null:n.type)==="Json"),c(),m("ngIf",i.operator!=="isNull"&&i.operator!=="isNotNull")}}function tP(t,s){t&1&&Uc(0)}function nP(t,s){if(t&1&&h(0,tP,1,0,"ng-container",9),t&2){let e=p().$implicit,n=p(),i=n.$implicit,d=n.model,u=n.depth,x=p(),y=oe(2);m("ngTemplateOutlet",y)("ngTemplateOutletContext",rg(2,Fb,e,x.target(i,d),u+1))}}function iP(t,s){if(t&1){let e=E();Me(0),r(1,"div",26),h(2,eP,7,6,"ng-container",20)(3,nP,1,6,"ng-template",null,2,Se),r(5,"button",27),b("click",function(){let i=v(e).index,d=p().$implicit,u=p();return d.children.splice(i,1),M(u.changed.emit())}),a(6," \xD7 "),o()(),xe()}if(t&2){let e=s.$implicit,n=oe(4);c(2),m("ngIf",e.kind==="rule")("ngIfElse",n)}}function oP(t,s){t&1&&(r(0,"p",46),a(1," F\u0103r\u0103 condi\u021Bii: sunt incluse toate \xEEnregistr\u0103rile din acest grup. "),o())}function rP(t,s){if(t&1&&(r(0,"option",33),a(1),o()),t&2){let e=s.$implicit;m("value",e.name),c(),G(" ",e.label," \xB7 ",e.list?"mai multe":"una"," ")}}function aP(t,s){if(t&1){let e=E();r(0,"div",11)(1,"button",47),b("click",function(){v(e);let i=p(),d=i.$implicit,u=i.model,x=p();return M(x.addRule(d,x.target(d,u)))}),a(2," + Condi\u021Bie "),o(),r(3,"button",47),b("click",function(){v(e);let i=p().$implicit,d=p();return i.children.push({kind:"group",logic:"AND",children:[]}),M(d.changed.emit())}),a(4," + Grup \u0218I / SAU "),o(),r(5,"select",48,8),b("change",function(){v(e);let i=oe(6),d=p(),u=d.$implicit,x=d.model,y=p();return y.addRelation(u,y.target(u,x),i.value),M(i.value="")}),r(7,"option",49),a(8,"+ Condi\u021Bie pe o leg\u0103tur\u0103\u2026"),o(),h(9,rP,2,3,"option",29),o()()}if(t&2){let e=p(),n=e.$implicit,i=e.model,d=p();c(9),m("ngForOf",d.relations(d.target(n,i)))}}function sP(t,s){if(t&1){let e=E();r(0,"div",10)(1,"div",11)(2,"strong"),a(3),o(),h(4,Nb,4,3,"select",12),r(5,"select",13),z("ngModelChange",function(i){let d=v(e).$implicit;return R(d.logic,i)||(d.logic=i),M(i)}),b("ngModelChange",function(){v(e);let i=p();return M(i.changed.emit())}),r(6,"option",14),a(7,"Toate condi\u021Biile (\u0218I)"),o(),r(8,"option",15),a(9,"Oricare condi\u021Bie (SAU)"),o()()(),h(10,iP,7,2,"ng-container",16)(11,oP,2,0,"p",17)(12,aP,10,1,"div",18),o()}if(t&2){let e,n=s.$implicit,i=s.model,d=s.depth,u=p();c(3),O(n.kind==="relation"?(e=u.field(i,n.field))==null?null:e.label:"Grup de condi\u021Bii"),c(),m("ngIf",n.kind==="relation"),c(),D("ngModel",n.logic),c(5),m("ngForOf",n.children),c(),m("ngIf",!n.children.length),c(),m("ngIf",d<5)}}var nu=(()=>{class t{constructor(){this.model="",this.changed=new it}fields(e){return this.metadata.models.find(n=>n.name===e)?.fields||[]}field(e,n){return this.fields(e).find(i=>i.name===n)}scalarFields(e){return this.fields(e).filter(n=>!n.relation&&n.operators.length)}relations(e){return this.fields(e).filter(n=>n.relation)}target(e,n){return e.kind==="relation"?this.field(n,e.field).type:n}addRule(e,n){let i=this.scalarFields(n)[0];if(i){let d={kind:"rule"};this.setField(d,n,i.name),e.children.push(d),this.changed.emit()}}setField(e,n,i){e.field=i,delete e.jsonPath,e.operator="equals",this.setOperator(e,n)}setOperator(e,n){let i=this.field(n,e.field);e.value=e.operator==="in"?[]:i.values?.[0]??(i.type==="Boolean"?!0:e.field==="seasonId"?"$currentSeason":""),this.changed.emit()}addRelation(e,n,i){let d=this.field(n,i);d&&(e.children.push({kind:"relation",field:i,quantifier:d.list?"some":"is",logic:"AND",children:[]}),this.changed.emit())}split(e){return e.split(",").map(n=>n.trim())}listText(e){return Array.isArray(e)?e.join(", "):""}opLabel(e){return{equals:"este egal cu",not:"difer\u0103 de",contains:"con\u021Bine",startsWith:"\xEEncepe cu",endsWith:"se termin\u0103 cu",in:"este \xEEn lista",gt:"mai mare / dup\u0103",gte:"mai mare sau egal / de la",lt:"mai mic / \xEEnainte",lte:"mai mic sau egal / p\xE2n\u0103 la",isNull:"lipse\u0219te (NULL)",isNotNull:"este completat (non-NULL)"}[e]||e}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275cmp=V({type:t,selectors:[["app-export-filter"]],inputs:{metadata:"metadata",model:"model",node:"node"},outputs:{changed:"changed"},standalone:!0,features:[B],decls:3,vars:5,consts:[["branch",""],["single",""],["nested",""],["oneValue",""],["listInput",""],["typedValue",""],["otherValue",""],["textValue",""],["relationSelect",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"filter-group"],[1,"group-tools"],["aria-label","Cum se verific\u0103 rela\u021Bia",3,"ngModel","ngModelChange",4,"ngIf"],["aria-label","Comb
140inarea condi\u021Biilor",3,"ngModelChange","ngModel"],["value","AND"],["value","OR"],[4,"ngFor","ngForOf"],["class","hint",4,"ngIf"],["class","group-tools",4,"ngIf"],["aria-label","Cum se verific\u0103 rela\u021Bia",3,"ngModelChange","ngModel"],[4,"ngIf","ngIfElse"],["value","some"],["value","none"],["value","every"],["value","is"],["value","isNot"],[1,"condition"],["type","button","aria-label","Elimin\u0103 condi\u021Bia",1,"remove",3,"click"],["aria-label","C\xE2mp de filtrat",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],["aria-label","Operator",3,"ngModelChange","ngModel"],["aria-label","Cale \xEEn documentul JSON","placeholder","Cale JSON, ex. $.raspuns (op\u021Bional)",3,"ngModel","ngModelChange",4,"ngIf"],[4,"ngIf"],[3,"value"],["aria-label","Cale \xEEn documentul JSON","placeholder","Cale JSON, ex. $.raspuns (op\u021Bional)",3,"ngModelChange","ngModel"],["multiple","","aria-label","Valori acceptate",3,"ngModel","ngModelChange",4,"ngIf","ngIfElse"],["multiple","","aria-label","Valori acceptate",3,"ngModelChange","ngModel"],["aria-label","Valori separate prin virgul\u0103","placeholder","Valori separate prin virgul\u0103",3,"ngModelChange","ngModel"],["aria-label","Valoare",3,"ngModel","ngModelChange",4,"ngIf","ngIfElse"],["aria-label","Valoare",3,"ngModelChange","ngModel"],[3,"ngValue"],["aria-label","Sezon",3,"ngModel","ngModelChange",4,"ngIf","ngIfElse"],["aria-label","Sezon",3,"ngModelChange","ngModel"],["value","$currentSeason"],[3,"ngValue",4,"ngFor","ngForOf"],["aria-label","Valoare filtru",3,"ngModelChange","type","ngModel","placeholder"],[1,"hint"],["type","button",3,"click"],["aria-label","Adaug\u0103 filtru pe o rela\u021Bie",3,"change"],["value",""]],template:function(n,i){if(n&1&&h(0,Db,1,0,"ng-container",9)(1,sP,13,6,"ng-template",null,0,Se),n&2){let d=oe(2);m("ngTemplateOutlet",d)("ngTemplateOutletContext",og(2,Ib,i.node,i.model))}},dependencies:[H,X,$,fg,se,fe,he,re,ue,ys,ie,pe],styles:["[_nghost-%COMP%]{display:block;min-width:0}.filter-group[_ngcontent-%COMP%]{padding:12px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc;min-width:0}.group-tools[_ngcontent-%COMP%], .condition[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.condition[_ngcontent-%COMP%]{margin:10px 0}.condition[_ngcontent-%COMP%] > .filter-group[_ngcontent-%COMP%]{flex:1}.group-tools[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:13px}input[_ngcontent-%COMP%], select[_ngcontent-%COMP%], button[_ngcontent-%COMP%]{font:inherit;padding:8px;border:1px solid #cbd5e1;border-radius:6px;max-width:100%;background:#fff}select[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{min-width:130px;flex:1}button[_ngcontent-%COMP%]{cursor:pointer;color:#244574}.remove[_ngcontent-%COMP%]{color:#a22;min-width:34px}.hint[_ngcontent-%COMP%]{font-size:12px;color:#64748b}"]})}}return t})();var iu=(()=>{class t{constructor(e){this.http=e,this.url=`${ne.apiUrl}/admin/exports`}metadata(){return this.http.get(`${this.url}/metadata`)}preview(e){return this.http.post(`${this.url}/preview`,e)}download(e){return this.http.post(`${this.url}/csv`,e,{responseType:"blob"})}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function lP(t,s){t&1&&(r(0,"p",9),a(1,"Se \xEEncarc\u0103 tabelele \u0219i \u0219abloanele\u2026"),o())}function dP(t,s){if(t&1&&(r(0,"div",10),a(1),o()),t&2){let e=p();c(),O(e.error)}}function mP(t,s){if(t&1&&(r(0,"div",11),a(1),o()),t&2){let e=p();c(),O(e.notice)}}function gP(t,s){if(t&1){let e=E();r(0,"button",54),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.apply(i))}),r(1,"strong"),a(2),o(),r(3,"span"),a(4),o()()}if(t&2){let e=s.$implicit,n=p(2);I("chosen",n.presetTitle===e.title),c(2),O(e.title),c(2),O(e.description)}}function pP(t,s){if(t&1){let e=E();r(0,"span")(1,"button",27),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.apply(i))}),a(2),o(),r(3,"button",27),b("click",function(){let i=v(e).index,d=p(3);return M(d.removeSaved(i))}),a(4," \xD7 "),o()()}if(t&2){let e=s.$implicit;c(2),O(e.title),c(),ot("aria-label","\u0218terge \u0219ablonul "+e.title)}}function uP(t,s){if(t&1&&(r(0,"div",55)(1,"strong"),a(2,"\u0218abloanele tale"),o(),h(3,pP,5,2,"span",28),o()),t&2){let e=p(2);c(3),m("ngForOf",e.saved)}}function _P(t,s){if(t&1&&(r(0,"option",44),a(1),o()),t&2){let e=s.$implicit;m("value",e.name),c(),G(" ",e.label," (",e.name,") ")}}function fP(t,s){if(t&1&&(r(0,"div",38)(1,"strong"),a(2),o(),r(3,"p"),a(4),o()()),t&2){let e=p(2);c(2),O(e.presetTitle),c(2),O(e.presetDescription)}}function hP(t,s){t&1&&(r(0,"p",56),a(1," Nu este configurat sezonul curent. Alege un sezon explicit \xEEn filtre sau configureaz\u0103 sezonul curent \xEEn administrare. "),o())}function CP(t,s){if(t&1){let e=E();Me(0),r(1,"span"),a(2,"\u2192"),o(),r(3,"button",27),b("click",function(){let i=v(e).index,d=p(2);return M(d.goBack(i+1))}),a(4),o(),xe()}if(t&2){let e=s.$implicit;c(4),w(" ",e.label," ")}}function vP(t,s){if(t&1){let e=E();r(0,"label",57)(1,"input",58),b("change",function(){let i=v(e).$implicit,d=p(2);return M(d.toggle(i))}),o(),r(2,"span"),a(3),r(4,"small"),a(5),o()()()}if(t&2){let e=s.$implicit,n=p(2);c(),m("checked",n.selected(e))("disabled",!n.selected(e)&&n.config.columns.length>=60),c(2),O(e.label),c(2),G("",e.name," \xB7 ",e.type,"")}}function MP(t,s){t&1&&(r(0,"p",15),a(1,"Niciun c\xE2mp g\u0103sit."),o())}function xP(t,s){if(t&1&&(r(0,"option",44),a(1),o()),t&2){let e,n=s.$implicit,i=p(2);m("value",n.name),c(),dn(" ",n.label," \u2192 ",(e=i.model(n.type))==null?null:e.label," \xB7 ",n.list?"mai multe \xEEnregistr\u0103ri":"o \xEEnregistrare"," ")}}function bP(t,s){t&1&&(r(0,"p",59),a(1," Bifeaz\u0103 c\xE2mpuri din st\xE2nga pentru a \xEEncepe exportul. "),o())}function PP(t,s){t&1&&(r(0,"option",74),a(1," Primul mentor (\xEEn ordinea ad\u0103ug\u0103rii) "),o())}function OP(t,s){if(t&1){let e=E();r(0,"select",69),z("ngModelChange",function(i){v(e);let d=p().$implicit;return R(d.mode,i)||(d.mode=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(3);return M(i.changed())}),r(1,"option",70),a(2," Valorile \xEEn aceea\u0219i celul\u0103, separate prin | "),o(),r(3,"option",71),a(4," List\u0103 JSON (p\u0103streaz\u0103 ordinea \u0219i structura valorilor) "),o(),h(5,PP,2,0,"option",72),r(6,"option",73),a(7,"Num\u
1400103rul valorilor asociate"),o()()}if(t&2){let e=p().$implicit,n=p(2);D("ngModel",e.mode),c(5),m("ngIf",n.config.model==="TeamSeasonData"&&e.path.startsWith("persons.")&&e.path.split(".").length===2)}}function yP(t,s){if(t&1){let e=E();r(0,"div",60)(1,"span",61),a(2),o(),r(3,"div",62)(4,"input",63),z("ngModelChange",function(i){let d=v(e).$implicit;return R(d.title,i)||(d.title=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(2);return M(i.changed())}),o(),r(5,"small"),a(6),o(),h(7,OP,8,2,"select",64),o(),r(8,"div",65)(9,"button",66),b("click",function(){let i=v(e).index,d=p(2);return M(d.move(i,-1))}),a(10," \u2191"),o(),r(11,"button",67),b("click",function(){let i=v(e).index,d=p(2);return M(d.move(i,1))}),a(12," \u2193"),o(),r(13,"button",68),b("click",function(){let i=v(e).index,d=p(2);return d.config.columns.splice(i,1),M(d.changed())}),a(14," \xD7 "),o()()()}if(t&2){let e=s.$implicit,n=s.index,i=p(2);c(2),O(n+1),c(2),D("ngModel",e.title),c(2),O(e.path),c(),m("ngIf",i.hasList(e.path)),c(2),m("disabled",n===0),c(2),m("disabled",n===i.config.columns.length-1)}}function wP(t,s){if(t&1&&(r(0,"option",44),a(1),o()),t&2){let e=s.$implicit;m("value",e.name),c(),w(" ",e.label," ")}}function SP(t,s){if(t&1){let e=E();r(0,"label"),a(1,"Direc\u021Bie"),r(2,"select",20),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.config.sort.direction,i)||(d.config.sort.direction=i),M(i)}),b("ngModelChange",function(){v(e);let i=p(2);return M(i.changed())}),r(3,"option",75),a(4,"Cresc\u0103tor"),o(),r(5,"option",76),a(6,"Descresc\u0103tor"),o()()()}if(t&2){let e=p(2);c(2),D("ngModel",e.config.sort.direction)}}function EP(t,s){t&1&&(r(0,"p",59),a(1," Nicio \xEEnregistrare nu corespunde filtrelor. CSV-ul va con\u021Bine doar antetele. "),o())}function TP(t,s){if(t&1&&(r(0,"th"),a(1),o()),t&2){let e=s.$implicit;c(),O(e)}}function kP(t,s){if(t&1&&(r(0,"td"),a(1),o()),t&2){let e=s.$implicit;c(),O(e)}}function IP(t,s){if(t&1&&(r(0,"tr"),h(1,kP,2,1,"td",28),o()),t&2){let e=s.$implicit;c(),m("ngForOf",e)}}function FP(t,s){if(t&1&&(r(0,"div",78)(1,"table")(2,"thead")(3,"tr"),h(4,TP,2,1,"th",28),o()(),r(5,"tbody"),h(6,IP,2,1,"tr",28),o()()()),t&2){let e=p(3);c(4),m("ngForOf",e.preview.headers),c(2),m("ngForOf",e.preview.rows)}}function DP(t,s){if(t&1&&(Me(0),r(1,"h4"),a(2),o(),h(3,EP,2,0,"p",36)(4,FP,7,2,"div",77),xe()),t&2){let e=p(2);c(2),G(" Previzualizare \xB7 ",e.preview.rows.length," r\xE2nduri",e.preview.hasMore?" (exist\u0103 \u0219i alte rezultate)":""," "),c(),m("ngIf",!e.preview.rows.length),c(),m("ngIf",e.preview.rows.length)}}function RP(t,s){if(t&1){let e=E();r(0,"fieldset",12)(1,"section",13)(2,"h3")(3,"span",14),a(4,"1"),o(),a(5," De unde \xEEncepi?"),o(),r(6,"p",15),a(7," \u0218abloanele sunt complet editabile. \u201ESezonul curent\u201D se determin\u0103 automat la fiecare export. "),o(),r(8,"div",16),h(9,gP,5,4,"button",17),o(),h(10,uP,4,1,"div",18),r(11,"div",19)(12,"label"),a(13,"Tabela de pornire"),r(14,"select",20),z("ngModelChange",function(i){v(e);let d=p();return R(d.config.model,i)||(d.config.model=i),M(i)}),b("ngModelChange",function(){v(e);let i=p();return M(i.changeModel())}),h(15,_P,2,3,"option",21),o()(),r(16,"div")(17,"strong"),a(18),o(),r(19,"p",15),a(20," Pentru un r\xE2nd per membru, porne\u0219te de la Persoane. Pentru un r\xE2nd per echip\u0103 \xEEntr-un anumit sezon, porne\u0219te de la Echipe \xEEn sezon. "),o()()(),h(21,fP,5,2,"div",22)(22,hP,2,0,"p",23),o(),r(23,"section",13)(24,"h3")(25,"span",14),a(26,"2"),o(),a(27," Ce informa\u021Bii incluzi?"),o(),r(28,"div",24)(29,"div",25)(30,"nav",26)(31,"button",27),b("click",function(){v(e);let i=p();return M(i.goBack(0))}),a(32),o(),h(33,CP,5,1,"ng-container",28),o(),r(34,"label"),a(35,"Caut\u0103 un c\xE2mp \xEEn aceast\u0103 tabel\u0103"),r(36,"input",29),z("ngModelChange",function(i){v(e);let d=p();return R(d.search,i)||(d.search=i),M(i)}),o()(),r(37,"div",30),h(38,vP,6,5,"label",31)(39,MP,2,0,"p",32),o(),r(40,"label"),a(41,"Adaug\u0103 c\xE2mpuri dintr-o tabel\u0103 asociat\u0103"),r(42,"select",33,0),b("change",function(){v(e);let i=oe(43);return p().follow(i.value),M(i.value="")}
140),r(44,"option",34),a(45,"Alege o leg\u0103tur\u0103\u2026"),o(),h(46,xP,2,4,"option",21),o()(),r(47,"p",15),a(48," Navigheaz\u0103 prin leg\u0103turi \u0219i bifeaz\u0103 c\xE2mpurile dorite. Maximum 6 leg\u0103turi \u0219i dou\u0103 liste pe cale. "),o()(),r(49,"div",35)(50,"h4"),a(51," Coloane \xEEn CSV "),r(52,"span",3),a(53),o()(),h(54,bP,2,0,"p",36)(55,yP,15,6,"div",37),o()(),r(56,"div",38),a(57," O rela\u021Bie cu mai multe rezultate nu multiplic\u0103 r\xE2ndurile CSV. Valorile sunt ordonate dup\u0103 ID. Pentru r\xE2nduri separate (de exemplu, c\xE2te unul pentru fiecare r\u0103spuns la \xEEnscriere), alege acea tabel\u0103 ca punct de pornire. C\xE2mpurile JSON se export\u0103 ca text JSON. "),o()(),r(58,"section",13)(59,"h3")(60,"span",14),a(61,"3"),o(),a(62," Ce \xEEnregistr\u0103ri p\u0103strezi?"),o(),r(63,"p",15),a(64," Filtrele aleg r\xE2ndurile tabelei de pornire. Un filtru pe o rela\u021Bie verific\u0103 existen\u021Ba \xEEnregistr\u0103rilor asociate; coloanele cu liste afi\u0219eaz\u0103 \xEEn continuare toate \xEEnregistr\u0103rile asociate. Condi\u021Biile din acela\u0219i grup de rela\u021Bie se aplic\u0103 aceleia\u0219i \xEEnregistr\u0103ri. "),o(),r(65,"app-export-filter",39),b("changed",function(){v(e);let i=p();return M(i.changed())}),o(),r(66,"div",40)(67,"label"),a(68,"Ordoneaz\u0103 dup\u0103"),r(69,"select",20),b("ngModelChange",function(i){v(e);let d=p();return M(d.setSort(i))}),r(70,"option",34),a(71,"ID (implicit)"),o(),h(72,wP,2,2,"option",21),o()(),h(73,SP,7,1,"label",41),r(74,"label"),a(75,"Separator CSV"),r(76,"select",20),z("ngModelChange",function(i){v(e);let d=p();return R(d.config.delimiter,i)||(d.config.delimiter=i),M(i)}),b("ngModelChange",function(){v(e);let i=p();return M(i.changed())}),r(77,"option",42),a(78,"Punct \u0219i virgul\u0103 (;)"),o(),r(79,"option",43),a(80,"Virgul\u0103 (,)"),o(),r(81,"option",44),a(82,"Tab"),o()()()()(),r(83,"section",45)(84,"div",46)(85,"button",47),b("click",function(){v(e);let i=p();return M(i.getPreview())}),_(86,"i",48),a(87," Previzualizeaz\u0103 20 de r\xE2nduri"),o(),r(88,"button",49),b("click",function(){v(e);let i=p();return M(i.download())}),_(89,"i",50),a(90," Descarc\u0103 CSV "),o()(),r(91,"p",15),a(92," UTF-8 cu diacritice \u0219i antete. Maximum 50.000 de r\xE2nduri, 20 MB \u0219i 200 de \xEEnregistr\u0103ri per rela\u021Bie de tip list\u0103; dep\u0103\u0219irea limitelor opre\u0219te exportul cu o explica\u021Bie, f\u0103r\u0103 trunchiere. Parolele \u0219i tokenurile de autentificare nu sunt exportabile. "),o(),r(93,"div",51)(94,"label"),a(95,"Nume \u0219ablon"),r(96,"input",52),z("ngModelChange",function(i){v(e);let d=p();return R(d.saveName,i)||(d.saveName=i),M(i)}),o()(),r(97,"button",53),b("click",function(){v(e);let i=p();return M(i.save())}),a(98," Salveaz\u0103 configura\u021Bia \xEEn acest browser "),o()(),h(99,DP,5,4,"ng-container",41),o()()}if(t&2){let e,n,i=p();m("disabled",i.busy),c(9),m("ngForOf",i.metadata.presets),c(),m("ngIf",i.saved.length),c(4),D("ngModel",i.config.model),c(),m("ngForOf",i.metadata.models),c(3),w("Un r\xE2nd CSV = o \xEEnregistrare din \u201E",(e=i.model())==null?null:e.label,"\u201D"),c(3),m("ngIf",i.presetDescription),c(),m("ngIf",!i.metadata.currentSeasonId),c(10),O((n=i.model())==null?null:n.label),c(),m("ngForOf",i.trail),c(3),D("ngModel",i.search),c(2),m("ngForOf",i.fields),c(),m("ngIf",!i.fields.length),c(3),m("disabled",i.trail.length>=6),c(4),m("ngForOf",i.relations),c(7),w("",i.config.columns.length," / 60"),c(),m("ngIf",!i.config.columns.length),c(),m("ngForOf",i.config.columns),c(10),m("metadata",i.metadata)("model",i.config.model)("node",i.config.filter),c(4),m("ngModel",(i.config.sort==null?null:i.config.sort.field)||""),c(3),m("ngForOf",i.sortFields),c(),m("ngIf",i.config.sort),c(3),D("ngModel",i.config.delimiter),c(5),m("value"," "),c(4),m("disabled",!i.config.columns.length),c(3),m("disabled",!i.config.columns.length),c(8),D("ngModel",i.saveName),c(),m("disabled",!i.saveName.trim()||!i.config.columns.length),c(2),m("ngIf",i.preview)}}function zP(t,s){t&1&&(r(0,"div",79),a(1," Se preg\u0103tesc datele\u2026 "),o())}var ou=(()=>{class t{constructor(e){this.api=e,this.config={model:"TeamSeasonData",columns:[],filter:{kind:"group",logic:"AND",children:[]},delimiter:";"},this.trail=[],this.search="",this.error="",this.notice="",this.busy=!1,this.loading=!0,this.presetTitle="Export personalizat",this.presetDescription="",this.saved=[],this.saveName=""}ngOnInit(){this.api.metadata().subscribe({next:e=>{this.metadata=e,this.loading=!1,this.apply(e.presets.find(n=>n.id==="current-teams"))},error:e=>{this.loading=!1,this.showError(e)}});try{let e=JSON.parse(localStorage.getItem("natie-export-templates-v1")||"[]");Array.isArray(e)&&(this.saved=e.filter(n=>typeof n?.title=="string"&&n?.config?.model&&Array.isArray(n.config.columns)))}catch{this.saved=[]}}changed(){this.preview=void 0,this.error="",this.notice=""}apply(e){this.config=JSON.parse(JSON.stringify(e.config)),this.presetTitle=e.title,this.presetDescription=e.description,this.trail=[],this.search="",this.changed()}changeModel(){this.config.columns=[],this.config.filter={kind:"group",logic:"AND",children:[]},this.config.sort=void 0,this.trail=[],this.presetTitle="Export personalizat",this.presetDescription="",this.changed()}model(e=this.config.model){return this.metadata?.models.find(n=>n.name===e)}get browseModel(){return this.trail.length?this.trail[this.trail.length-1].model:this.config.model}get fields(){return(this.model(this.browseModel)?.fields||[]).filter(e=>!e.relation&&(e.label+" "+e.name).toLowerCase().includes(this.search.toLowerCase()))}get relations(){return(this.model(this.browseModel)?.fields||[]).filter(e=>e.relation)}get sortFields(){return(this.model()?.fields||[]).filter(e=>!e.relation&&e.type!=="Json")}path(e){return[...this.trail.map(n=>n.field),e.name].join(".")}selected(e){return this.config.columns.some(n=>n.path===this.path(e))}toggle(e){let n=this.path(e),i=this.config.columns.findIndex(d=>d.path===n);i>=0?this.config.columns.splice(i,1):this.config.columns.length<60&&this.config.columns.push({path:n,title:[...this.trail.map(d=>d.label),e.label].join(" \u2192 "),mode:"join"}),this.changed()}follow(e){let n=this.relations.find(i=>i.name===e);n&&this.trail.length<6&&(this.trail.push({field:n.name,label:n.label,model:n.type}),this.search="")}goBack(e){this.trail=this.trail.slice(0,e),this.search=""}hasList(e){let n=this.config.model,i=!1;for(let d of e.split(".")){let u=this.model(n)?.fields.find(x=>x.name===d);if(!u)break;u.list&&(i=!0),u.relation&&(n=u.type)}return i}move(e,n){let i=e+n;i<0||i>=this.config.columns.length||([this.config.columns[e],this.config.columns[i]]=[this.config.columns[i],this.config.columns[e]],this.changed())}
140setSort(e){this.config.sort=e?{field:e,direction:"asc"}:void 0,this.changed()}showError(e){return q(this,null,function*(){let n=e.error;if(n instanceof Blob)try{n=JSON.parse(yield n.text())}catch{n=null}n?.message&&typeof n.message=="object"&&!Array.isArray(n.message)&&(n=n.message),this.error=typeof n?.message=="string"?n.message:Array.isArray(n?.message)?n.message.join(" "):typeof n?.error=="string"?n.error:"Opera\u021Bia nu a reu\u0219it. Verific\u0103 configura\u021Bia sau conexiunea \u0219i \xEEncearc\u0103 din nou."})}getPreview(){this.changed(),this.busy=!0,this.api.preview(this.config).subscribe({next:e=>{this.preview=e,this.busy=!1},error:e=>{this.busy=!1,this.showError(e)}})}download(){this.error="",this.notice="",this.busy=!0,this.api.download(this.config).subscribe({next:e=>{let n=URL.createObjectURL(e),i=document.createElement("a");i.href=n,i.download=`export-${this.config.model}-${new Date().toISOString().slice(0,10)}.csv`,i.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3),this.busy=!1,this.notice="Fi\u0219ierul CSV a fost generat \u0219i trimis c\u0103tre browser."},error:e=>{this.busy=!1,this.showError(e)}})}save(){if(!this.saveName.trim())return;let e={id:String(Date.now()),title:this.saveName.trim(),description:"\u0218ablon salvat \xEEn acest browser.",config:JSON.parse(JSON.stringify(this.config))},n=[...this.saved,e];try{localStorage.setItem("natie-export-templates-v1",JSON.stringify(n)),this.saved=n,this.saveName="",this.notice="Configura\u021Bia a fost salvat\u0103 \xEEn acest browser."}catch{this.error="Browserul nu permite salvarea configura\u021Biei."}}removeSaved(e){let n=this.saved.filter((i,d)=>d!==e);try{localStorage.setItem("natie-export-templates-v1",JSON.stringify(n)),this.saved=n}catch{this.error="\u0218ablonul nu a putut fi \u0219ters."}}static{this.\u0275fac=function(n){return new(n||t)(T(iu))}}static{this.\u0275cmp=V({type:t,selectors:[["app-data-export"]],standalone:!0,features:[B],decls:16,vars:5,consts:[["relation",""],[1,"export-page"],[1,"eyebrow"],[1,"badge"],["role","status",4,"ngIf"],["class","alert error","role","alert",4,"ngIf"],["class","alert success","role","status",4,"ngIf"],[3,"disabled",4,"ngIf"],["class","working","role","status","aria-live","polite",4,"ngIf"],["role","status"],["role","alert",1,"alert","error"],["role","status",1,"alert","success"],[3,"disabled"],[1,"panel"],[1,"step"],[1,"muted"],[1,"presets"],["type","button",3,"chosen","click",4,"ngFor","ngForOf"],["class","saved",4,"ngIf"],[1,"source"],[3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],["class","info",4,"ngIf"],["class","alert error",4,"ngIf"],[1,"column-layout"],[1,"browser"],["aria-label","Calea rela\u021Biilor"],[3,"click"],[4,"ngFor","ngForOf"],["placeholder","Nume, email, localitate\u2026","type","search",3,"ngModelChange","ngModel"],[1,"fields"],["class","field",4,"ngFor","ngForOf"],["class","muted",4,"ngIf"],[3,"change","disabled"],["value",""],[1,"selection"],["class","empty",4,"ngIf"],["class","column",4,"ngFor","ngForOf"],[1,"info"],[3,"changed","metadata","model","node"],[1,"options"],[4,"ngIf"],["value",";"],["value",","],[3,"value"],[1,"panel","output"],[1,"actions"],[1,"secondary",3,"click","disabled"],[1,"fas","fa-table"],[1,"primary",3,"click","disabled"],[1,"fas","fa-file-csv"],[1,"save"],["placeholder","Ex. Mentori confirma\u021Bi \u2014 Bucure\u0219ti","maxlength","100",3,"ngModelChange","ngModel"],[3,"click","disabled"],["type","button",3,"click"],[1,"saved"],[1,"alert","error"],[1,"field"],["type","checkbox",3,"change","checked","disabled"],[1,"empty"],[1,"column"],[1,"number"],[1,"column-content"],["aria-label","Titlu coloan\u0103 CSV","maxlength","200",3,"ngModelChange","ngModel"],["aria-label","Format valori multiple",3,"ngModel","ngModelChange",4,"ngIf"],[1,"column-actions"],["aria-label","Mut\u0103 coloana \xEEn sus",3,"click","disabled"],["aria-label","Mut\u0103 coloana \xEEn jos",3,"click","disabled"],["aria-label","Elimin\u0103 coloana",3,"click"],["aria-label","Format valori multiple",3,"ngModelChange","ngModel"],["value","join"],["value","json"],["value","firstMentor",4,"ngIf"],["value","count"],["value","firstMentor"],["value","asc"],["value","desc"],["class","table-scroll",4,"ngIf"],[1,"table-scroll"],["role","status","aria-live","polite",1,"working"]],template:function(n,i){n&1&&(r(0,"section",1)(1,"header")(2,"div")(3,"span",2),a(4,"ADMINISTRARE \xB7 DATE"),o(),r(5,"h2"),a(6,"Exporturi CSV"),o(),r(7,"p"),a(8," Alege ce reprezint\u0103 un r\xE2nd, adaug\u0103 informa\u021Biile asociate \u0219i export\u0103 doar datele de care ai nevoie. "),o()(),r(9,"span",3),a(10,"CSV \xB7 UTF-8 \xB7 Excel"),o()(),h(11,lP,2,0,"p",4)(12,dP,2,1,"div",5)(13,mP,2,1,"div",6)(14,RP,100,31,"fieldset",7)(1
1405,zP,2,0,"div",8),o()),n&2&&(c(11),m("ngIf",i.loading),c(),m("ngIf",i.error),c(),m("ngIf",i.notice),c(),m("ngIf",i.metadata),c(),m("ngIf",i.busy))},dependencies:[H,X,$,se,fe,he,re,ue,ie,Cn,pe,nu],styles:["[_nghost-%COMP%]{display:block;color:#20324c}.export-page[_ngcontent-%COMP%]{max-width:1500px;margin:auto;padding:20px;background:#f5f7fb;border-radius:16px}header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:12px 0 24px}h2[_ngcontent-%COMP%]{font-size:30px;margin:8px 0}p[_ngcontent-%COMP%]{line-height:1.6;margin:8px 0}.eyebrow[_ngcontent-%COMP%]{font-size:11px;letter-spacing:1.6px;font-weight:700;color:#547093}fieldset[_ngcontent-%COMP%]{border:0;padding:0;margin:0;min-width:0}.panel[_ngcontent-%COMP%]{background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:24px;margin-bottom:20px}h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:20px}h4[_ngcontent-%COMP%]{margin:0 0 15px}.step[_ngcontent-%COMP%]{display:inline-grid;place-items:center;border-radius:50%;width:28px;height:28px;background:#eaf1ff;color:#2850a0;font-size:14px}.muted[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{color:#607089;font-size:13px}.badge[_ngcontent-%COMP%]{display:inline-block;padding:6px 10px;background:#edf3fa;border-radius:20px;font-size:12px;white-space:nowrap}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;background:#fff;color:inherit}button[_ngcontent-%COMP%]{cursor:pointer}button[_ngcontent-%COMP%]:hover:not(:disabled){border-color:#3162b8;background:#f1f6ff}button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}button[_ngcontent-%COMP%]:focus-visible, input[_ngcontent-%COMP%]:focus-visible, select[_ngcontent-%COMP%]:focus-visible{outline:3px solid #aac8ff;outline-offset:2px}label[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}input[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{min-width:0;width:100%;box-sizing:border-box;font-size:14px}.presets[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px;margin:16px 0 24px}.presets[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{text-align:left;padding:16px}.presets[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;font-size:12px;color:#607089;margin-top:8px;line-height:1.5}.presets[_ngcontent-%COMP%] .chosen[_ngcontent-%COMP%]{border-color:#3769bb;background:#f0f5ff;box-shadow:inset 3px 0 #3769bb}.source[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.info[_ngcontent-%COMP%]{background:#f0f5fc;border-left:3px solid #90acd4;padding:14px;border-radius:5px;font-size:13px;line-height:1.6;margin-top:18px}.column-layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr);gap:24px}.browser[_ngcontent-%COMP%]{padding:16px;background:#f8fafc;border:1px solid #e0e6ee;border-radius:10px;align-self:start}nav[_ngcontent-%COMP%]{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-bottom:15px}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:5px 7px;font-size:12px}.fields[_ngcontent-%COMP%]{max-height:360px;overflow:auto;margin:14px 0}.field[_ngcontent-%COMP%]{flex-direction:row;align-items:center;padding:9px;gap:12px;border-bottom:1px solid #e5eaf2;cursor:pointer}.field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:17px;height:17px;flex-shrink:0}.field[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;font-size:11px;font-weight:400;margin-top:4px}.selection[_ngcontent-%COMP%]{min-width:0;max-height:660px;overflow:auto}.column[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid #e5eaf2}.number[_ngcontent-%COMP%]{padding-top:12px;color:#6c819c;font-size:12px}.column-content[_ngcontent-%COMP%]{flex:1;min-width:0}.column-content[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;overflow-wrap:anywhere;margin:5px 0;font-size:11px}.column-actions[_ngcontent-%COMP%]{display:flex;gap:3px}.column-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:8px}.empty[_ngcontent-%COMP%]{padding:25px;border:1px dashed #b6c6dc;border-radius:10px;color:#607089}.options[_ngcontent-%COMP%]{display:flex;gap:15px;flex-wrap:wrap;margin-top:20px}.options[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{flex:1;min-width:160px}
140.actions[_ngcontent-%COMP%], .save[_ngcontent-%COMP%], .saved[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary[_ngcontent-%COMP%]{background:#2558a6;color:#fff;border-color:#2558a6}.primary[_ngcontent-%COMP%]:hover:not(:disabled){background:#194484;color:#fff}.save[_ngcontent-%COMP%]{margin:24px 0;align-items:flex-end}.save[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{flex:1;min-width:200px}.saved[_ngcontent-%COMP%]{margin-bottom:20px}.saved[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:12px}.alert[_ngcontent-%COMP%]{padding:14px;border-radius:8px;margin-bottom:15px}.error[_ngcontent-%COMP%]{background:#fff0f0;color:#9a2e2e}.success[_ngcontent-%COMP%]{background:#ebf8ee;color:#286440}.table-scroll[_ngcontent-%COMP%]{overflow:auto;max-height:480px;border:1px solid #dce4ee;border-radius:8px}table[_ngcontent-%COMP%]{border-collapse:collapse;width:100%;font-size:12px}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{text-align:left;border-bottom:1px solid #e1e7ef;padding:12px;min-width:150px;max-width:350px;overflow-wrap:anywhere}th[_ngcontent-%COMP%]{background:#eaf0f9;position:sticky;top:0}tr[_ngcontent-%COMP%]:nth-child(2n){background:#f8fafc}.working[_ngcontent-%COMP%]{position:fixed;bottom:24px;right:24px;background:#203d70;color:#fff;padding:16px 28px;border-radius:10px;box-shadow:0 4px 20px #0003;z-index:1000}@media (max-width: 850px){.export-page[_ngcontent-%COMP%]{padding:8px}.panel[_ngcontent-%COMP%]{padding:16px}.column-layout[_ngcontent-%COMP%], .source[_ngcontent-%COMP%]{grid-template-columns:1fr}header[_ngcontent-%COMP%]{flex-direction:column}.selection[_ngcontent-%COMP%]{max-height:500px}.column-actions[_ngcontent-%COMP%]{flex-direction:column}}"]})}}return t})();function NP(e){return q(this,arguments,function*(t,s={}){let{quality:n=.8,maxWidth:i,maxHeight:d}=s;return new Promise((u,x)=>{let y=document.createElement("canvas"),k=y.getContext("2d"),W=new Image;W.onload=()=>{try{let{width:Y,height:le}=W;i&&Y>i&&(le=le*i/Y,Y=i),d&&le>d&&(Y=Y*d/le,le=d),y.width=Y,y.height=le,k?.drawImage(W,0,0,Y,le),y.toBlob(ce=>{if(ce){let we=t.name.replace(/\.[^/.]+$/,".webp"),ee=new File([ce],we,{type:"image/webp",lastModified:Date.now()});u(ee)}else x(new Error("Failed to convert image to WebP"))},"image/webp",n)}catch(Y){x(Y)}},W.onerror=()=>{x(new Error("Failed to load image"))};let U=new FileReader;U.onload=Y=>{W.src=Y.target?.result},U.onerror=()=>{x(new Error("Failed to read file"))},U.readAsDataURL(t)})})}function AP(t){return["image/jpeg","image/jpg","image/png","image/gif","image/bmp","image/tiff"].includes(t.type.toLowerCase())}function LP(t){return t.type.toLowerCase()==="image/webp"}function Jt(e){return q(this,arguments,function*(t,s={}){return LP(t)||!AP(t)?t:NP(t,s)})}function VP(t,s){if(t&1){let e=E();r(0,"button",6),b("click",function(){v(e);let i=p();return M(i.startCreating())}),_(1,"i",7),a(2," Create New Post "),o()}}function BP(t,s){if(t&1&&(r(0,"div",11),_(1,"i",12),a(2),o()),t&2){let e=p(2);c(2),w(" ",e.successMessage," ")}}function UP(t,s){if(t&1&&(r(0,"div",13),_(1,"i",14),a(2),o()),t&2){let e=p(2);c(2),w(" ",e.errorMessage," ")}}function jP(t,s){if(t&1&&(r(0,"div",8),h(1,BP,3,1,"div",9)(2,UP,3,1,"div",10),o()),t&2){let e=p();c(),m("ngIf",e.successMessage),c(),m("ngIf",e.errorMessage)}}function qP(t,s){t&1&&(r(0,"span"),a(1,"Title is required"),o())}function WP(t,s){t&1&&(r(0,"span"),a(1,"Title must be at least 5 characters"),o())}function $P(t,s){if(t&1&&(r(0,"div",48),h(1,qP,2,0,"span",49)(2,WP,2,0,"span",49),o()),t&2){let e,n,i=p(2);c(),m("ngIf",(e=i.postForm.get("title"))==null||e.errors==null?null:e.errors.required),c(),m("ngIf",(n=i.postForm.get("title"))==null||n.errors==null?null:n.errors.minlength)}}function HP(t,s){t&1&&(r(0,"span"),a(1,"Description is required"),o())}function GP(t,s){t&1&&(r(0,"span"),a(1,"Description must be at least 10 characters"),o())}function ZP(t,s){if(t&1&&(r(0,"div",48),h(1,HP,2,0,"span",49)(2,GP,2,0,"span",49),o()),t&2){let e,n,i=p(2);c(),m("ngIf",(e=i.postForm.get("description"))==null||e.errors==null?null:e.errors.required),c(),m("ngIf",(n=i.postForm.get("description"))==null||n.errors==null?null:n.errors.minlength)}}function YP(t,s){t&1&&(r(0,"span"),a(1,"Priority is required"),o())}function KP(t,s){t&1&&(r(0,"span"),a(1,"Priority must be at least 1"),o())}function QP(t,s){t&1&&(r(0,"span"),a(1,"Priority must be at most 5"),o())}function JP(t,s){if(t&1&&(r(0,"div",48),h(1,YP,2,0,"span",49)(2,KP,2,0,"span",49)(3,QP,2,0,"span",49),o()),t&2){let e,n,i,d=p(2);c(),m("ngIf",(e=d.postForm.get("priority"))==null||e.errors==null?null:e.errors.required),c(),m("ngIf",(n=d.postForm.get("priority"))==null||n.errors==null?null:n.errors.min),c(),m("ngIf",(i=d.postForm.get("priority"))==null||i.errors==null?null:i.errors.max)}}function XP(t,s){if(t&1){let e=E();r(0,"div",53)(1,"div",54)(2,"img",55),b("error",function(i){v(e);let d=p(3);return M(d.onImageError(i,d.editingPostId||0))})("load",function(i){v(e);let d=p(3);return M(d.onImageLoad(i,d.editingPostId||0))}),o()(),r(3,"div",56),_(4,"i",57),r(5,"div",58)(6,"span"),a(7),o(),r(8,"small",59),a(9,"Current image"),o()()(),r(10,"div",60)(11,"a",61),_(12,"i",62),a(13," View "),o()()()}if(t&2){let e=p(3);c(2),m("src",e.getSafeImageUrl(e.currentPostImage),ae),c(5),O(e.getCurrentImageInfo()),c(4),m("href",e.getSafeImageUrl(e.currentPostImage),ae)}}function eO(t,s){if(t&1){let e=E();
140r(0,"div",63),_(1,"img",64),r(2,"button",65),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedFile())}),_(3,"i",19),a(4," Remove "),o()()}if(t&2){let e=p(3);c(),m("src",e.selectedFilePreview,ae)}}function tO(t,s){if(t&1&&(r(0,"div"),_(1,"img",64),o()),t&2){let e=p(3);c(),m("src",e.getCurrentImageUrl(),ae)}}function nO(t,s){if(t&1&&(r(0,"div",21)(1,"div",22)(2,"label"),a(3,"Image Preview"),o(),r(4,"div",50),h(5,XP,14,3,"div",51)(6,eO,5,1,"div",52)(7,tO,2,1,"div",49),o()()()),t&2){let e=p(2);c(5),m("ngIf",e.hasCurrentImage()&&!e.selectedFilePreview),c(),m("ngIf",e.selectedFilePreview),c(),m("ngIf",e.getCurrentImageUrl()&&!e.hasCurrentImage()&&!e.selectedFilePreview)}}function iO(t,s){t&1&&_(0,"i",66)}function oO(t,s){t&1&&_(0,"i",67)}function rO(t,s){if(t&1){let e=E();r(0,"div",15)(1,"div",16)(2,"div",17)(3,"h3"),a(4),o(),r(5,"button",18),b("click",function(){v(e);let i=p();return M(i.cancel())}),_(6,"i",19),a(7," Cancel "),o()(),r(8,"form",20),b("ngSubmit",function(){v(e);let i=p();return M(i.onSubmit())}),r(9,"div",21)(10,"div",22)(11,"label",23),a(12,"Title *"),o(),_(13,"input",24),h(14,$P,3,2,"div",25),o()(),r(15,"div",21)(16,"div",22)(17,"label",26),a(18,"Description *"),o(),_(19,"textarea",27),h(20,ZP,3,2,"div",25),o()(),r(21,"div",21)(22,"div",22)(23,"label",28),a(24," Priority * "),_(25,"i",29),o(),_(26,"input",30),h(27,JP,4,3,"div",25),r(28,"small",31),a(29,"Priority range: 1 (highest) to 5 (lowest). Default is 5 (low priority)."),o()(),r(30,"div",22)(31,"label",32),a(32,"Image Position *"),o(),r(33,"select",33)(34,"option",34),a(35,"Left"),o(),r(36,"option",35),a(37,"Right"),o(),r(38,"option",36),a(39,"Big"),o()()()(),r(40,"div",21)(41,"div",22)(42,"label",37),a(43,"Image"),o(),r(44,"input",38),b("change",function(i){v(e);let d=p();return M(d.onFileSelected(i))}),o(),r(45,"small"),a(46,"Select an image file (max 5MB)"),o()()(),h(47,nO,8,3,"div",39),r(48,"div",21)(49,"div",40)(50,"label",41),_(51,"input",42)(52,"span",43),a(53," Mark as Announcement "),o(),r(54,"small"),a(55,"Announcements are highlighted differently on the homepage"),o()()(),r(56,"div",44)(57,"button",45),h(58,iO,1,0,"i",46)(59,oO,1,0,"i",47),a(60),o()()()()()}if(t&2){let e,n,i,d,u,x,y,k=p();c(4),O(k.isCreating?"Create New Post":"Edit Post"),c(4),m("formGroup",k.postForm),c(5),I("error",((e=k.postForm.get("title"))==null?null:e.invalid)&&((e=k.postForm.get("title"))==null?null:e.touched)),c(),m("ngIf",((n=k.postForm.get("title"))==null?null:n.invalid)&&((n=k.postForm.get("title"))==null?null:n.touched)),c(5),I("error",((i=k.postForm.get("description"))==null?null:i.invalid)&&((i=k.postForm.get("description"))==null?null:i.touched)),c(),m("ngIf",((d=k.postForm.get("description"))==null?null:d.invalid)&&((d=k.postForm.get("description"))==null?null:d.touched)),c(6),I("error",((u=k.postForm.get("priority"))==null?null:u.invalid)&&((u=k.postForm.get("priority"))==null?null:u.touched)),c(),m("ngIf",((x=k.postForm.get("priority"))==null?null:x.invalid)&&((x=k.postForm.get("priority"))==null?null:x.touched)),c(6),I("error",((y=k.postForm.get("imagePosition"))==null?null:y.invalid)&&((y=k.postForm.get("imagePosition"))==null?null:y.touched)),c(14),m("ngIf",k.selectedFilePreview||k.getCurrentImageUrl()||k.getCurrentImageInfo()),c(10),m("disabled",k.postForm.invalid||k.loading),c(),m("ngIf",k.loading),c(),m("ngIf",!k.loading),c(),w(" ",k.isCreating?"Create Post":"Update Post"," ")}}function aO(t,s){t&1&&(r(0,"div",72),_(1,"i",66),a(2," Loading... "),o())}function sO(t,s){t&1&&(r(0,"span",95),_(1,"i",96),a(2," Announcement "),o())}function cO(t,s){if(t&1){let e=E();r(0,"div",97)(1,"img",98),b("error",function(i){v(e);let d=p().$implicit,u=p(3);return M(u.onImageError(i,d.id))})("load",function(i){v(e);let d=p().$implicit,u=p(3);return M(u.onImageLoad(i,d.id))}),o()()}if(t&2){let e=p().$implicit,n=p(3);c(),m("src",n.getSafeImageUrl(e.image,e.id),ae)}}function lO(t,s){if(t&1){let e=E();r(0,"div",76)(1,"div",77)(2,"div",78)(3,"span",79),a(4),o(),h(5,sO,3,0,"span",80),o(),r(6,"div",81)(7,"button",82),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.startEditing(i))}),_(8,"i",83),o(),r(9,"button",84),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.deletePost(i.id))}),_(10,"i",85),o()()(),r(11,"div",86)(12,"h4",87),a(13),o(),r(14,"p",88),a(15),o(),h(16,cO,2,1,"div",89),o(),r(17,"div",90)(18,"div",91)(19,"span",92),_(20,"i",57),a(21),o(),r(22,"span",93),_(23,"i",94),a(24),ze(25,"date"),o()()()()}if(t&2){let e=s.$implicit,n=p(3);c(3),I("high",e.priority<=2)("medium",e.priority>=3&&e.priority<=4)("low",e.priority>=5),c(),G(" Priority ",e.priority," (",n.getPriorityLabel(e.priority),") "),c(),m("ngIf",e.announcement),c(8),O(e.title),c(2),O(e.description),c(),m("ngIf",e.image),c(5),w(" ",n.getImagePositionLabel(e.imagePosition)," "),c(3),w(" ",Xe(25,14,e.timestamp,"short")," ")}}function dO(t,s){if(t&1){let e=E();r(0,"div",99),_(1,"i",100),r(2,"h4"),a(3,"No posts yet"),o(),r(4,"p"),a(5,"Create your first home post to get started"),o(),r(6,"button",6),b("click",function(){v(e);let i=p(3);return M(i.startCreating())}),_(7,"i",7),a(8," Create First Post "),o()()}}function mO(t,s){if(t&1&&(r(0,"div",73),h(1,lO,26,17,"div",74)(2,dO,9,0,"div",75),o()),t&2){let e=p(2);c(),m("ngForOf",e.posts),c(),m("ngIf",e.posts.length===0)}}function gO(t,s){if(t&1&&(r(0,"div",68)(1,"div",69)(2,"h3"),a(3),o(),h(4,aO,3,0,"div",70),o(),h(5,mO,3,2,"div",71),o()),t&2){let e=p();c(3),w("Current Posts (",e.posts.length,")"),c(),m("ngIf",e.loading),c(),m("ngIf",!e.loading)}}var ru=(()=>{class t{constructor(e,n,i){this.postService=e,this.fileService=n,this.fb=i,this.posts=[],this.isCreating=!1,this.isEditing=!1,this.editingPostId=null,this.loading=!1,this.errorMessage="",this.successMessage="",this.selectedFile=null,this.selectedFilePreview=null,this.currentPostImage=null,this.imageUrlCache=new Map,this.postForm=this.fb.group({title:["",[N.required,N.minLength(5)]],description:["",[N.required,N.minLength(10)]],priority:[5,[N.required,N.min(1),N.max(5)]],imagePosition:["LEFT",N.required],announcement:[!1]})}ngOnInit(){this.loadPosts()}loadPosts(){this.loading=!0,this.postService.fetchAllSortedByDate().subscribe({next:e=>{this.posts=e,this.cachePostImageUrls(),this.loading=!1},error:e=>{this.errorMessage="Failed to load posts",this.loading=!1,console.error("Error loading posts:",e)}})}cachePostImageUrls(){this.imageUrlCache.clear(),this.posts.forEac
140h(e=>{e.image&&e.image.id&&this.imageUrlCache.set(e.id,this.fileService.getPublicFilePreviewUrl(e.image.id))})}startCreating(){this.isCreating=!0,this.isEditing=!1,this.editingPostId=null,this.postForm.patchValue({title:"",description:"",priority:5,imagePosition:"LEFT",announcement:!1}),console.log("Form state after reset:",this.postForm.value),console.log("Announcement control value:",this.postForm.get("announcement")?.value),this.clearFileSelection(),this.clearMessages()}startEditing(e){this.isEditing=!0,this.isCreating=!1,this.editingPostId=e.id,this.postForm.patchValue({title:e.title,description:e.description,priority:e.priority,imagePosition:e.imagePosition,announcement:e.announcement}),this.currentPostImage=e.image||null,this.selectedFile=null,this.selectedFilePreview=null,this.clearMessages(),console.log("Editing post:",e),console.log("Current post image:",this.currentPostImage)}cancel(){this.isCreating=!1,this.isEditing=!1,this.editingPostId=null,this.postForm.reset({title:"",description:"",priority:5,imagePosition:"LEFT",announcement:!1}),this.clearFileSelection(),this.clearMessages()}onSubmit(){return q(this,null,function*(){if(this.postForm.valid){this.loading=!0;let e=this.postForm.value;try{if(this.selectedFile){let n={quality:.85,maxWidth:1200,maxHeight:800},i=yield Jt(this.selectedFile,n);e.image=i,console.log("Home post - Original file type:",this.selectedFile.type),console.log("Home post - Converted file type:",i.type)}this.isCreating?this.postService.createPost(e).subscribe({next:n=>{this.successMessage="Post created successfully!",this.loadPosts(),this.cancel()},error:n=>{this.errorMessage="Failed to create post",this.loading=!1,console.error("Error creating post:",n)}}):this.isEditing&&this.editingPostId&&this.postService.updatePost(this.editingPostId,e).subscribe({next:n=>{this.successMessage="Post updated successfully!",this.loadPosts(),this.cancel()},error:n=>{this.errorMessage="Failed to update post",this.loading=!1,console.error("Error updating post:",n)}})}catch(n){this.loading=!1,console.error("Error converting image to WebP:",n),this.errorMessage="Error converting image to WebP format"}}})}deletePost(e){confirm("Are you sure you want to delete this post?")&&(this.loading=!0,this.postService.deletePost(e).subscribe({next:n=>{this.successMessage="Post deleted successfully!",this.imageUrlCache.delete(e),this.loadPosts()},error:n=>{this.errorMessage="Failed to delete post",this.loading=!1,console.error("Error deleting post:",n)}}))}clearMessages(){this.errorMessage="",this.successMessage=""}onFileSelected(e){let n=e.target.files[0];
140if(n){if(!n.type.startsWith("image/")){this.errorMessage="Please select an image file";return}if(n.size>5*1024*1024){this.errorMessage="File size must be less than 5MB";return}this.selectedFile=n,this.createFilePreview(n),this.errorMessage=""}}createFilePreview(e){let n=new FileReader;n.onload=i=>{this.selectedFilePreview=i.target.result},n.readAsDataURL(e)}clearFileSelection(){this.selectedFile=null,this.selectedFilePreview=null,this.currentPostImage=null}removeSelectedFile(){this.selectedFile=null,this.selectedFilePreview=null}getCurrentImageUrl(){return this.getSafeImageUrl(this.currentPostImage)}getImagePositionLabel(e){switch(e){case"LEFT":return"Left";case"RIGHT":return"Right";case"BIG":return"Big";default:return e}}getPriorityLabel(e){switch(e){case 1:return"Highest";case 2:return"High";case 3:return"Medium";case 4:return"Low";case 5:return"Lowest";default:return"Unknown"}}getAnnouncementLabel(e){return e?"Yes":"No"}onImageLoad(e,n){}onImageError(e,n){console.warn(`Failed to load image for post ${n}`),e.target.classList.add("error")}getSafeImageUrl(e,n){return!e||!e.id?null:n!==void 0?(this.imageUrlCache.has(n)||this.imageUrlCache.set(n,this.fileService.getPublicFilePreviewUrl(e.id)),this.imageUrlCache.get(n)||null):this.fileService.getPublicFilePreviewUrl(e.id)}getCurrentImageInfo(){let e=this.currentPostImage!==null;return console.log("getCurrentImageInfo check:",{hasImage:e,currentImage:this.currentPostImage}),e&&this.currentPostImage?this.currentPostImage.name:null}hasCurrentImage(){let e=this.currentPostImage!==null;return console.log("hasCurrentImage check:",{hasImage:e,currentImage:this.currentPostImage}),e}static{this.\u0275fac=function(n){return new(n||t)(T(No),T(Dt),T(Ye))}}static{this.\u0275cmp=V({type:t,selectors:[["app-home-post-management"]],standalone:!0,features:[B],decls:10,vars:4,consts:[[1,"home-post-management"],[1,"header-section"],["class","btn btn-primary",3,"click",4,"ngIf"],["class","messages",4,"ngIf"],["class","form-section",4,"ngIf"],["class","posts-section",4,"ngIf"],[1,"btn","btn-primary",3,"click"],[1,"fas","fa-plus"],[1,"messages"],["class","alert alert-success",4,"ngIf"],["class","alert alert-error",4,"ngIf"],[1,"alert","alert-success"],[1,"fas","fa-check-circle"],[1,"alert","alert-error"],[1,"fas","fa-exclamation-circle"],[1,"form-section"],[1,"form-card"],[1,"form-header"],[1,"btn","btn-secondary",3,"click"],[1,"fas","fa-times"],[1,"post-form",3,"ngSubmit","formGroup"],[1,"form-row"],[1,"form-group"],["for","title"],["type","text","id","title","formControlName","title","placeholder","Enter post title (min 5 characters)"],["class","error-message",4,"ngIf"],["for","description"],["id","description","formControlName","description","rows","4","placeholder","Enter post description (min 10 characters)"],["for","priority"],["title","Priority 1-5: 1=Highest, 5=Lowest (Default: 5)",1,"fas","fa-info-circle"],["type","number","id","priority","formControlName","priority","min","1","max","5","placeholder","Enter priority (1-5, where 1 is highest priority)"],[1,"form-help"],["for","imagePosition"],["id","imagePosition","formControlName","imagePosition"],["value","LEFT"],["value","RIGHT"],["value","BIG"],["for","image"],["type","file","id","image","accept","image/*",1,"file-input",3,"change"],["class","form-row",4,"ngIf"],[1,"form-group","checkbox-group"],[1,"checkbox-label"],["type","checkbox","formControlName","announcement"],[1,"checkmark"],[1,"form-actions"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","fas fa-save",4,"ngIf"],[1,"error-message"],[4,"ngIf"],[1,"image-preview-container"],["class","current-image-info",4,"ngIf"],["class","new-image-preview",4,"ngIf"],[1,"current-image-info"],[1,"current-image-preview"],["alt","Current image preview",1,"current-image-thumbnail",3,"error","load","src"],[1,"current-image-details"],[1,"fas","fa-image"],[1,"image-info"],[1,"current-image-label"],[1,"current-image-actions"],["target","_blank","title","View current image",1,"btn","btn-sm","btn-info","view-image-btn",3,"href"],[1,"fas","fa-eye"],[1,"new-image-preview"],["alt","Preview",1,"image-preview",3,"src"],["type","button",1,"btn","btn-sm","btn-danger","remove-image-btn",3,"click"],[1,"fas","fa-spinner","fa-spin"],[1,"fas","fa-save"],[1,"posts-section"],[1,"section-header"],["class","loading-spinner",4,"ngIf"],["class","posts-grid",4,"ngIf"],[1,"loading-spinner"],[1,"posts-grid"],["class","post-card",4,"ngFor","ngForOf"],["class","empty-state",4,"ngIf"],[1,"post-card"],[1,"post-header"],[1,"post-meta"],[1,"priority-badge"],["class","announcement-badge",4,"ngIf"],[1,"post-actions"],[1,"btn","btn-sm","btn-secondary",3,"click"],[1,"fas","fa-edit"],[1,"btn","btn-sm","btn-danger",3,"click"],[1,"fas","fa-tras
140h"],[1,"post-content"],[1,"post-title"],[1,"post-description"],["class","post-image",4,"ngIf"],[1,"post-footer"],[1,"post-info"],[1,"image-position"],[1,"created-date"],[1,"fas","fa-calendar"],[1,"announcement-badge"],[1,"fas","fa-bullhorn"],[1,"post-image"],["alt","Post image",1,"post-thumbnail",3,"error","load","src"],[1,"empty-state"],[1,"fas","fa-newspaper"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h2"),a(3,"Home Post Management"),o(),r(4,"p"),a(5,"Manage posts that appear on the homepage"),o(),h(6,VP,3,0,"button",2),o(),h(7,jP,3,2,"div",3)(8,rO,61,18,"div",4)(9,gO,6,3,"div",5),o()),n&2&&(c(6),m("ngIf",!i.isCreating&&!i.isEditing),c(),m("ngIf",i.errorMessage||i.successMessage),c(),m("ngIf",i.isCreating||i.isEditing),c(),m("ngIf",!i.isCreating&&!i.isEditing))},dependencies:[H,X,$,mn,$e,Oe,fe,he,re,lt,Pt,ue,ie,Pe,yt,ti,We,Ge],styles:[".home-post-management[_ngcontent-%COMP%]{padding:20px;max-width:1200px;margin:0 auto}.home-post-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.home-post-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:28px;font-weight:600}.home-post-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:5px 0 0;color:#6c757d;font-size:16px}.home-post-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 24px;border-radius:8px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.home-post-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.home-post-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.home-post-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%]{margin-bottom:20px}.home-post-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{padding:15px 20px;border-radius:8px;margin-bottom:15px;display:flex;align-items:center;font-weight:500}.home-post-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%] .alert.alert-success[_ngcontent-%COMP%]{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.home-post-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%] .alert.alert-error[_ngcontent-%COMP%]{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.home-post-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;font-size:18px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%]{margin-bottom:30px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 8px 30px #0000001a;padding:30px;border:1px solid #e9ecef}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-input[_ngcontent-%COMP%]{width:100%;padding:10px;border:2px dashed #ddd;border-radius:8px;background-color:#f8f9fa;cursor:pointer;transition:all .3s ease}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-input[_ngcontent-%COMP%]:hover{border-color:#667eea;background-color:#f0f2ff}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%]{position:relative;display:inline-block;margin-top:10px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .image-preview[_ngcontent-%COMP%]{max-width:200
140px;max-height:150px;border-radius:8px;border:2px solid #e9ecef;object-fit:cover}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%]{position:absolute;top:-10px;right:-10px;background:#dc3545;border:none;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .3s ease}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%]:hover{background:#c82333;transform:scale(1.1)}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:15px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-top:10px;gap:15px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-preview[_ngcontent-%COMP%]{flex-shrink:0}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-preview[_ngcontent-%COMP%] .current-image-thumbnail[_ngcontent-%COMP%]{width:80px;height:60px;object-fit:cover;border-radius:6px;border:2px solid #dee2e6;box-shadow:0 2px 8px #0000001a}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%]{display:flex;align-items:center;flex:1}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:24px;color:#6c757d;margin-right:15px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%] .image-info[_ngcontent-%COMP%]{display:flex;flex-direction:column}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%] .image-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:500;color:#2c3e50;margin-bottom:2px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%] .image-info[_ngcontent-%COMP%] .current-image-label[_ngcontent-%COMP%]{color:#6c757d;font-size:12px;font-style:italic}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-actions[_ngcontent-%COMP%]{flex-shrink:0}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-actions[_ngcontent-%COMP%] .view-image-btn[_ngcontent-%COMP%]{background:#17a2b8;border:none;color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;transition:all .3s ease}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-actions[_ngcontent-%COMP%] .view-image-btn[_ngcontent-%COMP%]:hover{background:#138496;transform:translateY(-1px)}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-actions[_ngcontent-%COMP%] .view-image-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:6px;font-size:12px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .new-image-preview[_ngcontent-%COMP%]{position:relative;display:inline-block;margin-top:10px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:22px;font-weight:600}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]{background:#6c757d;border:none;color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;transition:all .3s ease}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]:hover{background:#5a6268}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]:first-child{grid-template-columns:1fr}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]:nth-child(2){grid-template-columns:1fr}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]:nth-child(4){grid-template-columns:1fr}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:600;color:#495057}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .fa-info-circle[_ng
140content-%COMP%]{color:#6c757d;margin-left:.5rem;cursor:help;font-size:.875rem}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .fa-info-circle[_ngcontent-%COMP%]:hover{color:var(--natie-blue-accessible)}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:all .3s ease;background:#f8f9fa}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%], .home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea.error[_ngcontent-%COMP%], .home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select.error[_ngcontent-%COMP%]{border-color:#dc3545}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;min-height:100px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:.875rem;margin-top:.25rem}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-help[_ngcontent-%COMP%]{color:#6c757d;font-size:.875rem;margin-top:.25rem;font-style:italic}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#495057}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{width:auto;margin-right:10px;transform:scale(1.2)}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-group.checkbox-group[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;margin-top:5px;color:#6c757d;font-size:12px}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 30px;border-radius:8px;font-weight:500;font-size:16px;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:22px;font-weight:600}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{color:#667eea;font-weight:500}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;overflow:hidden;transition:all .3s ease}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%]:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 15px;border-bottom:1px solid #f1f3f4}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-meta[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-meta[_ngcontent-%COMP%] .priority-badge[_ngcontent-%COMP%]{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-meta[_ngcontent-%COMP%] .priority-badge.high[_ngcontent-%COMP%]{background-color:#dc3545;color:#fff}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-meta[_ngcontent-%COMP%] .priority-badge.medium[_ng
140content-%COMP%]{background-color:#ffc107;color:#212529}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-meta[_ngcontent-%COMP%] .priority-badge.low[_ngcontent-%COMP%]{background-color:#28a745;color:#fff}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-meta[_ngcontent-%COMP%] .announcement-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:4px 12px;background:#e3f2fd;color:#1565c0;border-radius:20px;font-size:12px;font-weight:600}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-meta[_ngcontent-%COMP%] .announcement-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-actions[_ngcontent-%COMP%]{display:flex;gap:8px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-actions[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%]{padding:6px 10px;border:none;border-radius:6px;font-size:12px;transition:all .3s ease}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-actions[_ngcontent-%COMP%] .btn-sm.btn-secondary[_ngcontent-%COMP%]{background:#6c757d;color:#fff}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-actions[_ngcontent-%COMP%] .btn-sm.btn-secondary[_ngcontent-%COMP%]:hover{background:#5a6268}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-actions[_ngcontent-%COMP%] .btn-sm.btn-danger[_ngcontent-%COMP%]{background:#dc3545;color:#fff}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-actions[_ngcontent-%COMP%] .btn-sm.btn-danger[_ngcontent-%COMP%]:hover{background:#c82333}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-header[_ngcontent-%COMP%] .post-actions[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-content[_ngcontent-%COMP%]{padding:15px 20px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-content[_ngcontent-%COMP%] .post-title[_ngcontent-%COMP%]{margin:0 0 10px;color:#2c3e50;font-size:18px;font-weight:600;line-height:1.4}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-content[_ngcontent-%COMP%] .post-description[_ngcontent-%COMP%]{margin:0;color:#6c757d;font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-content[_ngcontent-%COMP%] .post-image[_ngcontent-%COMP%]{margin-top:15px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-content[_ngcontent-%COMP%] .post-image[_ngcontent-%COMP%] .post-thumbnail[_ngcontent-%COMP%]{max-width:100%;max-height:120px;border-radius:6px;object-fit:cover;border:1px solid #e9ecef;transition:opacity .3s ease}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-content[_ngcontent-%COMP%] .post-image[_ngcontent-%COMP%] .post-thumbnail.error[_ngcontent-%COMP%]{opacity:.5;filter:grayscale(100%)}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-footer[_ngcontent-%COMP%]{padding:15px 20px 20px;background:#f8f9fa;border-top:1px solid #f1f3f4}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-footer[_ngcontent-%COMP%] .post-info[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:12px;color:#6c757d}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-footer[_ngcontent-%COMP%] .post-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:flex;align-items:center}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .post-card[_ngcontent-%COMP%] .post-footer[_ngcontent-%COMP%] .post-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{grid-column:1/-1;text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;border:2px dashed #e9ecef}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:48px;color:#6c757d;margin-bottom:20px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] h4[_ng
140content-%COMP%]{margin:0 0 10px;color:#2c3e50;font-size:20px;font-weight:600}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 25px;color:#6c757d;font-size:16px}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 24px;border-radius:8px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}@media (max-width: 768px){.home-post-management[_ngcontent-%COMP%]{padding:15px}.home-post-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:15px}.home-post-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{align-self:stretch}.home-post-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .post-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%], .home-post-management[_ngcontent-%COMP%] .posts-section[_ngcontent-%COMP%] .posts-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}"]})}}return t})();function pO(t,s){if(t&1){let e=E();r(0,"button",7),b("click",function(){v(e);let i=p();return M(i.startCreating())}),_(1,"i",8),a(2," Add New Resource "),o()}}function uO(t,s){if(t&1&&(r(0,"div",12),_(1,"i",13),a(2),o()),t&2){let e=p(2);c(2),w(" ",e.successMessage," ")}}function _O(t,s){if(t&1&&(r(0,"div",14),_(1,"i",15),a(2),o()),t&2){let e=p(2);c(2),w(" ",e.errorMessage," ")}}function fO(t,s){if(t&1&&(r(0,"div",9),h(1,uO,3,1,"div",10)(2,_O,3,1,"div",11),o()),t&2){let e=p();c(),m("ngIf",e.successMessage),c(),m("ngIf",e.errorMessage)}}function hO(t,s){if(t&1&&(r(0,"option",45),a(1),o()),t&2){let e=s.$implicit,n=p(2);m("value",e),c(),w(" ",n.formatPageName(e)," ")}}function CO(t,s){t&1&&(r(0,"span"),a(1,"Page is required"),o())}function vO(t,s){if(t&1&&(r(0,"div",46),h(1,CO,2,0,"span",47),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.resourceForm.get("page"))==null||e.errors==null?null:e.errors.required)}}function MO(t,s){if(t&1&&(r(0,"option",45),a(1),o()),t&2){let e=s.$implicit;m("value",e),c(),w(" ",e," ")}}function xO(t,s){t&1&&(r(0,"span"),a(1,"Category is required"),o())}function bO(t,s){if(t&1&&(r(0,"div",46),h(1,xO,2,0,"span",47),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.resourceForm.get("category"))==null||e.errors==null?null:e.errors.required)}}function PO(t,s){t&1&&(r(0,"span"),a(1,"Section is required"),o())}function OO(t,s){if(t&1&&(r(0,"div",46),h(1,PO,2,0,"span",47),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.resourceForm.get("section"))==null||e.errors==null?null:e.errors.required)}}function yO(t,s){t&1&&(r(0,"span"),a(1,"Subsection is required"),o())}function wO(t,s){if(t&1&&(r(0,"div",46),h(1,yO,2,0,"span",47),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.resourceForm.get("subsection"))==null||e.errors==null?null:e.errors.required)}}function SO(t,s){t&1&&(r(0,"span"),a(1,"Description is required"),o())}function EO(t,s){t&1&&(r(0,"span"),a(1,"Description must be at least 10 characters"),o())}function TO(t,s){if(t&1&&(r(0,"div",46),h(1,SO,2,0,"span",47)(2,EO,2,0,"span",47),o()),t&2){let e,n,i=p(2);c(),m("ngIf",(e=i.resourceForm.get("description"))==null||e.errors==null?null:e.errors.required),c(),m("ngIf",(n=i.resourceForm.get("description"))==null||n.errors==null?null:n.errors.minlength)}}function kO(t,s){t&1&&(r(0,"span"),a(1,"Link is required"),o())}function IO(t,s){t&1&&(r(0,"span"),a(1,"Please enter a valid URL"),o())}function FO(t,s){if(t&1&&(r(0,"div",46),h(1,kO,2,0,"span",47)(2,IO,2,0,"span",47),o()),t&2){let e,n,i=p(3);c(),m("ngIf",(e=i.resourceForm.get("link"))==null||e.errors==null?null:e.errors.required),c(),m("ngIf",(n=i.resourceForm.get("link"))==null||n.errors==null?null:n.errors.pattern)}}function DO(t,s){if(t&1&&(r(0,"div",23)(1,"label",48),a(2),o(),_(3,"input",49),h(4,FO,3,2,"div",28),o()),t&2){let e,n,i=p(2);c(2),O(i.getLinkLabel()),c(),I("error",((e=i.resourceForm.get("link"))==null?null:e.invalid)&&
140((e=i.resourceForm.get("link"))==null?null:e.touched)),m("placeholder",i.getLinkPlaceholder()),c(),m("ngIf",((n=i.resourceForm.get("link"))==null?null:n.invalid)&&((n=i.resourceForm.get("link"))==null?null:n.touched))}}function RO(t,s){if(t&1){let e=E();r(0,"div",23)(1,"label",50),a(2,"Document File *"),o(),r(3,"input",51),b("change",function(i){v(e);let d=p(2);return M(d.onFileSelected(i))}),o(),r(4,"small"),a(5,"Select a document file (PDF, DOC, PPT, XLS, ZIP, etc.)"),o()()}}function zO(t,s){t&1&&(r(0,"span"),a(1,"Priority is required"),o())}function NO(t,s){t&1&&(r(0,"span"),a(1,"Priority must be at least 1"),o())}function AO(t,s){if(t&1&&(r(0,"div",46),h(1,zO,2,0,"span",47)(2,NO,2,0,"span",47),o()),t&2){let e,n,i=p(2);c(),m("ngIf",(e=i.resourceForm.get("priority"))==null||e.errors==null?null:e.errors.required),c(),m("ngIf",(n=i.resourceForm.get("priority"))==null||n.errors==null?null:n.errors.min)}}function LO(t,s){if(t&1&&(r(0,"div",56)(1,"div",57),_(2,"i",58),r(3,"div",59)(4,"span"),a(5),o(),r(6,"small",60),a(7,"Current file"),o()()(),r(8,"div",61)(9,"a",62),_(10,"i",63),a(11," View "),o()()()),t&2){let e=p(3);c(5),O(e.getCurrentDocumentInfo()),c(4),m("href",e.getSafeImageUrl(e.currentResourceImage),ae)}}function VO(t,s){if(t&1){let e=E();r(0,"div",64)(1,"div",57),_(2,"i",65),r(3,"div",59)(4,"span"),a(5),o(),r(6,"small",66),a(7,"New file"),o()()(),r(8,"button",67),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedFile())}),_(9,"i",20),a(10," Remove "),o()()}if(t&2){let e=p(3);c(5),O(e.selectedFilePreview)}}function BO(t,s){if(t&1){let e=E();r(0,"button",71),b("click",function(){v(e);let i=p(4);return M(i.removeSelectedFile())}),_(1,"i",20),a(2," Remove "),o()}}function UO(t,s){if(t&1&&(r(0,"div",68),_(1,"img",69),h(2,BO,3,0,"button",70),o()),t&2){let e=p(3);c(),m("src",e.selectedFilePreview||e.getCurrentImageUrl(),ae),c(),m("ngIf",e.selectedFilePreview&&e.selectedFilePreview.startsWith("data:"))}}function jO(t,s){if(t&1&&(r(0,"div",22)(1,"div",23)(2,"label"),a(3,"File Preview"),o(),r(4,"div",52),h(5,LO,12,2,"div",53)(6,VO,11,1,"div",54)(7,UO,3,2,"div",55),o()()()),t&2){let e,n,i=p(2);c(5),m("ngIf",i.hasCurrentDocument()&&!i.selectedFilePreview),c(),m("ngIf",((e=i.resourceForm.get("category"))==null?null:e.value)==="Document"&&i.selectedFilePreview&&!i.selectedFilePreview.startsWith("data:")),c(),m("ngIf",((n=i.resourceForm.get("category"))==null?null:n.value)!=="Document"||i.getCurrentImageUrl()&&!i.selectedFilePreview)}}function qO(t,s){t&1&&_(0,"i",72)}function WO(t,s){t&1&&_(0,"i",73)}function $O(t,s){if(t&1){let e=E();r(0,"div",16)(1,"div",17)(2,"div",18)(3,"h3"),a(4),o(),r(5,"button",19),b("click",function(){v(e);let i=p();return M(i.cancel())}),_(6,"i",20),a(7," Cancel "),o()(),r(8,"form",21),b("ngSubmit",function(){v(e);let i=p();return M(i.onSubmit())}),r(9,"div",22)(10,"div",23)(11,"label",24),a(12,"Page *"),o(),r(13,"select",25)(14,"option",26),a(15,"Select a page"),o(),h(16,hO,2,2,"option",27),o(),h(17,vO,2,1,"div",28),o(),r(18,"div",23)(19,"label",29),a(20,"Category *"),o(),r(21,"select",30)(22,"option",26),a(23,"Select a category"),o(),h(24,MO,2,2,"option",27),o(),h(25,bO,2,1,"div",28),o()(),r(26,"div",22)(27,"div",23)(28,"label",31),a(29,"Section *"),o(),_(30,"input",32),h(31,OO,2,1,"div",28),o(),r(32,"div",23)(33,"label",33),a(34,"Subsection *"),o(),_(35,"input",34),h(36,wO,2,1,"div",28),o()(),r(37,"div",22)(38,"div",23)(39,"label",35),a(40,"Description *"),o(),_(41,"textarea",36),h(42,TO,3,2,"div",28),o()(),r(43,"div",22),h(44,DO,5,5,"div",37)(45,RO,6,0,"div",37),r(46,"div",23)(47,"label",38),a(48,"Priority *"),o(),_(49,"input",39),h(50,AO,3,2,"div",28),o()(),h(51,jO,8,3,"div",40),r(52,"div",41)(53,"button",42),h(54,qO,1,0,"i",43)(55,WO,1,0,"i",44),a(56),o()()()()()}if(t&2){let e,n,i,d,u,x,y,k,W,U,Y,le,ce=p();c(4),O(ce.isCreating?"Add New Resource":"Edit Resource"),c(4),m("formGroup",ce.resourceForm),c(5),I("error",((e=ce.resourceForm.get("page"))==null?null:e.invalid)&&((e=ce.resourceForm.get("page"))==null?null:e.touched)),c(3),m("ngForOf",ce.pageOptions),c(),m("ngIf",((n=ce.resourceForm.get("page"))==null?null:n.invalid)&&
140((n=ce.resourceForm.get("page"))==null?null:n.touched)),c(4),I("error",((i=ce.resourceForm.get("category"))==null?null:i.invalid)&&((i=ce.resourceForm.get("category"))==null?null:i.touched)),c(3),m("ngForOf",ce.categoryOptions),c(),m("ngIf",((d=ce.resourceForm.get("category"))==null?null:d.invalid)&&((d=ce.resourceForm.get("category"))==null?null:d.touched)),c(5),I("error",((u=ce.resourceForm.get("section"))==null?null:u.invalid)&&((u=ce.resourceForm.get("section"))==null?null:u.touched)),c(),m("ngIf",((x=ce.resourceForm.get("section"))==null?null:x.invalid)&&((x=ce.resourceForm.get("section"))==null?null:x.touched)),c(4),I("error",((y=ce.resourceForm.get("subsection"))==null?null:y.invalid)&&((y=ce.resourceForm.get("subsection"))==null?null:y.touched)),c(),m("ngIf",((k=ce.resourceForm.get("subsection"))==null?null:k.invalid)&&((k=ce.resourceForm.get("subsection"))==null?null:k.touched)),c(5),I("error",((W=ce.resourceForm.get("description"))==null?null:W.invalid)&&((W=ce.resourceForm.get("description"))==null?null:W.touched)),c(),m("ngIf",((U=ce.resourceForm.get("description"))==null?null:U.invalid)&&((U=ce.resourceForm.get("description"))==null?null:U.touched)),c(2),m("ngIf",ce.shouldShowLinkField()),c(),m("ngIf",ce.shouldShowFileField()),c(4),I("error",((Y=ce.resourceForm.get("priority"))==null?null:Y.invalid)&&((Y=ce.resourceForm.get("priority"))==null?null:Y.touched)),c(),m("ngIf",((le=ce.resourceForm.get("priority"))==null?null:le.invalid)&&((le=ce.resourceForm.get("priority"))==null?null:le.touched)),c(),m("ngIf",ce.selectedFilePreview||ce.getCurrentImageUrl()||ce.getCurrentDocumentInfo()),c(2),m("disabled",ce.resourceForm.invali
140d||ce.loading),c(),m("ngIf",ce.loading),c(),m("ngIf",!ce.loading),c(),w(" ",ce.isCreating?"Create Resource":"Update Resource"," ")}}function HO(t,s){if(t&1){let e=E();r(0,"button",91),b("click",function(){v(e);let i=p(2);return M(i.clearFilters())}),_(1,"i",20),a(2," Clear Filters "),o()}}function GO(t,s){if(t&1&&(r(0,"option",45),a(1),o()),t&2){let e=s.$implicit,n=p(2);m("value",e),c(),w(" ",n.formatPageName(e)," ")}}function ZO(t,s){if(t&1&&(r(0,"option",45),a(1),o()),t&2){let e=s.$implicit;m("value",e),c(),w(" ",e," ")}}function YO(t,s){if(t&1){let e=E();r(0,"span",97),_(1,"i",98),a(2),r(3,"button",99),b("click",function(){v(e);let i=p(3);return i.selectedPageFilter="",M(i.onPageFilterChange())}),_(4,"i",20),o()()}if(t&2){let e=p(3);c(2),w(" ",e.formatPageName(e.selectedPageFilter)," ")}}function KO(t,s){if(t&1){let e=E();r(0,"span",97),_(1,"i",100),a(2),r(3,"button",99),b("click",function(){v(e);let i=p(3);return i.selectedCategoryFilter="",M(i.onCategoryFilterChange())}),_(4,"i",20),o()()}if(t&2){let e=p(3);c(2),w(" ",e.selectedCategoryFilter," ")}}function QO(t,s){if(t&1){let e=E();r(0,"span",97),_(1,"i",101),a(2),r(3,"button",99),b("click",function(){v(e);let i=p(3);return i.searchTerm="",M(i.onSearchChange())}),_(4,"i",20),o()()}if(t&2){let e=p(3);c(2),w(' "',e.searchTerm,'" ')}}function JO(t,s){if(t&1&&(r(0,"div",92)(1,"div",93)(2,"span",94),a(3),o(),r(4,"div",95),h(5,YO,5,1,"span",96
140)(6,KO,5,1,"span",96)(7,QO,5,1,"span",96),o()()()),t&2){let e=p(2);c(3),G(" Showing ",e.getFilteredResourcesCount()," of ",e.resources.length," resources "),c(2),m("ngIf",e.selectedPageFilter),c(),m("ngIf",e.selectedCategoryFilter),c(),m("ngIf",e.searchTerm)}}function XO(t,s){if(t&1){let e=E();r(0,"div",74)(1,"div",75)(2,"div",76)(3,"h3"),_(4,"i",77),a(5," Filter Resources"),o(),h(6,HO,3,0,"button",78),o(),r(7,"div",79)(8,"div",80)(9,"div",81)(10,"label",82),a(11,"Filter by Page"),o(),r(12,"select",83),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectedPageFilter,i)||(d.selectedPageFilter=i),M(i)}),b("change",function(){v(e);let i=p();return M(i.onPageFilterChange())}),r(13,"option",26),a(14,"All Pages"),o(),h(15,GO,2,2,"option",27),o()(),r(16,"div",81)(17,"label",84),a(18,"Filter by Category"),o(),r(19,"select",85),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectedCategoryFilter,i)||(d.selectedCategoryFilter=i),M(i)}),b("change",function(){v(e);let i=p();return M(i.onCategoryFilterChange())}),r(20,"option",26),a(21,"All Categories"),o(),h(22,ZO,2,2,"option",27),o()(),r(23,"div",81)(24,"label",86),a(25,"Search Resources"),o(),r(26,"div",87)(27,"input",88),z("ngModelChange",function(i){v(e);let d=p();return R(d.searchTerm,i)||(d.searchTerm=i),M(i)}),b("input",function(){v(e);let i=p();return M(i.onSearchChange())}),o(),_(28,"i",89),o()()()(),h(29,JO,8,5,"div",90),o()()}if(t&2){let e=p();c(6),m("ngIf",e.hasActiveFilters()),c(6),D("ngModel",e.selectedPageFilter),c(3),m("ngForOf",e.pageOptions),c(4),D("ngModel",e.selectedCategoryFilter),c(3),m("ngForOf",e.categoryOptions),c(5),D("ngModel",e.searchTerm),c(2),m("ngIf",e.hasActiveFilters())}}function e2(t,s){t&1&&(r(0,"div",106),_(1,"i",72),a(2," Loading... "),o())}function t2(t,s){if(t&1&&(r(0,"div",135)(1,"span",57),_(2,"i",58),a(3),o()()),t&2){let e=p().$implicit;c(3),w(" ",e.image.name," ")}}function n2(t,s){if(t&1&&(r(0,"div",136)(1,"a",137),_(2,"i",138),a(3),o()()),t&2){let e=p().$implicit;c(),m("href",e.link,ae),c(2),w(" ",e.link," ")}}function i2(t,s){if(t&1){let e=E();r(0,"div",139)(1,"img",140),b("error",function(i){v(e);let d=p().$implicit,u=p(3);return M(u.onImageError(i,d.id))})("load",function(i){v(e);let d=p().$implicit,u=p(3);return M(u.onImageLoad(i,d.id))}),o()()}if(t&2){let e=p().$implicit,n=p(3);c(),m("src",n.getSafeImageUrl(e.image),ae)}}function o2(t,s){if(t&1){let e=E();r(0,"div",110)(1,"div",111)(2,"div",112)(3,"span",113),a(4),o(),r(5,"span",114),_(6,"i",98),a(7),o()(),r(8,"div",115)(9,"button",116),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.openResource(i))}),_(10,"i"),o(),r(11,"button",117),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.startEditing(i))}),_(12,"i",118),o(),r(13,"button",119),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.deleteResource(i.id))}),_(14,"i",120),o()()(),r(15,"div",121)(16,"div",122),_(17,"i"),o(),r(18,"div",123)(19,"h4",124),a(20),o(),r(21,"div",125)(22,"span",126),_(23,"i",100),a(24),o(),r(25,"span",127),_(26,"i",128),a(27),o()(),h(28,t2,4,1,"div",129)(29,n2,4,2,"div",130)(30,i2,2,1,"div",131),o()(),r(31,"div",132)(32,"div",133),_(33,"i",134),a(34),ze(35,"date"),o()()()}if(t&2){let e=s.$implicit,n=p(3);c(3),ct(n.getPriorityClass(e.priority)),c(),w(" ",n.getPriorityLabel(e.priority)," "),c(3),w(" ",n.formatPageName(e.page)," "),c(2),m("title",n.getResourceButtonTitle(e)),c(),ct(n.getResourceButtonIcon(e)),c(7),ct(n.getCategoryIcon(e.category)),c(3),O(e.description),c(4),w(" ",e.category," "),c(3),G(" ",e.section," / ",e.subsection," "),c(),m("ngIf",e.category==="Document"&&e.image),c(),m("ngIf",e.category!=="Document"),c(),m("ngIf",e.image&&e.category!=="Document"),c(4),w(" ",Xe(35,17,e.timestamp,"short")," ")}}function r2(t,s){t&1&&_(0,"i",145)}function a2(t,s){t&1&&_(0,"i",101)}function s2(t,s){t&1&&(r(0,"h4"),a(1,"No resources yet"),o())}function c2(t,s){t&1&&(r(0,"h4"),a(1,"No resources found"),o())}function l2(t,s){t&1&&(r(0,"p"),a(1,"Add your first resource to get started"),o())}function d2(t,s){t&1&&(r(0,"p"),a(1,"Try adjusting your filters or search terms"),o())}function m2(t,s){if(t&1){let e=E();r(0,"button",7),b("click",function(){v(e);let i=p(4);return M(i.startCreating())}),_(1,"i",8),a(2," Add First Resource "),o()}}function g2(t,s){if(t&1){let e=E();r(0,"button",19),b("click",function(){v(e);let i=p(4);return M(i.clearFilters())}),_(1,"i",20),a(2," Clear Filters "),o()}}function p2(t,s){if(t&1&&(r(0,"div",141),h(1,r2,1,0,"i",142)(2,a2,1,0,"i",143)(3,s2,2,0,"h4",47)(4,c2,2,0,"h4",47)(5,l2,2,0,"p",47)(6,d2,2,0,"p",47)(7,m2,3,0,"button",2)(8,g2,3,0,"button",144),o()),t&2){let e=p(3);c(),m("ngIf",!e.hasActiveFilters()),c(),m("ngIf",e.hasActiveFilters()),c(),m("ngIf",!e.hasActiveFilters()),c(),m("ngIf",e.hasActiveFilters()),c(),m("ngIf",!e.hasActiveFilters()),c(),m("ngIf",e.hasActiveFilters()),c(),m("ngIf",!e.hasActiveFilters()),c(),m("ngIf",e.hasActiveFilters())}}function u2(t,s){if(t&1&&(r(0,"div",107),h(1,o2,36,20,"div",108)(2,p2,9,8,"div",109),o()),t&2){let e=p(2);c(),m("ngForOf",e.filteredResources),c(),m("ngIf",e.filteredResources.length===0)}}function _2(t,s){if(t&1&&(r(0,"div",102)(1,"div",103)(2,"h3"),a(3),o(),h(4,e2,3,0,"div",104),o(),h(5,u2,3,2,"div",105),o()),t&2){let e=p();c(3),w("Current Resources (",e.getFilteredResourcesCount(),")"),c(),m("ngIf",e.loading),c(),m("ngIf",!e.loading)}}var au=(()=>{class t{constructor(e,n,i){this.resourceService=e,this.fileService=n,this.fb=i,this.resources=[],this.filteredResources=[],this.isCreating=!1,this.isEditing=!1,this.editingResourceId=null,this.loading=!1,this.errorMessage="",this.successMessage="",this.selectedFile=null,this.selectedFilePreview=null,this.currentResourceImage=null,this.selectedPageFilter="",this.selectedCategoryFilter="",this.searchTerm="",this.pageOptions=["team-resources","season-materials"],this.categoryOptions=["Video","Document","Link"],this.resourceForm=this.fb.group({page:["",[N.required]],section:["",[N.required]],subsection:["",[N.required]],description:["",[N.required,N.minLength(10)]],link:["",[N.pattern("https?://.+")]],category:["",[N.required]],priority:[1,[N.required,N.min(1)]]}),this.resourceForm.get("category")?.valueChanges.subscribe(d=>{let u=this.resourceForm.get("link");d==="Document"?(u?.clearValidators(),u?.setValue("")):u?.setValidators([N.required,N.pattern("https?://.+")]),u?.updateValueAndValidity()})}ngOnInit(){this.loadResources()}loadResources(){this.loading=!0,this.resourceService.fetchAll().subscribe({next:e=>{this.resources=e,this.applyFilters(),this.loading=!1},error:e=>{this.errorMessage="Failed to load resources",this.loading=!1,console.error("Error loading resources:",e)}})}startCreating(){this.isCreating=!0,this.isEditing=!1,this.editingResourceId=null,this.resourceForm.reset({page:"",section:"",subsection:"",description:"",link:"",category:"",priority:1}),this.clearFileSelection(),this.clearMessages()}startEditing(e){this.isEditing=!0,this.isCreating=!1,this.editingResourceId=e.id,this.resourceForm.patchValue({page:e.page,section:e.section,subsection:e.subsection,description:e.description,link:e.link,category:e.category,priority:e.priority}),this.currentResourceImage=e.image||null,this.selectedFile=null,this.selectedFilePreview=null,this.clearMessages(),console.log("Editing resource:",e),console.log("Current resource image:",this.currentResourceImage),console.log("Category:",e.category),console.log("Has current document:",this.hasCurrentDocument())}cancel(){this.isCreating=!1,this.isEditing=!1,this.editingResourceId=null,this.resourceForm.reset(),this.clearFileSelection(),this.clearMessages()}onSubmit(){return q(this,null,function*(){if(this.resourceForm.valid){this.loading=!0;let e=this.resourceForm.value,n=e.category;console.log("Form submission - Category:",n,"Form data:",e),console.log("Selected file:",this.selectedFile?.name,"Current image:",this.currentResourceImage?.name);try{if(n==="Document"){if(!this.selectedFile&&!this.currentResourceImage){this.errorMessage="Please select a file for Document category",this.loading=!1,console.log("Document category requires a file");return}e.link="",this.selectedFile&&(e.image=this.selectedFile,console.log("Adding document file to form data:",this.selectedFile.name))}else{if(!e.link){this.errorMessage="Please provide a link for "+n+" category",this.loading=!1,console.log("Link/Video category requires a link");return}this.selectedFile=null,this.selectedFilePreview=null}if(this.selectedFile&&n!=="Document"&&this.selectedFile.type.startsWith("image/")){let i={quality:.85,maxWidth:1e3,maxHeight:600},d=yield Jt(this.selectedFile,i);e.image=d,console.log("Resource - Original file type:",this.selectedFile.type),console.log("Resource - Converted file type:",d.type)}this.isCreating?this.resourceService.createResource(e).subscribe({next:i=>{this.successMessage="Resource created successfully!",this.loadResources(),this.cancel()},error:i=>{this.errorMessage="Failed to create resource",this.loading=!1,console.error("Error creating resource:",i)}}):this.isEditing&&this.editingResourceId&&this.resourceService.updateResource(this.editingResourceId,e).subscribe({next:i=>{this.successMessage="Resource updated successfully!",this.loadResources(),this.cancel()},error:i=>{this.errorMessage="Failed to update resource",this.loading=!1,console.error("Error updating resource:",i)}})}catch(i){this.loading=!1,console.error("Error converting image to WebP:",i),this.errorMessage="Error converting image to WebP format"}}})}deleteResource(e){confirm("Are you sure you want to delete this resource?")&&(this.loading=!0,this.resourceService.deleteResource(e).subscribe({next:n=>{this.successMessage="Resource deleted successfully!",this.loadResources()},error:n=>{this.errorMessage="Failed to delete resource",this.loading=!1,console.error("Error deleting resource:",n)}}))}clearMessages(){this.errorMessage="",this.successMessage=""}onFileSelected(e){let n=e.target.files[0];if(n){let i=this.resourceForm.get("category")?.value;if(console.log("File selected:",n.name,"Type:",n.type,"Size:",n.size,"Category:",i),i==="Document"){if(!["application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/plain","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip"].includes(n.t
140ype)){this.errorMessage="Please select a valid document file (PDF, DOC, PPT, XLS, ZIP, etc.)",console.log("Invalid file type for Document category:",n.type);return}}else if(!n.type.startsWith("image/")){this.errorMessage="Please select an image file",console.log("Invalid file type for non-Document category:",n.type);return}let d=i==="Document"?10*1024*1024:5*1024*1024;if(n.size>d){this.errorMessage=`File size must be less than ${i==="Document"?"10MB":"5MB"}`,console.log("File too large:",n.size,"Max:",d);return}this.selectedFile=n,this.createFilePreview(n),this.errorMessage="",console.log("File selected successfully:",n.name)}}createFilePreview(e){if(this.resourceForm.get("category")?.value==="Document")this.selectedFilePreview=e.name;else{let i=new FileReader;i.onload=d=>{this.selectedFilePreview=d.target.result},i.readAsDataURL(e)}}clearFileSelection(){this.selectedFile=null,this.selectedFilePreview=null,this.currentResourceImage=null}removeSelectedFile(){this.selectedFile=null,this.selectedFilePreview=null}getCurrentImageUrl(){return this.getSafeImageUrl(this.currentResourceImage)}shouldShowLinkField(){let e=this.resourceForm.get("category")?.value;return e==="Video"||e==="Link"}shouldShowFileField(){return this.resourceForm.get("category")?.value==="Document"}getLinkPlaceholder(){return this.resourceForm.get("category")?.value==="Video"?"https://www.youtube.com/watch?v=...":"https://example.com/resource"}getLinkLabel(){return this.resourceForm.get("category")?.value==="Video"?"Video URL *":"Resource Link *"}getPriorityLabel(e){return e>=5?"High":e>=3?"Medium":"Low"}getPriorityClass(e){return e>=5?"high":e>=3?"medium":"low"}getCategoryIcon(e){switch(e.toLowerCase()){case"video":return"fas fa-video";case"document":return"fas fa-file-alt";case"link":return"fas fa-link";default:return"fas fa-link"}}formatPageName(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}openLink(e){window.open(e,"_blank")}openResource(e){if(e.category==="Document"&&e.image){let n=this.getSafeImageUrl(e.image);n&&window.open(n,"_blank")}else e.link&&window.open(e.link,"_blank")}getResourceButtonTitle(e){return e.category==="Document"?"Open Document":e.category==="Video"?"Open Video":"Open Link"}getResourceButtonIcon(e){return e.category==="Document"?"fas fa-file-alt":e.category==="Video"?"fas fa-video":"fas fa-external-link-alt"}onImageLoad(e,n){console.log(`Image loaded successfully for resource ${n}`)}onImageError(e,n){console.warn(`Failed to load image for resource ${n}`),e.target.classList.add("error")}getSafeImageUrl(e){return e&&e.id?this.fileService.getPublicFilePreviewUrl(e.id):null}getCurrentDocumentInfo(){let e=this.currentResourceImage!==null,n=this.resourceForm.get("category")?.value==="Document";return console.log("getCurrentDocumentInfo check:",{hasImage:e,isDocument:n,currentImage:this.currentResourceImage,category:this.resourceForm.get("category")?.value}),e&&n&&this.currentResourceImage?this.currentResourceImage.name:null}hasCurrentDocument(){let e=this.currentResourceImage!==null,n=this.resourceForm.get("category")?.value==="Document";return console.log("hasCurrentDocument check:",{hasImage:e,isDocument:n,currentImage:this.currentResourceImage,category:this.resourceForm.get("category")?.value}),e&&n}applyFilters(){this.filteredResources=this.resources.filter(e=>{let n=!this.selectedPageFilter||e.page===this.selectedPageFilter,i=!this.selectedCategoryFilter||e.category===this.selectedCategoryFilter,d=!this.searchTerm||e.description.toLowerCase().includes(this.searchTerm.toLowerCase())||e.section.toLowerCase().includes(this.searchTerm.toLowerCase())||e.subsection.toLowerCase().includes(this.searchTerm.toLowerCase());return n&&i&&d})}onPageFilterChange(){this.applyFilters()}onCategoryFilterChange(){this.applyFilters()}onSearchChange(){this.applyFilters()}clearFilters(){this.selectedPageFilter="",this.selectedCategoryFilter="",this.searchTerm="",this.applyFilters()}getFilteredResourcesCount(){return this.filteredResources.length}hasActiveFilters(){return this.selectedPageFilter!==""||this.selectedCategoryFilter!==""||this.searchTerm!==""}static{this.\u0275fac=function(n){return new(n||t)(T(Ao),T(Dt),T(Ye))}}static{this.\u0275cmp=V({type:t,selectors:[["app-resource-management"]],standalone:!0,features:[B],decls:11,vars:5,consts:[[1,"resource-management"],[1,"header-section"],["class","btn btn-primary",3,"click",4,"ngIf"],["class","messages",4,"ngIf"],["class","form-section",4,"ngIf"],["class","filter-section",4,"ngIf"],["class","resources-section",4,"ngIf"],[1,"btn","btn-primary",3,"click"],[1,"fas","fa-plus"],[1,"messages"],["class","alert alert-success",4,"ngIf"],["class","alert alert-error",4,"ngIf"],[1,"alert","alert-success"],[1,"fas","fa-check-circle"],[1,"alert","alert-error"],[1,"fas","fa-exclamation-circle"],[1,"form-section"],[1,"form-card"],[1,"form-header"],[1,"btn","btn-secondary",3,"click"],[1,"fas","fa-times"],[1,"resource-form",3,"ngSubmit","formGroup"],[1,"form-row"],[1,"form-group"],["for","page"],["id","page","formControlName","page"],["value",""],[3,"value",4,"ngFor","ngForOf"],["class","error-message",4,"ngIf"],["for","category"],["id","category","formControlName","category"],["for","section"],["type","text","id","section","formControlName","section","placeholder","Enter section name"],["for","subsection"],["type","text","id","subsection","formControlName","subsection","placeholder","Enter subsection name"],["for","description"],["id","description","formControlName","description","rows","4","placeholder","Enter resource description (min 10 characters)"],["class","form-group",4,"ngIf"],["for","priority"],["type","number","id","priority","formControlName","priority","min","1","placeholder","Enter priority (higher number = higher priority)"],["class","form-row",4,"ngIf"],[1,"form-actions"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","fas fa-save",4,"ngIf"],[3,"value"],[1,"error-message"],[4,"ngIf"],["for","link"],["type","url","id","link","formControlName","link",3,"placeholder"],["for","image"],["type","file","id","image","accept",".pdf,.doc,.docx,.txt,.ppt,.pptx,.xls,.xlsx,.zip",1,"file-input",3,"change"],[1,"file-preview-container"],["class","document-preview current-document",4,"ngIf"],["class","document-preview new-document",4,"ngIf"],["class","image-preview-container",4,"ngIf"],[1,"document-preview","current-document"],[1,"document-info"],[1,"fas","fa-file-alt"],[1,"file-details"],[1,"current-file-label"],[1,"document-actions"],["target","_blank","title","View current file",1,"btn","btn-sm","btn-info","view-file-btn",3,"href"],[1,"fas","fa-eye"],[1,"document-preview","new-document"],[1,"fas","fa-file-plus"],[1,"new-file-label"],["type","button",1,"btn","btn-sm","btn-danger","remove-file-btn",3,"click"],[1,"image-preview-container"],["alt","Preview",1,"image-preview",3,"src"],["type","button","class","btn btn-sm btn-danger remove-image-btn",3,"click",4,"ngIf"],["type","button",1,"btn","btn-sm","btn-danger","remove-image-btn",3,"click"],[1,"fas","fa-spinner","fa-spin"],[1,"fas","fa-save"],[1,"filter-section"],[1,"filter-card"],[1,"filter-header"],[1,"fas","fa-filter"],["class","btn btn-secondary btn-sm",3,"click",4,"ngIf"],[1,"filter-control
140s"],[1,"filter-row"],[1,"filter-group"],["for","pageFilter"],["id","pageFilter",1,"filter-select",3,"ngModelChange","change","ngModel"],["for","categoryFilter"],["id","categoryFilter",1,"filter-select",3,"ngModelChange","change","ngModel"],["for","searchInput"],[1,"search-input-container"],["type","text","id","searchInput","placeholder","Search by description, section, or subsection...",1,"search-input",3,"ngModelChange","input","ngModel"],[1,"fas","fa-search","search-icon"],["class","filter-results",4,"ngIf"],[1,"btn","btn-secondary","btn-sm",3,"click"],[1,"filter-results"],[1,"results-info"],[1,"results-count"],[1,"active-filters"],["class","active-filter",4,"ngIf"],[1,"active-filter"],[1,"fas","fa-folder"],[1,"remove-filter",3,"click"],[1,"fas","fa-tag"],[1,"fas","fa-search"],[1,"resources-section"],[1,"section-header"],["class","loading-spinner",4,"ngIf"],["class","resources-grid",4,"ngIf"],[1,"loading-spinner"],[1,"resources-grid"],["class","resource-card",4,"ngFor","ngForOf"],["class","empty-state",4,"ngIf"],[1,"resource-card"],[1,"resource-header"],[1,"resource-meta"],[1,"priority-badge"],[1,"page-badge"],[1,"resource-actions"],[1,"btn","btn-sm","btn-info",3,"click","title"],["title","Edit",1,"btn","btn-sm","btn-secondary",3,"click"],[1,"fas","fa-edit"],["title","Delete",1,"btn","btn-sm","btn-danger",3,"click"],[1,"fas","fa-trash"],[1,"resource-content"],[1,"resource-icon"],[1,"resource-details"],[1,"resource-title"],[1,"resource-info"],[1,"category"],[1,"section"],[1,"fas","fa-layer-group"],["class","resource-document",4,"ngIf"],["class","resource-link",4,"ngIf"],["class","resource-image",4,"ngIf"],[1,"resource-footer"],[1,"resource-timestamp"],[1,"fas","fa-calendar"],[1,"resource-document"],[1,"resource-link"],["target","_blank",1,"link-text",3,"href"],[1,"fas","fa-link"],[1,"resource-image"],["alt","Resource image",1,"resource-thumbnail",3,"error","load","src"],[1,"empty-state"],["class","fas fa-archive",4,"ngIf"],["class","fas fa-search",4,"ngIf"],["class","btn btn-secondary",3,"click",4,"ngIf"],[1,"fas","fa-archive"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h2"),a(3,"Resource Management"),o(),r(4,"p"),a(5,"Manage resources that are available to teams and users"),o(),h(6,pO,3,0,"button",2),o(),h(7,fO,3,2,"div",3)(8,$O,57,29,"div",4)(9,XO,30,7,"div",5)(10,_2,6,3,"div",6),o()),n&2&&(c(6),m("ngIf",!i.isCreating&&!i.isEditing),c(),m("ngIf",i.errorMessage||i.successMessage),c(),m("ngIf",i.isCreating||i.isEditing),c(),m("ngIf",!i.isCreating&&!i.isEditing),c(),m("ngIf",!i.isCreating&&!i.isEditing))},dependencies:[H,X,$,mn,$e,Oe,fe,he,re,lt,ue,ie,Pe,yt,We,Ge,se,pe],styles:[".resource-management[_ngcontent-%COMP%]{padding:20px;max-width:1200px;margin:0 auto}.resource-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.resource-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:28px;font-weight:600}.resource-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:5px 0 0;color:#6c757d;font-size:16px}.resource-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 24px;border-radius:8px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.resource-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.resource-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.resource-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%]{margin-bottom:20px}.resource-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{padding:15px 20px;border-radius:8px;margin-bottom:15px;
140display:flex;align-items:center;font-weight:500}.resource-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%] .alert.alert-success[_ngcontent-%COMP%]{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.resource-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%] .alert.alert-error[_ngcontent-%COMP%]{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.resource-management[_ngcontent-%COMP%] .messages[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;font-size:18px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%]{margin-bottom:30px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 8px 30px #0000001a;padding:30px;border:1px solid #e9ecef}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-input[_ngcontent-%COMP%]{width:100%;padding:10px;border:2px dashed #ddd;border-radius:8px;background-color:#f8f9fa;cursor:pointer;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-input[_ngcontent-%COMP%]:hover{border-color:#667eea;background-color:#f0f2ff}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%]{margin-top:10px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%]{position:relative;display:inline-block;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:15px;
140min-width:200px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;color:#495057;font-weight:500}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:24px;color:#6c757d;flex-shrink:0}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%] .file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;word-break:break-all;font-weight:500}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{font-size:12px;color:#6c757d;font-weight:400;font-style:italic}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .document-actions[_ngcontent-%COMP%]{margin-top:10px;display:flex;gap:8px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .remove-file-btn[_ngcontent-%COMP%]{position:absolute;top:-10px;right:-10px;background:#dc3545;border:none;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .remove-file-btn[_ngcontent-%COMP%]:hover{background:#c82333;transform:scale(1.1)}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview[_ngcontent-%COMP%] .remove-file-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview.current-document[_ngcontent-%COMP%]{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border-color:#28a745;border-width:2px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview.current-document[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#28a745}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview.current-document[_ngcontent-%COMP%] .current-file-label[_ngcontent-%COMP%]{color:#28a745!important;font-weight:500;background:#28a7451a;padding:2px 6px;border-radius:4px;display:inline-block}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview.new-document[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fff3cd,#fef9e7);border-color:#ffc107;border-width:2px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview.new-document[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ffc107}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .document-preview.new-document[_ngcontent-%COMP%] .new-file-label[_ngcontent-%COMP%]{color:#856404!important;font-weight:500;background:#ffc1071a;padding:2px 6px;border-radius:4px;display:inline-block}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%]{position:relative;display:inline-block}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .image-preview[_ngcontent-%COMP%]{max-width:200
140px;max-height:150px;border-radius:8px;border:2px solid #e9ecef;object-fit:cover}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%]{position:absolute;top:-10px;right:-10px;background:#dc3545;border:none;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%]:hover{background:#c82333;transform:scale(1.1)}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .file-preview-container[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:22px;font-weight:600}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]{background:#6c757d;border:none;color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]:hover{background:#5a6268}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]:nth-child(3){grid-template-columns:1fr}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:14px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:all .3s ease;background:#f8f9fa}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%], .resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea.error[_ngcontent-%COMP%], .resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select.error[_ngcontent-%COMP%]{border-color:#dc3545}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;min-height:100px}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:12px;margin-top:5px;font-weight:500}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 30px;border-radius:8px;font-weight:500;font-size:16px;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%]{margin-bottom:30px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;padding:25px;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%]:hover{box-shadow:0 6px 25px #0000001f}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f1f3f4}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:20px;font-weight:600;display:flex;align-items:center}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;color:#667eea}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]{background:#6c757d;border:none;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]:hover{background:#5a6268;transform:translateY(-1px)}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-header[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-control
140s[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;align-items:end}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:14px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%]{width:100%;padding:10px 14px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;background:#f8f9fa;transition:all .3s ease;cursor:pointer}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%]:hover{border-color:#ced4da}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{position:relative}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{width:100%;padding:10px 14px 10px 40px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;background:#f8f9fa;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]:hover{border-color:#ced4da}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]::placeholder{color:#6c757d;font-style:italic}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6c757d;font-size:14px;pointer-events:none}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%]{margin-top:20px;padding-top:15px;border-top:1px solid #f1f3f4}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%] .results-count[_ngcontent-%COMP%]{color:#495057;font-weight:500;font-size:14px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%] .active-filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%] .active-filters[_ngcontent-%COMP%] .active-filter[_ngcontent-%COMP%]{display:inline-flex;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;gap:6px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%] .active-filters[_ngcontent-%COMP%] .active-filter[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:11px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%] .active-filters[_ngcontent-%COMP%] .active-filter[_ngcontent-%COMP%] .remove-filter[_ngcontent-%COMP%]{background:#fff3;border:none;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin-left:4px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%] .active-filters[_ngcontent-%COMP%] .active-filter[_ngcontent-%COMP%] .remove-filter[_ngcontent-%COMP%]:hover{background:#ffffff4d;transform:scale(1.1)}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%] .active-filters[_ngcontent-%COMP%] .active-filter[_ngcontent-%COMP%] .remove-filter[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:10px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:22px;font-weight:600}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{color:#667eea;font-weight:500}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;overflow:hidden;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%]:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 15px;border-bottom:1px solid #f1f3f4}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-meta[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-meta[_ngcontent-%COMP%] .priority-badge[_ngcontent-%COMP%]{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-meta[_ngcontent-%COMP%] .priority-badge.high[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-meta[_ngcontent-%COMP%] .priority-badge.medium[_ng
140content-%COMP%]{background:#fff3cd;color:#856404}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-meta[_ngcontent-%COMP%] .priority-badge.low[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-meta[_ngcontent-%COMP%] .page-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:4px 12px;background:#e3f2fd;color:#1565c0;border-radius:20px;font-size:12px;font-weight:600}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-meta[_ngcontent-%COMP%] .page-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%]{display:flex;gap:8px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%]{padding:6px 10px;border:none;border-radius:6px;font-size:12px;transition:all .3s ease}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%] .btn-sm.btn-info[_ngcontent-%COMP%]{background:#17a2b8;color:#fff}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%] .btn-sm.btn-info[_ngcontent-%COMP%]:hover{background:#138496}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%] .btn-sm.btn-secondary[_ngcontent-%COMP%]{background:#6c757d;color:#fff}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%] .btn-sm.btn-secondary[_ngcontent-%COMP%]:hover{background:#5a6268}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%] .btn-sm.btn-danger[_ngcontent-%COMP%]{background:#dc3545;color:#fff}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%] .btn-sm.btn-danger[_ngcontent-%COMP%]:hover{background:#c82333}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-header[_ngcontent-%COMP%] .resource-actions[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%]{display:flex;padding:20px;gap:15px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-icon[_ngcontent-%COMP%]{flex-shrink:0;width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%]{flex:1;min-width:0}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-title[_ngcontent-%COMP%]{margin:0 0 10px;color:#2c3e50;font-size:16px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:12px;color:#6c757d}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px;width:12px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-link[_ngcontent-%COMP%] .link-text[_ngcontent-%COMP%]{color:#667eea;text-decoration:none;font-size:12px;display:flex;align-items:center;word-break:break-all}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-link[_ngcontent-%COMP%] .link-text[_ngcontent-%COMP%]:hover{text-decoration:underline}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-link[_ngcontent-%COMP%] .link-text[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px;flex-shrink:0}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-document[_ngcontent-%COMP%]{margin-top:8px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-document[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%]{color:#495057;font-size:12px;display:flex;align-items:center;gap:6px;background:#f8f9fa;padding:6px 10px;border-radius:4px;border-left:3px solid #28a745}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-document[_ngcontent-%COMP%] .document-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px;color:#28a745;flex-shrink:0}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-image[_ngcontent-%COMP%]{margin-top:15px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-image[_ngcontent-%COMP%] .resource-thumbnail[_ngcontent-%COMP%]{max-width:100%;max-height:120px;border-radius:6px;object-fit:cover;border:1px solid #e9ecef;transition:opacity .3s ease}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-details[_ngcontent-%COMP%] .resource-image[_ngcontent-%COMP%] .resource-thumbnail.error[_ngcontent-%COMP%]{opacity:.5;filter:grayscale(100%)}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-footer[_ngcontent-%COMP%]{padding:15px 20px 20px;background:#f8f9fa;border-top:1px solid #f1f3f4}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-footer[_ngcontent-%COMP%] .resource-timestamp[_ngcontent-%COMP%]{font-size:12px;color:#6c757d;display:flex;align-items:center}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-footer[_ngcontent-%COMP%] .resource-timestamp[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{grid-column:1/-1;text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;border:2px dashed #e9ecef}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:48px;color:#6c757d;margin-bottom:20px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] h4[_ng
140content-%COMP%]{margin:0 0 10px;color:#2c3e50;font-size:20px;font-weight:600}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 25px;color:#6c757d;font-size:16px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 24px;border-radius:8px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}@media (max-width: 768px){.resource-management[_ngcontent-%COMP%]{padding:15px}.resource-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:15px}.resource-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{align-self:stretch}.resource-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .resource-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-controls[_ngcontent-%COMP%] .filter-row[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:15px}.resource-management[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .filter-results[_ngcontent-%COMP%] .results-info[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:10px}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%]{flex-direction:column;text-align:center}.resource-management[_ngcontent-%COMP%] .resources-section[_ngcontent-%COMP%] .resources-grid[_ngcontent-%COMP%] .resource-card[_ngcontent-%COMP%] .resource-content[_ngcontent-%COMP%] .resource-icon[_ngcontent-%COMP%]{align-self:center}}"]})}}return t})();var Ti=Li(vi());var Nt=Li(vi());function Ji(){return Ji=Object.assign?Object.assign.bind():function(t){for(var s=1;s<arguments.length;s++){var e=arguments[s];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t},Ji.apply(this,arguments)}function f2(t,s){t.prototype=Object.create(s.prototype),t.prototype.constructor=t,Es(t,s)}function Es(t,s){return Es=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},Es(t,s)}function h2(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function id(t,s,e){return id=h2()?Reflect.construct.bind():function(n,i,d){var u=[null];u.push.apply(u,i);var x=new(Function.bind.apply(n,u));return d&&Es(x,d.prototype),x},id.apply(null,arguments)}function ii(t,s,e,n){s===void 0&&(s=""),n===void 0&&(n={});var i=document.createElement(t);return s&&(i.className=s),Object.keys(n).forEach(function(d){if(typeof n[d]=="function"){var u=d.indexOf("on")===0?d.substr(2).toLowerCase():d;i.addEventListener(u,n[d])}else d==="html"?i.innerHTML=n[d]:d==="text"?i.innerText=n[d]:i.setAttribute(d,n[d])}),e&&e.appendChild(i),i}function Qr(t){t.preventDefault(),t.stopPropagation()}
vendor: 4,367 bytes, line 140
140var Ss=function(){return[].slice.call(arguments).filter(Boolean).join(" ").trim()};function Xi(t,s){t&&t.classList&&(Array.isArray(s)?s:[s]).forEach(function(e){t.classList.contains(e)||t.classList.add(e)})}function Wn(t,s){t&&t.classList&&(Array.isArray(s)?s:[s]).forEach(function(e){t.classList.contains(e)&&t.classList.remove(e)})}var Ts,ks=13,od=40,cu=38,C2=[ks,27,od,cu,37,39],v2=function(){function t(e){var n=this,i=e.handleSubmit,d=e.searchLabel,u=e.classNames,x=u===void 0?{}:u;this.container=void 0,this.form=void 0,this.input=void 0,this.handleSubmit=void 0,this.hasError=!1,this.container=ii("div",Ss("geosearch",x.container)),this.form=ii("form",["",x.form].join(" "),this.container,{autocomplete:"none",onClick:Qr,onDblClick:Qr,touchStart:Qr,touchEnd:Qr}),this.input=ii("input",["glass",x.input].join(" "),this.form,{type:"text",placeholder:d||"search",onInput:this.onInput,onKeyUp:function(y){return n.onKeyUp(y)},onKeyPress:function(y){return n.onKeyPress(y)},onFocus:this.onFocus,onBlur:this.onBlur,onClick:function(){n.input.focus(),n.input.dispatchEvent(new Event("focus"))}}),this.handleSubmit=i}var s=t.prototype;return s.onFocus=function(){Xi(this.form,"active")},s.onBlur=function(){Wn(this.form,"active")},s.onSubmit=function(e){try{var n=this;return Qr(e),Wn(i=n.container,"error"),Xi(i,"pending"),Promise.resolve(n.handleSubmit({query:n.input.value})).then(function(){Wn(n.container,"pending")})}catch(d){return Promise.reject(d)}var i},s.onInput=function(){this.hasError&&(Wn(this.container,"error"),this.hasError=!1)},s.onKeyUp=function(e){e.keyCode===27&&(Wn(this.container,["pending","active"]),this.input.value="",document.body.focus(),document.body.blur())},s.onKeyPress=function(e){e.keyCode===ks&&this.onSubmit(e)},s.setQuery=function(e){this.input.value=e},t}(),M2=function(){function t(e){var n=this,i=e.handleClick,d=e.classNames,u=d===void 0?{}:d,x=e.notFoundMessage;this.handleClick=void 0,this.selected=-1,this.results=[],this.container=void 0,this.resultItem=void 0,this.notFoundMessage=void 0,this.onClick=function(y){if(typeof n.handleClick=="function"){var k=y.target;if(k&&n.container.contains(k)&&k.hasAttribute("data-key")){var W=Number(k.getAttribute("data-key"));n.handleClick({result:n.results[W]})}}},this.handleClick=i,this.notFoundMessage=x?ii("div",Ss(u.notfound),void 0,{html:x}):void 0,this.container=ii("div",Ss("results",u.resultlist)),this.container.addEventListener("click",this.onClick,!0),this.resultItem=ii("div",Ss(u.item))}var s=t.prototype;return s.render=function(e,n){var i=this;e===void 0&&(e=[]),this.clear(),e.forEach(function(d,u){var x=i.resultItem.cloneNode(!0);x.setAttribute("data-key",""+u),x.innerHTML=n({result:d}),i.container.appendChild(x)}),e.length>0?(Xi(this.container.parentElement,"open"),Xi(this.container,"active")):this.notFoundMessage&&(this.container.appendChild(this.notFoundMessage),Xi(this.container.parentElement,"open")),this.results=e},s.select=function(e){return Array.from(this.container.children).forEach(function(n,i){return i===e?Xi(n,"active"):Wn(n,"active")}),this.selected=e,this.results[e]},s.count=function(){return this.results?this.results.length:0},s.clear=function(){for(this.selected=-1;this.container.lastChild;)this.container.removeChild(this.container.lastChild);Wn(this.container.parentElement,"open"),Wn(this.container,"active")},t}(),nd={position:"topleft",style:"button",showMarker:!0,showPopup:!1,popupFormat:function(t){return""+t.result.label},resultFormat:function(t){return""+t.result.label},marker:{icon:Nt&&Nt.Icon?new Nt.Icon.Default:void 0,draggable:!1},maxMarkers:1,maxSuggestions:5,retainZoomLevel:!1,animateZoom:!0,searchLabel:"Enter address",clearSearchLabel:"Clear search",notFoundMessage:"",messageHideDelay:3e3,zoomLevel:18,classNames:{container:"leaflet-bar leaflet-control leaflet-control-geosearch",button:"leaflet-bar-part leaflet-bar-part-single",resetButton:"reset",msgbox:"leaflet-bar message",form:"",input:"",resultlist:"",item:"",notfound:"leaflet-bar-notfound"},autoComplete:!0,autoCompleteDelay:250,autoClose:!1,keepResult:!1,updateMap:!0,resetButton:"\xD7"},lu="Leaflet must be loaded before instantiating the GeoSearch control",x2={options:Ji({},nd),classNames:Ji({},nd.classNames),initialize:function(t){var s,e,n,i,d=this;if(!Nt)throw new Error(lu);if(!t.provider)throw new Error("Provider is missing from options");
140this.options=Ji({},nd,t),this.classNames=Ji({},this.classNames,t.classNames),this.markers=new Nt.FeatureGroup,this.classNames.container+=" leaflet-geosearch-"+this.options.style,this.searchElement=new v2({searchLabel:this.options.searchLabel,classNames:{container:this.classNames.container,form:this.classNames.form,input:this.classNames.input},handleSubmit:function(u){return d.onSubmit(u)}}),this.button=ii("a",this.classNames.button,this.searchElement.container,{title:this.options.searchLabel,href:"#",onClick:function(u){return d.onClick(u)}}),Nt.DomEvent.disableClickPropagation(this.button),this.resetButton=ii("button",this.classNames.resetButton,this.searchElement.form,{text:this.options.resetButton,"aria-label":this.options.clearSearchLabel,onClick:function(){d.searchElement.input.value===""?d.close():d.clearResults(null,!0)}}),Nt.DomEvent.disableClickPropagation(this.resetButton),this.options.autoComplete&&(this.resultList=new M2({handleClick:function(u){var x=u.result;d.searchElement.input.value=x.label,d.onSubmit({query:x.label,data:x})},classNames:{resultlist:this.classNames.resultlist,item:this.classNames.item,notfound:this.classNames.notfound},notFoundMessage:this.options.notFoundMessage}),this.searchElement.form.appendChild(this.resultList.container),this.searchElement.input.addEventListener("keyup",(s=function(u){return d.autoSearch(u)},(e=this.options.autoCompleteDelay)===void 0&&(e=250),n===void 0&&(n=!1),function(){var u=[].slice.call(arguments);i&&clearTimeout(i),i=setTimeout(function(){i=null,n||s.apply(void 0,u)},e),n&&!i&&s.apply(void 0,u)}),!0),this.searchElement.input.addEventListener("keydown",function(u){return d.selectResult(u)},!0),this.searchElement.input.addEventListener("keydown",function(u){return d.clearResults(u,!0)},!0)),this.searchElement.form.addEventListener("click",function(u){u.preventDefault()},!1)},onAdd:function(t){var s=this.options,e=s.showMarker,n=s.style;if(this.map=t,e&&this.markers.addTo(t),n==="bar"){var i=t.getContainer().querySelector(".leaflet-control-container");this.container=ii("div","leaflet-control-geosearch leaflet-geosearch-bar"),this.container.appendChild(this.searchElement.form),i.appendChild(this.container)}return Nt.DomEvent.disableClickPropagation(this.searchElement.form),this.searchElement.container},onRemove:function(){var t;return(t=this.container)==null||t.remove(),this},open:function(){var t=this.searchElement,s=t.input;Xi(t.container,"active"),s.focus()},close:function(){Wn(this.searchElement.container,"active"),this.clearResults()},onClick:function(t){t.preventDefault(),t.stopPropagation(),this.searchElement.container.classList.contains("active")?this.close():this.open()},selectResult:function(t){if([ks,od,cu].indexOf(t.keyCode)!==-1)if(t.preventDefault(),t.keyCode!==ks){var s=this.resultList.count()-1;if(!(s<0)){var e=this.resultList.selected,n=t.keyCode===od?e+1:e-1,i=this.resultList.select(n<0?s:n>s?0:n);this.searchElement.input.value=i.label}}else{var d=this.resultList.select(this.resultList.selected);this.onSubmit({query:this.searchElement.input.value,data:d})}},clearResults:function(t,s){if(s===void 0&&(s=!1),!t||t.keyCode===27){var e=this.options,n=e.autoComplete;!s&&e.keepResult||(this.searchElement.input.value="",this.markers.clearLayers()),n&&this.resultList.clear()}},autoSearch:function(t){try{var s=this;if(C2.indexOf(t.keyCode)>-1)return Promise.resolve();var e=t.target.value,n=s.options.provider,i=function(){if(e.length)return Promise.resolve(n.search({query:e})).then(function(d){d=d.slice(0,s.options.maxSuggestions),s.resultList.render(d,s.options.resultFormat)});s.resultList.clear()}();return Promise.resolve(i&&i.then?i.then(function(){}):void 0)}catch(d){return Promise.reject(d)}},onSubmit:function(t){try{var s=this;return s.resultList.clear(),Promise.resolve(s.options.provider.search(t)).then(function(e){e&&e.length>0&&s.showResult(e[0],t)})}catch(e){return Promise.reject(e)}},showResult:function(t,s){var e=this.options,n=e.autoClose,i=e.updateMap,d=this.markers.getLayers();d.length>=this.options.maxMarkers&&this.markers.removeLayer(d[0]);var u=this.addMarker(t,s);i&&this.centerMap(t),this.map.fireEvent("geosearch/showlocation",{location:t,marker:u}),n&&this.closeResults()},closeResults:function(){var t=this.searchElement.container;t.classList.contains("active")&&Wn(t,"active"),this.clearResults()},addMarker:function(t,s){var e=this,n=this.options,i=n.marker,d=n.showPopup,u=n.popupFormat,x=new Nt.Marker([t.y,t.x],i),y=t.label;return typeof u=="function"&&(y=u({query:s,result:t})),x.bindPopup(y),this.markers.addLayer(x),d&&x.openPopup(),i.draggable&&x.on("dragend",function(k){e.map.fireEvent("geosearch/marker/dragend",{location:x.getLatLng(),event:k})}),x},centerMap:function(t){var s=this.options,e=s.retainZoomLevel,n=s.animateZoom,i=t.bounds?new Nt.LatLngBounds(t.bounds):new Nt.LatLng(t.y,t.x).toBounds(10),d=i.isValid()?i:this.markers.getBounds();
140!e&&i.isValid()&&!t.bounds||e||!i.isValid()?this.map.setView(d.getCenter(),this.getZoom(),{animate:n}):this.map.fitBounds(d,{animate:n})},getZoom:function(){var t=this.options,s=t.zoomLevel;return t.retainZoomLevel?this.map.getZoom():s}};function Is(){if(!Nt)throw new Error(lu);var t=Nt.Control.extend(x2);return id(t,[].slice.call(arguments))}(function(t){t[t.SEARCH=0]="SEARCH",t[t.REVERSE=1]="REVERSE"})(Ts||(Ts={}));var b2=function(){function t(e){e===void 0&&(e={}),this.options=void 0,this.options=e}var s=t.prototype;return s.getParamString=function(e){e===void 0&&(e={});var n=Ji({},this.options.params,e);return Object.keys(n).map(function(i){return encodeURIComponent(i)+"="+encodeURIComponent(n[i])}).join("&")},s.getUrl=function(e,n){return e+"?"+this.getParamString(n)},s.search=function(e){try{var n=this,i=n.endpoint({query:e.query,type:Ts.SEARCH});return Promise.resolve(fetch(i)).then(function(d){return Promise.resolve(d.json()).then(function(u){return n.parse({data:u})})})}catch(d){return Promise.reject(d)}},t}();var su;(function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"})(su||(su={}));var Fs=function(t){function s(n){var i;n===void 0&&(n={}),(i=t.call(this,n)||this).searchUrl=void 0,i.reverseUrl=void 0;var d="https://nominatim.openstreetmap.org";return i.searchUrl=n.searchUrl||d+"/search",i.reverseUrl=n.reverseUrl||d+"/reverse",i}f2(s,t);var e=s.prototype;return e.endpoint=function(n){var i=n.query,d=n.type,u=typeof i=="string"?{q:i}:i;return u.format="json",this.getUrl(d===Ts.REVERSE?this.reverseUrl:this.searchUrl,u)},e.parse=function(n){return(Array.isArray(n.data)?n.data:[n.data]).map(function(i){return{x:Number(i.lon),y:Number(i.lat),label:i.display_name,bounds:[[parseFloat(i.boundingbox[0]),parseFloat(i.boundingbox[2])],[parseFloat(i.boundingbox[1]),parseFloat(i.boundingbox[3])]],raw:i}})},s}(b2);function P2(t,s){if(t&1&&(r(0,"div",11)(1,"span",12),a(2,"Current Season:"),o(),r(3,"span",13),a(4),o(),r(5,"span",14),a(6),o(),r(7,"span",15),a(8),o()()),t&2){let e=p();c(4),w("#",e.currentSeason.seasonNumber,""),c(2),O(e.currentSeason.seasonName),c(2),w("(ID: ",e.currentSeason.id,")")}}function O2(t,s){t&1&&(r(0,"div",16),_(1,"i",17),a(2," Loading season info... "),o())}function y2(t,s){if(t&1&&(r(0,"option",21),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),G(" Season #",e.seasonNumber," - ",e.seasonName," ")}}function w2(t,s){if(t&1){let e=E();r(0,"div",18)(1,"label",19),a(2,"Filter by Season:"),o(),r(3,"select",20),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectedSeasonFilter,i)||(d.selectedSeasonFilter=i),M(i)}),b("change",function(){v(e);let i=p();return M(i.onSeasonFilterChange())}),r(4,"option",21),a(5,"All Seasons"),o(),h(6,y2,2,3,"option",22),o()()}if(t&2){let e=p();c(3),D("ngModel",e.selectedSeasonFilter),c(),m("value",null),c(2),m("ngForOf",e.allSeasons)}}function S2(t,s){if(t&1){let e=E();r(0,"button",23),b("click",function(){v(e);let i=p();return M(i.showCreateEventForm())}),_(1,"i",24),a(2," Create New Event "),o()}}function E2(t,s){t&1&&(r(0,"div",25),_(1,"div",26),r(2,"p"),a(3,"Loading events..."),o()())}function T2(t,s){if(t&1){let e=E();r(0,"div",27)(1,"p",28),a(2),o(),r(3,"button",29),b("click",function(){v(e);let i=p();return M(i.loadEvents())}),a(4,"Retry"),o()()}if(t&2){let e=p();c(2),O(e.error)}}function k2(t,s){t&1&&(r(0,"div",86),a(1," Title is required and must be at least 5 characters "),o())}function I2(t,s){t&1&&(r(0,"div",86),a(1," Short description is required and must be at least 10 characters "),o())}function F2(t,s){t&1&&(r(0,"div",86),a(1," Description is required and must be at least 20 characters "),o())}function D2(t,s){t&1&&(r(0,"div",86),a(1," Location is required "),o())}function R2(t,s){t&1&&(r(0,"div",86),a(1," Organizer is required "),o())}function z2(t,s){t&1&&(r(0,"div",86),a(1," Start date is required "),o())}function N2(t,s){t&1&&(r(0,"div",86),a(1," End date is required "),o())}function A2(t,s){t&1&&(r(0,"div",86),a(1," Valid URL is required "),o())}function L2(t,s){t&1&&(r(0,"div",86),a(1," Category is required "),o())}function V2(t,s){if(t&1&&(r(0,"div",87)(1,"span",88)(2,"strong"),a(3),o(),a(4),r(5,"span",89),a(6),o()()()),t&2){let e=p(2);c(3),w("#",e.currentSeason.seasonNumber,""),c(),w(" - ",e.currentSeason.seasonName," "),c(2),w("(ID: ",e.currentSeason.id,")")}}function B2(t,s){if(t&1){let e=E();r(0,"div",30)(1,"h2"),a(2,"Create New Event"),o(),r(3,"form",31),b("ngSubmit",function(){v(e);let i=p();return M(i.createEvent())}),r(4,"div",32)(5,"div",33)(6,"label",34),a(7,"Title *"),o(),_(8,"input",35),h(9,k2,2,0,"div",36),o()(),r(10,"div",32)(11,"div",33)(12,"label",37),a(13,"Short Description *"),o(),_(14,"textarea",38),h(15,I2,2,0,"div",36),o()(),r(16,"div",32)(17,"div",33)(18,"label",39),a(19,"Description *"),o(),_(20,"textarea",40),h(21,F2,2,0,"div",36),o()(),r(22,"div",32)(23,"div",33)(24,"label",41),a(25,"Location *"),o(),_(26,"input",42),h(27,D2,2,0,"div",36),o()(),r(28,"div",32)(29,"div",33)(30,"label",43),a(31,"Organizer *"),o(),_(32,"input",44),h(33,R2,2,0,"div",36),o()(),r(34,"div",32)(35,"div",33)(36,"label",45),a(37,"Event Image"),o(),r(38,"input",46),b("
140change",function(i){v(e);let d=p();return M(d.onImageSelected(i))}),o(),r(39,"div",47),a(40,"Upload an image for the event (optional)"),o()()(),r(41,"div",32)(42,"div",33)(43,"label",48),a(44,"Start Date *"),o(),_(45,"input",49),h(46,z2,2,0,"div",36),o(),r(47,"div",33)(48,"label",50),a(49,"End Date *"),o(),_(50,"input",51),h(51,N2,2,0,"div",36),o()(),r(52,"div",32)(53,"div",33)(54,"label",52),a(55,"Link *"),o(),_(56,"input",53),h(57,A2,2,0,"div",36),o()(),r(58,"div",32)(59,"div",33)(60,"label",54),a(61,"Category *"),o(),r(62,"select",55)(63,"option",56),a(64,"Select category"),o(),r(65,"option",57),a(66,"FTC"),o(),r(67,"option",58),a(68,"Kickoff"),o(),r(69,"option",59),a(70,"League Tournament"),o(),r(71,"option",60),a(72,"National Championship"),o(),r(73,"option",61),a(74,"World Championship"),o(),r(75,"option",62),a(76,"Workshop"),o(),r(77,"option",63),a(78,"Other"),o()(),h(79,L2,2,0,"div",36),o(),r(80,"div",33)(81,"label",64),a(82,"Season *"),o(),h(83,V2,7,3,"div",65),_(84,"input",66),r(85,"div",67),a(86," Events will be automatically associated with the current active season "),o()()(),r(87,"div",32)(88,"div",33)(89,"label",68),a(90,"FTC Event Code"),o(),_(91,"input",69),o(),r(92,"div",33)(93,"label",70),a(94,"Applications Deadline"),o(),_(95,"input",71),o()(),r(96,"div",72)(97,"div",73)(98,"label"),a(99,"Location Map"),o(),_(100,"div",74),r(101,"div",75)(102,"p"),_(103,"i",76),a(104," Use the integrated search (with autocomplete) in the top-right corner of the map or click on the map to set the exact location."),o()(),r(105,"button",77),b("click",function(){v(e);let i=p();return M(i.clearLocation())}),_(106,"i",78),a(107," Clear Location "),o()()(),r(108,"div",32)(109,"div",33)(110,"label",79),a(111,"Latitude (auto-filled)"),o(),_(112,"input",80),r(113,"div",47),a(114,"Automatically set when you select a location on the map"),o()(),r(115,"div",33)(116,"label",81),a(117,"Longitude (auto-filled)"),o(),_(118,"input",82),r(119,"div",47),a(120,"Automatically set when you select a location on the map"),o()()(),r(121,"div",83)(122,"button",84),a(123,"Create Event"),o(),r(124,"button",85),b("click",function(){v(e);let i=p();return M(i.cancelForm())}),a(125,"Cancel"),o()()()()}if(t&2){let e,n,i,d,u,x,y,k,W,U=p();c(3),m("formGroup",U.createForm),c(6),m("ngIf",((e=U.createForm.get("title"))==null?null:e.invalid)&&((e=U.createForm.get("title"))==null?null:e.touched)),c(6),m("ngIf",((n=U.createForm.get("shortDescription"))==null?null:n.invalid)&&((n=U.createForm.get("shortDescription"))==null?null:n.touched)),c(6),m("ngIf",((i=U.createForm.get("description"))==null?null:i.invalid)&&((i=U.createForm.get("description"))==null?null:i.touched)),c(6),m("ngIf",((d=U.createForm.get("location"))==null?null:d.invalid)&&((d=U.createForm.get("location"))==null?null:d.touched)),c(6),m("ngIf",((u=U.createForm.get("organizer"))==null?null:u.invalid)&&((u=U.createForm.get("organizer"))==null?null:u.touched)),c(13),m("ngIf",((x=U.createForm.get("dateStart"))==null?null:x.invalid)&&((x=U.createForm.get("dateStart"))==null?null:x.touched)),c(5),m("ngIf",((y=U.createForm.get("dateEnd"))==null?null:y.invalid)&&((y=U.createForm.get("dateEnd"))==null?null:y.touched)),c(6),m("ngIf",((k=U.createForm.get("link"))==null?null:k.invalid)&&((k=U.createForm.get("link"))==null?null:k.touched)),c(22),m("ngIf",((W=U.createForm.get("category"))==null?null:W.invalid)&&((W=U.createForm.get("category"))==null?null:W.touched)),c(4),m("ngIf",U.currentSeason),c(39),m("disabled",U.createForm.invalid)}}function U2(t,s){t&1&&(r(0,"div",86),a(1," Title is required and must be at least 5 characters "),o())}function j2(t,s){t&1&&(r(0,"div",86),a(1," Short description is required and must be at least 10 characters "),o())}function q2(t,s){t&1&&(r(0,"div",86),a(1," Description is required and must be at least 20 characters "),o())}function W2(t,s){t&1&&(r(0,"div",86),a(1," Location is required "),o())}function $2(t,s){t&1&&(r(0,"div",86),a(1," Organizer is required "),o())}function H2(t,s){if(t&1){let e=E();r(0,"div",130)(1,"div",131)(2,"img",132),b("error",function(i){v(e);let d=p(3);return M(d.onImageError(i,d.editingEvent.id||0))})("load",function(i){v(e);let d=p(3);return M(d.onImageLoad(i,d.editingEvent.id||0))}),o()(),r(3,"div",133),_(4,"i",134),r(5,"div",135)(6,"span"),a(7),o(),r(8,"small",136),a(9,"Current image"),o()()(),r(10,"div",137)(11,"a",138),_(12,"i",139),a(13," View "),o()()()}if(t&2){let e=p(3);c(2),m("src",e.getCurrentEventImageUrl(),ae),c(5),O(e.getCurrentEventImageInfo()),c(4),m("href",e.getCurrentEventImageUrl(),ae)}}function G2(t,s){if(t&1){let e=E();r(0,"div",140),_(1,"img",141),r(2,"button",142),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedImage())}
140),_(3,"i",78),a(4," Remove "),o()()}if(t&2){let e=p(3);c(),m("src",e.getSelectedImagePreview(),ae)}}function Z2(t,s){if(t&1&&(r(0,"div",32)(1,"div",33)(2,"label"),a(3,"Image Preview"),o(),r(4,"div",127),h(5,H2,14,3,"div",128)(6,G2,5,1,"div",129),o()()()),t&2){let e=p(2);c(5),m("ngIf",e.hasCurrentEventImage()&&!e.selectedImage),c(),m("ngIf",e.selectedImage)}}function Y2(t,s){t&1&&(r(0,"div",86),a(1," Start date is required "),o())}function K2(t,s){t&1&&(r(0,"div",86),a(1," End date is required "),o())}function Q2(t,s){t&1&&(r(0,"div",86),a(1," Valid URL is required "),o())}function J2(t,s){t&1&&(r(0,"div",86),a(1," Category is required "),o())}function X2(t,s){t&1&&(r(0,"div",86),a(1," Company name is required and must be at least 2 characters "),o())}function ey(t,s){t&1&&(r(0,"div",86),a(1," Company size is required "),o())}function ty(t,s){t&1&&(r(0,"div",86),a(1," Legal company name is required and must be at least 2 characters "),o())}function ny(t,s){t&1&&(r(0,"div",86),a(1," Please enter a valid email address "),o())}function iy(t,s){t&1&&(r(0,"div",86),a(1," Please enter a valid URL starting with http:// or https:// "),o())}function oy(t,s){if(t&1){let e=E();r(0,"div",143)(1,"h5"),a(2,"Add New Sponsor"),o(),r(3,"form",144),b("ngSubmit",function(){v(e);let i=p(2);return M(i.createSponsor())}),r(4,"div",32)(5,"div",33)(6,"label",145),a(7,"Company Name *"),o(),_(8,"input",146),h(9,X2,2,0,"div",36),o(),r(10,"div",33)(11,"label",147),a(12,"Company Size *"),o(),r(13,"select",148)(14,"option",56),a(15,"Select size"),o(),r(16,"option",149),a(17,"Startup"),o(),r(18,"option",150),a(19,"Small (1-50 employees)"),o(),r(20,"option",151),a(21,"Medium (51-250 employees)"),o(),r(22,"option",152),a(23,"Large (250+ employees)"),o(),r(24,"option",153),a(25,"Enterprise"),o()(),h(26,ey,2,0,"div",36),o()(),r(27,"div",32)(28,"div",33)(29,"label",154),a(30,"Legal Company Name *"),o(),_(31,"input",155),h(32,ty,2,0,"div",36),o(),r(33,"div",33)(34,"label",156),a(35,"Email"),o(),_(36,"input",157),h(37,ny,2,0,"div",36),o()(),r(38,"div",32)(39,"div",33)(40,"label",158),a(41,"Website"),o(),_(42,"input",159),h(43,iy,2,0,"div",36),o(),r(44,"div",33)(45,"label",160),a(46,"Company Logo"),o(),r(47,"input",161),b("change",function(i){v(e);let d=p(2);return M(d.onSponsorLogoSelected(i))}),o(),r(48,"div",47),a(49,"Upload a logo image (optional)"),o()()(),r(50,"div",83)(51,"button",84),a(52,"Add Sponsor"),o(),r(53,"button",85),b("click",function(){v(e);let i=p(2);return M(i.cancelSponsorForm())}),a(54,"Cancel"),o()()()()}if(t&2){let e,n,i,d,u,x,y=p(2);c(3),m("formGroup",y.sponsorForm),c(6),m("ngIf",((e=y.sponsorForm.get("name"))==null?null:e.invalid)&&((e=y.sponsorForm.get("name"))==null?null:e.touched)),c(4),I("error",((n=y.sponsorForm.get("size"))==null?null:n.invalid)&&((n=y.sponsorForm.get("size"))==null?null:n.touched)),c(13),m("ngIf",((i=y.sponsorForm.get("size"))==null?null:i.invalid)&&((i=y.sponsorForm.get("size"))==null?null:i.touched)),c(6),m("ngIf",((d=y.sponsorForm.get("legal_name"))==null?null:d.invalid)&&((d=y.sponsorForm.get("legal_name"))==null?null:d.touched)),c(5),m("ngIf",((u=y.sponsorForm.get("email"))==null?null:u.invalid)&&((u=y.sponsorForm.get("email"))==null?null:u.touched)),c(6),m("ngIf",((x=y.sponsorForm.get("link"))==null?null:x.invalid)&&((x=y.sponsorForm.get("link"))==null?null:x.touched)),c(8),m("disabled",y.sponsorForm.invalid)}}function ry(t,s){if(t&1&&(r(0,"div",175),_(1,"img",176),o()),t&2){let e=p().$implicit,n=p(3);c(),m("src",n.getSponsorLogoUrl(e),ae)("alt",e.name+" logo")}}function ay(t,s){if(t&1&&(r(0,"span",177),a(1),o()),t&2){let e=p().$implicit;c(),w("(",e.legal_name,")")}}function sy(t,s){if(t&1&&(r(0,"a",181),_(1,"i",182),a(2),o()),t&2){let e=p(2).$implicit;m("href","mailto:"+e.email,ae),c(2),w(" ",e.email," ")}}function cy(t,s){if(t&1&&(r(0,"a",183),_(1,"i",184),a(2," Visit Website "),o()),t&2){let e=p(2).$implicit;m("href",e.link,ae)}}function ly(t,s){if(t&1&&(r(0,"div",178),h(1,sy,3,2,"a",179)(2,cy,3,1,"a",180),o()),t&2){let e=p().$implicit;c(),m("ngIf",e.email),c(),m("ngIf",e.link)}}function dy(t,s){if(t&1){let e=E();r(0,"div",164),h(1,ry,2,2,"div",165),r(2,"div",166)(3,"h6",167),a(4),o(),r(5,"p",168)(6,"span",169),a(7),o(),h(8,ay,2,1,"span",170),o(),h(9,ly,3,2,"div",171),o(),r(10,"div",172)(11,"button",173),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.deleteSponsor(i.id))}),_(12,"i",174),o()()()}if(t&2){let e=s.$implicit;c(),m("ngIf",e.logo),c(3),O(e.name),c(3),O(e.size),c(),m("ngIf",e.legal_name!==e.name),c(),m("ngIf",e.email||e.link)}}function my(t,s){if(t&1&&(r(0,"div",162),h(1,dy,13,5,"div",163),o()),t&2){let e=p(2);c(),m("ngForOf",e.eventSponsors)}}function gy(t,s){t&1&&(r(0,"div",185)(1,"p"),a(2,"No sponsors added to this event yet."),o()())}function py(t,s){if(t&1){let e=E();r(0,"div",30)(1,"h2"),a(2),o(),r(3,"form",31),b("ngSubmit",function(){v(e);let i=p();return M(i.updateEvent())}),r(4,"div",32)(5,"div",33)(6,"label",90),a(7,"Title *"),o(),_(8,"input",91),h(9,U2,2,0,"div",36),o()(),r(10,"div",32)(11,"div",33)(12,"label",92),a(13,"Short Description *"),o(),_(14,"textarea",93),h(15,j2,2,0,"div",36),o()(),r(16,"div",32)(17,"div",33)(18,"label",94),a(19,"Description *"),o(),_(20,"textarea",95),h(21,q2,2,0,"div",36),o()(),r(22,"div",32)(23,"div",33)(24,"label",96),a(25,"Location *"),o(),_(26,"input",97),h(27,W2,2,0,"div",36),o()(),r(28,"div",32)(29,"div",33)(30,"label",98),a(31,"Organizer *"),o(),_(32,"input",99),h(33,$2,2,0,"div",36),o()(),r(34,"div",32)(35,"div",33)(36,"label",100),a(37,"Event Image"),o(),r(38,"input",101),b("change",function(i){v(e);let d=p();return M(d.onImageSelected(i))}),o(),r(39,"div",47),a(40,"Upload an image for the event (optional)"),o()()(),h(41,Z2,7,2,"div",102),r(42,"div",32)(43,"div",33)(44,"label",103),a(45,"Start Date *"),o(),_(46,"input",104),h(47,Y2,2,0,"div",36),o(),r(48,"div",33)(49,"label",105),a(50,"End Date *"),o(),_(51,"input",106),h(
14052,K2,2,0,"div",36),o()(),r(53,"div",32)(54,"div",33)(55,"label",107),a(56,"Link *"),o(),_(57,"input",108),h(58,Q2,2,0,"div",36),o()(),r(59,"div",32)(60,"div",33)(61,"label",109),a(62,"Category *"),o(),r(63,"select",110)(64,"option",56),a(65,"Select category"),o(),r(66,"option",57),a(67,"FTC"),o(),r(68,"option",58),a(69,"Kickoff"),o(),r(70,"option",59),a(71,"League Tournament"),o(),r(72,"option",60),a(73,"National Championship"),o(),r(74,"option",61),a(75,"World Championship"),o(),r(76,"option",62),a(77,"Workshop"),o(),r(78,"option",63),a(79,"Other"),o()(),h(80,J2,2,0,"div",36),o(),r(81,"div",33)(82,"label",111),a(83,"Season *"),o(),r(84,"div",87)(85,"span",88)(86,"strong"),a(87),o()()(),_(88,"input",66),r(89,"div",67),a(90," This event is associated with the season shown above "),o()()(),r(91,"div",32)(92,"div",33)(93,"label",112),a(94,"FTC Event Code"),o(),_(95,"input",113),o(),r(96,"div",33)(97,"label",114),a(98,"Applications Deadline"),o(),_(99,"input",115),o()(),r(100,"div",32)(101,"div",33)(102,"label",100),a(103,"Event Image"),o(),r(104,"input",101),b("change",function(i){v(e);let d=p();return M(d.onImageSelected(i))}),o()()(),r(105,"div",72)(106,"div",73)(107,"label"),a(108,"Location Map"),o(),_(109,"div",116),r(110,"div",75)(111,"p"),_(112,"i",76),a(113," Use the integrated search (with autocomplete) in the top-right corner of the map or click on the map to set the exact location."),o()(),r(114,"button",77),b("click",function(){v(e);let i=p();return M(i.clearLocation())}),_(115,"i",78),a(116," Clear Location "),o()()(),r(117,"div",32)(118,"div",33)(119,"label",117),a(120,"Latitude (auto-filled)"),o(),_(121,"input",118),r(122,"div",47),a(123,"Automatically set when you select a location on the map"),o()(),r(124,"div",33)(125,"label",119),a(126,"Longitude (auto-filled)"),o(),_(127,"input",120),r(128,"div",47),a(129,"Automatically set when you select a location on the map"),o()()(),r(130,"div",83)(131,"button",84),a(132,"Update Event"),o(),r(133,"button",85),b("click",function(){v(e);let i=p();return M(i.cancelForm())}),a(134,"Cancel"),o()()(),r(135,"div",121)(136,"div",122)(137,"h4"),a(138,"Event Sponsors"),o(),r(139,"button",123),b("click",function(){v(e);let i=p();return M(i.showSponsorFormForEvent(i.editingEvent.id))}),_(140,"i",24),a(141," Add Sponsor "),o()(),h(142,oy,55,9,"div",124)(143,my,2,1,"div",125)(144,gy,3,0,"div",126),o()()}if(t&2){let e,n,i,d,u,x,y,k,W,U=p();c(2),w("Edit Event: ",U.editingEvent.title,""),c(),m("formGroup",U.editForm),c(6),m("ngIf",((e=U.editForm.get("title"))==null?null:e.invalid)&&((e=U.editForm.get("title"))==null?null:e.touched)),c(6),m("ngIf",((n=U.editForm.get("shortDescription"))==null?null:n.invalid)&&((n=U.editForm.get("shortDescription"))==null?null:n.touched)),c(6),m("ngIf",((i=U.editForm.get("description"))==null?null:i.invalid)&&((i=U.editForm.get("description"))==null?null:i.touched)),c(6),m("ngIf",((d=U.editForm.get("location"))==null?null:d.invalid)&&((d=U.editForm.get("location"))==null?null:d.touched)),c(6),m("ngIf",((u=U.editForm.get("organizer"))==null?null:u.invalid)&&((u=U.editForm.get("organizer"))==null?null:u.touched)),c(8),m("ngIf",U.getCurrentEventImageInfo()||U.selectedImage),c(6),m("ngIf",((x=U.editForm.get("dateStart"))==null?null:x.invalid)&&((x=U.editForm.get("dateStart"))==null?null:x.touched)),c(5),m("ngIf",((y=U.editForm.get("dateEnd"))==null?null:y.invalid)&&((y=U.editForm.get("dateEnd"))==null?null:y.touched)),c(6),m("ngIf",((k=U.editForm.get("link"))==null?null:k.invalid)&&((k=U.editForm.get("link"))==null?null:k.touched)),c(22),m("ngIf",((W=U.editForm.get("category"))==null?null:W.invalid)&&((W=U.editForm.get("category"))==null?null:W.touched)),c(7),O(U.getSeasonName(U.editingEvent.seasonId||0)),c(44),m("disabled",U.editForm.invalid),c(11),m("ngIf",U.showSponsorForm),c(),m("ngIf",U.eventSponsors.length>0),c(),m("ngIf",U.eventSponsors.length===0&&!U.showSponsorForm)}}function uy(t,s){if(t&1&&(r(0,"span",205),a(1),o()),t&2){let e=s.$implicit;c(),w(" ",e.name," ")}}function _y(t,s){if(t&1&&(r(0,"span",206),a(1),o()),t&2){let e=p(2).$implicit;c(),w(" +",e.partners.length-3," more ")}}function fy(t,s){if(t&1&&(r(0,"div",199)(1,"div",200),_(2,"i",201),a(3),o(),r(4,"div",202),h(5,uy,2,1,"span",203)(6,_y,2,1,"span",204),o()()),t&2){let e=p().$implicit;c(3),w(" Sponsors (",e.partners.length,") "),c(2),m("ngForOf",e.partners.slice(0,3)),c(),m("ngIf",e.partners.length>3)}}function hy(t,s){if(t&1){let e=E();r(0,"div",189)(1,"div",190),_(2,"img",191),o(),r(3,"div",192)(4,"h3"),a(5),o(),r(6,"p",193),a(7),o(),r(8,"p",194),a(9),o(),r(10,"p",195),a(11),o(),h(12,fy,7,3,"div",196),o(),r(13,"div",197)(14,"button",29),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.showEditEventForm(i))}),a(15,"Edit"),o(),r(16,"button",198),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.deleteEvent(i))}),a(17,"Delete"),o()()()}if(t&2){let e=s.$implicit,n=p(2);c(2),m("src",n.getEventImageUrl(e),ae)("alt",e.title),c(3),O(e.title),c(2),O(e.location),c(2),O(n.formatEventDate(e)),c(2),O(e.category),c(),m("ngIf",e.partners&&e.partners.length>0)}}function Cy(t,s){if(t&1&&(r(0,"div",186)(1,"div",187),h(2,hy,18,7,"div",188),o()()),t&2){let e=p();c(2),m("ngForOf",e.events)}}var du=(()=>{class t{constructor(e,n,i,d){this.eventService=e,this.seasonsService=n,this.sponsorService=i,this.fb=d,this.events=[],this.loading=!0,this.error=null,this.currentSeason=null,this.seasonLoading=!0,this.allSeasons=[],this.selectedSeasonFilter=null,this.showCreateForm=!1,this.showEditForm=!1,this.editingEvent=null,this.selectedImage=null,this.currentEventImage=null,this.eventSponsors=[],this.showSponsorForm=!1,this.selectedSponsorLogo=null,this.map=null,this.marker=null,this.searchControl=null,this.mapInitialized=!1,this.createForm=this.fb.group({title:["",[N.required,N.minLength(5)]],shortDescription:["",[N.required,N.minLength(10)]],description:["",[N.required,N.minLength(20)]],location:["",N.required],organizer:["Natie Prin Educatie",N.required],dateStart:["",N.required],dateEnd:["",N.required],link:["",[N.required,N.pattern("https?://.+")]],category:["",N.required],ftcEventCode:[""],applicationsDeadline:[""],seasonId:["",N.required],latitude:[0,[N.min(-90),N.max(90)]],longitude:[0,[N.min(-180),N.max(180)]]}),this.sponsorForm=this.fb.group({name:["",[N.required,N.minLength(2)]],size:["",N.required],legal_name:["",[N.required,N.minLength(2)]],email:["",this.emailValidator.bind(this)],link:["",this.urlValidator.bind(this)]}),this.editForm=this.fb.group({title:["",[N.required,N.minLength(5)]],shortDescription:["",[N.required,N.minLength(10)]],description:["",[N.required,N.minLength(20)]],location:["",N.required],organizer:["Natie Prin Educatie",N.required],dateStart:["",N.required],dateEnd:["",N.required],link:["",[N.required,N.pattern("https?://.+")]],category:["",N.required],ftcEventCode:[""],applicationsDeadline:[""],seasonId:["",N.required],latitude:[0,[N.min(-90),N.max(90)]],longitude:[0,[N.min(-180),N.max(180)]]})}ngOnInit(){return q(this,null,function*(){yield this.loadCurrentSeason(),yield this.loadAllSeasons(),yield this.loadEvents()})}ngAfterViewInit(){}ngOnDestroy(){this.map&&this.map.remove()}loadCurrentSeason(){return q(this,null,function*(){try{this.seasonLoading=!0;let e=yield this.seasonsService.getCurrentSeason().toPromise();e?.success&&(this.currentSeason=e.message,this.currentSeason&&(this.createForm.patchValue({seasonId:this.currentSeason.id}),this.editForm.patchValue({seasonId:this.currentSeason.id})))}catch(e){console.error("Error loading current season:",e),this.error="Failed to load current season information"}finally{this.seasonLoading=!1}})}loadAllSeasons(){return q(this,null,function*(){try{let e=yield this.seasonsService.getAllSeasons().toPromise();e?.success&&(this.allSeasons=e.message,this.currentSeason&&(this.selectedSeasonFilter=this.currentSeason.id))}catch(e){console.error("Error loading seasons:",e),this.error="Failed to load seasons for filtering"}})}loadEvents(){return q(this,null,function*(){try{this.loading=!0,this.error=null;let e=[];this.selectedSeasonFilter?e=(yield this.eventService.getAllEvents(this.selectedSeasonFilter).toProm
140ise())||[]:e=(yield this.eventService.getAllEvents().toPromise())||[],e&&(this.events=e)}catch(e){console.error("Error loading events:",e),this.error="Failed to load events"}finally{this.loading=!1}})}showCreateEventForm(){this.showCreateForm=!0,this.showEditForm=!1,this.createForm.reset(),this.currentSeason&&this.createForm.patchValue({seasonId:this.currentSeason.id,organizer:"Natie Prin Educatie"}),this.selectedImage=null,this.mapInitialized=!1,this.map&&(this.map.remove(),this.map=null),this.marker=null,setTimeout(()=>this.initializeMap(),200)}showEditEventForm(e){this.editingEvent=e,this.showEditForm=!0,this.showCreateForm=!1,this.currentEventImage=e.image||null,this.selectedImage=null,this.editForm.patchValue({title:e.title,shortDescription:e.shortDescription,description:e.description,location:e.location,latitude:e.latitude,longitude:e.longitude,organizer:e.organizer,dateStart:this.formatDateForInput(e.dateStart),dateEnd:this.formatDateForInput(e.dateEnd),link:e.link,category:e.category,ftcEventCode:e.ftcEventCode||"",applicationsDeadline:e.applicationsDeadline?this.formatDateForInput(e.applicationsDeadline):"",seasonId:e.seasonId}),this.mapInitialized=!1,console.log("Editing event:",e),console.log("Current event image:",this.currentEventImage),this.map&&(this.map.remove(),this.map=null),this.marker=null,this.loadEventSponsors(e.id),setTimeout(()=>this.initializeMap(),200)}onImageSelected(e){let n=e.target.files[0];n&&(this.selectedImage=n)}createEvent(){return q(this,null,function*(){if(this.createForm.valid)try{let e=this.createForm.value,n=ye(J({},e),{dateStart:this.formatDateForAPI(e.dateStart),dateEnd:this.formatDateForAPI(e.dateEnd),applicationsDeadline:e.applicationsDeadline?this.formatDateForAPI(e.applicationsDeadline):void 0});console.log("Creating event:",n);let i;if(this.selectedImage){let d={quality:.85,maxWidth:1e3,maxHeight:600};i=yield Jt(this.selectedImage,d),console.log("Event - Original file type:",this.selectedImage.type),console.log("Event - Converted file type:",i.type)}yield this.eventService.createEvent(n,i).toPromise(),this.showCreateForm=!1,this.createForm.reset(),this.selectedImage=null,this.error=null,yield this.loadEvents()}catch(e){console.error("Error creating event:",e),e.status===500?this.error="Server error occurred while creating event. Please check the console for details.":e.status===400?this.error="Invalid data provided. Please check your input.":this.error=`Failed to create event: ${e.message||"Unknown error"}`}else this.error="Please fill in all required fields correctly.",console.log("Form validation errors:",this.createForm.errors),console.log("Form value:",this.createForm.value)})}updateEvent(){return q(this,null,function*(){if(this.editForm.valid&&this.editingEvent)try{let e=this.editForm.value,n=ye(J({},e),{dateStart:e.dateStart?this.formatDateForAPI(e.dateStart):void 0,dateEnd:e.dateEnd?this.formatDateForAPI(e.dateEnd):void 0,applicationsDeadline:e.applicationsDeadline?this.formatDateForAPI(e.applicationsDeadline):void 0});console.log("Submitting event update:",n);let i;if(this.selectedImage){let d={quality:.85,maxWidth:1e3,maxHeight:600};i=yield Jt(this.selectedImage,d),console.log("Event update - Original file type:",this.selectedImage.type),console.log("Event update - Converted file type:",i.type)}yield this.eventService.updateEvent(this.editingEvent.id,n,i).toPromise(),this.showEditForm=!1,this.editingEvent=null,this.editForm.reset(),this.selectedImage=null,this.error=null,yield this.loadEvents()}catch(e){console.error("Error updating event:",e),e.status===500?this.error="Server error occurred while updating event. Please check the console for details.":e.status===400?this.error="Invalid data provided. Please check your input.":e.status===404?this.error="Event not found.":this.error=`Failed to update event: ${e.message||"Unknown error"}`}else this.error="Please fill in all required fields correctly.",console.log("Form validation errors:",this.editForm.errors),console.log("Form value:",this.editForm.value)})}deleteEvent(e){return q(this,null,function*(){if(confirm(`Are you sure you want to delete "${e.title}"?`))try{yield this.eventService.deleteEvent(e.id).toPromise(),yield this.loadEvents()}catch(n){console.error("Error deleting event:",n),this.error="Failed to delete event"}})}
140cancelForm(){this.showCreateForm=!1,this.showEditForm=!1,this.editingEvent=null,this.createForm.reset(),this.editForm.reset(),this.selectedImage=null,this.currentEventImage=null,this.mapInitialized=!1,this.map&&(this.map.remove(),this.map=null),this.marker=null}formatDateForInput(e){let n=new Date(e);return isNaN(n.getTime())?(console.warn("Invalid date string:",e),""):n.toISOString().slice(0,16)}formatDateForAPI(e){let n=new Date(e);return isNaN(n.getTime())?(console.warn("Invalid date string:",e),""):n.toISOString()}getEventImageUrl(e){return this.eventService.getEventImageUrl(e)}formatEventDate(e){return this.eventService.formatEventDate(e)}onSeasonFilterChange(){this.loadEvents()}getSeasonName(e){let n=this.allSeasons.find(i=>i.id===e);return n?`Season #${n.seasonNumber} - ${n.seasonName}`:`Season ID: ${e}`}loadEventSponsors(e){return q(this,null,function*(){try{let n=yield this.sponsorService.getSponsorsByEvent(e).toPromise();n?.success&&(this.eventSponsors=n.message)}catch(n){console.error("Error loading event sponsors:",n)}})}showSponsorFormForEvent(e){this.showSponsorForm=!0,this.sponsorForm.reset(),this.sponsorForm.patchValue({eventId:e}),this.selectedSponsorLogo=null}onSponsorLogoSelected(e){let n=e.target.files[0];n&&(this.selectedSponsorLogo=n)}createSponsor(){return q(this,null,function*(){if(this.sponsorForm.valid&&this.editingEvent)try{let e=this.sponsorForm.value,n=ye(J({},e),{eventId:this.editingEvent.id}),i;if(this.selectedSponsorLogo){let d={quality:.9,maxWidth:200,maxHeight:200};i=yield Jt(this.selectedSponsorLogo,d),console.log("Sponsor logo - Original file type:",this.selectedSponsorLogo.type),console.log("Sponsor logo - Converted file type:",i.type)}yield this.sponsorService.createSponsor(n,i).toPromise(),this.showSponsorForm=!1,this.sponsorForm.reset(),this.selectedSponsorLogo=null,yield this.loadEventSponsors(this.editingEvent.id)}catch(e){console.error("Error creating sponsor:",e),this.error="Failed to create sponsor"}})}deleteSponsor(e){return q(this,null,function*(){if(confirm("Are you sure you want to delete this sponsor?"))try{yield this.sponsorService.deleteSponsor(e).toPromise(),this.editingEvent&&(yield this.loadEventSponsors(this.editingEvent.id))}catch(n){console.error("Error deleting sponsor:",n),this.error="Failed to delete sponsor"}})}cancelSponsorForm(){this.showSponsorForm=!1,this.sponsorForm.reset(),this.selectedSponsorLogo=null}getSponsorLogoUrl(e){return this.sponsorService.getSponsorLogoUrl(e)}initializeMap(){this.mapInitialized||setTimeout(()=>{let e=this.showCreateForm?"create-location-map":"edit-location-map";if(!document.getElementById(e))return;this.map&&this.map.remove(),this.map=Ti.map(e).setView([44.4268,26.1025],10),Ti.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(this.map);let i=new Fs({params:{"accept-language":"ro",countrycodes:"ro"}}),d=Is({provider:i,position:"topright",style:"bar",autoComplete:!0,autoCompleteDelay:250,showMarker:!1,retainZoomLevel:!1,animateZoom:!0,autoClose:!0,searchLabel:"Enter address or location name...",keepResult:!0,showPopup:!1});this.map.addControl(d),this.searchControl=d,this.map.on("geosearch/showlocation",k=>{let{x:W,y:U}=k.location;this.setLocationFromMap(U,W)}),this.map.on("click",k=>{this.setLocationFromMap(k.latlng.lat,k.latlng.lng)});let u=this.showCreateForm?this.createForm:this.editForm,x=u.get("latitude")?.value,y=u.get("longitude")?.value;x&&y&&x!==0&&y!==0&&this.setMarker(x,y),this.mapInitialized=!0},100)}setMarker(e,n){if(!this.map)return;this.marker&&this.map.removeLayer(this.marker);let i=Ti.divIcon({className:"custom-marker",html:'<div style="background-color: #e74c3c; width: 20px; height: 20px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); border: 2px solid #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.3);"></div>',iconSize:[20,20],iconAnchor:[10,20]});this.marker=Ti.marker([e,n],{icon:i}).addTo(this.map),this.map.setView([e,n],15)}setLocationFromMap(e,n){(this.showCreateForm?this.createForm:this.editForm).patchValue({latitude:e,longitude:n}),this.setMarker(e,n)}clearLocation(){(this.showCreateForm?this.createForm:this.editForm).patchValue({latitude:0,longitude:0}),this.marker&&this.map&&(this.map.removeLayer(this.marker),this.marker=null)}emailValidator(e){return!e.value||e.value.trim()===""||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.value)?null:{email:!0}}urlValidator(e){return!e.value||e.value.trim()===""||/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/.test(e.value)?null:{url:!0}}getCurrentEventImageInfo(){let e=this.currentEventImage!==null;return console.log("getCurrentEventImageInfo check:",{hasImage:e,currentImage:this.currentEventImage}),e&&this.currentEventImage?this.currentEventImage.name:null}hasCurrentEventImage(){let e=this.currentEventImage!==null;return console.log("hasCurrentEventImage check:",{hasImage:e,currentImage:this.currentEventImage}),e}getCurrentEventImageUrl(){return this.currentEventImage&&this.currentEventImage.id?this.eventService.getEventImageUrl({image:this.currentEventImage}):null}getSelectedImagePreview(){return this.selectedImage?URL.createObjectURL(this.selectedImage):null}removeSelectedImage(){this.selectedImage=null}onImageError(e,n){console.warn(`Failed to load image for event ${n}`),e.target.classList.add("error")}onImageLoad(e,n){console.log(`Image loaded successfully for event ${n}`)}static{this.\u0275fac=function(n){return new(n||t)(T($o),T(Ve),T(Ho),T(Ye))}}static{this.\u0275cmp=V({type:t,selectors:[["app-event-admin"]],standalone:!0,features:[B],decls:14,vars:9,consts:[[1,"event-admin-container"],[1,"header"],[1,"header-content"],["class","current-season-info",4,"ngIf"],["class","season-loading",4,"ngIf"],["class","season-filter-container",4,"ngIf"],["class","btn btn-primary",3,"click",4,"ngIf"],["class","loading-container",4,"ngIf"],["class","error-container",4,"ngIf"],["class","form-container",4,"ngIf"],["class","events-list",4,"ngIf"],[1,"current-season-info"],[1,"season-label"],[1,"season-number"],[1,"season-name"],[1,"season-id"],[1,"season-loading"],[1,"fas","fa-spinner","fa-spin"],[1,"season-filter-container"],["for","seasonFilter"],["id","seasonFilter",1,"season-filter-select",3,"ngModelChange","change","ngModel"],[3,"value"],[3,"value",4,"ngFor","ngForOf"],[1,"btn","btn-primary",3,"click"],[1,"fas","fa-plus"],[1,"loading-container"],[1,"loading-spinner"],[1,"error-container"],[1,"error-message"],[1,"btn","btn-secondary",3,"click"],[1,"form-container"],[1,"event-form",3,"ngSubmit","formGroup"],[1,"form-row"],[1,"form-group"],["for","title"],["type","text","id","title","formControlName","title",1,"form-control"],["class","error-text",4,"ngIf"],["for","shortDe
140scription"],["id","shortDescription","formControlName","shortDescription","rows","3",1,"form-control"],["for","description"],["id","description","formControlName","description","rows","5",1,"form-control"],["for","location"],["type","text","id","location","formControlName","location",1,"form-control"],["for","organizer"],["type","text","id","organizer","formControlName","organizer",1,"form-control"],["for","image"],["type","file","id","image","accept","image/*",1,"form-control",3,"change"],[1,"help-text"],["for","dateStart"],["type","datetime-local","id","dateStart","formControlName","dateStart",1,"form-control"],["for","dateEnd"],["type","datetime-local","id","dateEnd","formControlName","dateEnd",1,"form-control"],["for","link"],["type","url","id","link","formControlName","link",1,"form-control"],["for","category"],["id","category","formControlName","category",1,"form-control"],["value",""],["value","FTC"],["value","Kickoff"],["value","League Tournament"],["value","National Championship"],["value","World Championship"],["value","Workshop"],["value","Other"],["for","seasonId"],["class","season-display",4,"ngIf"],["type","hidden","formControlName","seasonId"],[1,"season-help-text"],["for","ftcEventCode"],["type","text","id","ftcEventCode","formControlName","ftcEventCode",1,"form-control"],["for","applicationsDeadline"],["type","datetime-local","id","applicationsDeadline","formControlName","applicationsDeadline",1,"form-control"],[1,"form-row","map-row"],[1,"form-group","map-container"],["id","create-location-map",1,"location-map"],[1,"map-instructions"],[1,"fas","fa-info-circle"],["type","button",1,"btn","btn-outline-danger","clear-location-btn",3,"click"],[1,"fas","fa-times"],["for","latitude"],["type","number","id","latitude","formControlName","latitude","step","0.000001","placeholder","e.g., 44.4268","readonly","",1,"form-control"],["for","longitude"],["type","number","id","longitude","formControlName","longitude","step","0.000001","placeholder","e.g., 26.1025","readonly","",1,"form-control"],[1,"form-actions"],["type","submit",1,"btn","btn-primary",3,"disabled"],["type","button",1,"btn","btn-secondary",3,"click"],[1,"error-text"],[1,"season-display"],[1,"season-info"],[1,"season-id-text"],["for","edit-title"],["type","text","id","edit-title","formControlName","title",1,"form-control"],["for","edit-shortDescription"],["id","edit-shortDescription","formControlName","shortDescription","rows","3",1,"form-control"],["for","edit-description"],["id","edit-description","formControlName","description","rows","5",1,"form-control"],["for","edit-location"],["type","text","id","edit-location","formControlName","location",1,"form-control"],["for","edit-organizer"],["type","text","id","edit-organizer","formControlName","organizer",1,"form-control"],["for","edit-image"],["type","file","id","edit-image","accept","image/*",1,"form-control",3,"change"],["class","form-row",4,"ngIf"],["for","edit-dateStart"],["type","datetime-local","id","edit-dateStart","formControlName","dateStart",1,"form-control"],["for","edit-dateEnd"],["type","datetime-local","id","edit-dateEnd","formControlName","dateEnd",1,"form-control"],["for","edit-link"],["type","url","id","edit-link","formControlName","link",1,"form-control"],["for","edit-category"],["id","edit-category","formControlName","category",1,"form-control"],["for","edit-seasonId"],["for","edit-ftcEventCode"],["type","text","id","edit-ftcEventCode","formControlName","ftcEventCode",1,"form-control"],["for","edit-applicationsDeadline"],["type","datetime-local","id","edit-applicationsDeadline","formControlName","applicationsDeadline",1,"form-control"],["id","edit-location-map",1,"location-map"],["for","edit-latitude"],["type","number","id","edit-latitude","formControlName","latitude","step","0.000001","placeholder","e.g., 44.4268","readonly","",1,"form-control"],["for","edit-longitude"],["type","number","id","edit-longitude","formControlName","longitude","step","0.000001","placeholder","e.g., 26.1025","readonly","",1,"form-control"],[1,"sponsors-section"],[1,"sponsors-header"],["type","button",1,"btn","btn-sm","btn-primary",3,"click"],["class","sponsor-form-container",4,"ngIf"],["class","sponsors-list",4,"ngIf"],["class","no-sponsors",4,"ngIf"],[1,"image-preview-container"],["class","current-image-info",4,"ngIf"],["class","new-image-preview",4,"ngIf"],[1,"current-image-info"],[1,"current-image-preview"],["alt","Current event image preview",1,"current-image-thumbnail",3,"error","load","src"],[1,"current-image-details"],[1,"fas","fa-image"],[1,"image-info"],[1,"current-image-label"],[1,"current-image-actions"],["target","_blank","title","View current image",1,"btn","btn-sm","btn-info","view-image-btn",3,"href"],[1,"fas","fa-eye"],[1,"new-image-preview"],["alt","Preview",1,"image-preview",3,"src"],["type","button",1,"btn","btn-sm","btn-danger","remove-image-btn",3,"click"],[1,"sponsor-form-container"],[1,"sponsor-form",3,"ngSubmit","formGroup"],["for","sponsor-name"],["type","text","id","sponsor-name","formControlName","name",1,"form-control"],["for","sponsor-size"],["id","sponsor-size","formControlName","size",1,"form-control"],["value","Startup"],["value","Small"],["value","Medium"],["value","Large"],["value","Enterprise"],["for","sponsor-legal-name"],["type","text","id","sponsor-legal-name","formControlName","legal_name",1,"form-control"],["for","sponsor-email"],["type","email","id","sponsor-email","formControlName","email",1,"form-control"],["for","sponsor-link"],["type","url","id","sponsor-link","formControlName","link","placeholder","https://example.com",1,"form-control"],["for","sponsor-logo"],["type","file","id","sponsor-logo","accept","image/*",1,"form-control",3,"change"],[1,"sponsors-list"],["class","sponsor-item",4,"ngFor","ngForOf"],[1,"sponsor-item"],["class","sponsor-logo",4,"ngIf"],[1,"sponsor-info"],[1,"sponsor-name"],[1,"sponsor-details"],[1,"sponsor-size"],["class","sponsor-legal",4,"ngIf"],["class","sponsor-links",4,"ngIf"],[1,"sponsor-actions"],[1,"btn","btn-sm","btn-danger",3,"click"],[1,"fas","fa-tras
140h"],[1,"sponsor-logo"],[1,"sponsor-logo-img",3,"src","alt"],[1,"sponsor-legal"],[1,"sponsor-links"],["class","sponsor-email",3,"href",4,"ngIf"],["target","_blank","class","sponsor-website",3,"href",4,"ngIf"],[1,"sponsor-email",3,"href"],[1,"fas","fa-envelope"],["target","_blank",1,"sponsor-website",3,"href"],[1,"fas","fa-globe"],[1,"no-sponsors"],[1,"events-list"],[1,"events-grid"],["class","event-item",4,"ngFor","ngForOf"],[1,"event-item"],[1,"event-image"],[3,"src","alt"],[1,"event-details"],[1,"event-location"],[1,"event-date"],[1,"event-category"],["class","event-sponsors-preview",4,"ngIf"],[1,"event-actions"],[1,"btn","btn-danger",3,"click"],[1,"event-sponsors-preview"],[1,"sponsors-label"],[1,"fas","fa-handshake"],[1,"sponsors-preview"],["class","sponsor-badge",4,"ngFor","ngForOf"],["class","more-sponsors",4,"ngIf"],[1,"sponsor-badge"],[1,"more-sponsors"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"h1"),a(4,"Event Management"),o(),h(5,P2,9,3,"div",3)(6,O2,3,0,"div",4),o(),h(7,w2,7,3,"div",5)(8,S2,3,0,"button",6),o(),h(9,E2,4,0,"div",7)(10,T2,5,1,"div",8)(11,B2,126,12,"div",9)(12,py,145,17,"div",9)(13,Cy,3,1,"div",10),o()),n&2&&(c(5),m("ngIf",i.currentSeason),c(),m("ngIf",i.seasonLoading),c(),m("ngIf",i.allSeasons.length>0),c(),m("ngIf",!i.showCreateForm&&!i.showEditForm),c(),m("ngIf",i.loading),c(),m("ngIf",i.error&&!i.loading),c(),m("ngIf",i.showCreateForm),c(),m("ngIf",i.showEditForm&&i.editingEvent),c(),m("ngIf",!i.showCreateForm&&!i.showEditForm&&!i.loading&&!i.error))},dependencies:[H,X,$,se,Oe,fe,he,re,lt,ue,ie,Pe,pe,$e,We,Ge],styles:[".event-admin-container[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;padding:20px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{flex:1;margin-right:20px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0 0 15px;color:#2c3e50;font-size:28px;font-weight:600}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .current-season-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border-radius:8px;font-size:14px;box-shadow:0 4px 15px #28a7454d}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .current-season-info[_ngcontent-%COMP%] .season-label[_ngcontent-%COMP%]{font-weight:600;opacity:.9}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .current-season-info[_ngcontent-%COMP%] .season-number[_ngcontent-%COMP%]{background:#fff3;padding:4px 8px;border-radius:4px;font-weight:700;font-size:16px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .current-season-info[_ngcontent-%COMP%] .season-name[_ngcontent-%COMP%]{font-weight:600}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .current-season-info[_ngcontent-%COMP%] .season-id[_ngcontent-%COMP%]{opacity:.8;font-size:12px;font-family:monospace}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .season-loading[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8f9fa;color:#666;border-radius:8px;font-size:14px;border:1px solid #e0e0e0}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .season-loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible)}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .season-filter-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;margin:0 20px;min-width:250px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .season-filter-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:14px;font-weight:600;color:#495057;margin:0}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .season-filter-container[_ngcontent-%COMP%] .season-filter-select[_ngcontent-%COMP%]{padding:10px 12px;border:2px solid #e9ecef;border-radius:6px;background:#fff;font-size:14px;color:#495057;transition:all .3s ease;cursor:pointer}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .season-filter-container[_ngcontent-%COMP%] .season-filter-select[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .season-filter-container[_ngcontent-%COMP%] .season-filter-select[_ngcontent-%COMP%]:hover{border-color:#adb5bd}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .season-filter-container[_ngcontent-%COMP%] .season-filter-select[_ngcontent-%COMP%] option[_ngcontent-%COMP%]{padding:8px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 24px;border-radius:8px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.event-admin-container[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.event-admin-container[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--natie-blue);border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin-bottom:16px}.event-admin-container[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:16px;margin:0}.event-admin-container[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.event-admin-container[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:16px;margin-bottom:16px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%]{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin-top:0;margin-bottom:30px;color:#2c3e50;font-size:22px;font-weight:600}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media (max-width: 768px){.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-row.map-row[_ngcontent-%COMP%], .event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-row.location-section[_ngcontent-%COMP%]{grid-template-columns:1fr;margin-bottom:20px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:14px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:all .3s ease;background:#f8f9fa}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-control.ng-invalid.ng-touched[_ngcontent-%COMP%]{border-color:#dc3545}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea.form-control[_ngcontent-%COMP%]{resize:vertical;min-height:100px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%]{color:#dc3545;font-size:12px;margin-top:5px;font-weight:500}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-display[_ngcontent-%COMP%]{margin-bottom:10px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-display[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border-radius:6px;font-size:14px;box-shadow:0 2px 8px #28a74533}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-display[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-id-text[_ngcontent-%COMP%]{opacity:.8;font-size:12px;font-family:monospace}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-help-text[_ngcontent-%COMP%], .event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .help-text[_ngcontent-%COMP%]{color:#6c757d;font-size:12px;font-style:italic;margin-top:5px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 30px;border-radius:8px;font-weight:500;font-size:16px;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%]{width:100%}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;width:100%}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]{flex:1;min-width:0}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .search-btn[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);border:none;color:#fff;padding:10px 16px;border-radius:6px;font-weight:500;transition:all .3s ease;white-space:nowrap}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .search-btn[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .search-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .clear-btn[_ngcontent-%COMP%]{background:#dc3545;border:1px solid #dc3545;color:#fff;padding:10px 16px;border-radius:6px;font-weight:500;transition:all .3s ease;white-space:nowrap}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .clear-btn[_ngcontent-%COMP%]:hover{background:#c82333;border-color:#bd2130;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .clear-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;width:100%}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .location-map[_ngcontent-%COMP%]{width:95%;max-width:800px;height:400px;border-radius:8px;border:2px solid #e9ecef;box-shadow:0 2px 8px #0000001a;z-index:1}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .map-instru
140ctions[_ngcontent-%COMP%]{margin-top:10px;padding:12px 16px;background:#f8f9fa;border-radius:6px;border-left:4px solid #667eea;width:95%;max-width:800px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#495057;font-size:14px;display:flex;align-items:center;gap:8px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea;font-size:16px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%]{margin-top:12px;background:#dc3545;border:1px solid #dc3545;color:#fff;padding:10px 20px;border-radius:6px;font-weight:500;transition:all .3s ease;cursor:pointer}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%]:hover{background:#c82333;border-color:#bd2130;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch{margin-top:10px!important;margin-right:10px!important}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .geosearch{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;border:2px solid #667eea}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input{padding:8px 12px;font-size:14px;border:none;border-radius:4px;min-width:250px}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input:focus{outline:none}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input::placeholder{color:#999}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .geosearch form button{background:#667eea;border:none}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .geosearch form button:hover{background:#5a6fd8}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .results{background:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px;max-height:300px;overflow-y:auto;border:1px solid #e9ecef}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .results>*{padding:10px 12px;border-bottom:1px solid #e9ecef;cursor:pointer;transition:background .2s ease}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .results>*:hover{background:#f8f9fa}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .results>*:last-child{border-bottom:none}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-control-geosearch .results .active{background:#e7f3ff}.event-admin-container .form-container .event-form [_nghost-%COMP%] .leaflet-top.leaflet-right{z-index:1000}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}@media (max-width: 768px){.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000026}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-image[_ngcontent-%COMP%]{width:100%;height:200px;overflow:hidden}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%]{padding:20px}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 10px;color:#2c3e50;font-size:18px;font-weight:600;line-height:1.4}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 8px;color:#6c757d;font-size:14px;line-height:1.6}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] p.event-location[_ngcontent-%COMP%]{font-weight:500}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] p.event-category[_ngcontent-%COMP%]{background:#f8f9fa;padding:4px 8px;border-radius:4px;display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] .event-sponsors-preview[_ngcontent-%COMP%]{margin-top:10px}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] .event-sponsors-preview[_ngcontent-%COMP%] .sponsors-label[_ngcontent-%COMP%]{color:#28a745;font-size:12px;font-weight:600;margin-bottom:5px;display:flex;align-items:center;gap:5px}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] .event-sponsors-preview[_ngcontent-%COMP%] .sponsors-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:10px}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] .event-sponsors-preview[_ngcontent-%COMP%] .sponsors-preview[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:5px}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] .event-sponsors-preview[_ngcontent-%COMP%] .sponsors-preview[_ngcontent-%COMP%] .sponsor-badge[_ngcontent-%COMP%]{background:#e8f5e8;color:#28a745;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;border:1px solid #c3e6c3}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-details[_ngcontent-%COMP%] .event-sponsors-preview[_ngcontent-%COMP%] .sponsors-preview[_ngcontent-%COMP%] .more-sponsors[_ngcontent-%COMP%]{color:#6c757d;font-size:11px;font-style:italic;padding:2px 8px}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-actions[_ngcontent-%COMP%]{padding:0 20px 20px;display:flex;gap:10px}.event-admin-container[_ngcontent-%COMP%] .events-list[_ngcontent-%COMP%] .events-grid[_ngcontent-%COMP%] .event-item[_ngcontent-%COMP%] .event-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1}.btn[_ngcontent-%COMP%]{padding:10px 20px;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}.btn.btn-primary[_ngcontent-%COMP%]{background-color:var(--natie-blue-accessible);color:#fff}.btn.btn-primary[_ngcontent-%COMP%]:hover{background-color:#0056b3}.btn.btn-primary[_ngcontent-%COMP%]:disabled{background-color:#6c757d;cursor:not-allowed}.btn.btn-secondary[_ngcontent-%COMP%]{background-color:#6c757d;color:#fff}.btn.btn-secondary[_ngcontent-%COMP%]:hover{background-color:#545b62}.btn.btn-danger[_ngcontent-%COMP%]{background-color:#dc3545;color:#fff}.btn.btn-danger[_ngcontent-%COMP%]:hover{background-color:#c82333}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sponsors-section[_ngcontent-%COMP%]{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.sponsors-section[_ngcontent-%COMP%] .sponsors-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sponsors-section[_ngcontent-%COMP%] .sponsors-header[_ngcontent-%COMP%] h4[_ng
140content-%COMP%]{margin:0;color:#2c3e50;font-size:18px;font-weight:600}.sponsors-section[_ngcontent-%COMP%] .sponsors-header[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%]{padding:8px 16px;font-size:14px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%]{background:#fff;padding:20px;border-radius:8px;border:1px solid #dee2e6;margin-bottom:20px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:0 0 20px;color:#2c3e50;font-size:16px;font-weight:600}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media (max-width: 768px){.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:15px}}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]{width:100%;padding:10px 12px;border:2px solid #e9ecef;border-radius:6px;font-size:14px;transition:border-color .3s ease}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-control.error[_ngcontent-%COMP%]{border-color:#dc3545}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%]{color:#dc3545;font-size:12px;margin-top:5px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .help-text[_ngcontent-%COMP%]{color:#6c757d;font-size:12px;margin-top:5px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%]{position:relative;display:inline-block;margin-top:10px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .image-preview[_ngcontent-%COMP%]{max-width:200px;max-height:150px;border-radius:8px;border:2px solid #e9ecef;object-fit:cover}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%]{position:absolute;top:-10px;right:-10px;background:#dc3545;border:none;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .3s ease}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%]:hover{background:#c82333;transform:scale(1.1)}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .remove-image-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:15px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-top:10px;gap:15px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-preview[_ngcontent-%COMP%]{flex-shrink:0}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-preview[_ngcontent-%COMP%] .current-image-thumbnail[_ngcontent-%COMP%]{width:80px;height:60px;object-fit:cover;border-radius:6px;border:2px solid #dee2e6;box-shadow:0 2px 8px #0000001a}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%]{display:flex;align-items:center;flex:1}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:24px;color:#6c757d;margin-right:15px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%] .image-info[_ngcontent-%COMP%]{display:flex;flex-direction:column}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%] .image-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:500;color:#2c3e50;margin-bottom:2px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-details[_ngcontent-%COMP%] .image-info[_ngcontent-%COMP%] .current-image-label[_ngcontent-%COMP%]{color:#6c757d;font-size:12px;font-style:italic}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-actions[_ngcontent-%COMP%]{flex-shrink:0}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-actions[_ngcontent-%COMP%] .view-image-btn[_ngcontent-%COMP%]{background:#17a2b8;border:none;color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;transition:all .3s ease}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-actions[_ngcontent-%COMP%] .view-image-btn[_ngcontent-%COMP%]:hover{background:#138496;transform:translateY(-1px)}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .current-image-info[_ngcontent-%COMP%] .current-image-actions[_ngcontent-%COMP%] .view-image-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:6px;font-size:12px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .image-preview-container[_ngcontent-%COMP%] .new-image-preview[_ngcontent-%COMP%]{position:relative;display:inline-block;margin-top:10px}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:10px;justify-content:flex-end}.sponsors-section[_ngcontent-%COMP%] .sponsor-form-container[_ngcontent-%COMP%] .sponsor-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:10px 20px;font-size:14px}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:15px}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:15px;padding:15px;background:#fff;border-radius:8px;border:1px solid #dee2e6;transition:all .3s ease}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-logo[_ngcontent-%COMP%]{flex-shrink:0}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-logo[_ngcontent-%COMP%] .sponsor-logo-img[_ngcontent-%COMP%]{width:50px;height:50px;border-radius:6px;object-fit:cover;border:1px solid #e9ecef}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%]{flex:1;min-width:0}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] .sponsor-name[_ng
140content-%COMP%]{margin:0 0 5px;color:#2c3e50;font-size:16px;font-weight:600}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] .sponsor-details[_ngcontent-%COMP%]{margin:0 0 8px;color:#6c757d;font-size:14px}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] .sponsor-details[_ngcontent-%COMP%] .sponsor-size[_ngcontent-%COMP%]{background:#e9ecef;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;margin-right:8px}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] .sponsor-details[_ngcontent-%COMP%] .sponsor-legal[_ngcontent-%COMP%]{color:#495057;font-style:italic}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] .sponsor-links[_ngcontent-%COMP%]{display:flex;gap:15px;flex-wrap:wrap}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] .sponsor-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#667eea;text-decoration:none;font-size:13px;display:flex;align-items:center;gap:5px;transition:color .3s ease}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] .sponsor-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#5a6fd8;text-decoration:underline}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] .sponsor-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-actions[_ngcontent-%COMP%]{flex-shrink:0}.sponsors-section[_ngcontent-%COMP%] .sponsors-list[_ngcontent-%COMP%] .sponsor-item[_ngcontent-%COMP%] .sponsor-actions[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%]{padding:6px 10px;font-size:12px}.sponsors-section[_ngcontent-%COMP%] .no-sponsors[_ngcontent-%COMP%]{text-align:center;padding:40px 20px;color:#6c757d;font-style:italic}.sponsors-section[_ngcontent-%COMP%] .no-sponsors[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px}@media (max-width: 768px){.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch;gap:20px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{margin-right:0}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .current-season-info[_ngcontent-%COMP%]{flex-wrap:wrap;gap:8px;font-size:13px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .current-season-info[_ngcontent-%COMP%] .season-number[_ngcontent-%COMP%]{font-size:14px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .current-season-info[_ngcontent-%COMP%] .season-id[_ngcontent-%COMP%]{font-size:11px}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{align-self:stretch}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .season-filter-container[_ngcontent-%COMP%]{margin:0;min-width:auto;order:-1}.event-admin-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .season-filter-container[_ngcontent-%COMP%] .season-filter-select[_ngcontent-%COMP%]{width:100%}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-display[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{flex-wrap:wrap;gap:6px;font-size:13px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-display[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-id-text[_ngcontent-%COMP%]{font-size:11px}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%]{flex-direction:column;gap:8px;width:100%}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]{width:100%;margin-bottom:0}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .search-btn[_ngcontent-%COMP%], .event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .location-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .clear-btn[_ngcontent-%COMP%]{width:100%;padding:12px;font-size:14px;justify-content:center}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .location-map[_ngcontent-%COMP%]{height:300px;width:98%;max-width:none}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .map-instru
140ctions[_ngcontent-%COMP%]{width:98%;max-width:none}.event-admin-container[_ngcontent-%COMP%] .form-container[_ngcontent-%COMP%] .event-form[_ngcontent-%COMP%] .map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:13px;flex-direction:column;align-items:flex-start;gap:4px}}"]})}}return t})();function vy(t,s){if(t&1&&(r(0,"div",18)(1,"div",19)(2,"h3"),_(3,"i",20),a(4," Current Active Season"),o()(),r(5,"div",21)(6,"div",22)(7,"span",23),a(8),o(),r(9,"span",24),a(10),o()(),r(11,"div",25)(12,"span",26)(13,"strong"),a(14,"Registration Start:"),o(),a(15),o(),r(16,"span",26)(17,"strong"),a(18,"Registration End:"),o(),a(19),o()()()()),t&2){let e=p();c(8),w("Season ",e.currentSeason.seasonNumber,""),c(2),O(e.currentSeason.seasonName),c(5),w(" ",e.formatDate(e.currentSeason.registrationStart)," "),c(4),w(" ",e.formatDate(e.currentSeason.registrationEnd)," ")}}function My(t,s){if(t&1){let e=E();r(0,"div",27),_(1,"i",28),a(2),r(3,"button",29),b("click",function(){v(e);let i=p();return M(i.error=null)}),_(4,"i",30),o()()}if(t&2){let e=p();c(2),w(" ",e.error," ")}}function xy(t,s){t&1&&(r(0,"div",54),a(1," Season number is required and must be at least 1 "),o())}function by(t,s){t&1&&(r(0,"div",54),a(1," Season name is required and must be at least 3 characters "),o())}function Py(t,s){if(t&1){let e=E();r(0,"div",31)(1,"div",32)(2,"h3"),_(3,"i",33),a(4," Create New Season"),o()(),r(5,"form",34),b("ngSubmit",function(){v(e);let i=p();return M(i.createSeason())}),r(6,"div",35)(7,"div",36)(8,"label",37),a(9,"Season Number *"),o(),_(10,"input",38),h(11,xy,2,0,"div",39),o(),r(12,"div",36)(13,"label",40),a(14,"Season Name *"),o(),_(15,"input",41),h(16,by,2,0,"div",39),o()(),r(17,"div",35)(18,"div",42)(19,"label",43),a(20,"An FTC Events API (op\u021Bional)"),o(),_(21,"input",44),r(22,"small",45),a(23,"Folosit la sincronizarea premiilor din FIRST (API v2.0, parametrul sezon = anul calendaristic). Las\u0103 gol dac\u0103 nu folose\u0219ti \xEEnc\u0103."),o()()(),r(24,"div",35)(25,"div",36)(26,"label",46),a(27,"Registration Start Date"),o(),_(28,"input",47),o(),r(29,"div",36)(30,"label",48),a(31,"Registration End Date"),o(),_(32,"input",49),o()(),r(33,"div",50)(34,"button",51),_(35,"i",52),a(36," Create Season "),o(),r(37,"button",53),b("click",function(){v(e);let i=p();return M(i.cancelCreate())}),_(38,"i",30),a(39," Cancel "),o()()()()}if(t&2){let e,n,i=p();c(5),m("formGroup",i.createForm),c(6),m("ngIf",((e=i.createForm.get("seasonNumber"))==null?null:e.invalid)&&((e=i.createForm.get("seasonNumber"))==null?null:e.touched)),c(5),m("ngIf",((n=i.createForm.get("seasonName"))==null?null:n.invalid)&&((n=i.createForm.get("seasonName"))==null?null:n.touched)),c(18),m("disabled",i.createForm.invalid)}}function Oy(t,s){t&1&&(r(0,"div",54),a(1," Season number is required and must be at least 1 "),o())}function yy(t,s){t&1&&(r(0,"div",54),a(1," Season name is required and must be at least 3 characters "),o())}function wy(t,s){if(t&1){let e=E();r(0,"div",31)(1,"div",32)(2,"h3"),_(3,"i",55),a(4),o()(),r(5,"form",34),b("ngSubmit",function(){v(e);let i=p();return M(i.updateSeason())}),r(6,"div",35)(7,"div",36)(8,"label",56),a(9,"Season Number *"),o(),_(10,"input",57),h(11,Oy,2,0,"div",39),o(),r(12,"div",36)(13,"label",58),a(14,"Season Name *"),o(),_(15,"input",59),h(16,yy,2,0,"div",39),o()(),r(17,"div",35)(18,"div",42)(19,"label",60),a(20,"An FTC Events API (op\u021Bional)"),o(),_(21,"input",61),r(22,"small",45),a(23,"Necesar pentru sincronizarea premiilor FIRST. Gol = \u0219terge valoarea salvat\u0103."),o()()(),r(24,"div",35)(25,"div",36)(26,"label",62),a(27,"Registration Start Date"),o(),_(28,"input",63),o(),r(29,"div",36)(30,"label",64),a(31,"Registration End Date"),o(),_(32,"input",65),o()(),r(33,"div",50)(34,"button",51),_(35,"i",52),a(36," Update Season "),o(),r(37,"button",53),b("click",function(){v(e);let i=p();return M(i.cancelEdit())}),_(38,"i",30),a(39," Cancel "),o()()()()}if(t&2){let e,n,i=p();c(4),w(" Edit Season: ",i.editingSeason==null?null:i.editingSeason.seasonName,""),c(),m("formGroup",i.editForm),c(6),m("ngIf",((e=i.editForm.get("seasonNumber"))==null?null:e.invalid)&&
140((e=i.editForm.get("seasonNumber"))==null?null:e.touched)),c(5),m("ngIf",((n=i.editForm.get("seasonName"))==null?null:n.invalid)&&((n=i.editForm.get("seasonName"))==null?null:n.touched)),c(18),m("disabled",i.editForm.invalid)}}function Sy(t,s){t&1&&(r(0,"div",66),_(1,"i",67),a(2," Loading seasons... "),o())}function Ey(t,s){if(t&1){let e=E();r(0,"tr")(1,"td",23),a(2),o(),r(3,"td",24),a(4),o(),r(5,"td",70),a(6),o(),r(7,"td",71)(8,"div",72)(9,"span",73),a(10),o(),r(11,"span",74),a(12,"to"),o(),r(13,"span",75),a(14),o()()(),r(15,"td",76)(16,"span",77),a(17),o()(),r(18,"td",78)(19,"div",79)(20,"button",80),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.loadSeasonStatistics(i.id))}),_(21,"i",81),o(),r(22,"button",82),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.showEditSeasonForm(i))}),_(23,"i",55),o(),r(24,"button",83),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.setCurrentSeason(i))}),_(25,"i",20),o(),r(26,"button",84),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.deleteSeason(i))}),_(27,"i",85),o()()()()}if(t&2){let e=s.$implicit,n=p(2);I("current-season",n.isCurrentSeason(e)),c(2),O(e.seasonNumber),c(2),O(e.seasonName),c(2),O(n.formatFtcEventsApiYear(e.ftcEventsApiYear)),c(4),O(n.formatDate(e.registrationStart)),c(4),O(n.formatDate(e.registrationEnd)),c(2),I("current",n.isCurrentSeason(e)),c(),w(" ",n.isCurrentSeason(e)?"Current":"Inactive"," "),c(5),m("disabled",n.showCreateForm||n.showEditForm),c(2),m("disabled",n.isCurrentSeason(e)||n.showCreateForm||n.showEditForm),c(2),m("disabled",n.isCurrentSeason(e)||n.showCreateForm||n.showEditForm)}}function Ty(t,s){if(t&1&&(r(0,"div",68)(1,"table")(2,"thead")(3,"tr")(4,"th"),a(5,"Season #"),o(),r(6,"th"),a(7,"Name"),o(),r(8,"th"),a(9,"FTC API an"),o(),r(10,"th"),a(11,"Registration Period"),o(),r(12,"th"),a(13,"Status"),o(),r(14,"th"),a(15,"Actions"),o()()(),r(16,"tbody"),h(17,Ey,28,13,"tr",69),o()()()),t&2){let e=p();c(17),m("ngForOf",e.seasons)}}function ky(t,s){t&1&&(r(0,"div",86),_(1,"i",87),r(2,"p"),a(3,"No seasons found. Create your first season to get started!"),o()())}function Iy(t,s){if(t&1){let e=E();r(0,"div",88)(1,"div",89)(2,"div",90)(3,"h3"),_(4,"i",81),a(5," Season Statistics"),o(),r(6,"button",91),b("click",function(){v(e);let i=p();return M(i.closeStats())}),_(7,"i",30),o()(),r(8,"div",92)(9,"div",93)(10,"h4"),a(11),o(),r(12,"p",94),a(13),o()(),r(14,"div",95)(15,"div",96)(16,"div",97),_(17,"i",98),o(),r(18,"div",99)(19,"div",100),a(20),o(),r(21,"div",101),a(22,"Teams"),o()()(),r(23,"div",96)(24,"div",97),_(25,"i",2),o(),r(26,"div",99)(27,"div",100),a(28),o(),r(29,"div",101),a(30,"Events"),o()()(),r(31,"div",96)(32,"div",97),_(33,"i",102),o(),r(34,"div",99)(35,"div",100),a(36),o(),r(37,"div",101),a(38,"Regions"),o()()()()()()()}if(t&2){let e=p();c(11),O(e.selectedSeasonStats.season.seasonName),c(2),dn(" Season ",e.selectedSeasonStats.season.seasonNumber," \u2022 ",e.formatDate(e.selectedSeasonStats.season.registrationStart)," - ",e.formatDate(e.selectedSeasonStats.season.registrationEnd)," "),c(7),O(e.selectedSeasonStats.teamCount),c(8),O(e.selectedSeasonStats.eventCount),c(8),O(e.selectedSeasonStats.regionCount)}}var mu=(()=>{class t{constructor(e,n){this.seasonsService=e,this.fb=n,this.seasons=[],this.currentSeason=null,this.loading=!0,this.error=null,this.showCreateForm=!1,this.showEditForm=!1,this.editingSeason=null,this.selectedSeasonStats=null,this.showStats=!1,this.createForm=this.fb.group({seasonNumber:["",[N.required,N.min(1)]],seasonName:["",[N.required,N.minLength(3)]],ftcEventsApiYear:[""],registrationStart:[""],registrationEnd:[""]}),this.editForm=this.fb.group({seasonNumber:["",[N.required,N.min(1)]],seasonName:["",[N.required,N.minLength(3)]],ftcEventsApiYear:[""],registrationStart:[""],registrationEnd:[""]})}ngOnInit(){this.loadSeasons(),this.loadCurrentSeason()}loadSeasons(){return q(this,null,function*(){try{this.loading=!0,this.error=null;let e=yield this.seasonsService.getAllSeasons().toPromise();e?.success&&(this.seasons=e.message)}catch(e){console.error("Error loading seasons:",e),this.error="Failed to load seasons"}finally{this.loading=!1}})}loadCurrentSeason(){return q(this,null,function*(){try{let e=yield this.seasonsService.getCurrentSeason().toPromise();e?.success&&(this.currentSeason=e.message)}catch(e){console.error("Error loading current season:",e)}})}loadSeasonStatistics(e){return q(this,null,function*(){try{let n=yield this.seasonsService.getSeasonStatistics(e).toProm
140ise();n?.success&&(this.selectedSeasonStats=n.message,this.showStats=!0)}catch(n){console.error("Error loading season statistics:",n),this.error="Failed to load season statistics"}})}showCreateSeasonForm(){this.showCreateForm=!0,this.showEditForm=!1,this.createForm.reset()}showEditSeasonForm(e){this.editingSeason=e,this.showEditForm=!0,this.showCreateForm=!1;let n=e.registrationStart?new Date(e.registrationStart).toISOString().slice(0,16):"",i=e.registrationEnd?new Date(e.registrationEnd).toISOString().slice(0,16):"";this.editForm.patchValue({seasonNumber:e.seasonNumber,seasonName:e.seasonName,ftcEventsApiYear:e.ftcEventsApiYear??"",registrationStart:n,registrationEnd:i})}createSeason(){return q(this,null,function*(){if(this.createForm.valid)try{let e=this.createForm.value,n={seasonNumber:e.seasonNumber,seasonName:e.seasonName,registrationStart:e.registrationStart?new Date(e.registrationStart).toISOString():null,registrationEnd:e.registrationEnd?new Date(e.registrationEnd).toISOString():null},i=this.parseOptionalFtcYear(e.ftcEventsApiYear);i!==void 0&&(n.ftcEventsApiYear=i),(yield this.seasonsService.createSeason(n).toPromise())?.success&&(this.showCreateForm=!1,this.createForm.reset(),this.loadSeasons(),this.error=null)}catch(e){console.error("Error creating season:",e),this.error=e.error?.message||"Failed to create season"}})}updateSeason(){return q(this,null,function*(){if(this.editForm.valid&&this.editingSeason)try{let e=this.editForm.value,n={seasonNumber:e.seasonNumber,seasonName:e.seasonName,registrationStart:e.registrationStart?new Date(e.registrationStart).toISOString():null,registrationEnd:e.registrationEnd?new Date(e.registrationEnd).toISOString():null,ftcEventsApiYear:this.parseOptionalFtcYearForUpdate(e.ftcEventsApiYear)};(yield this.seasonsService.updateSeason(this.editingSeason.id,n).toPromise())?.success&&(this.showEditForm=!1,this.editingSeason=null,this.editForm.reset(),this.loadSeasons(),this.loadCurrentSeason(),this.error=null)}catch(e){console.error("Error updating season:",e),this.error=e.error?.message||"Failed to update season"}})}deleteSeason(e){return q(this,null,function*(){if(confirm(`Are you sure you want to delete season "${e.seasonName}"? This action cannot be undone.`))try{(yield this.seasonsService.deleteSeason(e.id).toPromise())?.success&&(this.loadSeasons(),this.loadCurrentSeason(),this.error=null)}catch(n){console.error("Error deleting season:",n),this.error="Failed to delete season"}})}setCurrentSeason(e){return q(this,null,function*(){if(confirm(`Set "${e.seasonName}" as the current active season?`))try{(yield this.seasonsService.setCurrentSeason(e.id).toPromise())?.success&&(this.loadCurrentSeason(),this.error=null)}catch(n){console.error("Error setting current season:",n),this.error="Failed to set current season"}})}cancelCreate(){this.showCreateForm=!1,this.createForm.reset(),this.error=null}cancelEdit(){this.showEditForm=!1,this.editingSeason=null,this.editForm.reset(),this.error=null}closeStats(){this.showStats=!1,this.selectedSeasonStats=null}isCurrentSeason(e){return this.currentSeason?.id===e.id}formatDate(e){return e?new Date(e).toLocaleDateString():"Not set"}formatFtcEventsApiYear(e){return e!=null?String(e):"\u2014"}parseOptionalFtcYear(e){if(e===""||e===null||e===void 0)return;let n=typeof e=="number"?e:parseInt(String(e).trim(),10);if(!(!Number.isFinite(n)||n<2e3||n>2100))return n}parseOptionalFtcYearForUpdate(e){if(e===""||e===null||e===void 0)return null;let n=typeof e=="number"?e:parseInt(String(e).trim(),10);return!Number.isFinite(n)||n<2e3||n>2100?null:n}static{this.\u0275fac=function(n){return new(n||t)(T(Ve),T(Ye))}}static{this.\u0275cmp=V({type:t,selectors:[["app-seasons-management"]],standalone:!0,features:[B],decls:25,vars:12,consts:[[1,"seasons-management"],[1,"header-section"],[1,"fas","fa-calendar-alt"],[1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-plus"],["class","current-season-card",4,"ngIf"],["class","error-message",4,"ngIf"],["class","form-section",4,"ngIf"],[1,"seasons-list-section"],[1,"section-header"],[1,"fas","fa-list"],[1,"refresh-controls"],[1,"btn","btn-outline",3,"click","disabled"],[1,"fas","fa-sync-alt"],["class","loading-spinner",4,"ngIf"],["class","seasons-table",4,"ngIf"],["class","no-seasons",4,"ngIf"],["class","stats-modal",4,"ngIf"],[1,"current-season-card"],[1,"current-season-header"],[1,"fas","fa-star"],[1,"current-season-content"],[1,"season-info"],[1,"season-number"],[1,"season-name"],[1,"season-dates"],[1,"date-item"],[1,"error-message"],[1,"fas","fa-exclamation-triangle"],[1,"close-error",3,"click"],[1,"fas","fa-times"],[1,"form-section"],[1,"form-header"],[1,"fas","fa-plus-circle"],[1,"season-form",3,"ngSubmit","formGroup"],[1,"form-row"],[1,"form-group"],["for","create-seasonNumber"],["type","number","id","create-seasonNumber","formControlName","seasonNumber","placeholder","e.g., 1, 2, 3...","min","1"],["class","error-hint",4,"ngIf"],["for","create-seasonName"],["type","text","id","create-seasonName","formControlName","seasonName","placeholder","e.g., Season 2024-2025","minlength","3"],[1,"form-group","full-width"],["for","create-ftcEventsApiYear"],["type","number","id","create-ftcEventsApiYear","formControlName","ftcEventsApiYear","placeholder","ex. 2024 pentru sezonul 2024\u20132025","min","2000","max","2100"],[1,"field-hint"],["for","create-registrationStart"],["type","datetime-local","id","create-registrationStart","formControlName","registrationStart"],["for","create-registrationEnd"],["type","datetime-local","id","create-registrationEnd","formControlName","registrationEnd"],[1,"form-actions"],["type","submit",1,"btn","btn-success",3,"disabled"],[1,"fas","fa-save"],["type","button",1,"btn","btn-secondary",3,"click"],[1,"error-hint"],[1,"fas","fa-edit"],["for","edit-seasonNumber"],["type","number","id","edit-seasonNumber","formControlName","seasonNumber","placeholder","e.g., 1, 2, 3...","min","1"],["for","edit-seasonName"],["type","text","id","edit-seasonName","formControlName","seasonName","placeholder","e.g., Season 2024-2025","minlength","3"],["for","edit-ftcEventsApiYear"],["type","number","id","edit-ftcEventsApiYear","formControlName","ftcEventsApiYear","placeholder","ex. 2024","min","2000","max","2100"],["for","edit-registrationStart"],["type","datetime-local","id","edit-registrationStart","formControlName","registrationStart"],["for","edit-registrationEnd"],["type","datetime-local","id","edit-registrationEnd","formControlName","registrationEnd"],[1,"loading-spinner"],[1,"fas","fa-spinner","fa-spin"],[1,"seasons-table"],[3,"current-season",4,"ngFor","ngForOf"],[1,"ftc-year"],[1,"registration-period"],[1,"date-range"],[1,"start-date"],[1,"separator"],[1,"end-date"],[1,"status"],[1,"status-badge"],[1,"actions"],[1,"action-buttons"],["title","View Statistics",1,"btn","btn-info","btn-sm",3,"click"],[1,"fas","fa-chart-bar"],["title","Edit Season",1,"btn","btn-warning","btn-sm",3,"click","disabled"],["title","Set as Current Season",1,"btn","btn-success","btn-sm",3,"click","disabled"],["title","Delete Season",1,"btn","btn-danger","btn-sm",3,"click","disabled"],[1,"fas","fa-tras
140h"],[1,"no-seasons"],[1,"fas","fa-calendar-times"],[1,"stats-modal"],[1,"stats-content"],[1,"stats-header"],[1,"close-stats",3,"click"],[1,"stats-body"],[1,"season-summary"],[1,"season-details"],[1,"stats-grid"],[1,"stat-card"],[1,"stat-icon"],[1,"fas","fa-users"],[1,"stat-content"],[1,"stat-number"],[1,"stat-label"],[1,"fas","fa-map-marker-alt"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h2"),_(3,"i",2),a(4," Seasons Management"),o(),r(5,"button",3),b("click",function(){return i.showCreateSeasonForm()}),_(6,"i",4),a(7," Create New Season "),o()(),h(8,vy,20,4,"div",5)(9,My,5,1,"div",6)(10,Py,40,4,"div",7)(11,wy,40,5,"div",7),r(12,"div",8)(13,"div",9)(14,"h3"),_(15,"i",10),a(16," All Seasons"),o(),r(17,"div",11)(18,"button",12),b("click",function(){return i.loadSeasons()}),_(19,"i",13),a(20," Refresh "),o()()(),h(21,Sy,3,0,"div",14)(22,Ty,18,1,"div",15)(23,ky,4,0,"div",16),o(),h(24,Iy,39,7,"div",17),o()),n&2&&(c(5),m("disabled",i.showCreateForm||i.showEditForm),c(3),m("ngIf",i.currentSeason),c(),m("ngIf",i.error),c(),m("ngIf",i.showCreateForm),c(),m("ngIf",i.showEditForm),c(7),m("disabled",i.loading),c(),I("fa-spin",i.loading),c(2),m("ngIf",i.loading),c(),m("ngIf",!i.loading&&i.seasons.length>0),c(),m("ngIf",!i.loading&&i.seasons.length===0),c(),m("ngIf",i.showStats&&i.selectedSeasonStats))},dependencies:[H,X,$,se,Oe,re,lt,ie,Pe,ni,yt,ti,$e,We,Ge],styles:[".seasons-management[_ngcontent-%COMP%]{padding:20px;max-width:1200px;margin:0 auto}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#333;font-size:28px;font-weight:600}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--natie-blue),#0056b3);border:none;padding:12px 24px;border-radius:8px;color:#fff;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #007bff4d}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 8px 25px #28a7454d}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-header[_ngcontent-%COMP%]{margin-bottom:20px}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:22px;font-weight:600}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;color:gold}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-number[_ngcontent-%COMP%]{font-size:18px;font-weight:500;opacity:.9}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-name[_ng
140content-%COMP%]{font-size:24px;font-weight:700}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-dates[_ngcontent-%COMP%]{display:flex;gap:30px}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-dates[_ngcontent-%COMP%] .date-item[_ngcontent-%COMP%]{font-size:14px;opacity:.9}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-dates[_ngcontent-%COMP%] .date-item[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:gold}.seasons-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px #dc35454d}.seasons-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;color:gold}.seasons-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] .close-error[_ngcontent-%COMP%]{background:none;border:none;color:#fff;cursor:pointer;font-size:18px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.seasons-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] .close-error[_ngcontent-%COMP%]:hover{background-color:#fff3}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 4px 20px #0000001a;border:1px solid #e0e0e0}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%]{margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f8f9fa}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#333;font-size:20px;font-weight:600}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media (max-width: 768px){.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:600;color:#555;margin-bottom:8px;font-size:14px}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s ease}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--natie-blue-accessible);box-shadow:0 0 0 3px #007bff1a}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[type=datetime-local][_ngcontent-%COMP%]{min-height:44px}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error-hint[_ngcontent-%COMP%]{color:#dc3545;font-size:12px;margin-top:5px;font-style:italic}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:15px;justify-content:flex-end;padding-top:20px;border-top:1px solid #f8f9fa}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:12px 24px;border-radius:8px;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 4px 15px #28a7454d}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:#6c757d;color:#fff}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover{background:#5a6268}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 20px #0000001a;border:1px solid #e0e0e0}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f8f9fa}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#333;font-size:20px;font-weight:600}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .refresh-controls[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{background:#fff;border:2px solid var(--natie-blue);color:var(--natie-blue-accessible);padding:8px 16px;border-radius:6px;font-weight:500;transition:all .3s ease}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .refresh-controls[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--natie-blue);color:#fff}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .refresh-controls[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .refresh-controls[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{text-align:center;padding:40px;color:#666;font-size:16px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;color:var(--natie-blue-accessible)}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%]{overflow-x:auto}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;background:#fff}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:15px 12px;text-align:left;
140border-bottom:1px solid #f0f0f0}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background:#f8f9fa;font-weight:600;color:#555;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{transition:background-color .3s ease}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#f8f9fa}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.current-season[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a7451a,#20c9971a);border-left:4px solid #28a745}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .season-number[_ngcontent-%COMP%]{font-weight:600;color:var(--natie-blue-accessible);font-size:16px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .season-name[_ngcontent-%COMP%]{font-weight:600;color:#333}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .registration-period[_ngcontent-%COMP%] .date-range[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;font-size:13px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .registration-period[_ngcontent-%COMP%] .date-range[_ngcontent-%COMP%] .start-date[_ngcontent-%COMP%], .seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .registration-period[_ngcontent-%COMP%] .date-range[_ngcontent-%COMP%] .end-date[_ngcontent-%COMP%]{color:#666}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .registration-period[_ngcontent-%COMP%] .date-range[_ngcontent-%COMP%] .separator[_ng
140content-%COMP%]{color:#999;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .status[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%]{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#6c757d;color:#fff}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .status[_ngcontent-%COMP%] .status-badge.current[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 10px #28a7454d}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{display:flex;gap:8px;flex-wrap:wrap}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%]{padding:6px 10px;border-radius:6px;border:none;cursor:pointer;transition:all .3s ease;font-size:12px;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm.btn-info[_ngcontent-%COMP%]{background:#17a2b8;color:#fff}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm.btn-info[_ngcontent-%COMP%]:hover:not(:disabled){background:#138496;transform:translateY(-1px)}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm.btn-warning[_ngcontent-%COMP%]{background:#ffc107;color:#212529}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm.btn-warning[_ngcontent-%COMP%]:hover:not(:disabled){background:#e0a800;transform:translateY(-1px)}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm.btn-success[_ngcontent-%COMP%]{background:#28a745;color:#fff}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm.btn-danger[_ngcontent-%COMP%]{background:#dc3545;color:#fff}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .no-seasons[_ngcontent-%COMP%]{text-align:center;padding:60px 20px;color:#666}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .no-seasons[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:48px;color:#ccc;margin-bottom:20px;
140display:block}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .no-seasons[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:16px;margin:0}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%]{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:25px 25px 20px;border-bottom:2px solid #f8f9fa}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#333;font-size:22px;font-weight:600}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-header[_ngcontent-%COMP%] .close-stats[_ngcontent-%COMP%]{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-header[_ngcontent-%COMP%] .close-stats[_ngcontent-%COMP%]:hover{background-color:#f8f9fa;color:#333}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%]{padding:25px}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .season-summary[_ngcontent-%COMP%]{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #f0f0f0}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .season-summary[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 10px;color:#333;font-size:24px;font-weight:600}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .season-summary[_ngcontent-%COMP%] .season-details[_ngcontent-%COMP%]{margin:0;color:#666;font-size:14px}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:25px 20px;text-align:center;transition:transform .3s ease;border:1px solid #e0e0e0}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]:hover{transform:translateY(-5px)}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{margin-bottom:15px}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:32px;color:var(--natie-blue-accessible)}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-content[_ngcontent-%COMP%] .stat-number[_ngcontent-%COMP%]{font-size:32px;font-weight:700;color:#333;margin-bottom:5px}.seasons-management[_ngcontent-%COMP%] .stats-modal[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-body[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-content[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-size:14px;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:600}@media (max-width: 768px){.seasons-management[_ngcontent-%COMP%]{padding:15px}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%]{flex-direction:column;gap:20px;align-items:stretch}.seasons-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{align-self:stretch}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:15px}.seasons-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-dates[_ngcontent-%COMP%]{flex-direction:column;gap:10px}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.seasons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .season-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{justify-content:center}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{flex-direction:column;gap:15px;align-items:stretch}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:10px 8px;font-size:13px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{flex-direction:column;gap:5px}.seasons-management[_ngcontent-%COMP%] .seasons-list-section[_ngcontent-%COMP%] .seasons-table[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .btn-sm[_ngcontent-%COMP%]{width:100%;justify-content:center}.field-hint[_ngcontent-%COMP%]{display:block;margin-top:6px;color:#666;font-size:12px;line-height:1.4}.form-group.full-width[_ngcontent-%COMP%]{flex:1 1 100%;max-width:100%}}"]})}}return t})();var ki=(()=>{class t{constructor(e){this.http=e,this.baseUrl=`${ne.apiUrl}/season-regions`}getAllSeasonRegions(){return this.http.get(this.baseUrl)}getSeasonRegionsBySeason(e){return this.http.get(`${this.baseUrl}/by-season/${e}`)}getSeasonRegionsByName(e){let n=new Kt;return n=n.set("name",e),this.http.get(this.baseUrl,{params:n})}getCurrentSeasonRegions(){return this.http.get(`${this.baseUrl}/current-season`)}getSeasonRegionById(e){return this.http.get(`${this.baseUrl}/${e}`)}getSeasonRegionStatistics(e){return this.http.get(`${this.baseUrl}/${e}/statistics`)}createSeasonRegion(e){return this.http.post(this.baseUrl,e)}updateSeasonRegion(e,n){return this.http.put(`${this.baseUrl}/${e}`,n)}deleteSeasonRegion(e){return this.http.delete(`${this.baseUrl}/${e}`)}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Fy(t,s){if(t&1&&(r(0,"div",13)(1,"div",14)(2,"h3"),_(3,"i",15),a(4," Current Active Season"),o()(),r(5,"div",16)(6,"div",17)(7,"span",18),a(8),o(),r(9,"span",19),a(10),o()(),r(11,"div",20)(12,"span",21)(13,"strong"),a(14,"Registration Start:"),o(),a(15),o(),r(16,"span",21)(17,"strong"),a(18,"Registration End:"),o(),a(19),o()()()()),t&2){let e=p();c(8),w("Season ",e.currentSeason.seasonNumber,""),c(2),O(e.currentSeason.seasonName),c(5),w(" ",e.formatDate(e.currentSeason.registrationStart)," "),c(4),w(" ",e.formatDate(e.currentSeason.registrationEnd)," ")}}function Dy(t,s){t&1&&(r(0,"div",22)(1,"div",23),_(2,"i",24),r(3,"span"),a(4,"N
140o current season is set. Please set a current season before managing regions."),o()()())}function Ry(t,s){if(t&1){let e=E();r(0,"div",25),_(1,"i",24),a(2),r(3,"button",26),b("click",function(){v(e);let i=p();return M(i.error=null)}),_(4,"i",27),o()()}if(t&2){let e=p();c(2),w(" ",e.error," ")}}function zy(t,s){if(t&1&&(r(0,"div",47),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.createForm,"name")," ")}}function Ny(t,s){if(t&1&&(r(0,"option",48),a(1),o()),t&2){let e=p(2);m("value",e.currentSeason.id),c(),G(" Season ",e.currentSeason.seasonNumber," - ",e.currentSeason.seasonName," ")}}function Ay(t,s){if(t&1&&(r(0,"div",47),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.createForm,"seasonId")," ")}}function Ly(t,s){t&1&&(r(0,"small",49),a(1," Region will be created for the current active season "),o())}function Vy(t,s){if(t&1){let e=E();r(0,"div",28)(1,"div",29)(2,"h3"),_(3,"i",30),a(4," Create New Region"),o()(),r(5,"form",31),b("ngSubmit",function(){v(e);let i=p();return M(i.createRegion())}),r(6,"div",32)(7,"div",33)(8,"label",34),a(9,"Region Name *"),o(),_(10,"input",35),h(11,zy,2,1,"div",36),o(),r(12,"div",33)(13,"label",37),a(14,"Description"),o(),_(15,"input",38),o()(),r(16,"div",32)(17,"div",33)(18,"label",39),a(19,"Season *"),o(),r(20,"select",40),h(21,Ny,2,3,"option",41),o(),h(22,Ay,2,1,"div",36)(23,Ly,2,0,"small",42),o()(),r(24,"div",43)(25,"button",44),_(26,"i",45),a(27," Create Region "),o(),r(28,"button",46),b("click",function(){v(e);let i=p();return M(i.cancelCreate())}),_(29,"i",27),a(30," Cancel "),o()()()()}if(t&2){let e=p();c(5),m("formGroup",e.createForm),c(5),I("error",e.getFieldError(e.createForm,"name")),c(),m("ngIf",e.getFieldError(e.createForm,"name")),c(9),I("error",e.getFieldError(e.createForm,"seasonId")),m("disabled",!0),c(),m("ngIf",e.currentSeason),c(),m("ngIf",e.getFieldError(e.createForm,"seasonId")),c(),m("ngIf",e.currentSeason),c(2),m("disabled",e.createForm.invalid)}}function By(t,s){if(t&1&&(r(0,"div",47),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.editForm,"name")," ")}}function Uy(t,s){if(t&1){let e=E();r(0,"div",28)(1,"div",29)(2,"h3"),_(3,"i",50),a(4," Edit Region"),o()(),r(5,"form",31),b("ngSubmit",function(){v(e);let i=p();return M(i.updateRegion())}),r(6,"div",32)(7,"div",33)(8,"label",51),a(9,"Region Name *"),o(),_(10,"input",52),h(11,By,2,1,"div",36),o(),r(12,"div",33)(13,"label",53),a(14,"Description"),o(),_(15,"input",54),o()(),r(16,"div",43)(17,"button",44),_(18,"i",45),a(19," Update Region "),o(),r(20,"button",46),b("click",function(){v(e);let i=p();return M(i.cancelEdit())}),_(21,"i",27),a(22," Cancel "),o()()()()}if(t&2){let e=p();c(5),m("formGroup",e.editForm),c(5),I("error",e.getFieldError(e.editForm,"name")),c(),m("ngIf",e.getFieldError(e.editForm,"name")),c(6),m("disabled",e.editForm.invalid)}}function jy(t,s){t&1&&(r(0,"div",55)(1,"div",56),_(2,"i",57),r(3,"span"),a(4,"Loading regions..."),o()()())}function qy(t,s){if(t&1&&(r(0,"p",64),a(1),o()),t&2){let e=p(2);c(),G(" Showing regions for Season ",e.currentSeason.seasonNumber," - ",e.currentSeason.seasonName," ")}}function Wy(t,s){if(t&1&&(r(0,"p",79),a(1),o()),t&2){let e=p().$implicit;c(),w(" ",e.description," ")}}function $y(t,s){if(t&1&&(r(0,"span",17),_(1,"i",80),a(2),o()),t&2){let e=p(3);c(2),G(" Season ",e.currentSeason.seasonNumber," - ",e.currentSeason.seasonName," ")}}function Hy(t,s){if(t&1){let e=E();r(0,"div",65)(1,"div",66)(2,"h4"),a(3),o(),r(4,"div",67)(5,"button",68),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.viewStatistics(i))}),_(6,"i",69),o(),r(7,"button",70),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.startEdit(i))}),_(8,"i",50),o(),r(9,"button",71),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.deleteRegion(i))}),_(10,"i",72),o()()(),r(11,"div",73),h(12,Wy,2,1,"p",74),r(13,"div",75),h(14,$y,3,2,"span",76),r(15,"span",77),_(16,"i",78),a(17),o()()()()}if(t&2){let e=s.$implicit,n=p(2);c(3),O(e.name),c(4),m("disabled",n.showCreateForm||n.showEditForm),c(2),m("disabled",n.showCreateForm||n.showEditForm),c(3),m("ngIf",e.de
140scription),c(2),m("ngIf",n.currentSeason),c(3),w(" Created: ",n.formatDate(e.createdAt)," ")}}function Gy(t,s){if(t&1&&(r(0,"div",58)(1,"div",59)(2,"h3"),_(3,"i",60),a(4),o(),h(5,qy,2,2,"p",61),o(),r(6,"div",62),h(7,Hy,18,6,"div",63),o()()),t&2){let e=p();c(4),w(" Current Season Regions (",e.regions.length,")"),c(),m("ngIf",e.currentSeason),c(2),m("ngForOf",e.regions)}}function Zy(t,s){if(t&1){let e=E();r(0,"div",81)(1,"div",82),_(2,"i",2),r(3,"h3"),a(4,"No Regions Found"),o(),r(5,"p"),a(6,"There are no regions created for the current season yet."),o(),r(7,"button",83),b("click",function(){v(e);let i=p();return M(i.showCreateForm=!0)}),_(8,"i",4),a(9," Create First Region "),o()()()}}function Yy(t,s){if(t&1&&(r(0,"p"),a(1),o()),t&2){let e=p(3);c(),w(" ",e.selectedRegionStats.seasonRegion.description," ")}}function Ky(t,s){if(t&1&&(r(0,"div",89)(1,"div",90)(2,"div",91)(3,"h4"),a(4),o(),h(5,Yy,2,1,"p",92),o(),r(6,"div",93)(7,"div",94)(8,"div",95),a(9),o(),r(10,"div",96),a(11,"Teams Assigned"),o()()()()()),t&2){let e=p(2);c(4),O(e.selectedRegionStats.seasonRegion.name),c(),m("ngIf",e.selectedRegionStats.seasonRegion.description),c(4),O(e.selectedRegionStats.teamCount)}}function Qy(t,s){if(t&1){let e=E();r(0,"div",84),b("click",function(){v(e);let i=p();return M(i.closeStats())}),r(1,"div",85),b("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",86)(3,"h3"),_(4,"i",69),a(5," Region Statistics"),o(),r(6,"button",87),b("click",function(){v(e);let i=p();return M(i.closeStats())}),_(7,"i",27),o()(),h(8,Ky,12,3,"div",88),o()()}if(t&2){let e=p();c(8),m("ngIf",e.selectedRegionStats)}}var gu=(()=>{class t{constructor(e,n,i){this.seasonRegionService=e,this.seasonsService=n,this.fb=i,this.regions=[],this.currentSeason=null,this.loading=!0,this.error=null,this.showCreateForm=!1,this.showEditForm=!1,this.editingRegion=null,this.selectedRegionStats=null,this.showStats=!1,this.createForm=this.fb.group({name:["",[N.required,N.minLength(2)]],description:[""],seasonId:["",[N.required]]}),this.editForm=this.fb.group({name:["",[N.required,N.minLength(2)]],description:[""]})}ngOnInit(){return q(this,null,function*(){yield this.loadCurrentSeason(),yield this.loadRegions()})}loadCurrentSeason(){return q(this,null,function*(){try{let e=yield this.seasonsService.getCurrentSeason().toPromise();console.log("Current season response:",e),e?.success&&e.message?(this.currentSeason=e.message,this.createForm.patchValue({seasonId:this.currentSeason.id}),console.log("Current season loaded:",this.currentSeason)):(console.log("No current season found"),this.currentSeason=null,this.error="No current season is set. Please set a current season before managing regions.")}catch(e){console.error("Error loading current season:",e),this.currentSeason=null,this.error="Failed to load current season. Please try again later."}})}loadRegions(){return q(this,null,function*(){this.loading=!0,this.error=null;try{if(this.currentSeason){console.log("Loading regions for season:",this.currentSeason.id);let e=yield this.seasonRegionService.getSeasonRegionsBySeason(this.currentSeason.id).toPromise();console.log("Regions response:",e),e?.success&&(this.regions=e.message,console.log("Loaded regions:",this.regions))}else console.log("No current season, cannot load regions"),this.regions=[],this.error="No current season is set. Please set a current season before managing regions."}catch(e){console.error("Error loading regions:",e),this.error="Failed to load regions"}finally{this.loading=!1}})}createRegion(){return q(this,null,function*(){if(this.createForm.valid)try{let e=this.createForm.value;(yield this.seasonRegionService.createSeasonRegion(e).toPromise())?.success&&(this.createForm.reset(),this.createForm.patchValue({seasonId:this.currentSeason?.id}),this.showCreateForm=!1,yield this.loadRegions())}catch(e){console.error("Error creating region:",e),this.error=e.error?.message||"Failed to create region"}})}updateRegion(){return q(this,null,function*(){if(this.editForm.valid&&this.editingRegion)try{let e=this.editForm.value;(yield this.seasonRegionService.updateSeasonRegion(this.editingRegion.id,e).toProm
140ise())?.success&&(this.editForm.reset(),this.showEditForm=!1,this.editingRegion=null,yield this.loadRegions())}catch(e){console.error("Error updating region:",e),this.error=e.error?.message||"Failed to update region"}})}deleteRegion(e){return q(this,null,function*(){if(confirm(`Are you sure you want to delete the region "${e.name}"?`))try{(yield this.seasonRegionService.deleteSeasonRegion(e.id).toPromise())?.success&&(yield this.loadRegions())}catch(n){console.error("Error deleting region:",n),this.error=n.error?.message||"Failed to delete region"}})}viewStatistics(e){return q(this,null,function*(){try{let n=yield this.seasonRegionService.getSeasonRegionStatistics(e.id).toPromise();n?.success&&(this.selectedRegionStats=n.message,this.showStats=!0)}catch(n){console.error("Error loading region statistics:",n),this.error=n.error?.message||"Failed to load region statistics"}})}startEdit(e){this.editingRegion=e,this.editForm.patchValue({name:e.name,description:e.description||""}),this.showEditForm=!0}cancelCreate(){this.createForm.reset(),this.createForm.patchValue({seasonId:this.currentSeason?.id}),this.showCreateForm=!1,this.error=null}cancelEdit(){this.editForm.reset(),this.showEditForm=!1,this.editingRegion=null,this.error=null}closeStats(){this.showStats=!1,this.selectedRegionStats=null}getFieldError(e,n){let i=e.get(n);if(i?.errors&&i.touched){if(i.errors.required)return`${n} is required`;if(i.errors.minlength)return`${n} must be at least ${i.errors.minlength.requiredLength} characters`;if(i.errors.min)return`${n} must be at least ${i.errors.min.min}`}return""}formatDate(e){if(!e)return"Not set";try{return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch{return"Invalid date"}}static{this.\u0275fac=function(n){return new(n||t)(T(ki),T(Ve),T(Ye))}}static{this.\u0275cmp=V({type:t,selectors:[["app-regions-management"]],standalone:!0,features:[B],decls:17,vars:10,consts:[[1,"regions-management"],[1,"header-section"],[1,"fas","fa-map-marker-alt"],[1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-plus"],["class","current-season-card",4,"ngIf"],["class","warning-card",4,"ngIf"],["class","error-message",4,"ngIf"],["class","form-section",4,"ngIf"],["class","loading-state",4,"ngIf"],["class","regions-list",4,"ngIf"],["class","empty-state",4,"ngIf"],["class","modal-overlay",3,"click",4,"ngIf"],[1,"current-season-card"],[1,"current-season-header"],[1,"fas","fa-star"],[1,"current-season-content"],[1,"season-info"],[1,"season-number"],[1,"season-name"],[1,"season-dates"],[1,"date-item"],[1,"warning-card"],[1,"warning-content"],[1,"fas","fa-exclamation-triangle"],[1,"error-message"],[1,"close-error",3,"click"],[1,"fas","fa-times"],[1,"form-section"],[1,"form-header"],[1,"fas","fa-plus-circle"],[1,"region-form",3,"ngSubmit","formGroup"],[1,"form-row"],[1,"form-group"],["for","create-name"],["type","text","id","create-name","formControlName","name","placeholder","Enter region name"],["class","field-error",4,"ngIf"],["for","create-description"],["type","text","id","create-description","formControlName","description","placeholder","Enter region description (optional)"],["for","create-season"],["id","create-season","formControlName","seasonId",3,"disabled"],[3,"value",4,"ngIf"],["class","form-help",4,"ngIf"],[1,"form-actions"],["type","submit",1,"btn","btn-success",3,"disabled"],[1,"fas","fa-save"],["type","button",1,"btn","btn-secondary",3,"click"],[1,"field-error"],[3,"value"],[1,"form-help"],[1,"fas","fa-edit"],["for","edit-name"],["type","text","id","edit-name","formControlName","name","placeholder","Enter region name"],["for","edit-description"],["type","text","id","edit-description","formControlName","description","placeholder","Enter region description (optional)"],[1,"loading-state"],[1,"loading-spinner"],[1,"fas","fa-spinner","fa-spin"],[1,"regions-list"],[1,"list-header"],[1,"fas","fa-list"],["class","list-subtitle",4,"ngIf"],[1,"regions-grid"],["class","region-card",4,"ngFor","ngForOf"],[1,"list-subtitle"],[1,"region-card"],[1,"region-header"],[1,"region-actions"],["title","View Statistics",1,"btn","btn-info","btn-sm",3,"click"],[1,"fas","fa-chart-bar"],["title","Edit Region",1,"btn","btn-warning","btn-sm",3,"click","disabled"],["title","Delete Region",1,"btn","btn-danger","btn-sm",3,"click","disabled"],[1,"fas","fa-tras
140h"],[1,"region-content"],["class","region-description",4,"ngIf"],[1,"region-meta"],["class","season-info",4,"ngIf"],[1,"created-date"],[1,"fas","fa-calendar-plus"],[1,"region-description"],[1,"fas","fa-calendar-alt"],[1,"empty-state"],[1,"empty-content"],[1,"btn","btn-primary",3,"click"],[1,"modal-overlay",3,"click"],[1,"modal-content",3,"click"],[1,"modal-header"],[1,"close-modal",3,"click"],["class","modal-body",4,"ngIf"],[1,"modal-body"],[1,"stats-content"],[1,"region-info"],[4,"ngIf"],[1,"stats-grid"],[1,"stat-item"],[1,"stat-value"],[1,"stat-label"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h2"),_(3,"i",2),a(4," Regions Management"),o(),r(5,"button",3),b("click",function(){return i.showCreateForm=!0}),_(6,"i",4),a(7," Create New Region "),o()(),h(8,Fy,20,4,"div",5)(9,Dy,5,0,"div",6)(10,Ry,5,1,"div",7)(11,Vy,31,11,"div",8)(12,Uy,23,5,"div",8)(13,jy,5,0,"div",9)(14,Gy,8,3,"div",10)(15,Zy,10,0,"div",11)(16,Qy,9,1,"div",12),o()),n&2&&(c(5),m("disabled",i.showCreateForm||i.showEditForm||!i.currentSeason),c(3),m("ngIf",i.currentSeason),c(),m("ngIf",!i.currentSeason),c(),m("ngIf",i.error),c(),m("ngIf",i.showCreateForm),c(),m("ngIf",i.showEditForm),c(),m("ngIf",i.loading),c(),m("ngIf",!i.loading&&i.regions.length>0),c(),m("ngIf",!i.loading&&i.regions.length===0&&i.currentSeason),c(),m("ngIf",i.showStats))},dependencies:[H,X,$,se,Oe,fe,he,re,ue,ie,Pe,$e,We,Ge],styles:[".regions-management[_ngcontent-%COMP%]{padding:20px;max-width:1200px;margin:0 auto}.regions-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.regions-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#333;font-size:28px;font-weight:600}.regions-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.regions-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--natie-blue),#0056b3);border:none;padding:12px 24px;border-radius:8px;color:#fff;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #007bff4d}.regions-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.regions-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.regions-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 8px 25px #28a7454d}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-header[_ngcontent-%COMP%]{margin-bottom:20px}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:22px;font-weight:600}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;color:gold}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-number[_ngcontent-%COMP%]{font-size:18px;font-weight:500;opacity:.9}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-name[_ng
140content-%COMP%]{font-size:24px;font-weight:700}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-dates[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-dates[_ngcontent-%COMP%] .date-item[_ngcontent-%COMP%]{font-size:14px;opacity:.9}.regions-management[_ngcontent-%COMP%] .current-season-card[_ngcontent-%COMP%] .current-season-content[_ngcontent-%COMP%] .season-dates[_ngcontent-%COMP%] .date-item[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600}.regions-management[_ngcontent-%COMP%] .warning-card[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ffc107,var(--natie-orange));color:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 8px 25px #ffc1074d}.regions-management[_ngcontent-%COMP%] .warning-card[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:15px}.regions-management[_ngcontent-%COMP%] .warning-card[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:24px;color:gold}.regions-management[_ngcontent-%COMP%] .warning-card[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;font-weight:500}.regions-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px #dc35454d}.regions-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;font-size:18px}.regions-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] .close-error[_ngcontent-%COMP%]{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0;margin-left:15px}.regions-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] .close-error[_ngcontent-%COMP%]:hover{opacity:.8}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%]{margin-bottom:25px}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#333;font-size:20px;font-weight:600}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}@media (max-width: 768px){.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{margin-bottom:8px;font-weight:600;color:#555;font-size:14px}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .3s ease;background-color:#fff}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .regi
140ons-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--natie-blue-accessible);box-shadow:0 0 0 3px #007bff1a}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%], .regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select.error[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:disabled, .regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.8}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .field-error[_ngcontent-%COMP%]{color:#dc3545;font-size:12px;margin-top:5px;font-weight:500}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-help[_ngcontent-%COMP%]{color:#6c757d;font-size:12px;margin-top:5px;font-style:italic}.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:15px;justify-content:flex-end}@media (max-width: 768px){.regions-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .region-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{flex-direction:column}}.regions-management[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:60px 20px}.regions-management[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:15px;color:#666}.regions-management[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:32px;color:var(--natie-blue-accessible)}.regions-management[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;font-weight:500}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%]{margin-bottom:25px}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 8px;color:#333;font-size:22px;font-weight:600}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-subtitle[_ngcontent-%COMP%]{margin:0;color:#666;font-size:14px;font-style:italic}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}@media (max-width: 768px){.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0;transition:all .3s ease}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] h4[_ng
140content-%COMP%]{margin:0;color:#333;font-size:18px;font-weight:600;flex:1}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%]{display:flex;gap:8px;margin-left:15px}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:8px 12px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn.btn-info[_ngcontent-%COMP%]{background:#17a2b8;color:#fff}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn.btn-info[_ngcontent-%COMP%]:hover:not(:disabled){background:#138496;transform:translateY(-1px)}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn.btn-warning[_ngcontent-%COMP%]{background:#ffc107;color:#212529}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn.btn-warning[_ngcontent-%COMP%]:hover:not(:disabled){background:#e0a800;transform:translateY(-1px)}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]{background:#dc3545;color:#fff}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-header[_ngcontent-%COMP%] .region-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:4px}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-content[_ngcontent-%COMP%] .region-description[_ngcontent-%COMP%]{color:#666;font-size:14px;line-height:1.5;margin-bottom:15px}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-content[_ngcontent-%COMP%] .region-meta[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-content[_ngcontent-%COMP%] .region-meta[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);font-size:12px;font-weight:600;display:flex;align-items:center;gap:5px;background:#007bff1a;padding:4px 8px;border-radius:4px;width:fit-content}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-content[_ngcontent-%COMP%] .region-meta[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible)}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-content[_ngcontent-%COMP%] .region-meta[_ngcontent-%COMP%] .created-date[_ngcontent-%COMP%]{color:#888;font-size:12px;display:flex;align-items:center;gap:5px}.regions-management[_ngcontent-%COMP%] .regions-list[_ngcontent-%COMP%] .regions-grid[_ngcontent-%COMP%] .region-card[_ngcontent-%COMP%] .region-content[_ngcontent-%COMP%] .region-meta[_ngcontent-%COMP%] .created-date[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible)}.regions-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:60px 20px}.regions-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%]{text-align:center;color:#666}.regions-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:64px;color:#ccc;margin-bottom:20px}.regions-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 10px;font-size:24px;font-weight:600;color:#333}.regions-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 25px;font-size:16px;line-height:1.5}.regions-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--natie-blue),#0056b3);border:none;padding:12px 24px;border-radius:8px;color:#fff;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #007bff4d}.regions-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.regions-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}
140.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%]{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%]{background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #e0e0e0}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#333;font-size:20px;font-weight:600}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-modal[_ngcontent-%COMP%]{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:5px}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-modal[_ngcontent-%COMP%]:hover{color:#333}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:25px}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .region-info[_ngcontent-%COMP%]{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .region-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 10px;color:#333;font-size:18px;font-weight:600}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .region-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#666;font-size:14px;line-height:1.5}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{text-align:center;padding:20px;background:#f8f9fa;border-radius:8px}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{font-size:32px;font-weight:700;color:var(--natie-blue-accessible);margin-bottom:8px}.regions-management[_ngcontent-%COMP%] .modal-overlay[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .stats-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-size:14px;color:#666;font-weight:500}.regions-management[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;text-decoration:none}.regions-management[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.regions-management[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #28a7454d}.regions-management[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:#6c757d;color:#fff}.regions-management[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.regions-management[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.regions-management[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}"]})}}return t})();function Jy(t,s){if(t&1&&(r(0,"option",6),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e),c(),w(" ",e.seasonName," ")}}function Xy(t,s){if(t&1&&(r(0,"p",25),_(1,"i",20),a(2," Showing team season data for: "),r(3,"strong"),a(4),o()()),t&2){let e=p();c(4),O(e.selectedSeason.seasonName)}}function ew(t,s){if(t&1&&(r(0,"p",41),a(1),o()),t&2){let e=p().$implicit;c(),w(" Owner: ",e.teamOwner.name," ")}}function tw(t,s){t&1&&(r(0,"span",56),a(1,"League Qualified"),o())}function nw(t,s){t&1&&(r(0,"span",56),a(1,"National Qualified"),o())}function iw(t,s){t&1&&(r(0,"span",56),a(1,"Worlds Qualified"),o())}function ow(t,s){if(t&1&&(r(0,"div",54),h(1,tw,2,0,"span",55)(2,nw,2,0,"span",55)(3,iw,2,0,"span",55),o()),t&2){let e=p(2).$implicit,n=p(3);c(),m("ngIf",n.getTeamSeasonDataForSelectedSeason(e).isQualifiedToLeague),c(),m("ngIf",n.getTeamSeasonDataForSelectedSeason(e).isQualifiedToNational),c(),m("ngIf",n.getTeamSeasonDataForSelectedSeason(e).isQualifiedToWorlds)}}function rw(t,s){if(t&1){let e=E();r(0,"div",42)(1,"h4"),a(2),o(),r(3,"div",43)(4,"div",44)(5,"div",45)(6,"h5"),a(7),o(),r(8,"span",46),a(9),o()(),r(10,"div",47)(11,"div",48)(12,"span",49),a(13,"School:"),o(),r(14,"span",50),a(15),o()(),r(16,"div",48)(17,"span",49),a(18,"City:"),o(),r(19,"span",50),a(20),o()(),r(21,"div",48)(22,"span",49),a(23,"County:"),o(),r(24,"span",50),a(25),o()(),r(26,"div",48)(27,"span",49),a(28,"Motto:"),o(),r(29,"span",50),a(30),o()(),h(31,ow,4,3,"div",51),o(),r(32,"div",52)(33,"button",53),b("click",function(){v(e);let i=p().$implicit,d=p(3);return M(d.showTeamSeasonDataFormForEdit(d.getTeamSeasonDataForSelectedSeason(i)))}),_(34,"i",38),a(35," Edit Season Data "),o()()()()()}if(t&2){let e=p().$implicit,n=p(3);c(2),w("Season Data - ",n.selectedSeason==null?null:n.selectedSeason.seasonName,""),c(5),O(n.getTeamSeasonDataForSelectedSeason(e).season.seasonName),c(),m("ngClass",n.getRegistrationStatusClass(n.getTeamSeasonDataForSelectedSeason(e).registrationStatus)),c(),w(" ",n.getRegistrationStatusText(n.getTeamSeasonDataForSelectedSeason(e).registrationStatus)," "),c(6),O(n.getTeamSeasonDataForSelectedSeason(e).school||"Not specified"),c(5),O(n.getTeamSeasonDataForSelectedSeason(e).city||"Not specified"),c(5),O(n.getTeamSeasonDataForSelectedSeason(e).county||"Not specified"),c(5),O(n.getTeamSeasonDataForSelectedSeason(e).motto||"Not specified"),c(),m("ngIf",n.getTeamSeasonDataForSelectedSeason(e).isQualifiedToLeague||n.getTeamSeasonDataForSelectedSeason(e).isQualifiedToNational||n.getTeamSeasonDataForSelectedSeason(e).isQualifiedToWorlds)}}function aw(t,s){if(t&1){let e=E();r(0,"div",57)(1,"p"),a(2),o(),r(3,"button",37),b("click",function(){v(e);let i=p().$implicit,d=p(3);return M(d.showTeamSeasonDataFormForCreate(i))}),_(4,"i",58),a(5," Add Season Data "),o()()}if(t&2){let e=p(4);c(2),w("No season data available for ",e.selectedSeason.seasonName,"")}}function sw(t,s){if(t&1){let e=E();r(0,"div",31)(1,"div",32)(2,"div",33)(3,"h3"),a(4),o(),r(5,"p",34),a(6),o(),h(7,ew,2,1,"p",35),o(),r(8,"div",36)(9,"button",37),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.showTeamFormForEdit(i))}),_(10,"i",38),a(11," Edit Team "),o()()(),h(12,rw,36,9,"div",39)(13,aw,6,1,"div",40),o()}if(t&2){let e=s.$implicit,n=p(3);c(4),O(e.name),c(2),w("#",e.internationalNumber,""),c(),m("ngIf",e.teamOwner),c(5),m("ngIf",n.getTeamSeasonDataForSelectedSeason(e)),c(),m("ngIf",!n.getTeamSeasonDataForSelectedSeason(e)&&n.selectedSeason)}}function cw(t,s){if(t&1&&(r(0,"div",29),h(1,sw,14,5,"div",30),o()),t&2){let e=p(2);c(),m("ngForOf",e.getFilteredTeams())}}function lw(t,s){t&1&&(r(0,"p"),a(1,"No teams match your search criteria"),o())}function dw(t,s){if(t&1&&(r(0,"p"),a(1),o()),t&2){let e=p(3);c(),w("No teams found for ",e.selectedSeason.seasonName,"")}}function mw(t,s){t&1&&(r(0,"p"),a(1,"No teams found in the system"),o())}function gw(t,s){t&1&&(r(0,"p",64),_(1,"i",20),a(2,' No teams found. Use the "Team Administration" tab to create teams. '),o())}function pw(t,s){if(t&1&&(r(0,"div",59)(1,"div",60),_(2,"i",61),r(3,"h3"),a(4,"N
140o teams found"),o(),h(5,lw,2,0,"p",62)(6,dw,2,1,"p",62)(7,mw,2,0,"p",62)(8,gw,3,0,"p",63),o()()),t&2){let e=p(2);c(5),m("ngIf",e.teamNameFilter||e.teamNumberFilter),c(),m("ngIf",!e.teamNameFilter&&!e.teamNumberFilter&&e.selectedSeason),c(),m("ngIf",!e.teamNameFilter&&!e.teamNumberFilter&&!e.selectedSeason),c(),m("ngIf",!e.teamNameFilter&&!e.teamNumberFilter)}}function uw(t,s){if(t&1&&(r(0,"div",26),h(1,cw,2,1,"div",27)(2,pw,9,4,"div",28),o()),t&2){let e=p();c(),m("ngIf",e.getFilteredTeams().length>0),c(),m("ngIf",e.getFilteredTeams().length===0)}}function _w(t,s){t&1&&(r(0,"div",65)(1,"div",66),_(2,"i",67),r(3,"p"),a(4,"Loading teams..."),o()()())}function fw(t,s){t&1&&_(0,"i",67)}function hw(t,s){if(t&1){let e=E();r(0,"div",68)(1,"div",69)(2,"div",70)(3,"h2"),a(4,"Edit Team"),o(),r(5,"button",71),b("click",function(){v(e);let i=p();return M(i.cancelTeamForm())}),_(6,"i",17),o()(),r(7,"div",72)(8,"form",73),b("ngSubmit",function(){v(e);let i=p();return M(i.updateTeam())}),r(9,"div",74)(10,"div",3)(11,"label",75),a(12,"International Number *"),o(),_(13,"input",76),o(),r(14,"div",3)(15,"label",77),a(16,"Romanian Number"),o(),_(17,"input",78),o()(),r(18,"div",74)(19,"div",3)(20,"label",79),a(21,"Team Name *"),o(),_(22,"input",80),o(),r(23,"div",3)(24,"label",81),a(25,"Rookie Year *"),o(),_(26,"input",82),o()(),r(27,"div",83)(28,"button",84),b("click",function(){v(e);let i=p();return M(i.cancelTeamForm())}),a(29," Cancel "),o(),r(30,"button",85),h(31,fw,1,0,"i",86),a(32),o()()()()()()}if(t&2){let e,n,i,d=p();c(8),m("formGroup",d.teamForm),c(5),I("error",((e=d.teamForm.get("internationalNumber"))==null?null:e.invalid)&&((e=d.teamForm.get("internationalNumber"))==null?null:e.touched)),c(9),I("error",((n=d.teamForm.get("name"))==null?null:n.invalid)&&((n=d.teamForm.get("name"))==null?null:n.touched)),c(4),I("error",((i=d.teamForm.get("rookieYear"))==null?null:i.invalid)&&((i=d.teamForm.get("rookieYear"))==null?null:i.touched)),c(4),m("disabled",d.teamForm.invali
140d||d.isSaving),c(),m("ngIf",d.isSaving),c(),w(" ",d.isSaving?"Saving...":"Update Team"," ")}}function Cw(t,s){if(t&1&&(r(0,"option",144),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),w(" ",e.seasonName," ")}}function vw(t,s){t&1&&_(0,"i",67)}function Mw(t,s){if(t&1){let e=E();r(0,"div",68)(1,"div",87)(2,"div",70)(3,"h2"),a(4),o(),r(5,"button",71),b("click",function(){v(e);let i=p();return M(i.cancelTeamSeasonDataForm())}),_(6,"i",17),o()(),r(7,"div",72)(8,"form",73),b("ngSubmit",function(){v(e);let i=p();return M(i.createOrUpdateTeamSeasonData())}),r(9,"div",88)(10,"h3"),a(11,"Basic Information"),o(),r(12,"div",74)(13,"div",3)(14,"label",89),a(15,"Season *"),o(),r(16,"select",90)(17,"option",91),a(18,"Select Season"),o(),h(19,Cw,2,2,"option",92),o()(),r(20,"div",3)(21,"label",93),a(22,"Registration Status *"),o(),r(23,"select",94)(24,"option",95),a(25,"Not Registered"),o(),r(26,"option",96),a(27,"Pending"),o(),r(28,"option",97),a(29,"Waitlist"),o(),r(30,"option",98),a(31,"Confirmed"),o()()()(),r(32,"div",3)(33,"label",99),a(34,"Registration Video Link"),o(),_(35,"input",100),o()(),r(36,"div",88)(37,"h3"),a(38,"Qualifications"),o(),r(39,"div",101)(40,"label",102),_(41,"input",103)(42,"span",104),a(43," Qualified to League "),o(),r(44,"label",102),_(45,"input",105)(46,"span",104),a(47," Qualified to National "),o(),r(48,"label",102),_(49,"input",106)(50,"span",104),a(51," Qualified to Worlds "),o()()(),r(52,"div",88)(53,"h3"),a(54,"Team Branding"),o(),r(55,"div",74)(56,"div",3)(57,"label",107),a(58,"Primary Color"),o(),r(59,"div",108)(60,"input",109),b("change",function(i){v(e);let d=p();return M(d.onPrimaryColorChange(i))}),o(),r(61,"input",110),b("change",function(i){v(e);let d=p();return M(d.onPrimaryColorChange(i))}),o()()(),r(62,"div",3)(63,"label",111),a(64,"Secondary Color"),o(),r(65,"div",108)(66,"input",112),b("change",function(i){v(e);let d=p();return M(d.onSecondaryColorChange(i))}),o(),r(67,"input",113),b("change",function(i){v(e);let d=p();return M(d.onSecondaryColorChange(i))}),o()()()()(),r(68,"div",88)(69,"h3"),a(70,"Social Media & Links"),o(),r(71,"div",74)(72,"div",3)(73,"label",114),a(74,"Facebook"),o(),_(75,"input",115),o(),r(76,"div",3)(77,"label",116),a(78,"Instagram"),o(),_(79,"input",117),o()(),r(80,"div",74)(81,"div",3)(82,"label",118),a(83,"X (Twitter)"),o(),_(84,"input",119),o(),r(85,"div",3)(86,"label",120),a(87,"LinkedIn"),o(),_(88,"input",121),o()(),r(89,"div",74)(90,"div",3)(91,"label",122),a(92,"Team Website"),o(),_(93,"input",123),o(),r(94,"div",3)(95,"label",124),a(96,"YouTube"),o(),_(97,"input",125),o()(),r(98,"div",3)(99,"label",126),a(100,"TikTok"),o(),_(101,"input",127),o(),r(102,"div",3)(103,"label",128),a(104,"Other Social Media"),o(),_(105,"input",129),o()(),r(106,"div",88)(107,"h3"),a(108,"Team Information"),o(),r(109,"div",3)(110,"label",130),a(111,"Team Motto"),o(),_(112,"input",131),o(),r(113,"div",3)(114,"label",132),a(115,"Team Description"),o(),_(116,"textarea",133),o(),r(117,"div",3)(118,"label",134),a(119,"Primary Email Contact"),o(),_(120,"input",135),o()(),r(121,"div",88)(122,"h3"),a(123,"Location Information"),o(),r(124,"div",74)(125,"div",3)(126,"label",136),a(127,"School"),o(),_(128,"input",137),o(),r(129,"div",3)(130,"label",138),a(131,"City"),o(),_(132,"input",139),o()(),r(133,"div",74)(134,"div",3)(135,"label",140),a(136,"County"),o(),_(137,"input",141),o(),r(138,"div",3)(139,"label",142),a(140,"Country"),o(),_(141,"input",143),o()()(),r(142,"div",83)(143,"button",84),b("click",function(){v(e);let i=p();return M(i.cancelTeamSeasonDataForm())}),a(144," Cancel "),o(),r(145,"button",85),h(146,vw,1,0,"i",86),a(147),o()()()()()()}if(t&2){let e,n,i=p();c(4),O(i.isEditingTeamSeasonData?"Edit Team Season Data":"Add Team Season Data"),c(4),m("formGroup",i.teamSeasonDataForm),c(8),I("error",((e=i.teamSeasonDataForm.get("seasonId"))==null?null:e.invalid)&&((e=i.teamSeasonDataForm.get("seasonId"))==null?null:e.touched)),c(3),m("ngForOf",i.seasons),c(4),I("error",((n=i.teamSeasonDataForm.get("registrationStatus"))==null?null:n.invalid)&&((n=i.teamSeasonDataForm.get("registrationStatus"))==null?null:n.touched)),c(37),m("value",i.primaryColor),c(),m("value",i.primaryColor),c(5),m("value",i.secondaryColor),c(),m("value",i.secondaryColor),c(78),m("disabled",i.teamSeasonDataForm.invali
140d||i.isSaving),c(),m("ngIf",i.isSaving),c(),w(" ",i.isSaving?"Saving...":i.isEditingTeamSeasonData?"Update Season Data":"Add Season Data"," ")}}function xw(t,s){if(t&1&&(r(0,"div",145),a(1),o()),t&2){let e=p();I("success",e.saveMessageType==="success")("error",e.saveMessageType==="error"),c(),w(" ",e.saveMessage," ")}}var pu=(()=>{class t{constructor(e,n,i){this.fb=e,this.teamsService=n,this.seasonsService=i,this.teams=[],this.seasons=[],this.selectedSeason=null,this.isLoading=!1,this.isSaving=!1,this.saveMessage="",this.saveMessageType="success",this.teamNameFilter="",this.teamNumberFilter="",this.showTeamForm=!1,this.isCreatingTeam=!1,this.editingTeam=null,this.isEditingTeam=!1,this.showTeamSeasonDataForm=!1,this.isCreatingTeamSeasonData=!1,this.editingTeamSeasonData=null,this.isEditingTeamSeasonData=!1,this.selectedTeam=null,this.primaryColor="#ff006a",this.secondaryColor="#0066ff",this.selectedTeamPhoto=null,this.selectedTeamLogo=null,this.selectedTeamPhotoPreview=null,this.selectedTeamLogoPreview=null,this.isUploadingPhoto=!1,this.isUploadingLogo=!1,this.teamForm=this.fb.group({internationalNumber:["",N.required],romanianNumber:[""],rookieYear:[new Date().getFullYear().toString(),N.required],name:["",N.required],teamOwnerId:[""]}),this.teamSeasonDataForm=this.fb.group({seasonId:["",N.required],seasonRegionId:[""],registrationStatus:["NONE",N.required],registrationVideoLink:[""],isQualifiedToLeague:[!1],isQualifiedToNational:[!1],isQualifiedToWorlds:[!1],teamMainColor:["#ff006a"],teamSecondaryColor:["#0066ff"],facebookLink:[""],instagramLink:[""],xLink:[""],linkedInLink:[""],teamWebsiteLink:[""],youtubeLink:[""],tiktokLink:[""],primaryEmailContact:[""],otherSocial:[""],motto:[""],teamDescription:[""],school:[""],city:[""],county:[""],country:["Romania"]})}ngOnInit(){this.loadSeasons(),this.loadTeams()}loadSeasons(){return q(this,null,function*(){try{let e=yield this.seasonsService.getAllSeasons().toPromise();e?.message&&(this.seasons=e.message);let n=yield this.seasonsService.getCurrentSeason().toPromise();n?.message?this.selectedSeason=n.message:this.seasons.length>0&&(this.selectedSeason=this.seasons[this.seasons.length-1])}catch{}})}loadTeams(){return q(this,null,function*(){this.isLoading=!0;try{let e=this.selectedSeason?.id,n=yield this.teamsService.getAllTeamsForAdmin(e).toPromise();n?.message&&(this.teams=n.message)}catch{}finally{this.isLoading=!1}})}onSeasonChange(){this.loadTeams()}showTeamFormForEdit(e){this.showTeamForm=!0,this.editingTeam=e,this.isEditingTeam=!0,this.isCreatingTeam=!1,this.teamForm.patchValue({internationalNumber:e.internationalNumber,romanianNumber:e.romanianNumber,rookieYear:e.rookieYear,name:e.name,teamOwnerId:e.teamOwner?.id||""}),this.moveModalToBody()}updateTeam(){return q(this,null,function*(){if(this.teamForm.valid&&this.editingTeam){this.isSaving=!0;try{let e=this.teamForm.value,n={internationalNumber:e.internationalNumber,romanianNumber:e.romanianNumber,rookieYear:e.rookieYear,name:e.name,teamOwnerId:e.teamOwnerId||null};yield this.teamsService.updateTeamAsAdmin(this.editingTeam.id,n).toPromise(),this.showTeamForm=!1,this.teamForm.reset(),this.editingTeam=null,this.isEditingTeam=!1,this.showSaveMessage("Team updated successfully!","success"),yield this.loadTeams()}catch{this.showSaveMessage("Failed to update team","error")}finally{this.isSaving=!1}}})}cancelTeamForm(){this.showTeamForm=!1,this.teamForm.reset(),this.editingTeam=null,this.isEditingTeam=!1,this.isCreatingTeam=!1}showTeamSeasonDataFormForCreate(e){this.showTeamSeasonDataForm=!0,this.teamSeasonDataForm.reset(),this.selectedTeam=e,this.isCreatingTeamSeasonData=!0,this.isEditingTeamSeasonData=!1,this.editingTeamSeasonData=null,this.moveModalToBody()}showTeamSeasonDataFormForEdit(e){this.showTeamSeasonDataForm=!0,this.editingTeamSeasonData=e,this.isEditingTeamSeasonData=!0,this.isCreatingTeamSeasonData=!1,this.selectedTeam=e.team,this.teamSeasonDataForm.patchValue({seasonId:e.seasonId,seasonRegionId:e.seasonRegionId||"",registrationStatus:e.registrationStatus,registrationVideoLink:e.registrationVideoLink||"",isQualifiedToLeague:e.isQualifiedToLeague,isQualifiedToNational:e.isQualifiedToNational,is
140QualifiedToWorlds:e.isQualifiedToWorlds,teamMainColor:e.teamMainColor||"#ff006a",teamSecondaryColor:e.teamSecondaryColor||"#0066ff",facebookLink:e.facebookLink||"",instagramLink:e.instagramLink||"",xLink:e.xLink||"",linkedInLink:e.linkedInLink||"",teamWebsiteLink:e.teamWebsiteLink||"",youtubeLink:e.youtubeLink||"",tiktokLink:e.tiktokLink||"",primaryEmailContact:e.primaryEmailContact||"",otherSocial:e.otherSocial||"",motto:e.motto||"",teamDescription:e.teamDescription||"",school:e.school||"",city:e.city||"",county:e.county||"",country:e.country||"Romania"}),this.primaryColor=e.teamMainColor||"#ff006a",this.secondaryColor=e.teamSecondaryColor||"#0066ff",this.moveModalToBody()}createOrUpdateTeamSeasonData(){return q(this,null,function*(){console.log("[TeamsManagement] createOrUpdateTeamSeasonData called"),console.log("[TeamsManagement] isEditingTeamSeasonData:",this.isEditingTeamSeasonData),console.log("[TeamsManagement] isCreatingTeamSeasonData:",this.isCreatingTeamSeasonData),console.log("[TeamsManagement] selectedTeam:",this.selectedTeam),console.log("[TeamsManagement] form valid:",this.teamSeasonDataForm.valid),console.log("[TeamsManagement] form errors:",this.teamSeasonDataForm.errors),console.log("[TeamsManagement] form value:",this.teamSeasonDataForm.value),this.isEditingTeamSeasonData?(console.log("[TeamsManagement] Calling updateTeamSeasonData"),yield this.updateTeamSeasonData()):(console.log("[TeamsManagement] Calling createTeamSeasonData"),yield this.createTeamSeasonData())})}createTeamSeasonData(){return q(this,null,function*(){if(console.log("[TeamsManagement] createTeamSeasonData called"),console.log("[TeamsManagement] Form valid:",this.teamSeasonDataForm.valid),console.log("[TeamsManagement] Selected team:",this.selectedTeam),!this.teamSeasonDataForm.valid){console.log("[TeamsManagement] Form is invalid, marking all fields as touched"),this.teamSeasonDataForm.markAllAsTouched(),console.log("[TeamsManagement] Form errors after markAllAsTouched:",this.getFormErrors(this.teamSeasonDataForm));return}if(!this.selectedTeam){console.error("[TeamsManagement] No team selected!"),this.showSaveMessage("No team selected","error");return}this.isSaving=!0,console.log("[TeamsManagement] Starting save process...");try{let e=this.teamSeasonDataForm.value;console.log("[TeamsManagement] Form value:",e);let n={teamId:this.selectedTeam.id,seasonId:e.seasonId,seasonRegionId:e.seasonRegionId||null,registrationStatus:e.registrationStatus,registrationVideoLink:e.registrationVideoLink||null,isQualifiedToLeague:e.isQualifiedToLeague||!1,isQualifiedToNational:e.isQualifiedToNational||!1,isQualifiedToWorlds:e.isQualifiedToWorlds||!1,teamMainColor:e.teamMainColor||null,teamSecondaryColor:e.teamSecondaryColor||null,facebookLink:e.facebookLink||null,instagramLink:e.instagramLink||null,xLink:e.xLink||null,linkedInLink:e.linkedInLink||null,teamWebsiteLink:e.teamWebsiteLink||null,youtubeLink:e.youtubeLink||null,tiktokLink:e.tiktokLink||null,primaryEmailContact:e.primaryEmailContact||null,otherSocial:e.otherSocial||null,motto:e.motto||null,teamDescription:e.teamDescription||null,school:e.school||null,city:e.city||null,county:e.county||null,country:e.country||null};console.log("[TeamsManagement] Prepared teamSeasonData:",n),console.log("[TeamsManagement] Calling createTeamSeasonDataAsAdmin service method...");let i=yield this.teamsService.createTeamSeasonDataAsAdmin(n).toPromise();console.log("[TeamsManagement] Create response:",i),i?.success?(console.log("[TeamsManagement] Team season data created successfully"),this.showTeamSeasonDataForm=!1,this.teamSeasonDataForm.reset(),this.isCreatingTeamSeasonData=!1,this.selectedTeam=null,this.showSaveMessage("Team season data created successfully!","success"),yield new Promise(d=>setTimeout(d,500)),yield this.loadTeams()):(console.error("[TeamsManagement] Create failed:",i),this.showSaveMessage("Failed to create team season data","error"))}catch(e){console.error("[TeamsManagement] Error in createTeamSeasonData:",e),this.showSaveMessage("Failed to create team season data","error")}finally{this.isSaving=!1,console.log("[TeamsManagement] Save process completed, isSaving set to false")}})}getFormErrors(e){let n={};
140return Object.keys(e.controls).forEach(i=>{let d=e.get(i);d&&d.errors&&(n[i]=d.errors)}),n}updateTeamSeasonData(){return q(this,null,function*(){if(console.log("[TeamsManagement] updateTeamSeasonData called"),console.log("[TeamsManagement] Form valid:",this.teamSeasonDataForm.valid),console.log("[TeamsManagement] editingTeamSeasonData:",this.editingTeamSeasonData),!this.teamSeasonDataForm.valid){console.log("[TeamsManagement] Form is invalid, marking all fields as touched"),this.teamSeasonDataForm.markAllAsTouched(),console.log("[TeamsManagement] Form errors:",this.getFormErrors(this.teamSeasonDataForm));return}if(!this.editingTeamSeasonData){console.error("[TeamsManagement] No team season data being edited!"),this.showSaveMessage("No team season data selected for editing","error");return}this.isSaving=!0,console.log("[TeamsManagement] Starting update process...");try{let e=this.teamSeasonDataForm.value;console.log("[TeamsManagement] Form value:",e);let n={seasonId:e.seasonId,seasonRegionId:e.seasonRegionId||null,registrationStatus:e.registrationStatus,registrationVideoLink:e.registrationVideoLink||null,isQualifiedToLeague:e.isQualifiedToLeague||!1,isQualifiedToNational:e.isQualifiedToNational||!1,isQualifiedToWorlds:e.isQualifiedToWorlds||!1,teamMainColor:e.teamMainColor||null,teamSecondaryColor:e.teamSecondaryColor||null,facebookLink:e.facebookLink||null,instagramLink:e.instagramLink||null,xLink:e.xLink||null,linkedInLink:e.linkedInLink||null,teamWebsiteLink:e.teamWebsiteLink||null,youtubeLink:e.youtubeLink||null,tiktokLink:e.tiktokLink||null,primaryEmailContact:e.primaryEmailContact||null,otherSocial:e.otherSocial||null,motto:e.motto||null,teamDescription:e.teamDescription||null,school:e.school||null,city:e.city||null,county:e.county||null,country:e.country||null};console.log("[TeamsManagement] Prepared teamSeasonData for update:",n),console.log("[TeamsManagement] Updating teamSeasonData with ID:",this.editingTeamSeasonData.id);let i=yield this.teamsService.updateTeamSeasonDataAsAdmin(this.editingTeamSeasonData.id,n).toPromise();console.log("[TeamsManagement] Update response:",i),i?.success?(console.log("[TeamsManagement] Team season data updated successfully"),this.showTeamSeasonDataForm=!1,this.teamSeasonDataForm.reset(),this.editingTeamSeasonData=null,this.isEditingTeamSeasonData=!1,this.selectedTeam=null,this.showSaveMessage("Team season data updated successfully!","success"),yield new Promise(d=>setTimeout(d,500)),yield this.loadTeams()):(console.error("[TeamsManagement] Update failed:",i),this.showSaveMessage("Failed to update team season data","error"))}catch(e){console.error("[TeamsManagement] Error in updateTeamSeasonData:",e),this.showSaveMessage("Failed to update team season data","error")}finally{this.isSaving=!1,console.log("[TeamsManagement] Update process completed, isSaving set to false")}})}cancelTeamSeasonDataForm(){this.showTeamSeasonDataForm=!1,this.teamSeasonDataForm.reset(),this.editingTeamSeasonData=null,this.isEditingTeamSeasonData=!1,this.isCreatingTeamSeasonData=!1,this.selectedTeam=null}onPrimaryColorChange(e){let n=e.target.value;this.primaryColor=n,this.teamSeasonDataForm.patchValue({teamMainColor:n})}onSecondaryColorChange(e){let n=e.target.value;this.secondaryColor=n,this.teamSeasonDataForm.patchValue({teamSecondaryColor:n})}getCurrentPhotoUrl(){return this.selectedTeamPhotoPreview?this.selectedTeamPhotoPreview:"/assets/placeholder-team-photo.png"}getCurrentLogoUrl(){return this.selectedTeamLogoPreview?this.selectedTeamLogoPreview:"/assets/placeholder-team-logo.png"}onTeamPhotoSelected(e){let n=e.target.files[0];if(n){this.selectedTeamPhoto=n;let i=new FileReader;i.onload=d=>{this.selectedTeamPhotoPreview=d.target.result},i.readAsDataURL(n)}}onTeamLogoSelected(e){let n=e.target.files[0];if(n){this.selectedTeamLogo=n;let i=new FileReader;i.onload=d=>{this.selectedTeamLogoPreview=d.target.result},i.readAsDataURL(n)}}getTeamSeasonDataForSeason(e,n){return e.teamSeasonData?.find(i=>i.seasonId===n)||null}getRegistrationStatusClass(e){switch(e){case"CONFIRMED":return"status-confirmed";case"PENDING":return"status-pending";case"WAITLIST":return"status-waitlist";case"NONE":default:return"status-none"}}getRegistrationStatusText(e){switch(e){case"CONFIRMED":return"\xCEnscriere confirmat\u0103";case"PENDING":return"\xCEn proces de \xEEnscriere";case"WAITLIST":return"Profil complet, pending review";case"NONE":default:return"Echip\u0103 inactiv\u0103"}}getFilteredTeams(){let e=this.teams;if(this.teamNameFilter.trim()){let n=this.teamNameFilter.toLowerCase().trim();e=e.filter(i=>i.name.toLowerCase().includes(n))}if(this.teamNumberFilter.trim()){let n=this.teamNumberFilter.toLowerCase().trim();e=e.filter(i=>i.internationalNumber.toLowerCase().includes(n)||i.romanianNumber&&i.romanianNumber.toLowerCase().includes(n))}return e}clearFilters(){this.teamNameFilter="",this.teamNumberFilter=""}getTeamSeasonDataForSelectedSeason(e){return!this.selectedSeason||!e.teamSeasonData?null:e.teamSeasonData.find(n=>n.seasonId===this.selectedSeason?.id)}showSaveMessage(e,n){this.saveMessage=e,this.saveMessageType=n,setTimeout(()=>{this.saveMessage=""},5e3)}
140moveModalToBody(){setTimeout(()=>{let e=document.querySelector(".modal");e&&e.parentNode!==document.body&&document.body.appendChild(e)},50)}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ne),T(Ve))}}static{this.\u0275cmp=V({type:t,selectors:[["app-teams-management"]],standalone:!0,features:[B],decls:37,vars:11,consts:[[1,"teams-management-container"],[1,"header"],[1,"season-filter"],[1,"form-group"],["for","seasonSelect"],["id","seasonSelect",3,"ngModelChange","change","ngModel"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],["class","season-info",4,"ngIf"],[1,"team-filters"],[1,"filter-group"],["for","teamNameFilter"],["type","text","id","teamNameFilter","placeholder","Enter team name...",1,"filter-input",3,"ngModelChange","ngModel"],["for","teamNumberFilter"],["type","text","id","teamNumberFilter","placeholder","Enter team number...",1,"filter-input",3,"ngModelChange","ngModel"],[1,"filter-actions"],[1,"btn","btn-outline","btn-sm",3,"click"],[1,"fas","fa-times"],[1,"actions"],[1,"info-message"],[1,"fas","fa-info-circle"],["class","teams-list",4,"ngIf"],["class","loading",4,"ngIf"],["class","modal",4,"ngIf"],["class","save-message",3,"success","error",4,"ngIf"],[1,"season-info"],[1,"teams-list"],["class","teams-grid",4,"ngIf"],["class","no-teams",4,"ngIf"],[1,"teams-grid"],["class","team-card",4,"ngFor","ngForOf"],[1,"team-card"],[1,"team-header"],[1,"team-info"],[1,"team-number"],["class","team-owner",4,"ngIf"],[1,"team-actions"],["type","button",1,"btn","btn-sm","btn-primary",3,"click"],[1,"fas","fa-edit"],["class","team-season-data",4,"ngIf"],["class","no-season-data",4,"ngIf"],[1,"team-owner"],[1,"team-season-data"],[1,"season-data-list"],[1,"season-data-item"],[1,"season-data-header"],[1,"registration-status",3,"ngClass"],[1,"season-data-info"],[1,"info-row"],[1,"label"],[1,"value"],["class","qualifications",4,"ngIf"],[1,"season-data-actions"],["type","button",1,"btn","btn-sm","btn-secondary",3,"click"],[1,"qualifications"],["class","qualification",4,"ngIf"],[1,"qualification"],[1,"no-season-data"],[1,"fas","fa-plus"],[1,"no-teams"],[1,"no-teams-content"],[1,"fas","fa-users"],[4,"ngIf"],["class","no-teams-info",4,"ngIf"],[1,"no-teams-info"],[1,"loading"],[1,"loading-content"],[1,"fas","fa-spinner","fa-spin"],[1,"modal"],[1,"modal-content"],[1,"modal-header"],["type","button",1,"close-btn",3,"click"],[1,"modal-body"],[3,"ngSubmit","formGroup"],[1,"form-row"],["for","internationalNumber"],["type","text","id","internationalNumber","formControlName","internationalNumber"],["for","romanianNumber"],["type","text","id","romanianNumber","formControlName","romanianNumber"],["for","name"],["type","text","id","name","formControlName","name"],["for","rookieYear"],["type","text","id","rookieYear","formControlName","rookieYear"],[1,"form-actions"],["type","button",1,"btn","btn-secondary",3,"click"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"modal-content","large"],[1,"form-section"],["for","seasonId"],["id","seasonId","formControlName","seasonId"],["value",""],[3,"value",4,"ngFor","ngForOf"],["for","registrationStatus"],["id","registrationStatus","formControlName","registrationStatus"],["value","NONE"],["value","PENDING"],["value","WAITLIST"],["value","CONFIRMED"],["for","registrationVideoLink"],["type","url","id","registrationVideoLink","formControlName","registrationVideoLink","placeholder","https://youtube.com/watch?v=..."],[1,"checkbox-group"],[1,"checkbox-label"],["type","checkbox","formControlName","isQualifiedToLeague"],[1,"checkmark"],["type","checkbox","formControlName","isQualifiedToNational"],["type","checkbox","formControlName","isQualifiedToWorlds"],["for","teamMainColor"],[1,"color-input-group"],["type","color","id","teamMainColor",3,"change","value"],["type","text","placeholder","#ff006a",3,"change","value"],["for","teamSecondaryColor"],["type","color","id","teamSecondaryColor",3,"change","value"],["type","text","placeholder","#0066ff",3,"change","value"],["for","facebookLink"],["type","url","id","facebookLink","formControlName","facebookLink","placeholder","https://facebook.com/..."],["for","instagramLink"],["type","url","id","instagramLink","formControlName","instagramLink","placeholder","https://instagram.com/..."],["for","xLink"],["type","url","id","xLink","formControlName","xLink","placeholder","https://x.com/..."],["for","linkedInLink"],["type","url","id","linkedInLink","formControlName","linkedInLink","placeholder","https://linkedin.com/..."],["for","teamWebsiteLink"],["type","url","id","teamWebsiteLink","formControlName","teamWebsiteLink","placeholder","https://team-website.com"],["for","youtubeLink"],["type","url","id","youtubeLink","formControlName","youtubeLink","placeholder","https://youtube.com/..."],["for","tiktokLink"],["type","url","id","tiktokLink","formControlName","tiktokLink","placeholder","https://tiktok.com/..."],["for","otherSocial"],["type","text","id","otherSocial","formControlName","otherSocial","placeholder","Other social media links..."],["for","motto"],["type","text","id","motto","formControlName","motto","placeholder","Team motto or slogan"],["for","teamDescription"],["id","teamDescription","formControlName","teamDescription","rows","3","placeholder","Brief description of the team..."],["for","primaryEmailContact"],["type","email","id","primaryEmailContact","formControlName","primaryEmailContact","placeholder","[email protected]"],["for","school"],["type","text","id","school","formControlName","school","placeholder","School name"],["for","city"],["type","text","id","city","formControlName","city","placeholder","City name"],["for","county"],["type","text","id","county","formControlName","county","placeholder","County name"],["for","country"],["type","text","id","country","formControlName","country","placeholder","Country name"],[3,"value"],[1,"save-message"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h1"),a(3,"Teams Management"),o(),r(4,"p"),a(5,"Manage all teams across seasons"),o()(),r(6,"div",2)(7,"div",3)(8,"label",4),a(9,"Filter by Season:"),o(),r(10,"select",5),z("ngModelChange",function(u){return R(i.selectedSeason,u)||(i.selectedSeason=u),u}),b("change",function(){return i.onSeasonChange()}),r(11,"option",6),a(12,"All Seasons"),o(),h(13,Jy,2,2,"option",7),o(),h(14,Xy,5,1,"p",8),o()(),r(15,"div",9)(16,"div",10)(17,"label",11),a(18,"Search by Team Name:"),o(),r(19,"input",12),z("ngModelChange",function(u){return R(i.teamNameFilter,u)||(i.teamNameFilter=u),u}),o()(),r(20,"div",10)(21,"label",13),a(22,"Search by Team Number:"),o(),r(23,"input",14),z("ngModelChange",function(u){return R(i.teamNumberFilter,u)||(i.teamNumberFilter=u),u}),o()(),r(24,"div",15)(25,"button",16),b("click",function(){return i.clearFilters()}),_(26,"i",17),a(27," Clear Filters "),o()()(),r(28,"div",18)(29,"p",19),_(30,"i",20),a(31,' To create or delete teams, use the "Team Administration" tab. '),o()(),h(32,uw,3,2,"div",21)(33,_w,5,0,"div",22)(34,hw,33,10,"div",23)(35,Mw,148,14,"div",23)(36,xw,2,5,"div",24),o()),n&2&&(c(10),D("ngModel",i.selectedSeason),c(),m("ngValue",null),c(2),m("ngForOf",i.seasons),c(),m("ngIf",i.selectedSeason),c(5),D("ngModel",i.teamNameFilter),c(4),D("ngModel",i.teamNumberFilter),c(9),m("ngIf",!i.isLoading),c(),m("ngIf",i.isLoading),c(),m("ngIf",i.showTeamForm),c(),m("ngIf",i.showTeamSeasonDataForm),c(),m("ngIf",i.saveMessage))},dependencies:[H,xt,X,$,se,Oe,fe,he,re,Pt,ue,ie,Pe,pe,$e,We,Ge],styles:[".teams-management-container[_ngcontent-%COMP%]{padding:2rem;max-width:1400px;margin:0 auto}.teams-management-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:2rem}.teams-management-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.teams-management-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;font-size:1.1rem;margin:0}.teams-management-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%]{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.teams-management-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:0}.teams-management-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.teams-management-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;max-width:300px;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:#fff}.teams-management-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{margin-bottom:2rem}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .info-message[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;color:#1976d2;font-weight:500;margin:0}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .info-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#1976d2}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]{background:#3498db;color:#fff}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]:hover{background:#2980b9}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:#95a5a6;color:#fff}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover{background:#7f8c8d}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]{background:#e74c3c;color:#fff}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:hover{background:#c0392b}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.9rem}.teams-management-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:2rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]{padding:1.5rem;border-bottom:1px solid #ecf0f1;
140display:flex;justify-content:space-between;align-items:flex-start}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%]{flex:1}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#2c3e50;font-size:1.5rem;font-weight:600}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-number[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#7f8c8d;font-size:1rem;font-weight:500}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-owner[_ngcontent-%COMP%]{margin:0;color:#95a5a6;font-size:.9rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-shrink:0}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%]{padding:1.5rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 1rem;color:#2c3e50;font-size:1.2rem;font-weight:600}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%]{background:#f8f9fa;border-radius:8px;padding:1rem;border-left:4px solid #3498db}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-header[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:1.1rem;font-weight:600}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-header[_ngcontent-%COMP%] .registration-status[_ngcontent-%COMP%]{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-header[_ngcontent-%COMP%] .registration-status.status-confirmed[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-header[_ngcontent-%COMP%] .registration-status.status-pending[_ngcontent-%COMP%]{background:#fff3cd;color:#856404}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-header[_ngcontent-%COMP%] .registration-status.status-waitlist[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-header[_ngcontent-%COMP%] .registration-status.status-none[_ngcontent-%COMP%]{background:#e2e3e5;color:#6c757d}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-info[_ngcontent-%COMP%]{margin-bottom:1rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%]{display:flex;margin-bottom:.5rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:600;color:#2c3e50;min-width:80px;margin-right:.5rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{color:#7f8c8d;flex:1}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-info[_ngcontent-%COMP%] .qualifications[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-info[_ngcontent-%COMP%] .qualifications[_ngcontent-%COMP%] .qualification[_ngcontent-%COMP%]{background:#e8f5e8;color:#2d5a2d;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-data[_ngcontent-%COMP%] .season-data-item[_ngcontent-%COMP%] .season-data-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .no-season-data[_ngcontent-%COMP%]{padding:1.5rem;text-align:center;color:#7f8c8d}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .no-season-data[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 1rem}.teams-management-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.teams-management-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] .no-teams-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:4rem;color:#bdc3c7;margin-bottom:1rem}.teams-management-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] .no-teams-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem}.teams-management-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] .no-teams-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;margin-bottom:1rem}.teams-management-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] .no-teams-content[_ngcontent-%COMP%] .no-teams-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-weight:500;margin:0}.teams-management-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] .no-teams-content[_ngcontent-%COMP%] .no-teams-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#f39c12}.teams-management-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.teams-management-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2rem;color:#3498db;margin-bottom:1rem}.teams-management-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;margin:0}.modal[_ngcontent-%COMP%]{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:999999!important;padding:1rem!important;overflow-y:auto!important;overflow-x:hidden!important;isolation:isolate!important;transform:translateZ(0)!important;will-change:transform!important;animation:_ngcontent-%COMP%_fadeIn .3s ease!important}
140.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;z-index:1000000!important;display:flex;flex-direction:column;animation:_ngcontent-%COMP%_modalSlideIn .3s ease}.modal[_ngcontent-%COMP%] .modal-content.large[_ngcontent-%COMP%]{max-width:1000px}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%]{padding:1.5rem;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;align-items:center}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]{background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover{background:#ecf0f1}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:1.5rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #ecf0f1}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%]:last-child{border-bottom:none;margin-bottom:0}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 1rem;color:#2c3e50;font-size:1.2rem;font-weight:600}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 768px){.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus, .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%], .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select.error[_ngcontent-%COMP%], .modal[_ngcontent-%COMP%] .modal
140-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea.error[_ngcontent-%COMP%]{border-color:#e74c3c}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;min-height:80px}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .color-input-group[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .color-input-group[_ngcontent-%COMP%] input[type=color][_ngcontent-%COMP%]{width:50px;height:40px;padding:0;border:none;border-radius:4px;cursor:pointer}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .color-input-group[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]{flex:1}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .checkbox-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:#2c3e50}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{width:auto;margin:0}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ecf0f1}.save-message[_ngcontent-%COMP%]{position:fixed;top:2rem;right:2rem;padding:1rem 1.5rem;border-radius:6px;font-weight:500;z-index:1001;animation:_ngcontent-%COMP%_slideIn .3s ease-out}.save-message.success[_ngcontent-%COMP%]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.save-message.error[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes _ngcontent-%COMP%_slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.teams-management-container[_ngcontent-%COMP%]{padding:1rem}.teams-management-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem}.teams-management-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.teams-management-container[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}.teams-management-container[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-actions[_ngcontent-%COMP%]{width:100%;justify-content:flex-end}.teams-management-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%]{width:95%;margin:1rem}}.team-filters[_ngcontent-%COMP%]{display:flex;gap:1.5rem;align-items:end;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap}.team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%]{flex:1;
140min-width:200px}.team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.team-filters[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.season-info[_ngcontent-%COMP%]{margin-top:.5rem;padding:.5rem;background:#e3f2fd;border:1px solid #bbdefb;border-radius:4px;color:#1976d2;font-size:.9rem}.season-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.25rem}"]})}}return t})();function bw(t,s){if(t&1&&(r(0,"option",8),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e),c(),w(" ",e.seasonName," ")}}function Pw(t,s){if(t&1&&(r(0,"p",38),_(1,"i",39),a(2),o()),t&2){let e=p().$implicit;c(2),G(" Owner: ",e.teamOwner.name," (",e.teamOwner.email,") ")}}function Ow(t,s){t&1&&(r(0,"p",40),_(1,"i",3),r(2,"strong"),a(3,"No user assigned"),o(),a(4,' - Assign a user from the "User Creation" tab '),o())}function yw(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p().$implicit;c(),O(e.school)}}function ww(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p().$implicit;c(),O(e.city)}}function Sw(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p().$implicit;c(),w(" ",e.persons.length," members ")}}function Ew(t,s){if(t&1&&(r(0,"div",44)(1,"div",45)(2,"span",46),a(3),o(),r(4,"span",47),a(5),o()(),r(6,"div",48),h(7,yw,2,1,"span",49)(8,ww,2,1,"span",49)(9,Sw,2,1,"span",49),o()()),t&2){let e=s.$implicit,n=p(5);c(3),O(e.season.seasonName),c(),m("ngClass",n.getRegistrationStatusClass(e.registrationStatus)),c(),w(" ",n.getRegistrationStatusText(e.registrationStatus)," "),c(2),m("ngIf",e.school),c(),m("ngIf",e.city),c(),m("ngIf",e.persons==null?null:e.persons.length)}}function Tw(t,s){if(t&1&&(r(0,"div",41)(1,"h4"),a(2,"Season Data Summary"),o(),r(3,"div",42),h(4,Ew,10,6,"div",43),o()()),t&2){let e=p().$implicit;c(4),m("ngForOf",e.teamSeasonData)}}function kw(t,s){if(t&1){let e=E();r(0,"div",22)(1,"div",23)(2,"div",24)(3,"h3"),a(4),o(),r(5,"p",25),a(6),o(),h(7,Pw,3,2,"p",26)(8,Ow,5,0,"p",27),r(9,"div",28)(10,"span",29),_(11,"i",30),a(12),o(),r(13,"span",29),_(14,"i",31),a(15),o()()(),r(16,"div",32)(17,"button",33),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.showTeamFormForEdit(i))}),_(18,"i",34),a(19," Edit Team "),o(),r(20,"button",35),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.deleteTeam(i))}),_(21,"i",36),a(22," Hide Team "),o()()(),h(23,Tw,5,1,"div",37),o()}if(t&2){let e=s.$implicit,n=p(3);I("no-owner",n.hasNoOwner(e)),c(4),O(e.name),c(2),w("#",e.internationalNumber,""),c(),m("ngIf",e.teamOwner),c(),m("ngIf",n.hasNoOwner(e)),c(4),w(" ",e.teamSeasonData.length||0," Seasons "),c(3),w(" ",n.getTotalMembers(e)," Members "),c(8),m("ngIf",e.teamSeasonData&&e.teamSeasonData.length>0)}}function Iw(t,s){if(t&1&&(r(0,"div",20),h(1,kw,24,9,"div",21),o()),t&2){let e=p(2);c(),m("ngForOf",e.teams)}}function Fw(t,s){if(t&1&&(r(0,"p"),a(1),o()),t&2){let e=p(3);c(),w("No teams found for ",e.selectedSeason.seasonName,"")}}function Dw(t,s){t&1&&(r(0,"p"),a(1,"No teams found in the system"),o())}function Rw(t,s){if(t&1){let e=E();r(0,"div",50)(1,"div",51),_(2,"i",31),r(3,"h3"),a(4,"No teams found"),o(),h(5,Fw,2,1,"p",49)(6,Dw,2,0,"p",49),r(7,"button",11),b("click",function(){v(e);let i=p(2);return M(i.showTeamFormForCreate())}),_(8,"i",12),a(9," Create First Team "),o()()()}if(t&2){let e=p(2);c(5),m("ngIf",e.selectedSeason),c(),m("ngIf",!e.selectedSeason)}}function zw(t,s){if(t&1&&(r(0,"div",17),h(1,Iw,2,1,"div",18)(2,Rw,10,2,"div",19),o()),t&2){let e=p();c(),m("ngIf",e.teams.length>0),c(),m("ngIf",e.teams.length===0)}}function Nw(t,s){t&1&&(r(0,"div",52)(1,"div",53),_(2,"i",54),r(3,"p"),a(4,"Loading teams..."),o()()())}function Aw(t,s){if(t&1&&(r(0,"option",83),a(1),o()),t&2){let e=s.$implicit,n=p(2);m("value",e.id),c(),w(" ",n.getUserDisplayName(e)," ")}}function Lw(t,s){t&1&&(r(0,"div",84),_(1,"i",54),a(2," Loading users... "),o())}function Vw(t,s){t&1&&(r(0,"div",85),_(1,"i",3),a(2,' No available users found. Create user accounts in the "User Creation" tab first. '),o())}function Bw(t,s){t&1&&_(0,"i",54)}function Uw(t,s){if(t&1){let e=E();r(0,"div",55)(1,"div",56)(2,"div",57)(3,"h2"),a(4),o(),r(5,"button",58),b("click",function(){v(e);let i=p();return M(i.cancelTeamForm())}),_(6,"i",59),o()(),r(7,"div",60)(8,"form",61),b("ngSubmit",function(){v(e);let i=p();
140return M(i.createOrUpdateTeam())}),r(9,"div",62)(10,"div",5)(11,"label",63),a(12,"International Number *"),o(),_(13,"input",64),o(),r(14,"div",5)(15,"label",65),a(16,"Romanian Number"),o(),_(17,"input",66),o()(),r(18,"div",62)(19,"div",5)(20,"label",67),a(21,"Team Name *"),o(),_(22,"input",68),o(),r(23,"div",5)(24,"label",69),a(25,"Rookie Year *"),o(),_(26,"input",70),o()(),r(27,"div",5)(28,"label",71),a(29,"Team Owner"),o(),r(30,"select",72)(31,"option",73),a(32,"-- No owner assigned --"),o(),h(33,Aw,2,2,"option",74),o(),r(34,"small",75),_(35,"i",76),a(36,' Select a user account created in the "User Creation" tab. Leave empty to create team without owner. '),o(),h(37,Lw,3,0,"div",77)(38,Vw,3,0,"div",78),o(),r(39,"div",79)(40,"button",80),b("click",function(){v(e);let i=p();return M(i.cancelTeamForm())}),a(41," Cancel "),o(),r(42,"button",81),h(43,Bw,1,0,"i",82),a(44),o()()()()()()}if(t&2){let e,n,i,d=p();c(4),O(d.isEditingTeam?"Edit Team":"Create New Team"),c(4),m("formGroup",d.teamForm),c(5),I("error",((e=d.teamForm.get("internationalNumber"))==null?null:e.invalid)&&((e=d.teamForm.get("internationalNumber"))==null?null:e.touched)),c(9),I("error",((n=d.teamForm.get("name"))==null?null:n.invalid)&&((n=d.teamForm.get("name"))==null?null:n.touched)),c(4),I("error",((i=d.teamForm.get("rookieYear"))==null?null:i.invalid)&&((i=d.teamForm.get("rookieYear"))==null?null:i.touched)),c(4),m("disabled",d.isLoadingUsers),c(3),m("ngForOf",d.getAvailableUsers()),c(4),m("ngIf",d.isLoadingUsers),c(),m("ngIf",!d.isLoadingUsers&&d.getAvailableUsers().length===0),c(4),m("disabled",d.teamForm.invali
140d||d.isSaving),c(),m("ngIf",d.isSaving),c(),w(" ",d.isSaving?"Saving...":d.isEditingTeam?"Update Team":"Create Team"," ")}}function jw(t,s){if(t&1&&(r(0,"div",86),a(1),o()),t&2){let e=p();I("success",e.saveMessageType==="success")("error",e.saveMessageType==="error"),c(),w(" ",e.saveMessage," ")}}var uu=(()=>{class t{constructor(e,n,i,d){this.fb=e,this.teamsService=n,this.seasonsService=i,this.authService=d,this.teams=[],this.seasons=[],this.selectedSeason=null,this.isLoading=!1,this.isSaving=!1,this.saveMessage="",this.saveMessageType="success",this.users=[],this.isLoadingUsers=!1,this.showTeamForm=!1,this.isCreatingTeam=!1,this.editingTeam=null,this.isEditingTeam=!1,this.apiUrl=ne.apiUrl,this.teamForm=this.fb.group({internationalNumber:["",N.required],romanianNumber:[""],rookieYear:[new Date().getFullYear().toString(),N.required],name:["",N.required],teamOwnerId:[""]})}ngOnInit(){return q(this,null,function*(){yield this.loadSeasons(),yield this.loadTeams(),yield this.loadUsers()})}loadSeasons(){return q(this,null,function*(){try{let e=yield this.seasonsService.getAllSeasons().toPromise();e?.message&&(this.seasons=e.message);let n=yield this.seasonsService.getCurrentSeason().toPromise();n?.message?this.selectedSeason=n.message:this.seasons.length>0&&(this.selectedSeason=this.seasons[this.seasons.length-1])}catch{}})}loadTeams(){return q(this,null,function*(){this.isLoading=!0;try{let e=this.selectedSeason?.id,n=yield this.teamsService.getAllTeamsForAdmin(e).toPromise();n?.message&&(this.teams=n.message)}catch{this.teams=[]}finally{this.isLoading=!1}})}onSeasonChange(){this.loadTeams()}loadUsers(){return q(this,null,function*(){this.isLoadingUsers=!0;try{let e=new URLSearchParams({userType:"TEAM",page:"1",limit:"1000"});this.authService.authenticatedRequest(`${this.apiUrl}/user/all?${e}`).subscribe({next:n=>{n.success&&(this.users=n.message.users||[]),this.isLoadingUsers=!1},error:n=>{this.isLoadingUsers=!1}})}catch{this.isLoadingUsers=!1}})}showTeamFormForCreate(){this.showTeamForm=!0,this.teamForm.reset(),this.isCreatingTeam=!0,this.isEditingTeam=!1,this.editingTeam=null,this.loadUsers()}showTeamFormForEdit(e){this.showTeamForm=!0,this.editingTeam=e,this.isEditingTeam=!0,this.isCreatingTeam=!1,this.loadUsers(),this.teamForm.patchValue({internationalNumber:e.internationalNumber,romanianNumber:e.romanianNumber,rookieYear:e.rookieYear,name:e.name,teamOwnerId:e.teamOwner?.id||""})}createOrUpdateTeam(){return q(this,null,function*(){this.isEditingTeam?yield this.updateTeam():yield this.createTeam()})}createTeam(){return q(this,null,function*(){if(this.teamForm.valid){this.isSaving=!0;try{let e=this.teamForm.value,n={internationalNumber:e.internationalNumber,romanianNumber:e.romanianNumber,rookieYear:e.rookieYear,name:e.name,teamOwnerId:e.teamOwnerId||null},i=yield this.teamsService.createTeamAsAdmin(n).toPromise();if(i?.success&&i?.message){let u=i.message;if(this.selectedSeason&&u.id)try{let x={teamId:u.id,seasonId:this.selectedSeason.id,registrationStatus:"NONE",isQualifiedToLeague:!1,isQualifiedToNational:!1,isQualifiedToWorlds:!1};yield this.teamsService.createTeamSeasonDataAsAdmin(x).toPromise()}catch(x){console.error("Failed to create team season data:",x)}}let d=e.teamOwnerId?"Team created successfully!":'Team created successfully! Note: No user assigned. Assign a user from the "User Creation" tab.';this.showSaveMessage(d,"success"),this.showTeamForm=!1,this.teamForm.reset(),yield new Promise(u=>setTimeout(u,500)),yield this.loadTeams()}catch{this.showSaveMessage("Failed to create team","error")}finally{this.isSaving=!1}}})}updateTeam(){return q(this,null,function*(){if(this.teamForm.valid&&this.editingTeam){this.isSaving=!0;try{let e=this.teamForm.value,n={internationalNumber:e.internationalNumber,romanianNumber:e.romanianNumber,rookieYear:e.rookieYear,name:e.name,teamOwnerId:e.teamOwnerId||null};yield this.teamsService.updateTeamAsAdmin(this.editingTeam.id,n).toPromise(),this.showTeamForm=!1,this.teamForm.reset(),this.editingTeam=null,this.isEditingTeam=!1,this.showSaveMessage("Team updated successfully!","success"),yield new Promise(i=>setTimeout(i,500)),yield this.loadTeams()}catch{this.showSaveMessage("Failed to update team","error")}finally{this.isSaving=!1}}})}deleteTeam(e){return q(this,null,function*(){if(confirm(`\u26A0\uFE0F WARNING: This will hide team "${e.name}" (${e.internationalNumber}) from all public views. 141 142\u2022 The team will no longer appear in team lists 143\u2022 The team will no longer be visible to users 144\u2022 All associated data will be preserved 145\u2022 This action can be reversed by an administrator 146 147Are you sure you want to hide this team?`))try{yield this.teamsService.deleteTeamAsAdmin(e.id).toPromise(),this.showSaveMessage("Team hidden successfully!","success"),yield this.loadTeams()}catch{this.showSaveMessage("Failed to hide team","error")}})}cancelTeamForm(){this.showTeamForm=!1,this.teamForm.reset(),this.editingTeam=null,this.isEditingTeam=!1,this.isCreatingTeam=!1}getTeamSeasonDataForSeason(e,n){return e.teamSeasonData?.find(i=>i.seasonId===n)||null}getTotalMembers(e){return e.teamSeasonData?e.teamSeasonData.reduce((n,i)=>n+(i.persons?.length||0),0):0}getRegistrationStatusClass(e){switch(e){case"CONFIRMED":return"status-confirmed";case"PENDING":return"status-pending";case"WAITLIST":return"status-waitlist";case"NONE":default:return"status-none"}}getRegistrationStatusText(e){switch(e){case"CONFIRMED":return"\xCEnscriere confirmat\u0103";case"PENDING":return"\xCEn proces de \xEEnscriere";case"WAITLIST":return"Profil complet, pending review";case"NONE":default:return"Echip\u0103 inactiv\u0103"}}showSaveMessage(e,n){this.saveMessage=e,this.saveMessageType=n,setTimeout(()=>{this.saveMessage=""},5e3)}hasNoOwner(e){return!e.teamOwner||!e.teamOwner.id}getUserDisplayName(e){return e.teamOwned?`${e.name} (${e.email}) - Already owns: ${e.teamOwned.name||e.teamOwned.internationalNumber}`:`${e.name} (${e.email})`}getAvailableUsers(){return this.isEditingTeam&&this.editingTeam?this.users.filter(e=>!e.teamOwned||e.teamOwned.id===this.editingTeam?.id):this.users.filter(e=>!e.teamOwned)}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ne),T(Ve),T(at))}}static{this.\u0275cmp=V({type:t,selectors:[["app-team-administration"]],standalone:!0,features:[B],decls:25,vars:7,consts:[[1,"team-administration-container"],[1,"header"],[1,"warning-text"],[1,"fas","fa-exclamation-triangle"],[1,"season-filter"],[1,"form-group"],["for","seasonSelect"],["id","seasonSelect",3,"ngModelChange","change","ngModel"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],[1,"actions"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fas","fa-plus"],["class","teams-list",4,"ngIf"],["class","loading",4,"ngIf"],["class","modal",4,"ngIf"],["class","save-message",3,"success","error",4,"ngIf"],[1,"team
147s-list"],["class","teams-grid",4,"ngIf"],["class","no-teams",4,"ngIf"],[1,"teams-grid"],["class","team-card",3,"no-owner",4,"ngFor","ngForOf"],[1,"team-card"],[1,"team-header"],[1,"team-info"],[1,"team-number"],["class","team-owner",4,"ngIf"],["class","team-owner-warning",4,"ngIf"],[1,"team-stats"],[1,"stat"],[1,"fas","fa-calendar"],[1,"fas","fa-users"],[1,"team-actions"],["type","button",1,"btn","btn-sm","btn-primary",3,"click"],[1,"fas","fa-edit"],["type","button",1,"btn","btn-sm","btn-warning",3,"click"],[1,"fas","fa-eye-slash"],["class","team-season-summary",4,"ngIf"],[1,"team-owner"],[1,"fas","fa-user"],[1,"team-owner-warning"],[1,"team-season-summary"],[1,"season-summary-list"],["class","season-summary-item",4,"ngFor","ngForOf"],[1,"season-summary-item"],[1,"season-info"],[1,"season-name"],[1,"registration-status",3,"ngClass"],[1,"season-details"],[4,"ngIf"],[1,"no-teams"],[1,"no-teams-content"],[1,"loading"],[1,"loading-content"],[1,"fas","fa-spinner","fa-spin"],[1,"modal"],[1,"modal-content"],[1,"modal-header"],["type","button",1,"close-btn",3,"click"],[1,"fas","fa-times"],[1,"modal-body"],[3,"ngSubmit","formGroup"],[1,"form-row"],["for","internationalNumber"],["type","text","id","internationalNumber","formControlName","internationalNumber","placeholder","e.g., 12345"],["for","romanianNumber"],["type","text","id","romanianNumber","formControlName","romanianNumber","placeholder","e.g., RO-12345"],["for","name"],["type","text","id","name","formControlName","name","placeholder","e.g., Team Awesome"],["for","rookieYear"],["type","text","id","rookieYear","formControlName","rookieYear","placeholder","e.g., 2020"],["for","teamOwnerId"],["id","teamOwnerId","formControlName","teamOwnerId",3,"disabled"],["value",""],[3,"value",4,"ngFor","ngForOf"],[1,"form-help"],[1,"fas","fa-info-circle"],["class","loading-users",4,"ngIf"],["class","no-users-warning",4,"ngIf"],[1,"form-actions"],["type","button",1,"btn","btn-secondary",3,"click"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],[3,"value"],[1,"loading-users"],[1,"no-users-warning"],[1,"save-message"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h1"),a(3,"Team Administration"),o(),r(4,"p",2),_(5,"i",3),r(6,"strong"),a(7,"Warning:"),o(),a(8," This section contains sensitive operations that can permanently affect team data. Use with caution. "),o()(),r(9,"div",4)(10,"div",5)(11,"label",6),a(12,"Filter by Season:"),o(),r(13,"select",7),z("ngModelChange",function(u){return R(i.selectedSeason,u)||(i.selectedSeason=u),u}),b("change",function(){return i.onSeasonChange()}),r(14,"option",8),a(15,"All Seasons"),o(),h(16,bw,2,2,"option",9),o()()(),r(17,"div",10)(18,"button",11),b("click",function(){return i.showTeamFormForCreate()}),_(19,"i",12),a(20," Create New Team "),o()(),h(21,zw,3,2,"div",13)(22,Nw,5,0,"div",14)(23,Uw,45,15,"div",15)(24,jw,2,5,"div",16),o()),n&2&&(c(13),D("ngModel",i.selectedSeason),c(),m("ngValue",null),c(2),m("ngForOf",i.seasons),c(5),m("ngIf",!i.isLoading),c(),m("ngIf",i.isLoading),c(),m("ngIf",i.showTeamForm),c(),m("ngIf",i.saveMessage))},dependencies:[H,xt,X,$,se,Oe,fe,he,re,ue,ie,Pe,pe,$e,We,Ge],styles:[".team-administration-container[_ngcontent-%COMP%]{padding:2rem;max-width:1400px;margin:0 auto}.team-administration-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:2rem}.team-administration-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.team-administration-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-weight:500;margin:0}.team-administration-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#f39c12;font-size:1.2rem}.team-administration-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%]{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.team-administration-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:0}.team-administration-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.team-administration-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;max-width:300px;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:#fff}.team-administration-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{margin-bottom:2rem}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]{background:#3498db;color:#fff}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]:hover{background:#2980b9}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:#95a5a6;color:#fff}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover{background:#7f8c8d}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]{background:#e74c3c;color:#fff}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:hover{background:#c0392b}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.9rem}.team-administration-container[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:2rem}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s;border-left:4px solid #e74c3c}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card.no-owner[_ngcontent-%COMP%]{border-left:4px solid #f39
147c12;background:linear-gradient(to right,#fff9e6,#fff 10%);box-shadow:0 4px 6px #f39c1233}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card.no-owner[_ngcontent-%COMP%]:hover{box-shadow:0 8px 25px #f39c124d}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]{padding:1.5rem;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;align-items:flex-start}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%]{flex:1}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#2c3e50;font-size:1.5rem;font-weight:600}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-number[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#7f8c8d;font-size:1rem;font-weight:500}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-owner[_ngcontent-%COMP%]{margin:0 0 1rem;color:#27ae60;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-owner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#27ae60}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-owner-warning[_ngcontent-%COMP%]{margin:0 0 1rem;padding:.75rem;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-owner-warning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#f39c12;font-size:1rem}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-stats[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-stats[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;color:#7f8c8d;font-size:.9rem}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-stats[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-shrink:0}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%]{padding:1.5rem;background:#f8f9fa}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem;font-weight:600}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%]{background:#fff;border-radius:6px;padding:.75rem;border-left:3px solid #3498db}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-name[_ng
147content-%COMP%]{font-weight:600;color:#2c3e50}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .registration-status[_ngcontent-%COMP%]{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:uppercase}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .registration-status.status-confirmed[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .registration-status.status-pending[_ngcontent-%COMP%]{background:#fff3cd;color:#856404}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .registration-status.status-waitlist[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .registration-status.status-none[_ngcontent-%COMP%]{background:#e2e3e5;color:#6c757d}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-details[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:#7f8c8d}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-season-summary[_ngcontent-%COMP%] .season-summary-item[_ngcontent-%COMP%] .season-details[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.team-administration-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.team-administration-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] .no-teams-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:4rem;color:#bdc3c7;margin-bottom:1rem}.team-administration-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] .no-teams-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem}.team-administration-container[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] .no-teams-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;margin-bottom:2rem}.team-administration-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.team-administration-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2rem;color:#3498db;margin-bottom:1rem}.team-administration-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] .loading-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;margin:0}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%]{padding:1.5rem;border-bottom:1px solid #ecf0f1;
147display:flex;justify-content:space-between;align-items:center}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]{background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover{background:#ecf0f1}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:1.5rem}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 768px){.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;background:#fff}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%], .team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select.error[_ngcontent-%COMP%]{border-color:#e74c3c}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:disabled, .team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{cursor:pointer}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal
147-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%] option[_ngcontent-%COMP%]{padding:.5rem}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-help[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.85rem;color:#7f8c8d}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-help[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .loading-users[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;color:#3498db;font-size:.85rem}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .loading-users[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 1s linear infinite}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .no-users-warning[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.75rem;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.85rem}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .no-users-warning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#f39c12}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ecf0f1}.team-administration-container[_ngcontent-%COMP%] .save-message[_ngcontent-%COMP%]{position:fixed;top:2rem;right:2rem;padding:1rem 1.5rem;border-radius:6px;font-weight:500;z-index:1001;animation:_ngcontent-%COMP%_slideIn .3s ease-out}.team-administration-container[_ngcontent-%COMP%] .save-message.success[_ngcontent-%COMP%]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.team-administration-container[_ngcontent-%COMP%] .save-message.error[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes _ngcontent-%COMP%_slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.team-administration-container[_ngcontent-%COMP%]{padding:1rem}.team-administration-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem}.team-administration-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.team-administration-container[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}.team-administration-container[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-actions[_ngcontent-%COMP%]{width:100%;justify-content:flex-end}.team-administration-container[_ngcontent-%COMP%] .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%]{width:95%;margin:1rem}}.user-account-section[_ngcontent-%COMP%]{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px}.user-account-section[_ngcontent-%COMP%] .checkbox-group[_ngcontent-%COMP%]{margin-bottom:1rem}.user-account-section[_ngcontent-%COMP%] .checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:#2c3e50}.user-account-section[_ngcontent-%COMP%] .checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] .checkbox-input[_ngcontent-%COMP%]{width:18px;height:18px;margin:0;cursor:pointer}.user-account-section[_ngcontent-%COMP%] .checkbox-group[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] .checkbox-text[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.readonly-field[_ngcontent-%COMP%]{background-color:#f8f9fa!important;color:#6c757d!important;cursor:not-allowed!important;border-color:#dee2e6!important}.readonly-field[_ngcontent-%COMP%]:focus{box-shadow:none!important;border-color:#dee2e6!important}.user-account-section[_ngcontent-%COMP%] .user-fields[_ngcontent-%COMP%]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #dee2e6}.user-account-section[_ngcontent-%COMP%] .user-fields[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:1.5rem}.user-account-section[_ngcontent-%COMP%] .user-fields[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.user-account-section[_ngcontent-%COMP%] .user-fields[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.user-account-section[_ngcontent-%COMP%] .user-fields[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.user-account-section[_ngcontent-%COMP%] .user-fields[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.user-account-section[_ngcontent-%COMP%] .user-fields[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{margin-top:.5rem;color:#dc3545;font-size:.875rem;display:flex;flex-direction:column;gap:.25rem}"]})}}return t})();function qw(t,s){t&1&&(r(0,"span"),a(1,"Email is required"),o())}function Ww(t,s){t&1&&(r(0,"span"),a(1,"Please enter a valid email address"),o())}function $w(t,s){if(t&1&&(r(0,"div",37),h(1,qw,2,0,"span",38)(2,Ww,2,0,"span",38),o()),t&2){p();let e=oe(14);c(),m("ngIf",e.errors==null?null:e.errors.required),c(),m("ngIf",e.errors==null?null:e.errors.email)}}function Hw(t,s){t&1&&(r(0,"span"),a(1,"Name is required"),o())}function Gw(t,s){if(t&1&&(r(0,"div",37),h(1,Hw,2,0,"span",38),o()),t&2){p();let e=oe(20);c(),m("ngIf",e.errors==null?null:e.errors.required)}}function Zw(t,s){t&1&&(r(0,"span"),a(1,"Password is required"),o())}function Yw(t,s){t&1&&(r(0,"span"),a(1,"Password must be at least 6 characters"),o())}function Kw(t,s){if(t&1&&(r(0,"div",37),h(1,Zw,2,0,"span",38)(2,Yw,2,0,"span",38),o()),t&2){p();let e=oe(27);c(),m("ngIf",e.errors==null?null:e.errors.required),c(),m("ngIf",e.errors==null?null:e.errors.minlength)}}function Qw(t,s){t&1&&(r(0,"span"),a(1,"Please confirm the password"),o())}function Jw(t,s){if(t&1&&(r(0,"div",37),h(1,Qw,2,0,"span",38),o()),t&2){p();let e=oe(33);c(),m("ngIf",e.errors==null?null:e.errors.required)}}function Xw(t,s){t&1&&(r(0,"div",37),a(1," Passwords do not match "),o())}function e3(t,s){t&1&&_(0,"i",8)}function t3(t,s){t&1&&_(0,"i",39)}function n3(t,s){if(t&1&&(r(0,"div",40),_(1,"i",41),a(2),o()),t&2){let e=p();c(2),w(" ",e.errorMessage," ")}}function i3(t,s){if(t&1&&(r(0,"div",42),_(1,"i",43),a(2),o()),t&2){let e=p();c(2),w(" ",e.successMessage," ")}}var _u=(()=>{class t{constructor(e,n){this.http=e,this.authService=n,this.userCreated=new it,this.email="",this.name="",this.password="",this.confirmPassword="",this.userType="TEAM",this.isLoading=!1,this.errorMessage=null,this.successMessage=null,this.apiUrl=ne.apiUrl}ngOnInit(){}onSubmit(){if(this.errorMessage=null,this.successMessage=null,!this.email||!this.name||!this.password||!this.confirmPassword){this.errorMessage="All fields are required";return}if(this.password!==this.confirmPassword){this.errorMessage="Passwords do not match";return}if(this.password.length<6){this.errorMessage="Password must be at least 6 characters long";return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.email)){this.errorMessage="Please enter a valid email address";return}this.isLoading=!0;let n={email:this.email,name:this.name,password:this.password,userType:this.userType};this.authService.getAuthHeaders().subscribe({next:i=>{this.http.post(`${this.apiUrl}/auth/admin/register-user`,n,{headers:i}).subscribe({next:d=>{d.success?(this.successMessage=`User ${this.name} (${this.email}) created successfully as ${this.getUserTypeLabel(this.userType)}`,this.resetForm(),this.userCreated.emit()):this.errorMessage=d.message||"Failed to create user",this.isLoading=!1},error:d=>{console.error("Error creating user:",d),this.errorMessage=d.error?.message||"Failed to create user. Please try again.",this.isLoading=!1}})},error:i=>{console.error("Error getting auth headers:",i),this.errorMessage="Authentication error. Please try again.",this.isLoading=!1}})}resetForm(){this.email="",this.name="",this.password="",this.confirmPassword="",this.userType="TEAM",this.errorMessage=null,this.successMessage=null}getUserTypeLabel(e){switch(e){case"ADMIN":return"Administrator";case"EDITOR":return"Editor";case"TEAM":return"Team";default:return e}}getUserTypeDescription(e){switch(e){case"ADMIN":return"Full system access, can manage all users and content";case"EDITOR":return"Can manage content and events, limited user access";case"TEAM":return"Standard team member access";default:return""}}static{this.\u0275fac=function(n){return new(n||t)(T(He),T(at))}}static{this.\u0275cmp=V({type:t,selectors:[["app-user-creation"]],outputs:{userCreated:"userCreated"},standalone:!0,features:[B],decls:60,vars:26,consts:[["userForm","ngForm"],["emailInput","ngModel"],["nameInput","ngModel"],["passwordInput","ngModel"],["confirmPasswordInput","ngModel"],["userTypeInput","ngModel"],[1,"user-creation-container"],[1,"header"],[1,"fas","fa-user-plus"],[1,"description"],[1,"user-form",3,"ngSubmit"],[1,"form-row"],[1,"form-group"],["for","email"],["type","email","id","email","name","email","required","","email","","placeholder","[email protected]",3,"ngModelChange","ngModel"],["class","field-error",4,"ngIf"],["for","name"],["type","text","id","name","name","name","required","","placeholder","John Doe",3,"ngModelChange","ngModel"],["for","password"],["type","password","id","password","name","password","required","","minlength","6","placeholder","Minimum 6 characters",3,"ngModelChange","ngModel"],["for","confirmPassword"],["type","password","id","confirmPassword","name","confirmPassword","required","","placeholder","Repeat password",3,"ngModelChange","ngModel"],["for","userType"],["id","userType","name","userType","required","",1,"user-type-select",3,"ngModelChange","ngModel"],["value","TEAM"],["value","EDITOR"],["value","ADMIN"],[1,"user-type-
147description"],[1,"fas","fa-info-circle"],[1,"form-actions"],["type","button",1,"btn","btn-secondary",3,"click","disabled"],[1,"fas","fa-undo"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fas fa-user-plus",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","message error-message",4,"ngIf"],["class","message success-message",4,"ngIf"],[1,"field-error"],[4,"ngIf"],[1,"fas","fa-spinner","fa-spin"],[1,"message","error-message"],[1,"fas","fa-exclamation-circle"],[1,"message","success-message"],[1,"fas","fa-check-circle"]],template:function(n,i){if(n&1){let d=E();r(0,"div",6)(1,"div",7)(2,"h3"),_(3,"i",8),a(4," Create New User"),o(),r(5,"p",9),a(6,"Create a new user account with appropriate permissions."),o()(),r(7,"form",10,0),b("ngSubmit",function(){return v(d),M(i.onSubmit())}),r(9,"div",11)(10,"div",12)(11,"label",13),a(12,"Email Address *"),o(),r(13,"input",14,1),z("ngModelChange",function(x){return v(d),R(i.email,x)||(i.email=x),M(x)}),o(),h(15,$w,3,2,"div",15),o(),r(16,"div",12)(17,"label",16),a(18,"Full Name *"),o(),r(19,"input",17,2),z("ngModelChange",function(x){return v(d),R(i.name,x)||(i.name=x),M(x)}),o(),h(21,Gw,2,1,"div",15),o()(),r(22,"div",11)(23,"div",12)(24,"label",18),a(25,"Password *"),o(),r(26,"input",19,3),z("ngModelChange",function(x){return v(d),R(i.password,x)||(i.password=x),M(x)}),o(),h(28,Kw,3,2,"div",15),o(),r(29,"div",12)(30,"label",20),a(31,"Confirm Password *"),o(),r(32,"input",21,4),z("ngModelChange",function(x){return v(d),R(i.confirmPassword,x)||(i.confirmPassword=x),M(x)}),o(),h(34,Jw,2,1,"div",15)(35,Xw,2,0,"div",15),o()(),r(36,"div",12)(37,"label",22),a(38,"User Type *"),o(),r(39,"select",23,5),z("ngModelChange",function(x){return v(d),R(i.userType,x)||(i.userType=x),M(x)}),r(41,"option",24),a(42,"Team"),o(),r(43,"option",25),a(44,"Editor"),o(),r(45,"option",26),a(46,"Administrator"),o()(),r(47,"div",27),_(48,"i",28),a(49),o()(),r(50,"div",29)(51,"button",30),b("click",function(){return v(d),M(i.resetForm())}),_(52,"i",31),a(53," Reset "),o(),r(54,"button",32),h(55,e3,1,0,"i",33)(56,t3,1,0,"i",34),a(57),o()()(),h(58,n3,3,1,"div",35)(59,i3,3,1,"div",36),o()}if(n&2){let d=oe(8),u=oe(14),x=oe(20),y=oe(27),k=oe(33);c(13),I("error",u.invalid&&u.touched),D("ngModel",i.email),c(2),m("ngIf",u.invalid&&u.touched),c(4),I("error",x.invalid&&x.touched),D("ngModel",i.name),c(2),m("ngIf",x.invalid&&x.touched),c(5),I("error",y.invalid&&y.touched),D("ngModel",i.password),c(2),m("ngIf",y.invalid&&y.touched),c(4),I("error",k.invalid&&k.touched),D("ngModel",i.confirmPassword),c(2),m("ngIf",k.invalid&&k.touched),c(),m("ngIf",i.password&&i.confirmPassword&&i.password!==i.confirmPassword),c(4),D("ngModel",i.userType),c(10),w(" ",i.getUserTypeDescription(i.userType)," "),c(2),m("disabled",i.isLoading),c(3),m("disabled",d.invalid||i.isLoading||i.password&&i.confirmPassword&&i.password!==i.confirmPassword),c(),m("ngIf",!i.isLoading),c(),m("ngIf",i.isLoading),c(),w(" ",i.isLoading?"Creating...":"Create User"," "),c(),m("ngIf",i.errorMessage),c(),m("ngIf",i.successMessage)}},dependencies:[H,$,se,Oe,fe,he,re,ue,ie,Pe,Yt,ni,Ki,pe,Ot],styles:[".user-creation-container[_ngcontent-%COMP%]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.user-creation-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:24px;border-bottom:1px solid #e0e0e0;padding-bottom:16px}.user-creation-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 8px;color:#333;font-size:1.25rem;font-weight:600}.user-creation-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#0389d1;margin-right:8px}.user-creation-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{margin:0;color:#666;font-size:.9rem}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 768px){.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:16px}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:.9rem}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;transition:border-color .2s ease}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:#0389d1;box-shadow:0 0 0 2px #0389d11a}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%], .user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select.error[_ngcontent-%COMP%]{border-color:#dc3545}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder, .user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]::placeholder{color:#999}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .user-type-select[_ngcontent-%COMP%]{background:#fff;cursor:pointer}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .user-type-
147description[_ngcontent-%COMP%]{margin-top:6px;font-size:.8rem;color:#666;display:flex;align-items:center}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .user-type-description[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:6px;color:#0389d1}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .field-error[_ngcontent-%COMP%]{color:#dc3545;font-size:.8rem;margin-top:4px;display:block}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}@media (max-width: 768px){.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{flex-direction:column}}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:10px 20px;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]{background:#0389d1;color:#fff}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:#0277bd}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.user-creation-container[_ngcontent-%COMP%] .user-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:#e9ecef}.user-creation-container[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{margin-top:16px;padding:12px 16px;border-radius:4px;font-size:.9rem;display:flex;align-items:center;gap:8px}.user-creation-container[_ngcontent-%COMP%] .message.error-message[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.user-creation-container[_ngcontent-%COMP%] .message.success-message[_ngcontent-%COMP%]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.user-creation-container[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem}@media (max-width: 768px){.user-creation-container[_ngcontent-%COMP%]{padding:16px;margin:0 -16px 20px;border-radius:0}}"]})}}return t})();function o3(t,s){if(t&1){let e=E();r(0,"app-user-creation",23),b("userCreated",function(){v(e);let i=p();return M(i.onUserCreated())}),o()}}function r3(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(2);c(),w("Reset Passwords (",e.selectedUsers.size,")")}}function a3(t,s){t&1&&(r(0,"span"),a(1,"Sending..."),o())}function s3(t,s){if(t&1&&(r(0,"div",31),a(1),o()),t&2){let e=p(2);c(),w(" ",e.bulkOperationMessage," ")}}function c3(t,s){if(t&1){let e=E();r(0,"div",24)(1,"div",25)(2,"label",26)(3,"input",27),b("change",function(){v(e);let i=p();return M(i.toggleSelectAll())}),o(),a(4),o(),r(5,"button",28),b("click",function(){v(e);let i=p();return M(i.bulkResetPasswords())}),h(6,r3,2,1,"span",29)(7,a3,2,0,"span",29),o()(),h(8,s3,2,1,"div",30),o()}if(t&2){let e=p();c(3),m("checked",e.selectedUsers.size===e.filteredUsers.length&&e.filteredUsers.length>0),c(),w(" Select All (",e.selectedUsers.size,") "),c(),m("disabled",e.selectedUsers.size===0||e.isBulkOperationLoading),c(),m("ngIf",!e.isBulkOperationLoading),c(),m("ngIf",e.isBulkOperationLoading),c(),m("ngIf",e.bulkOperationMessage)}}function l3(t,s){t&1&&(r(0,"div",32),_(1,"div",33),r(2,"p"),a(3,"Loading users..."),o()())}function d3(t,s){t&1&&(r(0,"div",45),a(1,"Team"),o())}function m3(t,s){if(t&1&&(r(0,"div")(1,"div",51)(2,"div",52),a(3),o(),r(4,"div",53)(5,"span",54),a(6),o(),r(7,"span",54),a(8),o()()()()),t&2){let e=p(2).$implicit;c(3),O(e.teamOwned.name),c(3),w("INT: ",e.teamOwned.internationalNumber,""),c(2),w("RO: ",e.teamOwned.romanianNumber,"")}}function g3(t,s){t&1&&(r(0,"span",55),a(1,"No team assigned"),o())}function p3(t,s){if(t&1&&(r(0,"div",45),h(1,m3,9,3,"div",50)(2,g3,2,0,"ng-template",null,0,Se),o()),t&2){let e=oe(3),n=p().$implicit;c(),m("ngIf",n.teamOwned)("ngIfElse",e)}}function u3(t,s){t&1&&(r(0,"span"),a(1,"Reset Password"),o())}function _3(t,s){t&1&&(r(0,"span"),a(1,"Sending..."),o())}function f3(t,s){if(t&1){let e=E();r(0,"div",46)(1,"div",36)(2,"input",27),b("change",function(){let i=v(e).$implicit,d=p(2);return M(d.toggleUserSelection(i.id))}),o()(),r(3,"div",37)(4,"strong"),a(5),o()(),r(6,"div",38),a(7),o(),h(8,p3,4,2,"div",39),r(9,"div",40),a(10),o(),r(11,"div",41),a(12),o(),r(13,"div",42)(14,"button",47),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.editUser(i))}),_(15,"i",48),a(16," Edit "),o(),r(17,"button",49),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.resetPasswordForUser(i))}),h(18,u3,2,0,"span",29)(19,_3,2,0,"span",29),o()()()}if(t&2){let e=s.$implicit,n=p(2);I("team-tab",n.activeTab==="TEAM")("non-team-tab",n.activeTab!=="TEAM"),c(2),m("checked",n.isUserSelected(e.id)),c(3),O(e.name),c(2),w(" ",e.email," "),c(),m("ngIf",n.activeTab==="TEAM"),c(2),w(" ",n.formatDate(e.createdAt)," "),c(2),w(" ",n.formatDate(e.lastLogin)," "),c(5),m("disabled",n.resetPasswordLoading.has(e.id)),c(),m("ngIf",!n.resetPasswordLoading.has(e.id)),c(),m("ngIf",n.resetPasswordLoading.has(e.id))}}function h3(t,s){if(t&1&&(r(0,"div",34)(1,"div",35)(2,"div",36),a(3,"Select"),o(),r(4,"div",37),a(5,"Name"),o(),r(6,"div",38),a(7,"Email"),o(),h(8,d3,2,0,"div",39),r(9,"div",40),a(10,"Created"),o(),r(11,"div",41),a(12,"Last Login"),o(),r(13,"div",42),a(14,"Actions"),o()(),r(15,"div",43),h(16,f3,20,13,"div",44),o()()),t&2){let e=p();c(),I("team-tab",e.activeTab==="TEAM")("non-team-tab",e.activeTab!=="TEAM"),c(7),m("ngIf",e.activeTab==="TEAM"),c(8),m("ngForOf",e.filteredUsers)}}function C3(t,s){t&1&&(r(0,"p"),a(1,"Try adjusting your search terms"),o())}function v3(t,s){if(t&1&&(r(0,"p"),a(1),o()),t&2){let e=p(2);c(),w("No ",e.activeTab.toLowerCase()," users registered yet")}}function M3(t,s){if(t&1&&(r(0,"div",56)(1,"div",57),a(2,"\u{1F465}
147"),o(),r(3,"h3"),a(4,"No users found"),o(),h(5,C3,2,0,"p",29)(6,v3,2,1,"p",29),o()),t&2){let e=p();c(5),m("ngIf",e.searchTerm),c(),m("ngIf",!e.searchTerm)}}function x3(t,s){if(t&1){let e=E();r(0,"div",58)(1,"button",59),b("click",function(){v(e);let i=p();return M(i.onPageChange(i.pagination.page-1))}),a(2," Previous "),o(),r(3,"span",60),a(4),o(),r(5,"button",59),b("click",function(){v(e);let i=p();return M(i.onPageChange(i.pagination.page+1))}),a(6," Next "),o()()}if(t&2){let e=p();c(),m("disabled",e.pagination.page<=1),c(3),dn(" Page ",e.pagination.page," of ",e.pagination.pages," (",e.pagination.total," total users) "),c(),m("disabled",e.pagination.page>=e.pagination.pages)}}function b3(t,s){t&1&&(r(0,"span"),a(1,"Email is required"),o())}function P3(t,s){t&1&&(r(0,"span"),a(1,"Please enter a valid email address"),o())}function O3(t,s){if(t&1&&(r(0,"div",89),h(1,b3,2,0,"span",29)(2,P3,2,0,"span",29),o()),t&2){p();let e=oe(19);c(),m("ngIf",e.errors==null?null:e.errors.required),c(),m("ngIf",e.errors==null?null:e.errors.email)}}function y3(t,s){t&1&&_(0,"i",90)}function w3(t,s){t&1&&_(0,"i",91)}function S3(t,s){if(t&1&&(r(0,"div",92),_(1,"i",93),a(2),o()),t&2){let e=p(2);c(2),w(" ",e.editErrorMessage," ")}}function E3(t,s){if(t&1&&(r(0,"div",94),_(1,"i",95),a(2),o()),t&2){let e=p(2);c(2),w(" ",e.editSuccessMessage," ")}}function T3(t,s){if(t&1){let e=E();r(0,"div",61)(1,"div",62)(2,"div",63)(3,"h2"),a(4,"Edit User"),o(),r(5,"button",64),b("click",function(){v(e);let i=p();return M(i.cancelEdit())}),_(6,"i",65),o()(),r(7,"div",66)(8,"form",67,1),b("ngSubmit",function(){v(e);let i=p();return M(i.saveUser())}),r(10,"div",68)(11,"div",69)(12,"label",70),a(13,"Full Name *"),o(),r(14,"input",71),z("ngModelChange",function(i){v(e);let d=p();return R(d.editForm.name,i)||(d.editForm.name=i),M(i)}),o()(),r(15,"div",69)(16,"label",72),a(17,"Email Address *"),o(),r(18,"input",73,2),z("ngModelChange",function(i){v(e);let d=p();return R(d.editForm.email,i)||(d.editForm.email=i),M(i)}),o(),h(20,O3,3,2,"div",74),o()(),r(21,"div",69)(22,"label",75),a(23,"User Type *"),o(),r(24,"select",76),z("ngModelChange",function(i){v(e);let d=p();return R(d.editForm.userType,i)||(d.editForm.userType=i),M(i)}),r(25,"option",77),a(26,"Team"),o(),r(27,"option",78),a(28,"Editor"),o(),r(29,"option",79),a(30,"Administrator"),o()(),r(31,"div",80),_(32,"i",81),a(33),o()(),r(34,"div",82)(35,"button",83),b("click",function(){v(e);let i=p();return M(i.cancelEdit())}),a(36," Cancel "),o(),r(37,"button",84),h(38,y3,1,0,"i",85)(39,w3,1,0,"i",86),a(40),o()()(),h(41,S3,3,1,"div",87)(42,E3,3,1,"div",88),o()()()}if(t&2){let e=oe(9),n=oe(19),i=p();c(14),I("error",!i.editForm.name&&e.touched),D("ngModel",i.editForm.name),c(4),I("error",n.invalid&&n.touched),D("ngModel",i.editForm.email),c(2),m("ngIf",n.invalid&&n.touched),c(4),D("ngModel",i.editForm.userType),c(9),w(" ",i.getUserTypeDescription(i.editForm.userType)," "),c(2),m("disabled",i.isSavingEdit),c(2),m("disabled",e.invalid||i.isSavingEdit),c(),m("ngIf",!i.isSavingEdit),c(),m("ngIf",i.isSavingEdit),c(),w(" ",i.isSavingEdit?"Saving...":"Save Changes"," "),c(),m("ngIf",i.editErrorMessage),c(),m("ngIf",i.editSuccessMessage)}}var fu=(()=>{class t{constructor(e,n){this.http=e,this.authService=n,this.users=[],this.filteredUsers=[],this.pagination={page:1,limit:50,total:0,pages:0},this.activeTab="TEAM",this.searchTerm="",this.isLoading=!1,this.showCreateUser=!1,this.editingUser=null,this.editForm={name:"",email:"",userType:"TEAM"},this.isSavingEdit=!1,this.editErrorMessage=null,this.editSuccessMessage=null,this.userCounts={TEAM:0,EDITOR:0,ADMIN:0},this.selectedUsers=new Set,this.isBulkOperationLoading=!1,this.bulkOperationMessage="",this.resetPasswordLoading=new Set,this.apiUrl=ne.apiUrl}ngOnInit(){this.loadUserCounts(),this.loadUsers()}setActiveTab(e){this.activeTab=e,this.searchTerm="",this.selectedUsers.clear(),this.loadUsers()}loadUsers(){this.isLoading=!0;let e=new URLSearchParams({userType:this.activeTab,page:this.pagination.page.toString(),limit:this.pagination.limit.toString()});this.searchTerm.trim()&&e.set("search",this.searchTerm.trim()),this.authService.authenticatedRequest(`${this.apiUrl}/user/all?${e}`).subscribe({next:n=>{n.success&&(this.users=n.message.users,this.filteredUsers=[...this.users],this.pagination=n.message.pagination),this.isLoading=!1},error:n=>{console.error("Error loading users:",n),this.isLoading=!1}})}onSearch(){this.pagination.page=1,this.loadUsers()}clearSearch(){this.searchTerm="",this.onSearch()}onPageChange(e){this.pagination.page=e,this.loadUsers()}toggleUserSelection(e){this.selectedUsers.has(e)?this.selectedUsers.delete(e):this.selectedUsers.add(e)}toggleSelectAll(){this.selectedUsers.size===this.filteredUsers.length?this.selectedUsers.clear():(this.selectedUsers.clear(),this.filteredUsers.forEac
147h(e=>this.selectedUsers.add(e.id)))}isUserSelected(e){return this.selectedUsers.has(e)}resetPasswordForUser(e){this.resetPasswordLoading.add(e.id),this.authService.getAuthHeaders().subscribe({next:n=>{this.http.post(`${this.apiUrl}/user/reset-password`,{email:e.email},{headers:n}).subscribe({next:i=>{i.success?alert(`Password reset email sent to ${e.email}`):alert(`Failed to send reset email: ${i.message}`),this.resetPasswordLoading.delete(e.id)},error:i=>{console.error("Error sending reset password:",i),alert("Failed to send password reset email"),this.resetPasswordLoading.delete(e.id)}})},error:n=>{console.error("Error getting auth headers:",n),alert("Authentication error"),this.resetPasswordLoading.delete(e.id)}})}bulkResetPasswords(){if(this.selectedUsers.size===0){alert("Please select users to reset passwords for");return}let e=Array.from(this.selectedUsers).map(n=>this.users.find(d=>d.id===n)?.email).filter(n=>n);this.isBulkOperationLoading=!0,this.bulkOperationMessage="",this.authService.getAuthHeaders().subscribe({next:n=>{this.http.post(`${this.apiUrl}/user/bulk-reset-password`,{emails:e},{headers:n}).subscribe({next:i=>{if(i.success){let d=i.message.summary;this.bulkOperationMessage=`Bulk reset completed: ${d.successful} successful, ${d.failed} failed`;let x=i.message.results.filter(y=>!y.success);if(x.length>0){let y=x.map(k=>k.email).join(", ");alert(`Some emails failed: ${y}`)}}else this.bulkOperationMessage="Bulk reset failed";this.isBulkOperationLoading=!1,this.selectedUsers.clear()},error:i=>{console.error("Error in bulk reset:",i),this.bulkOperationMessage="Bulk reset failed due to server error",this.isBulkOperationLoading=!1}})},error:n=>{console.error("Error getting auth headers:",n),this.bulkOperationMessage="Authentication error",this.isBulkOperationLoading=!1}})}loadUserCounts(){["TEAM","EDITOR","ADMIN"].forEach(n=>{this.authService.authenticatedRequest(`${this.apiUrl}/user/all?userType=${n}&page=1&limit=1`).subscribe({next:i=>{i.success&&(this.userCounts[n]=i.message.pagination.total)},error:i=>{console.error(`Error loading ${n} count:`,i)}})})}getTabCount(e){return this.userCounts[e]}formatDate(e){return e?new Date(e).toLocaleDateString():"Never"}getUserTypeLabel(e){switch(e){case"ADMIN":return"Administrator";case"EDITOR":return"Editor";case"TEAM":return"Team";default:return e}}getUserTypeDescription(e){switch(e){case"ADMIN":return"Full system access, can manage all users and content";case"EDITOR":return"Can manage content and events, limited user access";case"TEAM":return"Standard team member access";default:return""}}toggleCreateUser(){this.showCreateUser=!this.showCreateUser}onUserCreated(){this.showCreateUser=!1,this.loadUserCounts(),this.loadUsers()}editUser(e){this.editingUser=e,this.editForm={name:e.name,email:e.email,userType:e.userType},this.editErrorMessage=null,this.editSuccessMessage=null}cancelEdit(){this.editingUser=null,this.editForm={name:"",email:"",userType:"TEAM"},this.editErrorMessage=null,this.editSuccessMessage=null}saveUser(){if(!this.editingUser)return;if(!this.editForm.name||!this.editForm.email){this.editErrorMessage="Name and email are required";return}let e=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(this.editForm.email&&!e.test(this.editForm.email)){this.editErrorMessage="Please enter a valid email address";return}this.isSavingEdit=!0,this.editErrorMessage=null,this.editSuccessMessage=null;let n={};if(this.editForm.name!==this.editingUser.name&&(n.name=this.editForm.name),this.editForm.email!==this.editingUser.email&&(n.email=this.editForm.email),this.editForm.userType!==this.editingUser.userType&&(n.userType=this.editForm.userType),Object.keys(n).length===0){this.cancelEdit(),this.isSavingEdit=!1;return}this.authService.getAuthHeaders().subscribe({next:i=>{this.http.put(`${this.apiUrl}/user/${this.editingUser.id}`,n,{headers:i}).subscribe({next:d=>{d.success?(this.editSuccessMessage="User updated successfully",this.cancelEdit(),this.loadUserCounts(),this.loadUsers()):this.editErrorMessage=d.message||"Failed to update user",this.isSavingEdit=!1},error:d=>{console.error("Error updating user:",d),this.editErrorMessage=d.error?.message||"Failed to update user. Please try again.",this.isSavingEdit=!1}})},error:i=>{console.error("Error getting auth headers:",i),this.editErrorMessage="Authentication error. Please try again.",this.isSavingEdit=!1}})}static{this.\u0275fac=function(n){return new(n||t)(T(He),T(at))}}static{this.\u0275cmp=V({type:t,selectors:[["app-user-management"]],standalone:!0,features:[B],decls:32,vars:20,consts:[["noTeam",""],["userEditForm","ngForm"],["editEmailInput","ngModel"],[1,"user-management-container"],[1,"header"],[1,"header-content"],[1,"header-text"],[1,"create-user-button",3,"click"],[1,"fas","fa-user-plus"],[3,"userCreated",4,"ngIf"],[1,"tabs"],[1,"tab-button",3,"click"],[1,"search-section"],[1,"search-bar"],["type","text","placeholder","Search by name or email...",1,"search-input",3,"ngModelChange","keyup.enter","ngModel"],[1,"search-button",3,"click"],[1,"clear-button",3,"click"],["class","bulk-operations",4,"ngIf"],["class","loading",4,"ngIf"],["class","users-table",4,"ngIf"],["class","empty-state",4,"ngIf"],["class","pagination",4,"ngIf"],["class","modal",4,"ngIf"],[3,"userCreated"],[1,"bulk-operations"],[1,"bulk-controls"],[1,"select-all-checkbox"],["type","checkbox",3,"change","checked"],[1,"bulk-reset-button",3,"click","disabled"],[4,"ngIf"],["class","bulk-message",4,"ngIf"],[1,"bulk-message"],[1,"loading"],[1,"spinner"],[1,"users-table"],[1,"table-header"],[1,"col-select"],[1,"col-name"],[1,"col-email"],["class","col-team",4,"ngIf"],[1,"col-created"],[1,"col-login"],[1,"col-actions"],[1,"table-body"],["class","table-row",3,"team-tab","non-team-tab",4,"ngFor","ngForOf"],[1,"col-team"],[1,"table-row"],[1,"edit-button",3,"click"],[1,"fas","fa-edit"],[1,"reset-password-button",3,"click","disabled"],[4,"ngIf","ngIfElse"],[1,"team-info"],[1,"team-name"],[1,"team-numbers"],[1,"team-number"],[1,"no-team"],[1,"empty-state"],[1,"empty-icon"],[1,"pagination"],[1,"page-button",3,"click","disabled"],[1,"page-info"],[1,"modal"],[1,"modal-content"],[1,"modal-header"],["type","button",1,"close-btn",3,"click"],[1,"fas","fa-times"],[1,"modal-body"],[3,"ngSubmit"],[1,"form-row"],[1,"form-group"],["for","editName"],["type","text","id","editName","name","editName","required","","placeholder","John Doe",3,"ngModelChange","ngModel"],["for","editEmail"],["type","email","id","editEmail","name","editEmail","required","","email","","placeholder","[email protected]",3,"ngModelChange","ngModel"],["class","field-error",4,"ngIf"],["for","editUserType"],["id","editUserType","name","editUserType","required","",1,"user-type-select",3,"ngModelChange","ngModel"],["value","TEAM"],["value","EDITOR"],["value","ADMIN"],[1,"user-type-
147description"],[1,"fas","fa-info-circle"],[1,"form-actions"],["type","button",1,"btn","btn-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fas fa-save",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","message error-message",4,"ngIf"],["class","message success-message",4,"ngIf"],[1,"field-error"],[1,"fas","fa-save"],[1,"fas","fa-spinner","fa-spin"],[1,"message","error-message"],[1,"fas","fa-exclamation-circle"],[1,"message","success-message"],[1,"fas","fa-check-circle"]],template:function(n,i){n&1&&(r(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"h2"),a(5,"User Management"),o(),r(6,"p"),a(7,"Manage user accounts and reset passwords"),o()(),r(8,"button",7),b("click",function(){return i.toggleCreateUser()}),_(9,"i",8),a(10),o()()(),h(11,o3,1,0,"app-user-creation",9),r(12,"div",10)(13,"button",11),b("click",function(){return i.setActiveTab("TEAM")}),a(14),o(),r(15,"button",11),b("click",function(){return i.setActiveTab("EDITOR")}),a(16),o(),r(17,"button",11),b("click",function(){return i.setActiveTab("ADMIN")}),a(18),o()(),r(19,"div",12)(20,"div",13)(21,"input",14),z("ngModelChange",function(u){return R(i.searchTerm,u)||(i.searchTerm=u),u}),b("keyup.enter",function(){return i.onSearch()}),o(),r(22,"button",15),b("click",function(){return i.onSearch()}),a(23,"Search"),o(),r(24,"button",16),b("click",function(){return i.clearSearch()}),a(25,"Clear"),o()()(),h(26,c3,9,6,"div",17)(27,l3,4,0,"div",18)(28,h3,17,6,"div",19)(29,M3,7,2,"div",20)(30,x3,7,5,"div",21)(31,T3,43,16,"div",22),o()),n&2&&(c(8),I("active",i.showCreateUser),c(2),w(" ",i.showCreateUser?"Cancel":"Create User"," "),c(),m("ngIf",i.showCreateUser),c(2),I("active",i.activeTab==="TEAM"),c(),w(" Teams (",i.getTabCount("TEAM"),") "),c(),I("active",i.activeTab==="EDITOR"),c(),w(" Editors (",i.getTabCount("EDITOR"),") "),c(),I("active",i.activeTab==="ADMIN"),c(),w(" Administrators (",i.getTabCount("ADMIN"),") "),c(3),D("ngModel",i.searchTerm),c(5),m("ngIf",i.filteredUsers.length>0),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading),c(),m("ngIf",!i.isLoading&&i.filteredUsers.length===0),c(),m("ngIf",!i.isLoading&&i.pagination.pages>1),c(),m("ngIf",i.editingUser))},dependencies:[H,X,$,se,Oe,fe,he,re,ue,ie,Pe,Yt,Ki,pe,Ot,_u],styles:[".user-management-container[_ngcontent-%COMP%]{padding:2rem;max-width:1200px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.header[_ngcontent-%COMP%]{margin-bottom:2rem}.header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}@media (max-width: 768px){.header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}}.header[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{flex:1}.header[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#2c3e50;margin:0 0 .5rem;font-size:1.8rem}.header[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;margin:0}.header[_ngcontent-%COMP%] .create-user-button[_ngcontent-%COMP%]{background:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.header[_ngcontent-%COMP%] .create-user-button[_ngcontent-%COMP%]:hover{background:#229954;transform:translateY(-1px)}.header[_ngcontent-%COMP%] .create-user-button.active[_ngcontent-%COMP%]{background:#e74c3c}.header[_ngcontent-%COMP%] .create-user-button.active[_ngcontent-%COMP%]:hover{background:#c0392b}.header[_ngcontent-%COMP%] .create-user-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9rem}.tabs[_ngcontent-%COMP%]{display:flex;border-bottom:2px solid #ecf0f1;margin-bottom:2rem}.tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{background:none;border:none;padding:1rem 1.5rem;cursor:pointer;font-size:1rem;color:#7f8c8d;border-bottom:3px solid transparent;transition:all .3s ease}.tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]:hover{color:#3498db;background:#f8f9fa}.tabs[_ngcontent-%COMP%] .tab-button.active[_ngcontent-%COMP%]{color:#3498db;border-bottom-color:#3498db;font-weight:600}.search-section[_ngcontent-%COMP%]{margin-bottom:1.5rem}
147.search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{flex:1;padding:.75rem;border:2px solid #ecf0f1;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db}.search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%] .search-button[_ngcontent-%COMP%], .search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%] .clear-button[_ngcontent-%COMP%]{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease}.search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%] .search-button[_ngcontent-%COMP%]{background:#3498db;color:#fff}.search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%] .search-button[_ngcontent-%COMP%]:hover{background:#2980b9}.search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%] .clear-button[_ngcontent-%COMP%]{background:#95a5a6;color:#fff}.search-section[_ngcontent-%COMP%] .search-bar[_ngcontent-%COMP%] .clear-button[_ngcontent-%COMP%]:hover{background:#7f8c8d}.bulk-operations[_ngcontent-%COMP%]{background:#f8f9fa;padding:1rem;border-radius:6px;margin-bottom:1.5rem}.bulk-operations[_ngcontent-%COMP%] .bulk-controls[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.bulk-operations[_ngcontent-%COMP%] .bulk-controls[_ngcontent-%COMP%] .select-all-checkbox[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.bulk-operations[_ngcontent-%COMP%] .bulk-controls[_ngcontent-%COMP%] .bulk-reset-button[_ngcontent-%COMP%]{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.bulk-operations[_ngcontent-%COMP%] .bulk-controls[_ngcontent-%COMP%] .bulk-reset-button[_ngcontent-%COMP%]:hover:not(:disabled){background:#c0392b}.bulk-operations[_ngcontent-%COMP%] .bulk-controls[_ngcontent-%COMP%] .bulk-reset-button[_ngcontent-%COMP%]:disabled{background:#bdc3c7;cursor:not-allowed}.bulk-operations[_ngcontent-%COMP%] .bulk-message[_ngcontent-%COMP%]{color:#27ae60;font-size:.9rem;font-weight:500}.loading[_ngcontent-%COMP%]{text-align:center;padding:3rem}.loading[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #ecf0f1;border-top:4px solid #3498db;border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin:0 auto 1rem}.loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;margin:0}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.users-table[_ngcontent-%COMP%]{border:1px solid #ecf0f1;border-radius:6px;overflow-x:auto;overflow-y:hidden;min-width:800px}.users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%]{display:grid;background:#f8f9fa;font-weight:600;color:#2c3e50}.users-table[_ngcontent-%COMP%] .table-header.team-tab[_ngcontent-%COMP%]{grid-template-columns:50px 180px 200px 180px 100px 100px 120px}.users-table[_ngcontent-%COMP%] .table-header.non-team-tab[_ngcontent-%COMP%]{grid-template-columns:50px 200px 250px 100px 100px 120px}.users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .col-select[_ngcontent-%COMP%]{padding:.75rem .5rem;text-align:center}.users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .col-name[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .col-email[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .col-team[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .col-created[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .col-login[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .col-actions[_ngcontent-%COMP%]{padding:.75rem .5rem;border-right:1px solid #ecf0f1}.users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .col-actions[_ngcontent-%COMP%]{border-right:none}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%]{display:grid;border-bottom:1px solid #ecf0f1;transition:background .3s ease}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row.team-tab[_ngcontent-%COMP%]{grid-template-columns:50px 180px 200px 180px 100px 100px 120px}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row.non-team-tab[_ngcontent-%COMP%]{grid-template-columns:50px 200px 250px 100px 100px 120px}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%]:hover{background:#f8f9fa}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%]:last-child{border-bottom:none}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-select[_ngcontent-%COMP%]{padding:.75rem .5rem;text-align:center;display:flex;align-items:center;justify-content:center}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-name[_ng
147content-%COMP%], .users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-email[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-team[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-created[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-login[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-actions[_ngcontent-%COMP%]{padding:.75rem .5rem;border-right:1px solid #ecf0f1;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-actions[_ngcontent-%COMP%]{border-right:none}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-name[_ngcontent-%COMP%]{font-weight:500}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-email[_ngcontent-%COMP%]{color:#7f8c8d;font-size:.9rem}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-team[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-name[_ngcontent-%COMP%]{font-weight:500;color:#2c3e50;margin-bottom:.25rem;font-size:.9rem}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-team[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-numbers[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.125rem}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-team[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-numbers[_ngcontent-%COMP%] .team-number[_ngcontent-%COMP%]{font-size:.8rem;color:#7f8c8d}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-team[_ngcontent-%COMP%] .no-team[_ngcontent-%COMP%]{color:#7f8c8d;font-style:italic;font-size:.9rem}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .user-type-badge[_ngcontent-%COMP%]{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;text-transform:uppercase}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .user-type-badge.type-admin[_ngcontent-%COMP%]{background:#e74c3c;color:#fff}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .user-type-badge.type-editor[_ngcontent-%COMP%]{background:#f39c12;color:#fff}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .user-type-badge.type-team[_ngcontent-%COMP%]{background:#3498db;color:#fff}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-name[_ngcontent-%COMP%]{font-weight:500;margin-bottom:.25rem}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-numbers[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.125rem}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-numbers[_ngcontent-%COMP%] .team-number[_ngcontent-%COMP%]{font-size:.8rem;color:#7f8c8d}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .no-team[_ngcontent-%COMP%]{color:#bdc3c7;font-style:italic;font-size:.9rem}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-created[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-login[_ngcontent-%COMP%]{font-size:.9rem;color:#7f8c8d}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .col-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-wrap:wrap}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .edit-button[_ngcontent-%COMP%]{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .3s ease;display:flex;align-items:center;gap:.25rem}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .edit-button[_ngcontent-%COMP%]:hover:not(:disabled){background:#2980b9}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .edit-button[_ngcontent-%COMP%]:disabled{background:#bdc3c7;
147cursor:not-allowed}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .reset-password-button[_ngcontent-%COMP%]{background:#e67e22;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .3s ease}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .reset-password-button[_ngcontent-%COMP%]:hover:not(:disabled){background:#d35400}.users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%] .reset-password-button[_ngcontent-%COMP%]:disabled{background:#bdc3c7;cursor:not-allowed}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:3rem;color:#7f8c8d}.empty-state[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem}.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#2c3e50}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.pagination[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.pagination[_ngcontent-%COMP%] .page-button[_ngcontent-%COMP%]{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background .3s ease}.pagination[_ngcontent-%COMP%] .page-button[_ngcontent-%COMP%]:hover:not(:disabled){background:#2980b9}.pagination[_ngcontent-%COMP%] .page-button[_ngcontent-%COMP%]:disabled{background:#bdc3c7;cursor:not-allowed}.pagination[_ngcontent-%COMP%] .page-info[_ngcontent-%COMP%]{color:#7f8c8d;font-size:.9rem}.modal[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:999999;padding:1rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%]{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #ecf0f1}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:1.5rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]{background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover{background:#ecf0f1;color:#2c3e50}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:1.5rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 768px){.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:1rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:2px solid #ecf0f1;border-radius:6px;font-size:1rem;transition:border-color .3s ease}
147.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%], .modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select.error[_ngcontent-%COMP%]{border-color:#e74c3c}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .user-type-select[_ngcontent-%COMP%]{width:100%}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .user-type-description[_ngcontent-%COMP%]{margin-top:.5rem;padding:.75rem;background:#f8f9fa;border-radius:4px;font-size:.9rem;color:#7f8c8d;display:flex;align-items:flex-start;gap:.5rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .user-type-description[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-top:.125rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .field-error[_ngcontent-%COMP%]{color:#e74c3c;font-size:.8rem;margin-top:.5rem;display:block}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ecf0f1}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]{background:#3498db;color:#fff}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:#2980b9}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]:disabled{background:#bdc3c7;cursor:not-allowed}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:#95a5a6;color:#fff}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:#7f8c8d}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:disabled{background:#bdc3c7;cursor:not-allowed}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{padding:1rem;border-radius:6px;margin-top:1rem;display:flex;align-items:center;gap:.5rem}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .message.error-message[_ngcontent-%COMP%]{background:#fee;color:#c0392b;border:1px solid #e74c3c}.modal[_ngcontent-%COMP%] .modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .message.success-message[_ngcontent-%COMP%]{background:#d4edda;color:#27ae60;border:1px solid #27ae60}@media (max-width: 768px){.user-management-container[_ngcontent-%COMP%]{padding:1rem}.tabs[_ngcontent-%COMP%]{flex-direction:column}.tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{text-align:left;border-bottom:1px solid #ecf0f1;border-right:none}
147.search-bar[_ngcontent-%COMP%]{flex-direction:column}.search-bar[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{width:100%}.users-table[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .table-body[_ngcontent-%COMP%] .table-row[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.5rem}.users-table[_ngcontent-%COMP%] .col-select[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .col-name[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .col-email[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .col-type[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .col-team[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .col-created[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .col-login[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] .col-actions[_ngcontent-%COMP%]{border-right:none;border-bottom:1px solid #ecf0f1}}"]})}}return t})();function k3(t,s){if(t&1&&(r(0,"div",9)(1,"div",10)(2,"h3"),a(3),o(),r(4,"p"),a(5),o()()()),t&2){let e=p();c(3),w("Current Season: ",e.currentSeason.seasonName,""),c(2),w("Season #",e.currentSeason.seasonNumber,"")}}function I3(t,s){t&1&&(r(0,"div",11),_(1,"i",12),r(2,"p"),a(3,"No current season is set. Please set a current season first."),o()())}function F3(t,s){t&1&&(r(0,"div",13),_(1,"i",14),r(2,"p"),a(3,"Loading teams and regions..."),o()())}function D3(t,s){if(t&1&&(r(0,"div",56)(1,"div",54),a(2),o(),r(3,"div",55),a(4),o()()),t&2){let e=s.$implicit,n=p(3);c(2),O(e.name),c(2),w("",n.getTeamCountForRegion(e.id)," teams")}}function R3(t,s){if(t&1&&(r(0,"div",50)(1,"h3"),a(2,"Region Distribution"),o(),r(3,"div",51),h(4,D3,5,2,"div",52),r(5,"div",53)(6,"div",54),a(7,"Unassigned"),o(),r(8,"div",55),a(9),o()()()()),t&2){let e=p(2);c(4),m("ngForOf",e.regions),c(5),w("",e.getUnassignedTeamCount()," teams")}}function z3(t,s){if(t&1&&(r(0,"option",57),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),w(" ",e.name," ")}}function N3(t,s){if(t&1&&(r(0,"option",57),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),w(" ",e.name," ")}}function A3(t,s){if(t&1&&(r(0,"span",72),a(1),o()),t&2){let e=s.$implicit,n=p(4);c(),w(" ",n.getTeamName(e)," ")}}function L3(t,s){if(t&1&&(r(0,"span",73),a(1),o()),t&2){let e=p(4);c(),w(" +",e.selectedTeams.length-5," more ")}}function V3(t,s){if(t&1&&(r(0,"div",69),h(1,A3,2,1,"span",70)(2,L3,2,1,"span",71),o()),t&2){let e=p(3);c(),m("ngForOf",e.selectedTeams.slice(0,5)),c(),m("ngIf",e.selectedTeams.length>5)}}function B3(t,s){t&1&&(r(0,"p",74),a(1," Select teams from the list below to assign regions in bulk. "),o())}function U3(t,s){t&1&&_(0,"i",75)}function j3(t,s){t&1&&_(0,"i",14)}function q3(t,s){if(t&1){let e=E();r(0,"div",58)(1,"div",59)(2,"div",60)(3,"label",61),a(4,"Assign Region"),o(),r(5,"select",62)(6,"option",32),a(7,"Select a region..."),o(),h(8,N3,2,2,"option",34),o()(),r(9,"div",60)(10,"label"),a(11),o(),h(12,V3,3,2,"div",63)(13,B3,2,0,"p",64),o(),r(14,"div",65)(15,"button",66),b("click",function(){v(e);let i=p(2);return M(i.bulkAssignRegion())}),h(16,U3,1,0,"i",67)(17,j3,1,0,"i",68),a(18),o()()()()}if(t&2){let e=p(2);m("formGroup",e.bulkAssignmentForm),c(8),m("ngForOf",e.regions),c(3),w("Selected Teams (",e.selectedTeams.length,")"),c(),m("ngIf",e.selectedTeams.length>0),c(),m("ngIf",e.selectedTeams.length===0),c(2),m("disabled",e.isSaving||e.selectedTeams.length===0||!e.bulkAssignmentForm.valid),c(),m("ngIf",!e.isSaving),c(),m("ngIf",e.isSaving),c(),w(" ",e.isSaving?"Assigning...":"Assign Region"," ")}}function W3(t,s){if(t&1&&(r(0,"div",85)(1,"span",86),a(2,"Registration Status:"),o(),r(3,"span",93),a(4),o()()),t&2){let e=p().$implicit;c(3),ct(e.currentSeasonData.registrationStatus.toLowerCase()),c(),w(" ",e.currentSeasonData.registrationStatus," ")}}function $3(t,s){if(t&1&&(r(0,"div",85)(1,"span",86),a(2,"School:"),o(),r(3,"span",87),a(4),o()()),t&2){let e=p().$implicit;c(4),O(e.currentSeasonData==null?null:e.currentSeasonData.school)}}function H3(t,s){if(t&1&&(r(0,"div",85)(1,"span",86),a(2,"City:"),o(),r(3,"span",87),a(4),o()()),t&2){let e=p().$implicit;c(4),O(e.currentSeasonData==null?null:e.currentSeasonData.city)}}function G3(t,s){if(t&1&&(r(0,"option",57),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),w(" ",e.name," ")}}function Z3(t,s){if(t&1){let e=E();r(0,"div",78)(1,"div",79)(2,"div",80)(3,"h4"),a(4),o(),r(5,"p",81),a(6),o()(),r(7,"div",82)(8,"label",45)(9,"input",83),b("change",function(){let i=v(e).$implicit,d=p(3);return M(d.toggleTeamSelection(i.id))}),o(),r(10,"span",47),a(11,"Select"),o()()()(),r(12,"div",84)(13,"div",85)(14,"span",86),a(15,"Rookie Year:"),o(),r(16,"span",87),a(17),o()(),h(18,W3,5,3,"div",88)(19,$3,5,1,"div",88)(20,H3,5,1,"div",88),o(),r(21,"div",0)(22,"div",89)(23,"span",86),a(24,"Current Region:"),o(),r(25,"span",87),a(26),o()(),r(27,"div",90)(28,"label",91),a(29,"Assign Region:"),o(),r(30,"select",92),b("change",function(i){let d=v(e).$implicit,u=p(3);return M(u.onRegionChange(d,i))}),r(31,"option",32),a(32,"No Region"),o(),h(33,G3,2,2,"option",34),o()()()()}if(t&2){let e=s.$implicit,n=p(3);
147I("selected",n.selectedTeams.includes(e.id)),c(4),O(e.name),c(2),w("#",e.internationalNumber,""),c(3),m("checked",n.selectedTeams.includes(e.id)),c(8),O(e.rookieYear),c(),m("ngIf",e.currentSeasonData),c(),m("ngIf",e.currentSeasonData==null?null:e.currentSeasonData.school),c(),m("ngIf",e.currentSeasonData==null?null:e.currentSeasonData.city),c(5),I("unassigned",!(e.currentSeasonData!=null&&e.currentSeasonData.seasonRegionId)),c(),w(" ",n.getRegionName(e.currentSeasonData==null?null:e.currentSeasonData.seasonRegionId)," "),c(2),Mo("for","region-",e.id,""),c(2),Mo("id","region-",e.id,""),m("value",(e.currentSeasonData==null?null:e.currentSeasonData.seasonRegionId)||"")("disabled",n.isSaving),c(3),m("ngForOf",n.regions)}}function Y3(t,s){if(t&1&&(r(0,"div",76),h(1,Z3,34,19,"div",77),o()),t&2){let e=p(2);c(),m("ngForOf",e.filteredTeams)}}function K3(t,s){t&1&&(r(0,"div",94),_(1,"i",19),r(2,"h3"),a(3,"No teams found"),o(),r(4,"p"),a(5,"Try adjusting your filters to see more teams."),o()())}function Q3(t,s){if(t&1){let e=E();r(0,"div",15)(1,"div",16)(2,"div",17)(3,"div",18),_(4,"i",19),o(),r(5,"div",20)(6,"h3"),a(7),o(),r(8,"p"),a(9,"Total Teams"),o()()(),r(10,"div",17)(11,"div",18),_(12,"i",2),o(),r(13,"div",20)(14,"h3"),a(15),o(),r(16,"p"),a(17,"Available Regions"),o()()(),r(18,"div",17)(19,"div",18),_(20,"i",21),o(),r(21,"div",20)(22,"h3"),a(23),o(),r(24,"p"),a(25,"Unassigned Teams"),o()()()(),h(26,R3,10,2,"div",22),r(27,"div",23)(28,"h3"),a(29,"Filters"),o(),r(30,"div",24)(31,"div",25)(32,"label",26),a(33,"Team Name"),o(),r(34,"input",27),z("ngModelChange",function(i){v(e);let d=p();return R(d.teamNameFilter,i)||(d.teamNameFilter=i),M(i)}),o()(),r(35,"div",25)(36,"label",28),a(37,"Team Number"),o(),r(38,"input",29),z("ngModelChange",function(i){v(e);let d=p();return R(d.teamNumberFilter,i)||(d.teamNumberFilter=i),M(i)}),o()(),r(39,"div",25)(40,"label",30),a(41,"Region"),o(),r(42,"select",31),z("ngModelChange",function(i){v(e);let d=p();return R(d.regionFilter,i)||(d.regionFilter=i),M(i)}),r(43,"option",32),a(44,"All Regions"),o(),r(45,"option",33),a(46,"Unassigned"),o(),h(47,z3,2,2,"option",34),o()(),r(48,"div",35)(49,"button",36),b("click",function(){v(e);let i=p();return M(i.clearFilters())}),_(50,"i",37),a(51," Clear Filters "),o()()()(),r(52,"div",38)(53,"div",39)(54,"h3"),a(55,"Bulk Assignment"),o(),r(56,"button",40),b("click",function(){v(e);let i=p();return M(i.showBulkAssignment=!i.showBulkAssignment)}),_(57,"i",19),a(58),o()(),h(59,q3,19,9,"div",41),o(),r(60,"div",42)(61,"div",43)(62,"h3"),a(63),o(),r(64,"div",44)(65,"label",45)(66,"input",46),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectAllTeams,i)||(d.selectAllTeams=i),M(i)}),b("change",function(){v(e);let i=p();return M(i.toggleSelectAllTeams())}),o(),r(67,"span",47),a(68,"Select All"),o()()()(),h(69,Y3,2,1,"div",48)(70,K3,6,0,"div",49),o()()}if(t&2){let e=p();c(7),O(e.teams.length),c(8),O(e.regions.length),c(8),O(e.getUnassignedTeamCount()),c(3),m("ngIf",e.regions.length>0),c(8),D("ngModel",e.teamNameFilter),c(4),D("ngModel",e.teamNumberFilter),c(4),D("ngModel",e.regionFilter),c(5),m("ngForOf",e.regions),c(11),w(" ",e.showBulkAssignment?"Hide":"Show"," Bulk Assignment "),c(),m("ngIf",e.showBulkAssignment),c(4),w("Teams (",e.filteredTeams.length,")"),c(3),D("ngModel",e.selectAllTeams),c(3),m("ngIf",e.filteredTeams.length>0),c(),m("ngIf",e.filteredTeams.length===0)}}function J3(t,s){if(t&1&&(r(0,"div",95),_(1,"i",96),r(2,"span"),a(3),o()()),t&2){let e=p();ct(e.saveMessageType),c(),ct(e.saveMessageType==="success"?"fa-check-circle":"fa-exclamation-circle"),c(2),O(e.saveMessage)}}var hu=(()=>{class t{constructor(e,n,i,d){this.fb=e,this.teamsService=n,this.seasonRegionService=i,this.seasonsService=d,this.teams=[],this.regions=[],this.currentSeason=null,this.isLoading=!1,this.isSaving=!1,this.saveMessage="",this.saveMessageType="success",this.teamNameFilter="",this.teamNumberFilter="",this.regionFilter="",this.showBulkAssignment=!1,this.selectedTeams=[],this.selectAllTeams=!1,this.regionStats={},this.bulkAssignmentForm=this.fb.group({regionId:["",N.required]})}ngOnInit(){return q(this,null,function*(){yield this.loadCurrentSeason(),yield this.loadData()})}loadCurrentSeason(){return q(this,null,function*(){try{let e=yield this.seasonsService.getCurrentSeason().toPromise();this.currentSeason=e?.success?e.message:null}catch(e){console.error("Error loading current season:",e),this.currentSeason=null}})}loadData(){return q(this,null,function*(){if(!this.currentSeason){this.saveMessage="No current season is set. Please set a current season first.",this.saveMessageType="error";return}this.isLoading=!0;try{let[e,n]=yield Promise.all([this.teamsService.getAllTeamsForAdmin(this.currentSeason.id).toPromise(),this.seasonRegionService.getSeasonRegionsBySeason(this.currentSeason.id).toPromise()]);if(e?.success){let i=e.message||[];this.teams=i.map(d=>{let u=d.teamSeasonData?.find(x=>x.seasonId===this.currentSeason?.id);return ye(J({},d),{currentSeasonData:u})}).filter(d=>d.currentSeasonData),this.calculateRegionStats()}n?.success&&(this.regions=n.message||[])}catch(e){console.error("Error loading data:",e),this.saveMessage="Error loading teams and regions data.",this.saveMessageType="error"}finally{this.isLoading=!1}})}calculateRegionStats(){this.regionStats={}
147,this.teams.forEach(e=>{e.currentSeasonData?.seasonRegionId&&(this.regionStats[e.currentSeasonData.seasonRegionId]=(this.regionStats[e.currentSeasonData.seasonRegionId]||0)+1)})}get filteredTeams(){return this.teams.filter(e=>{let n=!this.teamNameFilter||e.name.toLowerCase().includes(this.teamNameFilter.toLowerCase()),i=!this.teamNumberFilter||e.internationalNumber.includes(this.teamNumberFilter),d=!0;return this.regionFilter&&(this.regionFilter==="unassigned"?d=!e.currentSeasonData?.seasonRegionId:d=e.currentSeasonData?.seasonRegionId?.toString()===this.regionFilter),n&&i&&d})}getRegionName(e){if(!e)return"No Region Assigned";let n=this.regions.find(i=>i.id===e);return n?n.name:"Unknown Region"}assignRegionToTeam(e,n){return q(this,null,function*(){if(!e.currentSeasonData){this.saveMessage="Team has no season data for current season.",this.saveMessageType="error";return}this.isSaving=!0;try{let i={seasonRegionId:n},d=yield this.teamsService.updateTeamSeasonDataAsAdmin(e.currentSeasonData.id,i).toPromise();d?.success&&d.message?(e.currentSeasonData&&(e.currentSeasonData.seasonRegionId=n||void 0,e.assignedRegion=n?this.regions.find(u=>u.id===n):void 0),this.calculateRegionStats(),this.saveMessage=`Region assigned successfully to ${e.name}.`,this.saveMessageType="success",setTimeout(()=>{this.loadData()},1e3)):(this.saveMessage="Error assigning region to team.",this.saveMessageType="error")}catch(i){console.error("Error assigning region:",i),this.saveMessage="Error assigning region to team.",this.saveMessageType="error"}finally{this.isSaving=!1,setTimeout(()=>this.saveMessage="",3e3)}})}toggleTeamSelection(e){let n=this.selectedTeams.indexOf(e);n>-1?this.selectedTeams.splice(n,1):this.selectedTeams.push(e),this.updateSelectAllState()}toggleSelectAllTeams(){this.selectAllTeams?this.selectedTeams=this.filteredTeams.map(e=>e.id):this.selectedTeams=[]}updateSelectAllState(){this.selectAllTeams=this.filteredTeams.length>0&&this.selectedTeams.length===this.filteredTeams.length}bulkAssignRegion(){return q(this,null,function*(){if(this.selectedTeams.length===0){this.saveMessage="Please select at least one team.",this.saveMessageType="error";return}let e=this.bulkAssignmentForm.get("regionId")?.value;if(!e||e===""){this.saveMessage="Please select a region.",this.saveMessageType="error";return}let n=+e;this.isSaving=!0;let i=0,d=0;try{for(let u of this.selectedTeams){let x=this.teams.find(y=>y.id===u);if(x&&x.currentSeasonData)try{yield this.assignRegionToTeamDirect(x,n),i++}catch(y){d++,console.error(`Failed to assign region to team ${x.name}:`,y)}else d++,console.error(`Team ${u} not found or has no season data`)}this.calculateRegionStats(),d===0?(this.saveMessage=`Successfully assigned region to ${i} team(s).`,this.saveMessageType="success"):(this.saveMessage=`Assigned region to ${i} team(s), ${d} failed.`,this.saveMessageType="error"),this.selectedTeams=[],this.selectAllTeams=!1,this.showBulkAssignment=!1,this.bulkAssignmentForm.reset(),setTimeout(()=>{this.loadData()},1e3)}catch(u){console.error("Error in bulk assignment:",u),this.saveMessage="Error during bulk assignment.",this.saveMessageType="error"}finally{this.isSaving=!1,setTimeout(()=>this.saveMessage="",5e3)}})}clearFilters(){this.teamNameFilter="",this.teamNumberFilter="",this.regionFilter=""}getTeamCountForRegion(e){return this.regionStats[e]||0}getUnassignedTeamCount(){return this.teams.filter(e=>!e.currentSeasonData?.seasonRegionId).length}getTeamName(e){let n=this.teams.find(i=>i.id===e);return n?n.name:"Unknown Team"}onRegionChange(e,n){let i=n.target,d=i.value&&i.value!==""?+i.value:null;this.assignRegionToTeam(e,d)}assignRegionToTeamDirect(e,n){return q(this,null,function*(){if(!e.currentSeasonData)throw new Error("Team has no season data for current season.");let i={seasonRegionId:n};console.log(`Direct assignment: region ${n} to team ${e.name} (season data ID: ${e.currentSeasonData.id})`);let d=yield this.teamsService.updateTeamSeasonDataAsAdmin(e.currentSeasonData.id,i).toPromise();if(d?.success&&d.message)e.currentSeasonData&&(e.currentSeasonData.seasonRegionId=n||void 0,e.assignedRegion=n?this.regions.find(u=>u.id===n):void 0);
vendor: 8,460 bytes, line 147
147else throw new Error("API call failed or returned invalid response")})}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ne),T(ki),T(Ve))}}static{this.\u0275cmp=V({type:t,selectors:[["app-team-region-assignment"]],standalone:!0,features:[B],decls:12,vars:5,consts:[[1,"team-region-assignment"],[1,"header"],[1,"fas","fa-map-marker-alt"],[1,"subtitle"],["class","season-info",4,"ngIf"],["class","error-message",4,"ngIf"],["class","loading",4,"ngIf"],["class","main-content",4,"ngIf"],["class","save-message",3,"class",4,"ngIf"],[1,"season-info"],[1,"season-card"],[1,"error-message"],[1,"fas","fa-exclamation-triangle"],[1,"loading"],[1,"fas","fa-spinner","fa-spin"],[1,"main-content"],[1,"stats-grid"],[1,"stat-card"],[1,"stat-icon"],[1,"fas","fa-users"],[1,"stat-content"],[1,"fas","fa-question-circle"],["class","region-stats",4,"ngIf"],[1,"filters-section"],[1,"filters-grid"],[1,"filter-group"],["for","teamNameFilter"],["type","text","id","teamNameFilter","placeholder","Search by team name...",1,"filter-input",3,"ngModelChange","ngModel"],["for","teamNumberFilter"],["type","text","id","teamNumberFilter","placeholder","Search by team number...",1,"filter-input",3,"ngModelChange","ngModel"],["for","regionFilter"],["id","regionFilter",1,"filter-select",3,"ngModelChange","ngModel"],["value",""],["value","unassigned"],[3,"value",4,"ngFor","ngForOf"],[1,"filter-actions"],["type","button",1,"btn","btn-secondary",3,"click"],[1,"fas","fa-times"],[1,"bulk-assignment-section"],[1,"bulk-header"],["type","button",1,"btn","btn-primary",3,"click"],["class","bulk-assignment-form",3,"formGroup",4,"ngIf"],[1,"teams-section"],[1,"teams-header"],[1,"teams-actions"],[1,"checkbox-label"],["type","checkbox",1,"checkbox-input",3,"ngModelChange","change","ngModel"],[1,"checkbox-text"],["class","teams-grid",4,"ngIf"],["class","no-teams",4,"ngIf"],[1,"region-stats"],[1,"region-stats-grid"],["class","region-stat-item",4,"ngFor","ngForOf"],[1,"region-stat-item","unassigned"],[1,"region-name"],[1,"region-count"],[1,"region-stat-item"],[3,"value"],[1,"bulk-assignment-form",3,"formGroup"],[1,"bulk-form-content"],[1,"form-group"],["for","bulkRegion"],["id","bulkRegion","formControlName","regionId",1,"form-select"],["class","selected-teams-preview",4,"ngIf"],["class","help-text",4,"ngIf"],[1,"form-actions"],["type","button",1,"btn","btn-success",3,"click","disabled"],["class","fas fa-check",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"selected-teams-preview"],["class","team-tag",4,"ngFor","ngForOf"],["class","more-teams",4,"ngIf"],[1,"team-tag"],[1,"more-teams"],[1,"help-text"],[1,"fas","fa-check"],[1,"teams-grid"],["class","team-card",3,"selected",4,"ngFor","ngForOf"],[1,"team-card"],[1,"team-header"],[1,"team-info"],[1,"team-number"],[1,"team-actions"],["type","checkbox",1,"checkbox-input",3,"change","checked"],[1,"team-details"],[1,"detail-item"],[1,"label"],[1,"value"],["class","detail-item",4,"ngIf"],[1,"current-region"],[1,"region-selector"],[3,"for"],[1,"region-select",3,"change","id","value","disabled"],[1,"value","status"],[1,"no-teams"],[1,"save-message"],[1,"fas"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h2"),_(3,"i",2),a(4," Team Region Assignment "),o(),r(5,"p",3),a(6,"Assign regions to teams for the current season"),o()(),h(7,k3,6,2,"div",4)(8,I3,4,0,"div",5)(9,F3,4,0,"div",6)(10,Q3,71,14,"div",7)(11,J3,4,5,"div",8),o()),n&2&&(c(7),m("ngIf",i.currentSeason),c(),m("ngIf",!i.currentSeason),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading&&i.currentSeason),c(),m("ngIf",i.saveMessage))},dependencies:[H,X,$,se,fe,he,re,Pt,ue,ie,Pe,pe,$e,We,Ge],styles:[".team-region-assignment[_ngcontent-%COMP%]{padding:2rem;max-width:1400px;margin:0 auto}.team-region-assignment[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:2rem;text-align:center}.team-region-assignment[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem;font-size:2rem;font-weight:600}.team-region-assignment[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db;margin-right:.5rem}.team-region-assignment[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{color:#7f8c8d;font-size:1.1rem;margin:0}.team-region-assignment[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{margin-bottom:2rem}.team-region-assignment[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-card[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:12px;text-align:center;box-shadow:0 4px 15px #667eea4d}.team-region-assignment[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.team-region-assignment[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;opacity:.9;font-size:1rem}.team-region-assignment[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{background:#fee;border:1px solid #fcc;color:#c33;padding:1rem;border-radius:8px;text-align:center;margin-bottom:2rem}.team-region-assignment[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem;font-size:1.2rem}.team-region-assignment[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{text-align:center;padding:3rem;color:#7f8c8d}.team-region-assignment[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2rem;margin-bottom:1rem;display:block}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;transition:transform .2s ease}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px)}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.2rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:700;color:#2c3e50}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .stat-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#7f8c8d;font-size:.9rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .region-stats[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000001a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .region-stats[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 1rem;color:#2c3e50;font-size:1.3rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .region-stats[_ngcontent-%COMP%] .region-stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .region-stats[_ngcontent-%COMP%] .region-stats-grid[_ngcontent-%COMP%] .region-stat-item[_ngcontent-%COMP%]{background:#f8f9fa;border-radius:8px;padding:1rem;text-align:center;border-left:4px solid #3498db}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .region-stats[_ngcontent-%COMP%] .region-stats-grid[_ngcontent-%COMP%] .region-stat-item.unassigned[_ngcontent-%COMP%]{border-left-color:#e74
147c3c}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .region-stats[_ngcontent-%COMP%] .region-stats-grid[_ngcontent-%COMP%] .region-stat-item[_ngcontent-%COMP%] .region-name[_ngcontent-%COMP%]{font-weight:600;color:#2c3e50;margin-bottom:.5rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .region-stats[_ngcontent-%COMP%] .region-stats-grid[_ngcontent-%COMP%] .region-stat-item[_ngcontent-%COMP%] .region-count[_ngcontent-%COMP%]{color:#7f8c8d;font-size:.9rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000001a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 1rem;color:#2c3e50;font-size:1.3rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-grid[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-grid[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%], .team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-grid[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;transition:border-color .2s ease}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-grid[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]:focus, .team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-grid[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-grid[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%]{display:flex;align-items:end}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000001a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:1.3rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%]{border-top:1px solid #eee;padding-top:1.5rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;align-items:end}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;transition:border-color .2s ease}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-select[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .selected-teams-preview[_ngcontent-%COMP%]{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:.75rem;min-height:2.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .selected-teams-preview[_ngcontent-%COMP%] .team-tag[_ngcontent-%COMP%]{background:#3498db;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .selected-teams-preview[_ngcontent-%COMP%] .more-teams[_ngcontent-%COMP%]{color:#7f8c8d;font-size:.8rem;align-self:center}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .help-text[_ngcontent-%COMP%]{color:#7f8c8d;font-size:.8rem;margin:.5rem 0 0}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-section[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;align-items:end}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#2c3e50;font-size:1.3rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-header[_ngcontent-%COMP%] .teams-actions[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#2c3e50}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-header[_ngcontent-%COMP%] .teams-actions[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] .checkbox-input[_ngcontent-%COMP%]{margin-right:.5rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]{border:2px solid #eee;border-radius:12px;padding:1.5rem;transition:all .2s ease;background:#fafafa}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]:hover{border-color:#3498db;box-shadow:0 4px 15px #3498db1a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card.selected[_ngcontent-%COMP%]{border-color:#27ae60;background:#f0fff4;box-shadow:0 4px 15px #27ae601a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] h4[_ng
147content-%COMP%]{margin:0 0 .25rem;color:#2c3e50;font-size:1.2rem;font-weight:600}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-number[_ngcontent-%COMP%]{margin:0;color:#7f8c8d;font-size:.9rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-actions[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;font-size:.9rem;color:#2c3e50}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-actions[_ngcontent-%COMP%] .checkbox-label[_ngcontent-%COMP%] .checkbox-input[_ngcontent-%COMP%]{margin-right:.5rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%]{margin-bottom:1rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#7f8c8d;font-weight:500}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{color:#2c3e50}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .value.status[_ngcontent-%COMP%]{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .value.status.confirmed[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .value.status.pending[_ngcontent-%COMP%]{background:#fff3cd;color:#856404}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .value.status.waitlist[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-details[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] .value.status.none[_ngcontent-%COMP%]{background:#e2e3e5;color:#383d41}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%]{border-top:1px solid #eee;padding-top:1rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%] .current-region[_ngcontent-%COMP%]{margin-bottom:1rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%] .current-region[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:block;color:#7f8c8d;font-weight:500;margin-bottom:.25rem;font-size:.9rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%] .current-region[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{color:#2c3e50;font-weight:600}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%] .current-region[_ngcontent-%COMP%] .value.unassigned[_ngcontent-%COMP%]{color:#e74
147c3c;font-style:italic}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%] .region-selector[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;color:#2c3e50;font-weight:500;margin-bottom:.5rem;font-size:.9rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%] .region-selector[_ngcontent-%COMP%] .region-select[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;transition:border-color .2s ease}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%] .region-selector[_ngcontent-%COMP%] .region-select[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-region-assignment[_ngcontent-%COMP%] .region-selector[_ngcontent-%COMP%] .region-select[_ngcontent-%COMP%]:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%]{text-align:center;padding:3rem;color:#7f8c8d}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;display:block;opacity:.5}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#2c3e50}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-section[_ngcontent-%COMP%] .no-teams[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.team-region-assignment[_ngcontent-%COMP%] .save-message[_ngcontent-%COMP%]{position:fixed;top:2rem;right:2rem;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 15px #0003;z-index:1000;display:flex;align-items:center;max-width:400px}.team-region-assignment[_ngcontent-%COMP%] .save-message.success[_ngcontent-%COMP%]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.team-region-assignment[_ngcontent-%COMP%] .save-message.success[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#28a745;margin-right:.5rem}.team-region-assignment[_ngcontent-%COMP%] .save-message.error[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.team-region-assignment[_ngcontent-%COMP%] .save-message.error[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#dc3545;margin-right:.5rem}.btn[_ngcontent-%COMP%]{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;text-decoration:none}.btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem}.btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[_ngcontent-%COMP%]{background:#3498db;color:#fff}.btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:#2980b9;transform:translateY(-1px)}.btn.btn-secondary[_ngcontent-%COMP%]{background:#95a5a6;color:#fff}.btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:#7f8c8d;transform:translateY(-1px)}.btn.btn-success[_ngcontent-%COMP%]{background:#27ae60;color:#fff}.btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:#229954;transform:translateY(-1px)}@media (max-width: 768px){.team-region-assignment[_ngcontent-%COMP%]{padding:1rem}.team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%], .team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .filters-gri
147d[_ngcontent-%COMP%], .team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .bulk-assignment-form[_ngcontent-%COMP%] .bulk-form-content[_ngcontent-%COMP%], .team-region-assignment[_ngcontent-%COMP%] .main-content[_ngcontent-%COMP%] .teams-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.team-region-assignment[_ngcontent-%COMP%] .save-message[_ngcontent-%COMP%]{position:relative;top:auto;right:auto;margin:1rem 0;max-width:none}}"]})}}return t})();function X3(t,s){if(t&1&&(r(0,"option",8),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e),c(),w(" ",e.seasonName," ")}}function eS(t,s){if(t&1&&(r(0,"p",26),_(1,"i",27),a(2," Showing team rosters for: "),r(3,"strong"),a(4),o()()),t&2){let e=p();c(4),O(e.selectedSeason.seasonName)}}function tS(t,s){t&1&&_(0,"i",28)}function nS(t,s){t&1&&_(0,"i",29)}function iS(t,s){if(t&1&&(r(0,"tr")(1,"td"),a(2),o(),r(3,"td"),a(4),o(),r(5,"td"),a(6),o(),r(7,"td"),a(8),o(),r(9,"td"),a(10),o(),r(11,"td"),a(12),o(),r(13,"td"),a(14),o()()),t&2){let e=s.$implicit;c(2),O(e.team_ro_id),c(2),O(e.ftc_id),c(2),O(e.person_name),c(2),O(e.person_type),c(2),O(e.team_name),c(2),O(e.team_city),c(2),O(e.season_region)}}function oS(t,s){if(t&1){let e=E();r(0,"div",30)(1,"div",31)(2,"h3"),_(3,"i",32),a(4),o(),r(5,"button",33),b("click",function(){v(e);let i=p();return M(i.exportToCSV())}),_(6,"i",34),a(7," Export to CSV "),o()(),r(8,"div",35)(9,"table",36)(10,"thead")(11,"tr")(12,"th"),a(13,"Team RO ID"),o(),r(14,"th"),a(15,"FTC ID"),o(),r(16,"th"),a(17,"Person Name"),o(),r(18,"th"),a(19,"Person Type"),o(),r(20,"th"),a(21,"Team Name"),o(),r(22,"th"),a(23,"Team City"),o(),r(24,"th"),a(25,"Season Region"),o()()(),r(26,"tbody"),h(27,iS,15,7,"tr",37),o()()()()}if(t&2){let e=p();c(4),w(" Team Rosters Export (",e.exportData.length," entries) "),c(23),m("ngForOf",e.exportData)}}function rS(t,s){t&1&&(r(0,"div",38),_(1,"i",28),r(2,"p"),a(3,"Loading team rosters..."),o()())}function aS(t,s){t&1&&(r(0,"div",42),_(1,"i",43),r(2,"h3"),a(3,"No teams found"),o(),r(4,"p"),a(5,"No teams match your current filters."),o()())}function sS(t,s){if(t&1&&(r(0,"p",52),_(1,"i",53),a(2),o()),t&2){let e=p().$implicit;c(2),w(" Owner: ",e.teamOwner.name," ")}}function cS(t,s){if(t&1&&(r(0,"span",66),_(1,"i",67),a(2),o()),t&2){let e,n=p(3).$implicit,i=p(2);c(2),w(" ",(e=i.getTeamSeasonDataForSelectedSeason(n))==null?null:e.school," ")}}function lS(t,s){if(t&1&&(r(0,"span",66),_(1,"i",68),a(2),o()),t&2){let e,n=p(3).$implicit,i=p(2);c(2),w(" ",(e=i.getTeamSeasonDataForSelectedSeason(n))==null?null:e.city," ")}}function dS(t,s){t&1&&(r(0,"div",69)(1,"p"),_(2,"i",27),a(3," No members registered for this season"),o()())}function mS(t,s){t&1&&(r(0,"span",80),a(1,"Team Leader"),o())}function gS(t,s){if(t&1&&(r(0,"span"),_(1,"i",81),a(2),o()),t&2){let e=p().$implicit;c(2),w(" ",e.email,"")}}function pS(t,s){if(t&1&&(r(0,"span"),_(1,"i",82),a(2),o()),t&2){let e=p().$implicit;c(2),w(" ",e.phone,"")}}function uS(t,s){if(t&1){let e=E();r(0,"div",96)(1,"div",97),_(2,"i",90),r(3,"span",98),a(4),o(),r(5,"span",99),a(6),o()(),r(7,"div",100)(8,"button",101),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.downloadFile(i))}),_(9,"i",29),o(),r(10,"button",102),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.viewFile(i))}),_(11,"i",103),o()()()}if(t&2){let e=s.$implicit,n=p(9);c(4),O(e.name),c(2),O(n.formatFileSize(e.size))}}function _S(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),a(2,"GDPR Agreement"),o(),r(3,"div",94),h(4,uS,12,2,"div",95),o()()),t&2){let e=p(3).$implicit,n=p(5);c(4),m("ngForOf",n.getPersonFilesByType(e,"GDPR"))}}function fS(t,s){if(t&1){let e=E();r(0,"div",96)(1,"div",97),_(2,"i",90),r(3,"span",98),a(4),o(),r(5,"span",99),a(6),o()(),r(7,"div",100)(8,"button",101),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.downloadFile(i))}),_(9,"i",29),o(),r(10,"button",102),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.viewFile(i))}),_(11,"i",103),o()()()}if(t&2){let e=s.$implicit,n=p(9);c(4),O(e.name),c(2),O(n.formatFileSize(e.size))}}function hS(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),a(2,"Image Agreement"),o(),r(3,"div",94),h(4,fS,12,2,"div",95),o()()),t&2){let e=p(3).$implicit,n=p(5);c(4),m("ngForOf",n.getPersonFilesByType(e,"Image Agreement"))}}function CS(t,s){if(t&1){let e=E();r(0,"div",96)(1,"div",97),_(2,"i",90),r(3,"span",98),a(4),o(),r(5,"span",99),a(6),o()(),r(7,"div",100)(8,"button",101),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.downloadFile(i))}),_(9,"i",29),o(),r(10,"button",102),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.viewFile(i))}),_(11,"i",103),o()()()}if(t&2){let e=s.$implicit,n=p(9);c(4),O(e.name),c(2),O(n.formatFileSize(e.size))}}function vS(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),a(2,"FIRST Agreement"),o(),r(3,"div",94),h(4,CS,12,2,"div",95),o()()),t&2){let e=p(3).$implicit,n=p(5);c(4),m("ngForOf",n.getPersonFilesByType(e,"FIRST Agreement"))}}function MS(t,s){if(t&1){let e=E();r(0,"div",96)(1,"div",97),_(2,"i",104),r(3,"span",98),a(4),o(),r(5,"span",99),a(6),o()(),r(7,"div",100)(8,"button",101),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.downloadFile(i))}),_(9,"i",29),o(),r(10,"button",102),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.viewFile(i))}),_(11,"i",103),o()()()}if(t&2){let e=s.$implicit,n=p(9);c(4),O(e.name),c(2),O(n.formatFileSize(e.size))}}function xS(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),a(2,"Other Documents"),o(),r(3,"div",94),h(4,MS,12,2,"div",95),o()()),t&2){let e=p(3).$implicit,n=p(5);c(4),m("ngForOf",n.getOtherFiles(e))}}function bS(t,s){if(t&1&&(r(0,"div",88)(1,"h6",89),_(2,"i",90),a(3," Uploaded Documents"),o(),h(4,_S,5,1,"div",91)(5,hS,5,1,"div",91)(6,vS,5,1,"div",91)(7,xS,5,1,"div",91),o()),t&2){let e=p(2).$implicit,n=p(5);c(4),m("ngIf",n.getPersonFilesByType(e,"GDPR").length>0),c(),m("ngIf",n.getPersonFilesByType(e,"Image Agreement").length>0),c(),m("ngIf",n.getPersonFilesByType(e,"FIRST Agreement").length>0),c(),m("ngIf",n.hasOtherFiles(e))}}function PS(t,s){t&1&&(r(0,"div",105)(1,"p"),_(2,"i",27),a(3," No documents uploaded for this member"),o()())}function OS(t,s){if(t&1&&(r(0,"div",83)(1,"div",84)(2,"div",85)(3,"label"),a(4,"Date of Birth:"),o(),r(5,"span"),a(6),o()(),r(7,"div",85)(8,"label"),a(9,"Personal Numerical Code:"),o(),r(10,"span"),a(11),o()(),r(12,"div",85)(13,"label"),a(14,"FTC Experience:"),o(),r(15,"span"),a(16),o()(),r(17,"div",85)(18,"label"),a(19,"Main Department:"),o(),r(20,"span"),a(21),o()(),r(22,"div",85)(23,"label"),a(24,"Team Leader:"),o(),r(25,"span"),a(26),o()()(),h(27,bS,8,4,"div",86)(28,PS,4,0,"div",87),o()),t&2){let e=p().$implicit,n=p(5);c(6),O(n.formatDate(e.dateOfBirth)),c(5),O(e.personalNumericalCode||"N/A"),c(5),w("",e.ftcExperience||0," years"),c(5),O(n.getMemberDepartment(e)),c(5),O(n.isTeamLeader(e)?"Yes":"No"),c(),m("ngIf",e.files&&e.files.length>0),c(),m("ngIf",!e.files||e.files.length===0)}}function yS(t,s){if(t&1){let e=E();r(0,"div",70)(1,"div",71),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.togglePersonExpansion(i.id))}),r(2,"div",72)(3,"h6"),a(4),h(5,mS,2,0,"span",73),r(6,"span",74),a(7),o()(),r(8,"div",75),h(9,gS,3,1,"span",76)(10,pS,3,1,"span",76),r(11,"span"),_(12,"i",77),a(13),o()()(),_(14,"i",78),o(),h(15,OS,29,7,"div",79),o()}if(t&2){let e=s.$implicit,n=p(5);c(4),G(" ",e.firstName," ",e.lastName," "),c(),m("ngIf",n.isTeamLeader(e)),c(),m("ngClass",n.getMemberStatusClass(e)),c(),w(" ",n.getMemberStatus(e)," "),c(2),m("ngIf",e.email),c(),m("ngIf",e.phone),c(3),w(" ",n.getMemberDepartment(e),""),c(),I("rotated",
147n.isPersonExpanded(e.id)),c(),m("ngIf",n.isPersonExpanded(e.id))}}function wS(t,s){t&1&&(r(0,"div",69)(1,"p"),_(2,"i",27),a(3," No mentors registered for this season"),o()())}function SS(t,s){if(t&1&&(r(0,"span"),_(1,"i",81),a(2),o()),t&2){let e=p().$implicit;c(2),w(" ",e.email,"")}}function ES(t,s){if(t&1&&(r(0,"span"),_(1,"i",82),a(2),o()),t&2){let e=p().$implicit;c(2),w(" ",e.phone,"")}}function TS(t,s){if(t&1&&(r(0,"span"),_(1,"i",77),a(2),o()),t&2){let e=p().$implicit;c(2),w(" ",e.mentorData==null?null:e.mentorData.occupation,"")}}function kS(t,s){if(t&1){let e=E();r(0,"div",96)(1,"div",97),_(2,"i",90),r(3,"span",98),a(4),o(),r(5,"span",99),a(6),o()(),r(7,"div",100)(8,"button",101),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.downloadFile(i))}),_(9,"i",29),o(),r(10,"button",102),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.viewFile(i))}),_(11,"i",103),o()()()}if(t&2){let e=s.$implicit,n=p(9);c(4),O(e.name),c(2),O(n.formatFileSize(e.size))}}function IS(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),a(2,"GDPR Agreement"),o(),r(3,"div",94),h(4,kS,12,2,"div",95),o()()),t&2){let e=p(3).$implicit,n=p(5);c(4),m("ngForOf",n.getPersonFilesByType(e,"GDPR"))}}function FS(t,s){if(t&1){let e=E();r(0,"div",96)(1,"div",97),_(2,"i",90),r(3,"span",98),a(4),o(),r(5,"span",99),a(6),o()(),r(7,"div",100)(8,"button",101),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.downloadFile(i))}),_(9,"i",29),o(),r(10,"button",102),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.viewFile(i))}),_(11,"i",103),o()()()}if(t&2){let e=s.$implicit,n=p(9);c(4),O(e.name),c(2),O(n.formatFileSize(e.size))}}function DS(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),a(2,"Image Agreement"),o(),r(3,"div",94),h(4,FS,12,2,"div",95),o()()),t&2){let e=p(3).$implicit,n=p(5);c(4),m("ngForOf",n.getPersonFilesByType(e,"Image Agreement"))}}function RS(t,s){if(t&1){let e=E();r(0,"div",96)(1,"div",97),_(2,"i",90),r(3,"span",98),a(4),o(),r(5,"span",99),a(6),o()(),r(7,"div",100)(8,"button",101),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.downloadFile(i))}),_(9,"i",29),o(),r(10,"button",102),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.viewFile(i))}),_(11,"i",103),o()()()}if(t&2){let e=s.$implicit,n=p(9);c(4),O(e.name),c(2),O(n.formatFileSize(e.size))}}function zS(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),a(2,"FIRST Agreement"),o(),r(3,"div",94),h(4,RS,12,2,"div",95),o()()),t&2){let e=p(3).$implicit,n=p(5);c(4),m("ngForOf",n.getPersonFilesByType(e,"FIRST Agreement"))}}function NS(t,s){if(t&1){let e=E();r(0,"div",96)(1,"div",97),_(2,"i",104),r(3,"span",98),a(4),o(),r(5,"span",99),a(6),o()(),r(7,"div",100)(8,"button",101),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.downloadFile(i))}),_(9,"i",29),o(),r(10,"button",102),b("click",function(){let i=v(e).$implicit,d=p(9);return M(d.viewFile(i))}),_(11,"i",103),o()()()}if(t&2){let e=s.$implicit,n=p(9);c(4),O(e.name),c(2),O(n.formatFileSize(e.size))}}function AS(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),a(2,"Other Documents"),o(),r(3,"div",94),h(4,NS,12,2,"div",95),o()()),t&2){let e=p(3).$implicit,n=p(5);c(4),m("ngForOf",n.getOtherFiles(e))}}function LS(t,s){if(t&1&&(r(0,"div",88)(1,"h6",89),_(2,"i",90),a(3," Uploaded Documents"),o(),h(4,IS,5,1,"div",91)(5,DS,5,1,"div",91)(6,zS,5,1,"div",91)(7,AS,5,1,"div",91),o()),t&2){let e=p(2).$implicit,n=p(5);c(4),m("ngIf",n.getPersonFilesByType(e,"GDPR").length>0),c(),m("ngIf",n.getPersonFilesByType(e,"Image Agreement").length>0),c(),m("ngIf",n.getPersonFilesByType(e,"FIRST Agreement").length>0),c(),m("ngIf",n.hasOtherFiles(e))}}function VS(t,s){t&1&&(r(0,"div",105)(1,"p"),_(2,"i",27),a(3," No documents uploaded for this mentor"),o()())}function BS(t,s){if(t&1&&(r(0,"div",83)(1,"div",84)(2,"div",85)(3,"label"),a(4,"Date of Birth:"),o(),r(5,"span"),a(6),o()(),r(7,"div",85)(8,"label"),a(9,"Personal Numerical Code:"),o(),r(10,"span"),a(11),o()(),r(12,"div",85)(13,"label"),a(14,"FTC Experience:"),o(),r(15,"span"),a(16),o()(),r(17,"div",85)(18,"label"),a(19,"Occupation:"),o(),r(20,"span"),a(21),o()(),r(22,"div",85)(23,"label"),a(24,"Mentor Type:"),o(),r(25,"span"),a(26),o()(),r(27,"div",85)(28,"label"),a(29,"Role:"),o(),r(30,"span"),a(31),o()()(),h(32,LS,8,4,"div",86)(33,VS,4,0,"div",87),o()),t&2){let e=p().$implicit,n=p(5);c(6),O(n.formatDate(e.dateOfBirth)),c(5),O(e.personalNumericalCode||"N/A"),c(5),w("",e.ftcExperience||0," years"),c(5),O((e.mentorData==null?null:e.mentorData.occupation)||"N/A"),c(5),O((e.mentorData==null?null:e.mentorData.mentorType)||"N/A"),c(5),O(n.getMentorRole(e)),c(),m("ngIf",e.files&&e.files.length>0),c(),m("ngIf",!e.files||e.files.length===0)}}function US(t,s){if(t&1){let e=E();r(0,"div",70)(1,"div",71),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.togglePersonExpansion(i.id))}),r(2,"div",72)(3,"h6"),a(4),r(5,"span",106),a(6),o(),r(7,"span",107),a(8),o()(),r(9,"div",75),h(10,SS,3,1,"span",76)(11,ES,3,1,"span",76)(12,TS,3,1,"span",76),o()(),_(13,"i",78),o(),h(14,BS,34,8,"div",79),o()}if(t&2){let e=s.$implicit,n=p(5);c(4),G(" ",e.firstName," ",e.lastName," "),c(2),O(n.getMentorRole(e)),c(),m("ngClass",n.getMentorStatusClass(e)),c(),w(" ",n.getMentorStatus(e)," "),c(2),m("ngIf",e.email),c(),m("ngIf",e.phone),c(),m("ngIf",e.mentorData==null?null:e.mentorData.occupation),c(),I("rotated",
147n.isPersonExpanded(e.id)),c(),m("ngIf",n.isPersonExpanded(e.id))}}function jS(t,s){if(t&1&&(r(0,"div",56)(1,"div",57)(2,"h4"),_(3,"i",58),a(4),o(),r(5,"div",26),h(6,cS,3,1,"span",59)(7,lS,3,1,"span",59),o()(),r(8,"div",60)(9,"h5",61),_(10,"i",62),a(11),o(),h(12,dS,4,0,"div",63)(13,yS,16,11,"div",64),o(),r(14,"div",60)(15,"h5",61),_(16,"i",65),a(17),o(),h(18,wS,4,0,"div",63)(19,US,15,11,"div",64),o()()),t&2){let e,n,i,d=p(2).$implicit,u=p(2);c(4),w(" ",(e=u.getTeamSeasonDataForSelectedSeason(d))==null||e.season==null?null:e.season.seasonName," "),c(2),m("ngIf",(n=u.getTeamSeasonDataForSelectedSeason(d))==null?null:n.school),c(),m("ngIf",(i=u.getTeamSeasonDataForSelectedSeason(d))==null?null:i.city),c(4),w(" Members (",u.getMembersForTeamSeason(u.getTeamSeasonDataForSelectedSeason(d)).length,") "),c(),m("ngIf",u.getMembersForTeamSeason(u.getTeamSeasonDataForSelectedSeason(d)).length===0),c(),m("ngForOf",u.getMembersForTeamSeason(u.getTeamSeasonDataForSelectedSeason(d))),c(4),w(" Mentors (",u.getMentorsForTeamSeason(u.getTeamSeasonDataForSelectedSeason(d)).length,") "),c(),m("ngIf",u.getMentorsForTeamSeason(u.getTeamSeasonDataForSelectedSeason(d)).length===0),c(),m("ngForOf",u.getMentorsForTeamSeason(u.getTeamSeasonDataForSelectedSeason(d)))}}function qS(t,s){t&1&&(r(0,"div",108)(1,"p"),_(2,"i",27),a(3," No season data available for the selected season"),o()())}function WS(t,s){if(t&1&&(r(0,"div",54),h(1,jS,20,9,"div",55)(2,qS,4,0,"ng-template",null,0,Se),o()),t&2){let e=oe(3),n=p().$implicit,i=p(2);c(),m("ngIf",i.getTeamSeasonDataForSelectedSeason(n))("ngIfElse",e)}}function $S(t,s){if(t&1){let e=E();r(0,"div",44)(1,"div",45),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.toggleTeamExpansion(i.id))}),r(2,"div",46)(3,"h3"),a(4),o(),r(5,"p",47),a(6),o(),h(7,sS,3,1,"p",48),o(),r(8,"div",49),_(9,"i",50),o()(),h(10,WS,4,2,"div",51),o()}if(t&2){let e=s.$implicit,n=p(2);I("incomplete-roster",n.hasIncompleteRoster(e)),c(4),O(e.name),c(2),w("#",e.internationalNumber,""),c(),m("ngIf",e.teamOwner),c(2),I("rotated",n.isTeamExpanded(e.id)),c(),m("ngIf",n.isTeamExpanded(e.id))}}function HS(t,s){if(t&1&&(r(0,"div",39),h(1,aS,6,0,"div",40)(2,$S,11,8,"div",41),o()),t&2){let e=p();c(),m("ngIf",e.getFilteredTeams().length===0),c(),m("ngForOf",e.getFilteredTeams())}}var Cu=(()=>{class t{constructor(e,n,i){this.teamsService=e,this.seasonsService=n,this.fileService=i,this.teams=[],this.seasons=[],this.selectedSeason=null,this.isLoading=!1,this.teamNameFilter="",this.teamNumberFilter="",this.expandedTeams=new Set,this.expandedPersons=new Set,this.isExporting=!1,this.exportData=[],this.showExportTable=!1}ngOnInit(){this.loadSeasons(),this.loadTeams()}loadSeasons(){return q(this,null,function*(){try{let e=yield this.seasonsService.getAllSeasons().toPromise();e?.message&&(this.seasons=e.message);let n=yield this.seasonsService.getCurrentSeason().toPromise();n?.message?this.selectedSeason=n.message:this.seasons.length>0&&(this.selectedSeason=this.seasons[this.seasons.length-1])}catch(e){console.error("Error loading seasons:",e)}})}loadTeams(){return q(this,null,function*(){this.isLoading=!0;try{let e=this.selectedSeason?.id,n=yield this.teamsService.getAllTeamsForAdmin(e).toPromise();n?.message&&(this.teams=n.message)}catch(e){console.error("Error loading teams:",e)}finally{this.isLoading=!1}})}onSeasonChange(){this.loadTeams()}getFilteredTeams(){let e=this.teams;if(this.teamNameFilter.trim()){let n=this.teamNameFilter.toLowerCase().trim();e=e.filter(i=>i.name.toLowerCase().includes(n))}if(this.teamNumberFilter.trim()){let n=this.teamNumberFilter.toLowerCase().trim();e=e.filter(i=>i.internationalNumber.toLowerCase().includes(n)||i.romanianNumber&&i.romanianNumber.toLowerCase().includes(n))}return e}clearFilters(){this.teamNameFilter="",this.teamNumberFilter=""}getTeamSeasonDataForSelectedSeason(e){return!this.selectedSeason||!e.teamSeasonData?null:e.teamSeasonData.find(n=>n.seasonId===this.selectedSeason?.id)||null}getMembersForTeamSeason(e){return!e||!e.persons?[]:e.persons.filter(n=>n.personType==="MEMBER")}getMentorsForTeamSeason(e){return!e||!e.persons?[]:e.persons.filter(n=>n.personType==="MENTOR")}toggleTeamExpansion(e){this.expandedTeams.has(e)?this.expandedTeams.delete(e):this.expandedTeams.add(e)}isTeamExpanded(e){return this.expandedTeams.has(e)}togglePersonExpansion(e){let n=String(e);this.expandedPersons.has(n)?this.expandedPersons.delete(n):this.expandedPersons.add(n)}isPersonExpanded(e){return this.expandedPersons.has(String(e))}formatDate(e){if(!e)return"N/A";let n=new Date(e);return isNaN(n.getTime())?"N/A":n.toLocaleDateString("ro-RO")}formatFileSize(e){if(e===0)return"0 Bytes";let n=1024,i=["Bytes","KB","MB","GB"],d=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,d)).toFixed(2))+" "+i[d]}downloadFile(e){this.fileService.getFileDownloadBlob(e.id).subscribe({next:n=>{let i=window.URL.createObjectURL(n),d=document.createElement("a");d.href=i,d.download=e.name||"download",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(i),1e3)},error:n=>{console.error("Error downloading file:",n)}})}viewFile(e){this.fileService.getFilePreviewBlob(e.id).subscribe({next:n=>{let i=window.URL.createObjectURL(n);window.open(i,"_blank"),setTimeout(()=>URL.revokeObjectURL(i),1e3)},error:n=>{console.error("Error previewing file:",n)}})}determineFileType(e){let n=e.toLowerCase();return n.includes("gdpr")?"GDPR":n.includes("image")?"Image Agreement":n.includes("first")?"FIRST Agreement":"Other"}getFileTypeForStatus(e){let n=e.toLowerCase();return n.includes("gdpr")?"gdpr":n.includes("image")?"image":n.includes("first")?"first":null}getPersonFilesByType(e,n){return!e.files||e.files.length===0?[]:e.files.filter(i=>this.determineFileType(i.name)===n)}getMentorRole(e){return e.mentorData?.isPeerMentor?"Peer Mentor":e.mentorData?.isTeacherMentor?"Teacher Mentor":"Mentor"}getMemberDepartment(e){return e.memberData?.mainDepartment||"N/A"}
147isTeamLeader(e){return e.memberData?.isTeamLeader||!1}getOtherFiles(e){return!e.files||e.files.length===0?[]:e.files.filter(n=>{let i=this.determineFileType(n.name);return!i||i==="Other"})}hasOtherFiles(e){return this.getOtherFiles(e).length>0}getMemberStatus(e){let n=this.hasAllRequiredMemberFields(e),i=this.hasAllRequiredMemberFiles(e);return n&&i?"complet":"date lipsa"}hasAllRequiredMemberFields(e){let n=!!(e.firstName&&e.firstName.trim()!==""),i=!!(e.lastName&&e.lastName.trim()!==""),d=e.ftcExperience!==null&&e.ftcExperience!==void 0,u=!!(e.dateOfBirth&&e.dateOfBirth!==""&&e.dateOfBirth!=="1970-01-01");return n&&i&&d&&u}hasAllRequiredMemberFiles(e){if(!e.files||e.files.length<3)return!1;let n=this.getMemberFileTypesForStatus(e);return["gdpr","image","first"].every(d=>n.includes(d))}getMemberFileTypesForStatus(e){if(!e.files||e.files.length===0)return[];let n=[];return e.files.forEach(i=>{let d=this.getFileTypeForStatus(i.name);d&&!n.includes(d)&&n.push(d)}),n}getMemberStatusClass(e){switch(this.getMemberStatus(e)){case"complet":return"status-complete";case"date lipsa":return"status-missing";default:return"status-empty"}}getMentorStatus(e){let n=this.hasAllRequiredMentorFields(e),i=this.hasAllRequiredMentorFiles(e),d=this.hasAllOptionalMentorFields(e);return n&&i&&d?"Completat":"Incomplet"}hasAllRequiredMentorFields(e){let n=!!(e.firstName&&e.firstName.trim()!==""),i=!!(e.lastName&&e.lastName.trim()!=="");return n&&i}hasAllOptionalMentorFields(e){let n=!!(e.email&&e.email.trim()!==""),i=!!(e.phone&&e.phone.trim()!==""),d=!!(e.personalNumericalCode&&e.personalNumericalCode.trim()!==""),u=this.hasValidMentorDateOfBirth(e),x=!!(e.mentorData?.occupation&&e.mentorData.occupation.trim()!=="");return n&&i&&d&&u&&x}hasValidMentorDateOfBirth(e){return!e.dateOfBirth||e.dateOfBirth===""?!1:e.dateOfBirth.split("T")[0]!=="1900-01-01"}hasAllRequiredMentorFiles(e){if(!e.files||e.files.length<3)return!1;let n=this.getMentorFileTypesForStatus(e);return["gdpr","image","first"].every(d=>n.includes(d))}getMentorFileTypesForStatus(e){if(!e.files||e.files.length===0)return[];let n=[];return e.files.forEach(i=>{let d=this.getFileTypeForStatus(i.name);d&&!n.includes(d)&&n.push(d)}),n}getMentorStatusClass(e){switch(this.getMentorStatus(e)){case"Completat":return"status-complete";case"Incomplet":return"status-missing";default:return"status-empty"}}hasIncompleteRoster(e){let n=this.getTeamSeasonDataForSelectedSeason(e);if(!n||!n.persons)return!1;let i=this.getMembersForTeamSeason(n),d=this.getMentorsForTeamSeason(n),u=i.some(y=>this.getMemberStatus(y)!=="complet"),x=d.some(y=>this.getMentorStatus(y)!=="Completat");return u||x}exportTeamRosters(){return q(this,null,function*(){if(!this.selectedSeason){alert("Please select a season first");return}this.isExporting=!0,this.showExportTable=!1;try{let e=this.selectedSeason.id,n=yield this.teamsService.getAllTeamsForAdmin(e).toPromise();if(n?.message){let i=n.message,d=[];for(let u of i){let x=u.teamSeasonData?.find(k=>k.seasonId===this.selectedSeason.id);if(!x||!x.persons)continue;let y=x.seasonRegion?.name||"";if(Array.isArray(x.persons))for(let k of x.persons){let W=k;(W.personType==="MEMBER"||W.personType==="MENTOR")&&d.push({team_ro_id:u.romanianNumber||"",ftc_id:u.internationalNumber||"",person_name:`${W.firstName||""} ${W.lastName||""}`.trim(),person_type:W.personType,team_name:u.name||"",team_city:x.city||"",season_region:y})}}this.exportData=d,this.showExportTable=!0}else alert("Failed to load teams data")}catch(e){console.error("Error exporting rosters:",e),alert("Failed to export rosters")}finally{this.isExporting=!1}})}exportToCSV(){if(this.exportData.length===0){alert("No data to export");return}let n=[["team_ro_id","ftc_id","person_name","person_type","team_name","team_city","season_region"].join(","),...this.exportData.map(x=>[this.escapeCSV(x.team_ro_id),this.escapeCSV(x.ftc_id),this.escapeCSV(x.person_name),this.escapeCSV(x.person_type),this.escapeCSV(x.team_name),this.escapeCSV(x.team_city),this.escapeCSV(x.season_region)].join(","))].join(` 148`),i=new Blob(["\uFEFF"+n],{type:"text/csv;charset=utf-8;"}),d=document.createElement("a"),u=URL.createObjectURL(i);d.setAttribute("href",u),d.setAttribute("download",`team_rosters_${this.selectedSeason?.seasonName||"export"}_${new Date().toISOString().split("T")[0]}.csv`),d.style.visibility="hidden",document.body.appendChild(d),d.click(),document.body.removeChild(d)}escapeCSV(e){return e?e.includes(",")||e.includes('"')||e.includes(` 149`)?`"${e.replace(/"/g,'""')}"`:e:""}static{this.\u0275fac=function(n){return new(n||t)(T(Ne),T(Ve),T(Dt))}}static{this.\u0275cmp=V({type:t,selectors:[["app-team-rosters-view"]],standalone:!0,features:[B],decls:36,vars:13,consts:[["noSeasonData",""],[1,"team-rosters-view-container"],[1,"header"],[1,"fas","fa-users-cog"],[1,"season-filter"],[1,"form-group"],["for","seasonSelect"],["id","seasonSelect",3,"ngModelChange","change","ngModel"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],["class","season-info",4,"ngIf"],[1,"team-filters"],[1,"filter-group"],["for","teamNameFilter"],["type","text","id","teamNameFilter","placeholder","Enter team name...",1,"filter-input",3,"ngModelChange","ngModel"],["for","teamNumberFilter"],["type","text","id","teamNumberFilter","placeholder","Enter team number...",1,"filter-input",3,"ngModelChange","ngModel"],[1,"filter-actions"],[1,"btn","btn-outline","btn-sm",3,"click"],[1,"fas","fa-times"],["type","button",1,"btn","btn-secondary","btn-sm",3,"click","disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","fas fa-download",4,"ngIf"],["class","export-table-container",4,"ngIf"],["class","loading-state",4,"ngIf"],["class","teams-list",4,"ngIf"],[1,"season-info"],[1,"fas","fa-info-circle"],[1,"fas","fa-spinner","fa-spin"],[1,"fas","fa-download"],[1,"export-table-container"],[1,"export-table-header"],[1,"fas","fa-table"],["type","button",1,"btn","btn-success","export-csv-btn",3,"click"],[1,"fas","fa-file-csv"],[1,"table-wrapper"],[1,"export-table"],[4,"ngFor","ngForOf"],[1,"loading-state"],[1,"team
149s-list"],["class","empty-state",4,"ngIf"],["class","team-card",3,"incomplete-roster",4,"ngFor","ngForOf"],[1,"empty-state"],[1,"fas","fa-users"],[1,"team-card"],[1,"team-header",3,"click"],[1,"team-info"],[1,"team-number"],["class","team-owner",4,"ngIf"],[1,"team-expand-icon"],[1,"fas","fa-chevron-down"],["class","team-content",4,"ngIf"],[1,"team-owner"],[1,"fas","fa-user"],[1,"team-content"],["class","season-data-section",4,"ngIf","ngIfElse"],[1,"season-data-section"],[1,"season-header"],[1,"fas","fa-calendar"],["class","info-badge",4,"ngIf"],[1,"persons-section"],[1,"section-title"],[1,"fas","fa-user-graduate"],["class","empty-persons",4,"ngIf"],["class","person-card",4,"ngFor","ngForOf"],[1,"fas","fa-chalkboard-teacher"],[1,"info-badge"],[1,"fas","fa-school"],[1,"fas","fa-map-marker-alt"],[1,"empty-persons"],[1,"person-card"],[1,"person-header",3,"click"],[1,"person-info"],["class","badge badge-primary",4,"ngIf"],[1,"member-status",3,"ngClass"],[1,"person-meta"],[4,"ngIf"],[1,"fas","fa-briefcase"],[1,"fas","fa-chevron-down","expand-icon"],["class","person-details",4,"ngIf"],[1,"badge","badge-primary"],[1,"fas","fa-envelope"],[1,"fas","fa-phone"],[1,"person-details"],[1,"details-grid"],[1,"detail-item"],["class","person-files",4,"ngIf"],["class","no-files",4,"ngIf"],[1,"person-files"],[1,"files-title"],[1,"fas","fa-file-pdf"],["class","file-section",4,"ngIf"],[1,"file-section"],[1,"file-section-header"],[1,"files-list"],["class","file-item",4,"ngFor","ngForOf"],[1,"file-item"],[1,"file-info"],[1,"file-name"],[1,"file-size"],[1,"file-actions"],["type","button","title","Download",1,"btn-icon",3,"click"],["type","button","title","View",1,"btn-icon",3,"click"],[1,"fas","fa-eye"],[1,"fas","fa-file"],[1,"no-files"],[1,"badge","badge-info"],[1,"mentor-status",3,"ngClass"],[1,"no-season-data"]],template:function(n,i){n&1&&(r(0,"div",1)(1,"div",2)(2,"h1"),_(3,"i",3),a(4," Team Rosters - Non-Public Data"),o(),r(5,"p"),a(6,"View all team rosters with members, mentors, and uploaded documents"),o()(),r(7,"div",4)(8,"div",5)(9,"label",6),a(10,"Filter by Season:"),o(),r(11,"select",7),z("ngModelChange",function(u){return R(i.selectedSeason,u)||(i.selectedSeason=u),u}),b("change",function(){return i.onSeasonChange()}),r(12,"option",8),a(13,"All Seasons"),o(),h(14,X3,2,2,"option",9),o(),h(15,eS,5,1,"p",10),o()(),r(16,"div",11)(17,"div",12)(18,"label",13),a(19,"Search by Team Name:"),o(),r(20,"input",14),z("ngModelChange",function(u){return R(i.teamNameFilter,u)||(i.teamNameFilter=u),u}),o()(),r(21,"div",12)(22,"label",15),a(23,"Search by Team Number:"),o(),r(24,"input",16),z("ngModelChange",function(u){return R(i.teamNumberFilter,u)||(i.teamNumberFilter=u),u}),o()(),r(25,"div",17)(26,"button",18),b("click",function(){return i.clearFilters()}),_(27,"i",19),a(28," Clear Filters "),o(),r(29,"button",20),b("click",function(){return i.exportTeamRosters()}),h(30,tS,1,0,"i",21)(31,nS,1,0,"i",22),a(32),o()()(),h(33,oS,28,2,"div",23)(34,rS,4,0,"div",24)(35,HS,3,2,"div",25),o()),n&2&&(c(11),D("ngModel",i.selectedSeason),c(),m("ngValue",null),c(2),m("ngForOf",i.seasons),c(),m("ngIf",i.selectedSeason),c(5),D("ngModel",i.teamNameFilter),c(4),D("ngModel",i.teamNumberFilter),c(5),m("disabled",i.isExporting||!i.selectedSeason),c(),m("ngIf",i.isExporting),c(),m("ngIf",!i.isExporting),c(),w(" ",i.isExporting?"Exporting...":"Export Team Rosters"," "),c(),m("ngIf",i.showExportTable&&i.exportData.length>0),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading))},dependencies:[H,xt,X,$,se,fe,he,re,ue,ie,pe],styles:['@charset "UTF-8";.team-rosters-view-container[_ngcontent-%COMP%]{padding:2rem;max-width:1600px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.team-rosters-view-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:2rem}.team-rosters-view-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem;font-size:2.5rem;font-weight:700;display:flex;align-items:center;gap:1rem}.team-rosters-view-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.team-rosters-view-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;font-size:1.1rem;margin:0}.team-rosters-view-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%]{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.team-rosters-view-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:0}.team-rosters-view-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.team-rosters-view-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;max-width:300px;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:#fff}.team-rosters-view-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.team-rosters-view-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{margin-top:.75rem;padding:.75rem;background:#e3f2fd;border-radius:6px;color:#1976d2;font-size:.9rem}.team-rosters-view-container[_ngcontent-%COMP%] .season-filter[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%]{flex:1;
149min-width:200px}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50;font-size:.9rem}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid #ddd;border-radius:6px;background:#fff;color:#2c3e50;font-weight:500;cursor:pointer;transition:all .2s}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:hover{background:#f8f9fa;border-color:#3498db}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%] .btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.9rem}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:#6c757d;color:#fff;border:none}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover{background:#5a6268;border-color:#5a6268}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-actions[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem;margin-bottom:2rem}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:.75rem}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] .export-csv-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;background:#28a745;color:#fff}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] .export-csv-btn[_ngcontent-%COMP%]:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] .export-csv-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.1rem}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .table-wrapper[_ngcontent-%COMP%]{overflow-x:auto;max-height:600px;overflow-y:auto;border:1px solid #e9ecef;border-radius:8px}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;font-size:.95rem}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{background:#f8f9fa;position:sticky;top:0;z-index:10}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #dee2e6;white-space:nowrap}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background:#f8f9fa}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child{border-bottom:none}.team-rosters-view-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:1rem;color:#2c3e50;white-space:nowrap}.team-rosters-view-container[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem;color:#7f8c8d}.team-rosters-view-container[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;color:#3498db}.team-rosters-view-container[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.2rem;margin:0}.team-rosters-view-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem;color:#7f8c8d}.team-rosters-view-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:4rem;margin-bottom:1rem;color:#bdc3c7}.team-rosters-view-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;overflow:hidden;transition:transform .2s,box-shadow .2s}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%]:hover{box-shadow:0 8px 25px #00000026}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card.incomplete-roster[_ngcontent-%COMP%]{border:3px solid #dc3545;background:#fff5f5;box-shadow:0 4px 6px #dc354533}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card.incomplete-roster[_ngcontent-%COMP%]:hover{box-shadow:0 8px 25px #dc35454d}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card.incomplete-roster[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]{background:#fee;border-bottom-color:#fcc}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card.incomplete-roster[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]:hover{background:#fdd}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card.incomplete-roster[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#c33}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card.incomplete-roster[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%]:before{content:"\\26a0\\fe0f";margin-right:.5rem;font-size:1.2rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]{padding:1.5rem;border-bottom:1px solid #ecf0f1;
149display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%]:hover{background:#f8f9fa}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%]{flex:1}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#2c3e50;font-size:1.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-number[_ngcontent-%COMP%]{color:#7f8c8d;font-size:1rem;margin:0 0 .5rem;font-weight:600}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-owner[_ngcontent-%COMP%]{color:#7f8c8d;font-size:.9rem;margin:0;display:flex;align-items:center;gap:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-info[_ngcontent-%COMP%] .team-owner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-expand-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.2rem;color:#7f8c8d;transition:transform .3s}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-header[_ngcontent-%COMP%] .team-expand-icon[_ngcontent-%COMP%] i.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%]{padding:1.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%]{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #ecf0f1}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 1rem;color:#2c3e50;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .info-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#e3f2fd;border-radius:20px;color:#1976d2;font-size:.9rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .info-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.8rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%]{margin-bottom:2rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #ecf0f1}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .empty-persons[_ngcontent-%COMP%]{padding:1rem;background:#f8f9fa;border-radius:6px;text-align:center;color:#7f8c8d}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .empty-persons[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;display:flex;align-items:center;justify-content:center;gap:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%]{background:#f8f9fa;border-radius:8px;margin-bottom:1rem;overflow:hidden}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%]:last-child{margin-bottom:0}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%]{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%]:hover{background:#e9ecef}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%]{flex:1}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#2c3e50;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%]{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .badge.badge-primary[_ngcontent-%COMP%]{background:#3498db;color:#fff}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .badge.badge-info[_ngcontent-%COMP%]{background:#17a2b8;color:#fff}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .member-status[_ngcontent-%COMP%], .team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .mentor-status[_ngcontent-%COMP%]{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .member-status.status-complete[_ngcontent-%COMP%], .team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .mentor-status.status-complete[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .member-status.status-missing[_ngcontent-%COMP%], .team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .mentor-status.status-missing[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .member-status.status-empty[_ngcontent-%COMP%], .team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] .mentor-status.status-empty[_ngcontent-%COMP%]{background:#e2e3e5;color:#6c757d}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] .person-meta[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#7f8c8d}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] .person-meta[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] .person-meta[_ngcontent-%COMP%] span[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.75rem;color:#3498db}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .expand-icon[_ngcontent-%COMP%]{font-size:1rem;color:#7f8c8d;transition:transform .3s}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .expand-icon.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-detail
149s[_ngcontent-%COMP%]{padding:1rem 1.5rem;background:#fff;border-top:1px solid #e9ecef}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .details-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .details-grid[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%]{display:flex;flex-direction:column}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .details-grid[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:600;color:#7f8c8d;font-size:.85rem;margin-bottom:.25rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .details-grid[_ngcontent-%COMP%] .detail-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#2c3e50;font-size:.95rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%]{margin-top:1.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .files-title[_ngcontent-%COMP%]{margin:0 0 1rem;color:#2c3e50;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .files-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%]{margin-bottom:1.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-detail
149s[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .file-section-header[_ngcontent-%COMP%]{font-weight:600;color:#2c3e50;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef;font-size:.9rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:6px;margin-bottom:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]:last-child{margin-bottom:0}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex:1}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#e74c3c;font-size:1.2rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{color:#2c3e50;font-size:.9rem;flex:1;word-break:break-word}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-size[_ngcontent-%COMP%]{color:#7f8c8d;font-size:.85rem;margin-left:auto}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;margin-left:1rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-detail
149s[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn-icon[_ngcontent-%COMP%]{padding:.5rem;border:none;background:#3498db;color:#fff;border-radius:4px;cursor:pointer;transition:background .2s}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn-icon[_ngcontent-%COMP%]:hover{background:#2980b9}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .person-files[_ngcontent-%COMP%] .file-section[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .no-files[_ngcontent-%COMP%]{padding:1rem;background:#f8f9fa;border-radius:6px;text-align:center;color:#7f8c8d}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .no-files[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .no-season-data[_ngcontent-%COMP%]{padding:2rem;text-align:center;color:#7f8c8d}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .no-season-data[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;display:flex;align-items:center;justify-content:center;gap:.5rem}@media (max-width: 768px){.team-rosters-view-container[_ngcontent-%COMP%]{padding:1rem}.team-rosters-view-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%]{flex-direction:column}.team-rosters-view-container[_ngcontent-%COMP%] .team-filters[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%]{width:100%}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-header[_ngcontent-%COMP%] .person-info[_ngcontent-%COMP%] .person-meta[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem}.team-rosters-view-container[_ngcontent-%COMP%] .teams-list[_ngcontent-%COMP%] .team-card[_ngcontent-%COMP%] .team-content[_ngcontent-%COMP%] .season-data-section[_ngcontent-%COMP%] .persons-section[_ngcontent-%COMP%] .person-card[_ngcontent-%COMP%] .person-details[_ngcontent-%COMP%] .details-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})}}return t})();var vu=(()=>{class t{constructor(e){this.http=e,this.apiUrl=`${ne.apiUrl}/awards`}getAllAwards(){return this.http.get(this.apiUrl)}getAwardById(e){return this.http.get(`${this.apiUrl}/${e}`)}getAwardsByTeamSeasonDataId(e){return this.http.get(`${this.apiUrl}/team-season/${e}`)}getAwardsByTeamInternationalNumber(e){return this.http.get(`${this.apiUrl}/team/${e}`)}getAwardsByTeamInternationalNumberCurrentSeason(e){return this.http.get(`${this.apiUrl}/team/${e}/current-season`)}getAwardsByStage(e){return this.http.get(`${this.apiUrl}/stage/${e}`)}syncFtcAwardsForSeason(e){return this.http.post(`${this.apiUrl}/sync/ftc/season/${e}`,{})}createAward(e){return this.http.post(this.apiUrl,e)}updateAward(e,n){return this.http.put(`${this.apiUrl}/${e}`,n)}deleteAward(e){return this.http.delete(`${this.apiUrl}/${e}`)}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function ZS(t,s){if(t&1&&(r(0,"option",15),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e),c(),G(" Season ",e.seasonNumber," - ",e.seasonName," ")}}function YS(t,s){if(t&1&&(r(0,"div",25)(1,"span",26),_(2,"i",27),a(3),o(),r(4,"span",28),_(5,"i",29),a(6),o()()),t&2){let e=p();c(3),G(" Season ",e.selectedSeason.seasonNumber,": ",e.selectedSeason.seasonName," "),c(3),w(" ",e.teamSeasonDataList.length," teams available ")}}function KS(t,s){t&1&&(r(0,"div",30)(1,"div",31),_(2,"i",32),r(3,"span"),a(4,"Please select a season to manage awards."),o()()())}function QS(t,s){if(t&1){let e=E();r(0,"div",33),_(1,"i",32),a(2),r(3,"button",34),b("click",function(){v(e);let i=p();return M(i.error=null)}),_(4,"i",35),o()()}if(t&2){let e=p();c(2),w(" ",e.error," ")}}function JS(t,s){if(t&1){let e=E();r(0,"div",36),_(1,"i",37),a(2),r(3,"button",34),b("click",function(){v(e);let i=p();return M(i.successMessage=null)}),_(4,"i",35),o()()}if(t&2){let e=p();c(2),w(" ",e.successMessage," ")}}function XS(t,s){if(t&1&&(r(0,"div",59),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.createForm,"award_name")," ")}}function eE(t,s){if(t&1&&(r(0,"div",59),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.createForm,"stage")," ")}}function tE(t,s){if(t&1&&(r(0,"option",60),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),G(" ",e.team.name," (",e.team.internationalNumber,") ")}}function nE(t,s){if(t&1&&(r(0,"div",59),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.createForm,"teamSeasonDataId")," ")}}function iE(t,s){if(t&1&&(r(0,"small",48),a(1),o()),t&2){let e=p(2);c(),w(" Select a team from Season ",e.selectedSeason.seasonNumber," ")}}function oE(t,s){if(t&1){let e=E();r(0,"div",38)(1,"div",39)(2,"h3"),_(3,"i",40),a(4," Create New Award"),o()(),r(5,"form",41),b("ngSubmit",function(){v(e);let i=p();return M(i.createAward())}),r(6,"div",42)(7,"div",12)(8,"label",43),a(9,"Award Name *"),o(),_(10,"input",44),h(11,XS,2,1,"div",45),o(),r(12,"div",12)(13,"label",46),a(14,"Stage/Event *"),o(),_(15,"input",47),h(16,eE,2,1,"div",45),r(17,"small",48),a(18," The event or stage where this award was won "),o()()(),r(19,"div",42)(20,"div",49)(21,"label",50),a(22,"Assign to Team *"),o(),r(23,"select",51)(24,"option",52),a(25,"-- Select a team --"),o(),h(26,tE,2,3,"option",53),o(),h(27,nE,2,1,"div",45)(28,iE,2,1,"small",54),o()(),r(29,"div",55)(30,"button",56),_(31,"i",57),a(32," Create Award "),o(),r(33,"button",58),b("click",function(){v(e);let i=p();return M(i.cancelCreate())}),_(34,"i",35),a(35," Cancel "),o()()()()}if(t&2){let e=p();c(5),m("formGroup",e.createForm),c(5),I("error",e.getFieldError(e.createForm,"award_name")),c(),m("ngIf",e.getFieldError(e.createForm,"award_name")),c(4),I("error",e.getFieldError(e.createForm,"stage")),c(),m("ngIf",e.getFieldError(e.createForm,"stage")),c(7),I("error",e.getFieldError(e.createForm,"teamSeasonDataId")),c(3),m("ngForOf",e.teamSeasonDataList),c(),m("ngIf",e.getFieldError(e.createForm,"teamSeasonDataId")),c(),m("ngIf",e.selectedSeason),c(2),m("disabled",e.createForm.invali
149d)}}function rE(t,s){if(t&1&&(r(0,"div",59),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.editForm,"award_name")," ")}}function aE(t,s){if(t&1&&(r(0,"div",59),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.editForm,"stage")," ")}}function sE(t,s){if(t&1&&(r(0,"option",60),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),G(" ",e.team.name," (",e.team.internationalNumber,") ")}}function cE(t,s){if(t&1&&(r(0,"div",59),a(1),o()),t&2){let e=p(2);c(),w(" ",e.getFieldError(e.editForm,"teamSeasonDataId")," ")}}function lE(t,s){if(t&1){let e=E();r(0,"div",38)(1,"div",39)(2,"h3"),_(3,"i",61),a(4," Edit Award"),o()(),r(5,"form",41),b("ngSubmit",function(){v(e);let i=p();return M(i.updateAward())}),r(6,"div",42)(7,"div",12)(8,"label",62),a(9,"Award Name *"),o(),_(10,"input",63),h(11,rE,2,1,"div",45),o(),r(12,"div",12)(13,"label",64),a(14,"Stage/Event *"),o(),_(15,"input",65),h(16,aE,2,1,"div",45),o()(),r(17,"div",42)(18,"div",49)(19,"label",66),a(20,"Assign to Team *"),o(),r(21,"select",67)(22,"option",52),a(23,"-- Select a team --"),o(),h(24,sE,2,3,"option",53),o(),h(25,cE,2,1,"div",45),o()(),r(26,"div",55)(27,"button",56),_(28,"i",57),a(29," Update Award "),o(),r(30,"button",58),b("click",function(){v(e);let i=p();return M(i.cancelEdit())}),_(31,"i",35),a(32," Cancel "),o()()()()}if(t&2){let e=p();c(5),m("formGroup",e.editForm),c(5),I("error",e.getFieldError(e.editForm,"award_name")),c(),m("ngIf",e.getFieldError(e.editForm,"award_name")),c(4),I("error",e.getFieldError(e.editForm,"stage")),c(),m("ngIf",e.getFieldError(e.editForm,"stage")),c(5),I("error",e.getFieldError(e.editForm,"teamSeasonDataId")),c(3),m("ngForOf",e.teamSeasonDataList),c(),m("ngIf",e.getFieldError(e.editForm,"teamSeasonDataId")),c(2),m("disabled",e.editForm.invalid)}}function dE(t,s){if(t&1){let e=E();r(0,"button",78),b("click",function(){v(e);let i=p(2);return M(i.clearFilters())}),_(1,"i",35),a(2," Clear Filters "),o()}}function mE(t,s){if(t&1){let e=E();r(0,"div",68)(1,"div",69)(2,"h3"),_(3,"i",70),a(4," Filters"),o(),h(5,dE,3,0,"button",71),o(),r(6,"div",72)(7,"div",73)(8,"label",74),a(9,"Filter by Stage"),o(),r(10,"input",75),z("ngModelChange",function(i){v(e);let d=p();return R(d.stageFilter,i)||(d.stageFilter=i),M(i)}),o()(),r(11,"div",73)(12,"label",76),a(13,"Filter by Team"),o(),r(14,"input",77),z("ngModelChange",function(i){v(e);let d=p();return R(d.teamFilter,i)||(d.teamFilter=i),M(i)}),o()()()()}if(t&2){let e=p();c(5),m("ngIf",e.stageFilter||e.teamFilter),c(5),D("ngModel",e.stageFilter),c(4),D("ngModel",e.teamFilter)}}function gE(t,s){t&1&&(r(0,"div",79)(1,"div",80),_(2,"i",81),r(3,"span"),a(4,"Loading awards..."),o()()())}function pE(t,s){if(t&1&&(r(0,"p",87),a(1),o()),t&2){let e=p(2);c(),w(" Showing awards for ",e.selectedSeason.seasonName," ")}}function uE(t,s){if(t&1){let e=E();r(0,"div",90)(1,"div",91)(2,"div",92)(3,"h4"),_(4,"i",2),a(5),o(),r(6,"span",93),a(7),o()(),r(8,"div",94)(9,"button",95),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.startEdit(i))}),_(10,"i",61),o(),r(11,"button",96),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.deleteAward(i))}),_(12,"i",97),o()()(),r(13,"div",98)(14,"div",99)(15,"div",100),_(16,"i",29),r(17,"span")(18,"strong"),a(19,"Team:"),o(),a(20),o()(),r(21,"div",100),_(22,"i",10),r(23,"span")(24,"strong"),a(25,"Created:"),o(),a(26),o()()()()()}if(t&2){let e=s.$implicit,n=p(3);c(5),w(" ",e.award_name,""),c(2),O(e.stage),c(2),m("disabled",n.showCreateForm||n.showEditForm),c(2),m("disabled",n.showCreateForm||n.showEditForm),c(9),w(" ",n.getTeamNameForAward(e),""),c(6),w(" ",n.formatDate(e.createdAt),"")}}function _E(t,s){if(t&1&&(r(0,"div",88),h(1,uE,27,6,"div",89),o()),t&2){let e=p(2);c(),m("ngForOf",e.getFilteredAwards())}}function fE(t,s){t&1&&(r(0,"h3"),a(1,"No Awards Match Filters"),o())}function hE(t,s){t&1&&(r(0,"h3"),a(1,"No Awards Found"),o())}function CE(t,s){t&1&&(r(0,"p"),a(1," There are no awards created for this season yet. "),o())}function vE(t,s){t&1&&(r(0,"p"),a(1," Try adjusting your filters to see more results. "),o())}function ME(t,s){if(t&1){let e=E();r(0,"button",105),b("click",function(){v(e);let i=p(3);return M(i.showCreateForm=!0)}),_(1,"i",7),a(2," Create First Award "),o()}}function xE(t,s){if(t&1&&(r(0,"div",101)(1,"div",102),_(2,"i",2),h(3,fE,2,0,"h3",103)(4,hE,2,0,"h3",103)(5,CE,2,0,"p",103)(6,vE,2,0,"p",103)(7,ME,3,0,"button",104),o()()),t&2){let e=p(2);c(3),m("ngIf",e.stageFilter||e.teamFilter),c(),m("ngIf",!e.stageFilter&&!e.teamFilter),c(),m("ngIf",!e.stageFilter&&!e.teamFilter),c(),m("ngIf",e.stageFilter||e.teamFilter),c(),m("ngIf",!e.stageFilter&&!e.teamFilter)}}
149function bE(t,s){if(t&1&&(r(0,"div",82)(1,"div",83)(2,"h3"),_(3,"i",2),a(4),o(),h(5,pE,2,1,"p",84),o(),h(6,_E,2,1,"div",85)(7,xE,8,5,"div",86),o()),t&2){let e=p();c(4),G(" Awards for Season ",e.selectedSeason.seasonNumber," (",e.getFilteredAwards().length,") "),c(),m("ngIf",e.selectedSeason),c(),m("ngIf",e.getFilteredAwards().length>0),c(),m("ngIf",e.getFilteredAwards().length===0&&!e.loading)}}var Mu=(()=>{class t{constructor(e,n,i,d){this.awardsService=e,this.seasonsService=n,this.teamsService=i,this.fb=d,this.awards=[],this.allSeasons=[],this.selectedSeason=null,this.teams=[],this.teamSeasonDataList=[],this.loading=!0,this.error=null,this.successMessage=null,this.syncingFtc=!1,this.showCreateForm=!1,this.showEditForm=!1,this.editingAward=null,this.stageFilter="",this.teamFilter="",this.createForm=this.fb.group({award_name:["",[N.required,N.minLength(3)]],stage:["",[N.required,N.minLength(2)]],teamSeasonDataId:["",[N.required]]}),this.editForm=this.fb.group({award_name:["",[N.required,N.minLength(3)]],stage:["",[N.required,N.minLength(2)]],teamSeasonDataId:["",[N.required]]})}ngOnInit(){return q(this,null,function*(){yield this.loadAllSeasons(),yield this.loadAwards()})}loadAllSeasons(){return q(this,null,function*(){try{let e=yield this.seasonsService.getAllSeasons().toPromise();if(e?.success){this.allSeasons=e.message.sort((i,d)=>d.seasonNumber-i.seasonNumber);let n=yield this.seasonsService.getCurrentSeason().toPromise();n?.success&&n.message&&(this.selectedSeason=n.message,yield this.loadTeamsForSeason(this.selectedSeason.id))}}catch(e){console.error("Error loading seasons:",e),this.error="Failed to load seasons"}})}onSeasonChange(){return q(this,null,function*(){this.selectedSeason?(yield this.loadTeamsForSeason(this.selectedSeason.id),yield this.loadAwards()):(this.teams=[],this.teamSeasonDataList=[],this.awards=[])})}loadTeamsForSeason(e){return q(this,null,function*(){try{let n=yield this.teamsService.getAllTeamsForAdmin(e).toPromise();n?.success&&(this.teams=n.message,this.teamSeasonDataList=[],this.teams.forEach(i=>{let d=i.teamSeasonData?.find(u=>u.seasonId===e);d&&this.teamSeasonDataList.push(ye(J({},d),{team:i}))}),this.teamSeasonDataList.sort((i,d)=>{let u=(i.team?.name??"").toLowerCase(),x=(d.team?.name??"").toLowerCase();return u.localeCompare(x)}))}catch(n){console.error("Error loading teams:",n),this.error="Failed to load teams for selected season"}})}loadAwards(){return q(this,null,function*(){this.loading=!0,this.error=null;try{let e=yield this.awardsService.getAllAwards().toPromise();e?.success&&(this.selectedSeason?this.awards=e.message.filter(n=>n.teamSeasonData?.seasonId===this.selectedSeason?.id):this.awards=e.message,this.awards.sort((n,i)=>new Date(i.createdAt).getTime()-new Date(n.createdAt).getTime()))}catch(e){console.error("Error loading awards:",e),this.error="Failed to load awards"}finally{this.loading=!1}})}createAward(){return q(this,null,function*(){if(this.createForm.valid)try{let e=this.createForm.value;(yield this.awardsService.createAward(e).toPromise())?.success&&(this.createForm.reset(),this.showCreateForm=!1,yield this.loadAwards())}catch(e){console.error("Error creating award:",e),this.error=e.error?.message||"Failed to create award"}else this.createForm.markAllAsTouched()})}updateAward(){return q(this,null,function*(){if(this.editForm.valid&&this.editingAward)try{let e=this.editForm.value;(yield this.awardsService.updateAward(this.editingAward.id,e).toPromise())?.success&&(this.editForm.reset(),this.showEditForm=!1,this.editingAward=null,yield this.loadAwards())}catch(e){console.error("Error updating award:",e),this.error=e.error?.message||"Failed to update award"}else this.editForm.markAllAsTouched()})}deleteAward(e){return q(this,null,function*(){if(confirm(`Are you sure you want to delete the award "${e.award_name}"?`))try{(yield this.awardsService.deleteAward(e.id).toPromise())?.success&&(yield this.loadAwards())}catch(n){console.error("Error deleting award:",n),this.error=n.error?.message||"Failed to delete award"}})}startEdit(e){this.editingAward=e,this.editForm.patchValue({award_name:e.award_name,stage:e.stage,teamSeasonDataId:e.teamSeasonDataId}),this.showEditForm=!0}cancelCreate(){this.createForm.reset(),this.showCreateForm=!1,this.error=null}cancelEdit(){this.editForm.reset(),this.showEditForm=!1,this.editingAward=null,this.error=null}getFieldError(e,n){let i=e.get(n);if(i?.errors&&i.touched){if(i.errors.required)return`${n} is required`;if(i.errors.minlength)return`${n} must be at least ${i.errors.minlength.requiredLength} characters`}return""}formatDate(e){if(!e)return"Not set";try{return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return"Invalid date"}}getFilteredAwards(){let e=this.awards;return this.stageFilter&&(e=e.filter(n=>n.stage.toLowerCase().includes(this.stageFilter.toLowerCase()))),this.teamFilter&&(e=e.filter(n=>{let i=n.teamSeasonData?.team?.name?.toLowerCase()||"",d=n.teamSeasonData?.team?.internationalNumber?.toLowerCase()||"",u=this.teamFilter.toLowerCase();return i.includes(u)||d.includes(u)})),e}clearFilters(){this.stageFilter="",this.teamFilter=""}getTeamNameForAward(e){return e.teamSeasonData?.team?`${e.teamSeasonData.team.name} (${e.teamSeasonData.team.internationalNumber})`:"Unknown Team"}syncFtcFromFirst(){return q(this,null,function*(){if(!(!this.selectedSeason||!confirm("Sincronizezi premii din FIRST FTC Events API pentru toate echipele din acest sezon? Premiile existente pentru fiecare echip\u0103 vor fi \xEEnlocuite."))){this.syncingFtc=!0,this.error=null,this.successMessage=null;try{let n=yield this.awardsService.syncFtcAwardsForSeason(this.selectedSeason.id).toPromise();if(n?.success&&n.message){let i=n.message;this.successMessage=`Sincronizare reu\u0219it\u0103: ${i.awardsCreated} premii, ${i.teamsProcessed} echipe procesate, ${i.teamsSkippedInvalidNumber} omise (num\u0103r invalid).`,yield this.loadAwards()}else this.error="Sincronizarea nu a reu\u0219it."}catch(n){this.error=this.extractFtcSyncError(n)}finally{this.syncingFtc=!1}}})}extractFtcSyncError(e){let n=e?.error,i=n?.message;return i&&typeof i=="object"&&typeof i.message=="string"?i.message:typeof n?.message=="string"?n.message:"Eroare la sincronizarea cu FIRST. Verific\u0103 creden\u021Bialele pe server (FTC_API_*) \u0219i anul FTC setat la sezon."}static{this.\u0275fac=function(n){return new(n||t)(T(vu),T(Ve),T(Ne),T(Ye))}}static{this.\u0275cmp=V({type:t,selectors:[["app-awards-management"]],standalone:!0,features:[B],decls:34,vars:17,consts:[[1,"awards-management"],[1,"header-section"],[1,"fas","fa-trophy"],[1,"header-actions"],["type","button",1,"btn","btn-secondary",3,"click","disabled"],[1,"fas","fa-sync-alt"],[1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-plus"],[1,"season-selection-card"],[1,"season-selection-header"],[1,"fas","fa-calendar-alt"],[1,"season-selection-content"],[1,"form-group"],["for","season-select"],["id","season-select",1,"season-select",3,"ngModelChange","change","ngModel"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],["class","season-info",4,"ngIf"],["class","warning-card",4,"ngIf"],["class","error-message",4,"ngIf"],["class","success-message",4,"ngIf"],["class","form-section",4,"ngIf"],["class","filters-section",4,"ngIf"],["class","loading-state",4,"ngIf"],["class","awards-list",4,"ngIf"],[1,"season-info"],[1,"season-badge"],[1,"fas","fa-star"],[1,"team
149s-count"],[1,"fas","fa-users"],[1,"warning-card"],[1,"warning-content"],[1,"fas","fa-exclamation-triangle"],[1,"error-message"],[1,"close-error",3,"click"],[1,"fas","fa-times"],[1,"success-message"],[1,"fas","fa-check-circle"],[1,"form-section"],[1,"form-header"],[1,"fas","fa-plus-circle"],[1,"award-form",3,"ngSubmit","formGroup"],[1,"form-row"],["for","create-award-name"],["type","text","id","create-award-name","formControlName","award_name","placeholder","e.g., Inspire Award, Connect Award"],["class","field-error",4,"ngIf"],["for","create-stage"],["type","text","id","create-stage","formControlName","stage","placeholder","e.g., League, National, Worlds"],[1,"form-help"],[1,"form-group","full-width"],["for","create-team"],["id","create-team","formControlName","teamSeasonDataId"],["value",""],[3,"value",4,"ngFor","ngForOf"],["class","form-help",4,"ngIf"],[1,"form-actions"],["type","submit",1,"btn","btn-success",3,"disabled"],[1,"fas","fa-save"],["type","button",1,"btn","btn-secondary",3,"click"],[1,"field-error"],[3,"value"],[1,"fas","fa-edit"],["for","edit-award-name"],["type","text","id","edit-award-name","formControlName","award_name","placeholder","e.g., Inspire Award, Connect Award"],["for","edit-stage"],["type","text","id","edit-stage","formControlName","stage","placeholder","e.g., League, National, Worlds"],["for","edit-team"],["id","edit-team","formControlName","teamSeasonDataId"],[1,"filters-section"],[1,"filters-header"],[1,"fas","fa-filter"],["class","btn btn-secondary btn-sm",3,"click",4,"ngIf"],[1,"filters-content"],[1,"filter-group"],["for","stage-filter"],["type","text","id","stage-filter","placeholder","e.g., League, National",1,"filter-input",3,"ngModelChange","ngModel"],["for","team-filter"],["type","text","id","team-filter","placeholder","Team name or number",1,"filter-input",3,"ngModelChange","ngModel"],[1,"btn","btn-secondary","btn-sm",3,"click"],[1,"loading-state"],[1,"loading-spinner"],[1,"fas","fa-spinner","fa-spin"],[1,"awards-list"],[1,"list-header"],["class","list-subtitle",4,"ngIf"],["class","awards-grid",4,"ngIf"],["class","empty-state",4,"ngIf"],[1,"list-subtitle"],[1,"awards-grid"],["class","award-card",4,"ngFor","ngForOf"],[1,"award-card"],[1,"award-header"],[1,"award-title"],[1,"award-stage"],[1,"award-actions"],["title","Edit Award",1,"btn","btn-warning","btn-sm",3,"click","disabled"],["title","Delete Award",1,"btn","btn-danger","btn-sm",3,"click","disabled"],[1,"fas","fa-trash"],[1,"award-content"],[1,"award-info"],[1,"info-item"],[1,"empty-state"],[1,"empty-content"],[4,"ngIf"],["class","btn btn-primary",3,"click",4,"ngIf"],[1,"btn","btn-primary",3,"click"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h2"),_(3,"i",2),a(4," Awards Management"),o(),r(5,"div",3)(6,"button",4),b("click",function(){return i.syncFtcFromFirst()}),_(7,"i",5),a(8),o(),r(9,"button",6),b("click",function(){return i.showCreateForm=!0}),_(10,"i",7),a(11," Create New Award "),o()()(),r(12,"div",8)(13,"div",9)(14,"h3"),_(15,"i",10),a(16," Select Season"),o()(),r(17,"div",11)(18,"div",12)(19,"label",13),a(20,"Season *"),o(),r(21,"select",14),z("ngModelChange",function(u){return R(i.selectedSeason,u)||(i.selectedSeason=u),u}),b("change",function(){return i.onSeasonChange()}),r(22,"option",15),a(23,"-- Select a season --"),o(),h(24,ZS,2,3,"option",16),o()(),h(25,YS,7,3,"div",17),o()(),h(26,KS,5,0,"div",18)(27,QS,5,1,"div",19)(28,JS,5,1,"div",20)(29,oE,36,13,"div",21)(30,lE,33,12,"div",21)(31,mE,15,3,"div",22)(32,gE,5,0,"div",23)(33,bE,8,5,"div",24),o()),n&2&&(c(6),m("disabled",i.showCreateForm||i.showEditForm||!i.selectedSeason||i.syncingFtc),c(),I("fa-spin",i.syncingFtc),c(),w(" ",i.syncingFtc?"Se sincronizeaz\u0103...":"Sincronizare premii FIRST"," "),c(),m("disabled",i.showCreateForm||i.showEditForm||!i.selectedSeason),c(12),D("ngModel",i.selectedSeason),c(),m("ngValue",null),c(2),m("ngForOf",i.allSeasons),c(),m("ngIf",i.selectedSeason),c(),m("ngIf",!i.selectedSeason),c(),m("ngIf",i.error),c(),m("ngIf",i.successMessage),c(),m("ngIf",i.showCreateForm&&i.selectedSeason),c(),m("ngIf",i.showEditForm&&i.selectedSeason),c(),m("ngIf",i.selectedSeason&&i.awards.length>0),c(),m("ngIf",i.loading),c(),m("ngIf",!i.loading&&i.selectedSeason))},dependencies:[H,X,$,se,Oe,fe,he,re,ue,ie,Pe,pe,$e,We,Ge],styles:[".awards-management[_ngcontent-%COMP%]{padding:20px;max-width:1200px;margin:0 auto}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#333;font-size:28px;font-weight:600}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:gold;margin-right:10px}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,gold,#ffb300);border:none;padding:12px 24px;border-radius:8px;color:#333;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #ffd7004d}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]{background:#6c757d;border:none;padding:12px 20px;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s ease}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){opacity:.9}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.awards-management[_ngcontent-%COMP%] .header-section[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--natie-blue),#0056b3);color:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 8px 25px #007bff4d}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-header[_ngcontent-%COMP%]{margin-bottom:20px}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:22px;font-weight:600}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;color:gold}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:15px}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:8px;font-weight:600;font-size:14px;opacity:.9}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-select[_ngcontent-%COMP%]{width:100%;padding:12px 15px;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:16px;background:#ffffff1a;color:#fff;transition:all .3s ease}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-select[_ngcontent-%COMP%]:focus{outline:none;border-color:#fff9;background:#ffffff26}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .season-select[_ngcontent-%COMP%] option[_ngcontent-%COMP%]{background:var(--natie-blue);color:#fff}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%]{display:flex;gap:20px;flex-wrap:wrap;margin-top:15px}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-badge[_ngcontent-%COMP%], .awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .teams-count[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff3;border-radius:6px;font-size:14px;font-weight:500}.awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .season-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .awards-management[_ngcontent-%COMP%] .season-selection-card[_ngcontent-%COMP%] .season-selection-content[_ngcontent-%COMP%] .season-info[_ngcontent-%COMP%] .teams-count[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:gold}.awards-management[_ngcontent-%COMP%] .warning-card[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ffc107,var(--natie-orange));color:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 8px 25px #ffc1074d}.awards-management[_ngcontent-%COMP%] .warning-card[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:15px}.awards-management[_ngcontent-%COMP%] .warning-card[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:24px;color:gold}.awards-management[_ngcontent-%COMP%] .warning-card[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;font-weight:500}.awards-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;padding:15px 20px;border-radius:8px;margin-bottom:20px;
149display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px #dc35454d}.awards-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;font-size:18px}.awards-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] .close-error[_ngcontent-%COMP%]{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0;margin-left:15px}.awards-management[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] .close-error[_ngcontent-%COMP%]:hover{opacity:.8}.awards-management[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#218838);color:#fff;padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px #28a74540}.awards-management[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:10px;font-size:18px}.awards-management[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%] .close-error[_ngcontent-%COMP%]{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0;margin-left:15px}.awards-management[_ngcontent-%COMP%] .success-message[_ngcontent-%COMP%] .close-error[_ngcontent-%COMP%]:hover{opacity:.8}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%]{margin-bottom:25px}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#333;font-size:20px;font-weight:600}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .form-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:gold;margin-right:10px}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}@media (max-width: 768px){.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] .form-group.full-width[_ngcontent-%COMP%]{grid-column:1/-1}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{margin-bottom:8px;font-weight:600;color:#555;font-size:14px}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .3s ease;background-color:#fff}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input.error[_ngcontent-%COMP%], .awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] select.error[_ngcontent-%COMP%]{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .field-error[_ngcontent-%COMP%]{color:#dc3545;font-size:12px;margin-top:5px;font-weight:500}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-help[_ngcontent-%COMP%]{color:#6c757d;font-size:12px;margin-top:5px;font-style:italic}.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:15px;justify-content:flex-end}@media (max-width: 768px){.awards-management[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .award-form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{flex-direction:column}}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:20px;margin-bottom:30px;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:#333;font-size:18px;font-weight:600}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);margin-right:10px}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-content[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 768px){.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-content[_ngcontent-%COMP%]{grid-template-columns:1fr}}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-content[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-content[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{margin-bottom:8px;font-weight:600;color:#555;font-size:14px}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-content[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s ease}.awards-management[_ngcontent-%COMP%] .filters-section[_ngcontent-%COMP%] .filters-content[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--natie-blue-accessible);box-shadow:0 0 0 3px #007bff1a}.awards-management[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:60px 20px}.awards-management[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:15px;color:#666}.awards-management[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:32px;color:gold}.awards-management[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:16px;font-weight:500}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%]{margin-bottom:25px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 8px;color:#333;font-size:22px;font-weight:600}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:gold;margin-right:10px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .list-header[_ngcontent-%COMP%] .list-subtitle[_ngcontent-%COMP%]{margin:0;color:#666;font-size:14px;font-style:italic}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}@media (max-width: 768px){.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0;transition:all .3s ease;border-left:4px solid #ffd700}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-title[_ngcontent-%COMP%]{flex:1}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-title[_ngcontent-%COMP%] h4[_ng
149content-%COMP%]{margin:0 0 8px;color:#333;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-title[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:gold}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-title[_ngcontent-%COMP%] .award-stage[_ngcontent-%COMP%]{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,var(--natie-blue),#0056b3);color:#fff;border-radius:12px;font-size:12px;font-weight:600}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-actions[_ngcontent-%COMP%]{display:flex;gap:8px;margin-left:15px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:8px 12px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-actions[_ngcontent-%COMP%] .btn.btn-warning[_ngcontent-%COMP%]{background:#ffc107;color:#212529}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-actions[_ngcontent-%COMP%] .btn.btn-warning[_ngcontent-%COMP%]:hover:not(:disabled){background:#e0a800;transform:translateY(-1px)}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-actions[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]{background:#dc3545;color:#fff}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-actions[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-header[_ngcontent-%COMP%] .award-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:4px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-content[_ngcontent-%COMP%] .award-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-content[_ngcontent-%COMP%] .award-info[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;color:#666;font-size:14px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-content[_ngcontent-%COMP%] .award-info[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--natie-blue-accessible);width:16px}.awards-management[_ngcontent-%COMP%] .awards-list[_ngcontent-%COMP%] .awards-grid[_ngcontent-%COMP%] .award-card[_ngcontent-%COMP%] .award-content[_ngcontent-%COMP%] .award-info[_ngcontent-%COMP%] .info-item[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#333;margin-right:5px}.awards-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:60px 20px}.awards-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%]{text-align:center;color:#666}.awards-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:64px;color:#ccc;margin-bottom:20px}.awards-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 10px;font-size:24px;font-weight:600;color:#333}.awards-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 25px;font-size:16px;line-height:1.5}.awards-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,gold,#ffb300);border:none;padding:12px 24px;border-radius:8px;color:#333;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #ffd7004d}.awards-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.awards-management[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-content[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.awards-management[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;text-decoration:none}.awards-management[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.awards-management[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #28a7454d}.awards-management[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:#6c757d;color:#fff}.awards-management[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.awards-management[_ngcontent-%COMP%] .btn.btn-secondary.btn-sm[_ngcontent-%COMP%]{padding:6px 12px;font-size:12px}.awards-management[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.awards-management[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}"]})}}return t})();function PE(t,s){t&1&&(r(0,"div",9),_(1,"i",10),r(2,"p"),a(3,"Loading season information..."),o()())}function OE(t,s){t&1&&(r(0,"span"),a(1," Teams cannot add, edit, or delete members and mentors. All roster management is disabled. "),o())}function yE(t,s){t&1&&(r(0,"span"),a(1," Teams can freely add, edit, and delete members and mentors in their team dashboard. "),o())}function wE(t,s){t&1&&_(0,"i",10)}function SE(t,s){if(t&1&&_(0,"i",17),t&2){let e=p(2);I("fa-lock",!e.currentSeason.rosterLocked)("fa-unlock",e.currentSeason.rosterLocked)}}function EE(t,s){t&1&&_(0,"i",10)}function TE(t,s){t&1&&_(0,"i",29)}function kE(t,s){if(t&1){let e=E();r(0,"div",26)(1,"button",27),b("click",function(){v(e);let i=p(2);return M(i.exportTeamRosters())}),h(2,EE,1,0,"i",23)(3,TE,1,0,"i",28),a(4),o()()}if(t&2){let e=p(2);c(),m("disabled",e.isExporting),c(),m("ngIf",e.isExporting),c(),m("ngIf",!e.isExporting),c(),w(" ",e.isExporting?"L
149oading...":"Export Team Rosters for Badge Printing Format"," ")}}function IE(t,s){if(t&1){let e=E();r(0,"div",11)(1,"div",12)(2,"h2"),_(3,"i",13),a(4),o(),r(5,"span",14),a(6),o()(),r(7,"div",15)(8,"div",16),_(9,"i",17),r(10,"span",18),a(11),o()(),r(12,"p",19),h(13,OE,2,0,"span",20)(14,yE,2,0,"span",20),o()(),r(15,"div",21)(16,"button",22),b("click",function(){v(e);let i=p();return M(i.toggleRosterLock())}),h(17,wE,1,0,"i",23)(18,SE,1,4,"i",24),a(19),o()(),h(20,kE,5,4,"div",25),o()}if(t&2){let e=p();c(4),w(" Current Season: ",e.currentSeason.seasonName," "),c(2),w("Season ",e.currentSeason.seasonNumber,""),c(2),I("locked",e.currentSeason.rosterLocked)("unlocked",!e.currentSeason.rosterLocked),c(),I("fa-lock",e.currentSeason.rosterLocked)("fa-unlock",!e.currentSeason.rosterLocked),c(2),w(" ",e.currentSeason.rosterLocked?"Rosters are LOCKED":"Rosters are UNLOCKED"," "),c(2),m("ngIf",e.currentSeason.rosterLocked),c(),m("ngIf",!e.currentSeason.rosterLocked),c(2),I("btn-danger",e.currentSeason.rosterLocked)("btn-success",!e.currentSeason.rosterLocked),m("disabled",e.isSaving),c(),m("ngIf",e.isSaving),c(),m("ngIf",!e.isSaving),c(),w(" ",e.isSaving?"Updating...":e.currentSeason.rosterLocked?"Unlock Rosters":"Lock Rosters"," "),c(),m("ngIf",e.currentSeason.rosterLocked)}}function FE(t,s){if(t&1&&(r(0,"tr")(1,"td"),a(2),o(),r(3,"td"),a(4),o(),r(5,"td"),a(6),o(),r(7,"td"),a(8),o(),r(9,"td"),a(10),o(),r(11,"td"),a(12),o(),r(13,"td"),a(14),o()()),t&2){let e=s.$implicit;c(2),O(e.team_ro_id),c(2),O(e.ftc_id),c(2),O(e.person_name),c(2),O(e.person_type),c(2),O(e.team_name),c(2),O(e.team_city),c(2),O(e.season_region)}}function DE(t,s){if(t&1){let e=E();r(0,"div",30)(1,"div",31)(2,"h3"),_(3,"i",32),a(4),o(),r(5,"button",33),b("click",function(){v(e);let i=p();return M(i.exportToCSV())}),_(6,"i",34),a(7," Export to CSV "),o()(),r(8,"div",35)(9,"table",36)(10,"thead")(11,"tr")(12,"th"),a(13,"Team RO ID"),o(),r(14,"th"),a(15,"FTC ID"),o(),r(16,"th"),a(17,"Person Name"),o(),r(18,"th"),a(19,"Person Type"),o(),r(20,"th"),a(21,"Team Name"),o(),r(22,"th"),a(23,"Team City"),o(),r(24,"th"),a(25,"Season Region"),o()()(),r(26,"tbody"),h(27,FE,15,7,"tr",37),o()()()()}if(t&2){let e=p();c(4),w(" Team Rosters Export (",e.exportData.length," entries) "),c(23),m("ngForOf",e.exportData)}}function RE(t,s){t&1&&(r(0,"div",38),_(1,"i",39),r(2,"p"),a(3,"No current season is set. Please set a current season first."),o()())}function zE(t,s){if(t&1&&(r(0,"div",40),_(1,"i",17),a(2),o()),t&2){let e=p();I("success",e.messageType==="success")("error",e.messageType==="error"),c(),I("fa-check-circle",e.messageType==="success")("fa-exclamation-circle",e.messageType==="error"),c(),w(" ",e.message," ")}}var xu=(()=>{class t{constructor(e,n){this.seasonsService=e,this.teamsService=n,this.currentSeason=null,this.isLoading=!1,this.isSaving=!1,this.message="",this.messageType="success",this.isExporting=!1,this.exportData=[],this.showExportTable=!1}ngOnInit(){return q(this,null,function*(){yield this.loadCurrentSeason()})}loadCurrentSeason(){return q(this,null,function*(){this.isLoading=!0;try{let e=yield this.seasonsService.getCurrentSeason().toPromise();e?.success&&e.message?this.currentSeason=e.message:this.showMessage("No current season found","error")}catch(e){console.error("Error loading current season:",e),this.showMessage("Failed to load current season","error")}finally{this.isLoading=!1}})}toggleRosterLock(){return q(this,null,function*(){if(!this.currentSeason){this.showMessage("No season selected","error");return}this.isSaving=!0;try{let e=!this.currentSeason.rosterLocked,n={rosterLocked:e};if((yield this.seasonsService.updateSeason(this.currentSeason.id,n).toPromise())?.success){this.currentSeason.rosterLocked=e;let d=e?"locked":"unlocked";this.showMessage(`Team rosters have been ${d} successfully`,"success"),e||(this.exportData=[],this.showExportTable=!1)}else this.showMessage("Failed to update roster lock status","error")}catch(e){console.error("Error updating roster lock:",e),this.showMessage("Failed to update roster lock status","error")}finally{this.isSaving=!1}})}exportTeamRosters(){return q(this,null,function*(){if(!this.currentSeason){this.showMessage("No season selected","error");return}this.isExporting=!0,this.showExportTable=!1;try{let e=yield this.teamsService.getAllTeamsForAdmin(this.currentSeason.id).toPromise();if(e?.success&&e.message){let n=e.message,i=[];for(let d of n){let u=d.teamSeasonData?.find(y=>y.seasonId===this.currentSeason.id);if(!u||!u.persons)continue;let x=u.seasonRegion?.name||"";if(Array.isArray(u.persons))for(let y of u.persons){let k=y;(k.personType==="MEMBER"||k.personType==="MENTOR")&&i.push({team_ro_id:d.romanianNumber||"",ftc_id:d.internationalNumber||"",person_name:`${k.firstName||""} ${k.lastName||""}`.trim(),person_type:k.personType,team_name:d.name||"",team_city:u.city||"",season_regi
149on:x})}}this.exportData=i,this.showExportTable=!0,this.showMessage(`Exported ${i.length} roster entries`,"success")}else this.showMessage("Failed to load teams data","error")}catch(e){console.error("Error exporting rosters:",e),this.showMessage("Failed to export rosters","error")}finally{this.isExporting=!1}})}exportToCSV(){if(this.exportData.length===0){this.showMessage("No data to export","error");return}let n=[["team_ro_id","ftc_id","person_name","person_type","team_name","team_city","season_region"].join(","),...this.exportData.map(x=>[this.escapeCSV(x.team_ro_id),this.escapeCSV(x.ftc_id),this.escapeCSV(x.person_name),this.escapeCSV(x.person_type),this.escapeCSV(x.team_name),this.escapeCSV(x.team_city),this.escapeCSV(x.season_region)].join(","))].join(` 150`),i=new Blob(["\uFEFF"+n],{type:"text/csv;charset=utf-8;"}),d=document.createElement("a"),u=URL.createObjectURL(i);d.setAttribute("href",u),d.setAttribute("download",`team_rosters_${this.currentSeason?.seasonName||"export"}_${new Date().toISOString().split("T")[0]}.csv`),d.style.visibility="hidden",document.body.appendChild(d),d.click(),document.body.removeChild(d),this.showMessage("CSV file downloaded successfully","success")}escapeCSV(e){return e?e.includes(",")||e.includes('"')||e.includes(` 151`)?`"${e.replace(/"/g,'""')}"`:e:""}showMessage(e,n){this.message=e,this.messageType=n,setTimeout(()=>{this.message=""},5e3)}static{this.\u0275fac=function(n){return new(n||t)(T(Ve),T(Ne))}}static{this.\u0275cmp=V({type:t,selectors:[["app-roster-settings"]],standalone:!0,features:[B],decls:12,vars:5,consts:[[1,"roster-settings-container"],[1,"header"],[1,"fas","fa-lock"],[1,"description"],["class","loading",4,"ngIf"],["class","season-info-card",4,"ngIf"],["class","export-table-container",4,"ngIf"],["class","no-season",4,"ngIf"],["class","message",3,"success","error",4,"ngIf"],[1,"loading"],[1,"fas","fa-spinner","fa-spin"],[1,"season-info-card"],[1,"season-header"],[1,"fas","fa-calendar-alt"],[1,"season-number"],[1,"roster-status"],[1,"status-indicator"],[1,"fas"],[1,"status-text"],[1,"status-description"],[4,"ngIf"],[1,"action-section"],["type","button",1,"btn","btn-primary","toggle-btn",3,"click","disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","fas",3,"fa-lock","fa-unlock",4,"ngIf"],["class","export-section",4,"ngIf"],[1,"export-section"],["type","button",1,"btn","btn-secondary","export-btn",3,"click","disabled"],["class","fas fa-download",4,"ngIf"],[1,"fas","fa-download"],[1,"export-table-container"],[1,"export-table-header"],[1,"fas","fa-table"],["type","button",1,"btn","btn-success","export-csv-btn",3,"click"],[1,"fas","fa-file-csv"],[1,"table-wrapper"],[1,"export-table"],[4,"ngFor","ngForOf"],[1,"no-season"],[1,"fas","fa-exclamation-triangle"],[1,"message"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h1"),_(3,"i",2),a(4," Roster Settings"),o(),r(5,"p",3),a(6," Control whether teams can edit their members and mentors lists for the current season. "),o()(),h(7,PE,4,0,"div",4)(8,IE,21,22,"div",5)(9,DE,28,2,"div",6)(10,RE,4,0,"div",7)(11,zE,3,9,"div",8),o()),n&2&&(c(7),m("ngIf",i.isLoading),c(),m("ngIf",i.currentSeason&&!i.isLoading),c(),m("ngIf",i.showExportTable&&i.exportData.length>0),c(),m("ngIf",!i.currentSeason&&!i.isLoading),c(),m("ngIf",i.message))},dependencies:[H,X,$],styles:[".roster-settings-container[_ngcontent-%COMP%]{padding:2rem;max-width:900px;margin:0 auto}.roster-settings-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:2rem}.roster-settings-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem;font-size:2.5rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.roster-settings-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea}.roster-settings-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{color:#6c757d;font-size:1.1rem;margin:0;line-height:1.6}.roster-settings-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}
151.roster-settings-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.5rem;color:#667eea;margin-bottom:1rem}.roster-settings-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#6c757d;margin:0}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem;margin-bottom:2rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e9ecef}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.75rem;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:.75rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%] .season-number[_ngcontent-%COMP%]{background:#667eea;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .roster-status[_ngcontent-%COMP%]{margin-bottom:2rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .roster-status[_ngcontent-%COMP%] .status-indicator[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-radius:8px;margin-bottom:1rem;font-size:1.2rem;font-weight:600}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .roster-status[_ngcontent-%COMP%] .status-indicator[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .roster-status[_ngcontent-%COMP%] .status-indicator.locked[_ngcontent-%COMP%]{background:#fee;border:2px solid #fcc;color:#c33}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .roster-status[_ngcontent-%COMP%] .status-indicator.locked[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#c33}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .roster-status[_ngcontent-%COMP%] .status-indicator.unlocked[_ngcontent-%COMP%]{background:#efe;border:2px solid #cfc;color:#3c3}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .roster-status[_ngcontent-%COMP%] .status-indicator.unlocked[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3c3}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .roster-status[_ngcontent-%COMP%] .status-description[_ngcontent-%COMP%]{color:#6c757d;font-size:1rem;line-height:1.6;margin:0;padding:1rem;background:#f8f9fa;border-radius:6px;border-left:4px solid #667eea}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%]{display:flex;justify-content:center;padding-top:1.5rem;border-top:1px solid #e9ecef}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;
151min-width:200px;justify-content:center}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%] .toggle-btn.btn-danger[_ngcontent-%COMP%]{background:#dc3545;color:#fff}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%] .toggle-btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:#c82333}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%] .toggle-btn.btn-success[_ngcontent-%COMP%]{background:#28a745;color:#fff}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%] .toggle-btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:#218838}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .action-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.2rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .export-section[_ngcontent-%COMP%]{margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef;display:flex;justify-content:center}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .export-section[_ngcontent-%COMP%] .export-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:#6c757d;color:#fff}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .export-section[_ngcontent-%COMP%] .export-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .export-section[_ngcontent-%COMP%] .export-btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .export-section[_ngcontent-%COMP%] .export-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.2rem}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem;margin-top:2rem}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:.75rem}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] .export-csv-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;background:#28a745;color:#fff}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] .export-csv-btn[_ngcontent-%COMP%]:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}
151.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] .export-csv-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.1rem}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .table-wrapper[_ngcontent-%COMP%]{overflow-x:auto;max-height:600px;overflow-y:auto;border:1px solid #e9ecef;border-radius:8px}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;font-size:.95rem}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{background:#f8f9fa;position:sticky;top:0;z-index:10}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #dee2e6;white-space:nowrap}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background:#f8f9fa}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child{border-bottom:none}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:.75rem 1rem;color:#495057;white-space:nowrap}.roster-settings-container[_ngcontent-%COMP%] .no-season[_ngcontent-%COMP%]{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:2rem;text-align:center}.roster-settings-container[_ngcontent-%COMP%] .no-season[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;color:#f39c12;margin-bottom:1rem}.roster-settings-container[_ngcontent-%COMP%] .no-season[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#856404;font-size:1.1rem;margin:0}.roster-settings-container[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-weight:500;animation:_ngcontent-%COMP%_slideIn .3s ease}.roster-settings-container[_ngcontent-%COMP%] .message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.2rem}.roster-settings-container[_ngcontent-%COMP%] .message.success[_ngcontent-%COMP%]{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.roster-settings-container[_ngcontent-%COMP%] .message.success[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#28a745}.roster-settings-container[_ngcontent-%COMP%] .message.error[_ngcontent-%COMP%]{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.roster-settings-container[_ngcontent-%COMP%] .message.error[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#dc3545}@keyframes _ngcontent-%COMP%_slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.roster-settings-container[_ngcontent-%COMP%]{padding:1rem}.roster-settings-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%]{padding:1.5rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .season-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%], .roster-settings-container[_ngcontent-%COMP%] .season-info-card[_ngcontent-%COMP%] .export-section[_ngcontent-%COMP%] .export-btn[_ngcontent-%COMP%]{width:100%}
151.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%]{padding:1rem}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.roster-settings-container[_ngcontent-%COMP%] .export-table-container[_ngcontent-%COMP%] .export-table-header[_ngcontent-%COMP%] .export-csv-btn[_ngcontent-%COMP%]{width:100%}}"]})}}return t})();function NE(t,s){if(t&1){let e=E();r(0,"div",11)(1,"h3"),_(2,"i",12),a(3," Creeaz\u0103 un link personalizat"),o(),r(4,"p",13),a(5,"Vizitatorii care acceseaz\u0103 linkul natie.ro vor fi redirec\u021Biona\u021Bi automat c\u0103tre adresa introdus\u0103."),o(),r(6,"div",14)(7,"label",15),a(8,"Nume *"),o(),r(9,"input",16),z("ngModelChange",function(i){v(e);let d=p();return R(d.newLinkName,i)||(d.newLinkName=i),M(i)}),o()(),r(10,"div",14)(11,"label",17),a(12,"Adresa destina\u021Biei *"),o(),r(13,"input",18),z("ngModelChange",function(i){v(e);let d=p();return R(d.newLinkUrl,i)||(d.newLinkUrl=i),M(i)}),o()(),r(14,"div",14)(15,"label",19),a(16,"URL personalizat * "),r(17,"span",20),a(18,"(litere mici, cifre \u0219i cratime)"),o()(),r(19,"div",21)(20,"span",22),a(21,"natie.ro/share/"),o(),r(22,"input",23),z("ngModelChange",function(i){v(e);let d=p();return R(d.newLinkSlug,i)||(d.newLinkSlug=i),M(i)}),o()()(),r(23,"div",14)(24,"label",24),a(25,"Descriere (op\u021Bional)"),o(),r(26,"textarea",25),z("ngModelChange",function(i){v(e);let d=p();return R(d.newLinkDescription,i)||(d.newLinkDescription=i),M(i)}),o()(),r(27,"div",26)(28,"button",27),b("click",function(){v(e);let i=p();return M(i.createLink())}),_(29,"i",6),a(30),o(),r(31,"button",28),b("click",function(){v(e);let i=p();return M(i.resetLinkForm())}),a(32,"Anuleaz\u0103"),o()()()}if(t&2){let e=p();c(9),D("ngModel",e.newLinkName),c(4),D("ngModel",e.newLinkUrl),c(9),D("ngModel",e.newLinkSlug),c(4),D("ngModel",e.newLinkDescription),c(2),m("disabled",e.isUploading),c(),I("fa-spinner",e.isUploading)("fa-spin",e.isUploading)("fa-link",!e.isUploading),c(),w(" ",e.isUploading?"Se creeaz\u0103...":"Creeaz\u0103 linkul"," ")}}function AE(t,s){if(t&1&&(r(0,"p",39),_(1,"i",40),a(2),o()),t&2){let e=p(2);c(2),G(" ",e.selectedFile.name," (",e.formatFileSize(e.selectedFile.size),") ")}}function LE(t,s){t&1&&_(0,"i",41)}function VE(t,s){t&1&&_(0,"i",42)}function BE(t,s){if(t&1){let e=E();r(0,"div",11)(1,"h3"),_(2,"i",29),a(3," Upload New File"),o(),r(4,"div",14)(5,"label",30),a(6,"Select File *"),o(),r(7,"input",31),b("change",function(i){v(e);let d=p();return M(d.onFileSelected(i))}),o(),h(8,AE,3,2,"p",32),o(),r(9,"div",14)(10,"label",33),a(11,"URL Slug * "),r(12,"span",20),a(13,"(lowercase letters, numbers, hyphens only)"),o()(),r(14,"div",21)(15,"span",22),a(16,"natie.ro/share/"),o(),r(17,"input",34),z("ngModelChange",function(i){v(e);let d=p();return R(d.newSlug,i)||(d.newSlug=i),M(i)}),o()()(),r(18,"div",14)(19,"label",35),a(20,"Description (optional)"),o(),r(21,"textarea",36),z("ngModelChange",function(i){v(e);let d=p();return R(d.newDescription,i)||(d.newDescription=i),M(i)}),o()(),r(22,"div",26)(23,"button",27),b("click",function(){v(e);let i=p();return M(i.uploadFile())}
151),h(24,LE,1,0,"i",37)(25,VE,1,0,"i",38),a(26),o(),r(27,"button",28),b("click",function(){v(e);let i=p();return M(i.resetUploadForm())}),a(28," Cancel "),o()()()}if(t&2){let e=p();c(8),m("ngIf",e.selectedFile),c(9),D("ngModel",e.newSlug),c(4),D("ngModel",e.newDescription),c(2),m("disabled",e.isUploading||!e.selectedFile||!e.newSlug.trim()),c(),m("ngIf",e.isUploading),c(),m("ngIf",!e.isUploading),c(),w(" ",e.isUploading?"Uploading...":"Upload File"," ")}}function UE(t,s){if(t&1&&(r(0,"div",14)(1,"label"),a(2,"Current File"),o(),r(3,"div",51),_(4,"i",52),r(5,"span"),a(6),o()()()),t&2){let e=p(2);c(4),m("ngClass",e.getFileIcon(e.editingFile.mimeType)),c(2),G("",e.editingFile.name," (",e.formatFileSize(e.editingFile.size),")")}}function jE(t,s){if(t&1){let e=E();r(0,"div",14)(1,"label",53),a(2,"Adresa destina\u021Biei *"),o(),r(3,"input",54),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.editTargetUrl,i)||(d.editTargetUrl=i),M(i)}),o()()}if(t&2){let e=p(2);c(3),D("ngModel",e.editTargetUrl)}}function qE(t,s){if(t&1&&(r(0,"p",39),_(1,"i",40),a(2),o()),t&2){let e=p(3);c(2),G(" ",e.replacementFile.name," (",e.formatFileSize(e.replacementFile.size),") ")}}function WE(t,s){t&1&&(r(0,"p",13),a(1," Leave empty to keep the current file. Only select a file if you want to replace it. "),o())}function $E(t,s){if(t&1){let e=E();r(0,"div",14)(1,"label",55),a(2,"Replace File (optional)"),o(),r(3,"input",56),b("change",function(i){v(e);let d=p(2);return M(d.onReplacementFileSelected(i))}),o(),h(4,qE,3,2,"p",32)(5,WE,2,0,"p",57),o()}if(t&2){let e=p(2);c(4),m("ngIf",e.replacementFile),c(),m("ngIf",!e.replacementFile)}}function HE(t,s){t&1&&_(0,"i",41)}function GE(t,s){t&1&&_(0,"i",58)}function ZE(t,s){if(t&1){let e=E();r(0,"div",11)(1,"h3"),_(2,"i",43),a(3),o(),h(4,UE,7,3,"div",44)(5,jE,4,1,"div",44)(6,$E,6,2,"div",44),r(7,"div",14)(8,"label",45),a(9,"URL Slug * "),r(10,"span",20),a(11,"(lowercase letters, numbers, hyphens only)"),o()(),r(12,"div",21)(13,"span",22),a(14,"natie.ro/share/"),o(),r(15,"input",46),z("ngModelChange",function(i){v(e);let d=p();return R(d.editSlug,i)||(d.editSlug=i),M(i)}),o()()(),r(16,"div",14)(17,"label",47),a(18,"Description (optional)"),o(),r(19,"textarea",48),z("ngModelChange",function(i){v(e);let d=p();return R(d.editDescription,i)||(d.editDescription=i),M(i)}),o()(),r(20,"div",26)(21,"button",27),b("click",function(){v(e);let i=p();return M(i.saveEdit())}),h(22,HE,1,0,"i",37)(23,GE,1,0,"i",49),a(24),o(),r(25,"button",50),b("click",function(){v(e);let i=p();return M(i.closeEditForm())}),a(26," Cancel "),o()()()}if(t&2){let e=p();c(3),G(" Editeaz\u0103 ",e.editingFile.type==="LINK"?"linkul":"fi\u0219ierul",": ",e.editingFile.name,""),c(),m("ngIf",e.editingFile.type==="FILE"),c(),m("ngIf",e.editingFile.type==="LINK"),c(),m("ngIf",e.editingFile.type==="FILE"),c(9),D("ngModel",e.editSlug),c(4),D("ngModel",e.editDescription),c(2),m("disabled",!e.editSlug.trim()||e.isReplacingFile),c(),m("ngIf",e.isReplacingFile),c(),m("ngIf",!e.isReplacingFile),c(),w(" ",e.isReplacingFile?"Replacing...":"Save Changes"," "),c(),m("disabled",e.isReplacingFile)}}function YE(t,s){t&1&&(r(0,"div",59),_(1,"i",41),r(2,"p"),a(3,"Loading shared files..."),o()())}function KE(t,s){t&1&&(r(0,"div",63),_(1,"i",64),r(2,"h3"),a(3,"Niciun fi\u0219ier sau link"),o(),r(4,"p"),a(5,"\xCEncarc\u0103 un fi\u0219ier sau adaug\u0103 primul link personalizat."),o()())}function QE(t,s){if(t&1&&(r(0,"p",88),a(1),o()),t&2){let e=p().$implicit;c(),O(e.description)}}function JE(t,s){if(t&1&&(r(0,"span",70),_(1,"i",89),a(2),o()),t&2){let e=p().$implicit,n=p(2);c(2),w(" ",n.formatFileSize(e.size)," ")}}function XE(t,s){if(t&1&&(r(0,"a",90),_(1,"i",12),a(2," Deschide destina\u021Bia "),o()),t&2){let e=p().$implicit;m("href",e.targetUrl,ae)}}function e5(t,s){if(t&1){let e=E();r(0,"button",91),b("click",function(){v(e);let i=p().$implicit,d=p(2);return M(d.openPreview(i))}),_(1,"i",92),o()}}function t5(t,s){if(t&1){let e=E();r(0,"button",93),b("click",function(){v(e);let i=p().$implicit,d=p(2);return M(d.openDownload(i))}),_(1,"i",94),o()}}function n5(t,s){if(t&1){let e=E();r(0,"div",65)(1,"div",66),_(2,"i",52),o(),r(3,"div",67)(4,"h4"),a(5),o(),h(6,QE,2,1,"p",68),r(7,"div",69)(8,"span",70),_(9,"i",71),r(10,"a",72),a(11),o()(),h(12,JE,3,1,"span",73),r(13,"span",70),_(14,"i",52),a(15),o(),r(16,"span",70),_(17,"i",74),a(18),o()(),r(19,"div",75),_(20,"input",76),r(21,"button",77),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.copyShareLink(i))}),_(22,"i",6),a(23),o()(),h(24,XE,3,1,"a",78),o(),r(25,"div",79)(26,"span",80),a(27),o()(),r(28,"div",81),h(29,e5,2,0,"button",82)(30,t5,2,0,"button",83),r(31,"button",84),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.openEditForm(i))}),_(32,"i",43),o(),r(33,"button",85),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.toggleActive(i))}),_(34,"i",6),o(),r(35,"button",86),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.deleteFile(i))}),_(36,"i",87),o()()()}if(t&2){let e=s.$implicit,n=p(2);I("inactive",!e.isActive),c(2),m("ngClass",n.getResourceIcon(e)),c(3),O(e.name),c(),m("ngIf",e.de
151scription),c(4),m("href",n.getShareUrl(e),ae),c(),O(e.slug),c(),m("ngIf",e.type==="FILE"),c(2),m("ngClass",e.type==="LINK"?"fa-mouse-pointer":"fa-download"),c(),G(" ",e.downloadCount," ",e.type==="LINK"?"acces\u0103ri":"desc\u0103rc\u0103ri"," "),c(3),w(" ",n.formatDate(e.createdAt)," "),c(2),m("value",n.getShareUrl(e)),c(),I("copied",n.copiedId===e.id),c(),I("fa-copy",n.copiedId!==e.id)("fa-check",n.copiedId===e.id),c(),w(" ",n.copiedId===e.id?"Copied!":"Copy"," "),c(),m("ngIf",e.type==="LINK"&&e.targetUrl),c(2),I("active",e.isActive)("inactive",!e.isActive),c(),w(" ",e.isActive?"Active":"Inactive"," "),c(2),m("ngIf",e.type==="FILE"),c(),m("ngIf",e.type==="FILE"),c(3),m("title",e.isActive?"Deactivate":"Activate"),c(),I("fa-toggle-on",e.isActive)("fa-toggle-off",!e.isActive)}}function i5(t,s){if(t&1&&(r(0,"div",60),h(1,KE,6,0,"div",61)(2,n5,37,33,"div",62),o()),t&2){let e=p();c(),m("ngIf",e.sharedFiles.length===0),c(),m("ngForOf",e.sharedFiles)}}function o5(t,s){if(t&1&&(r(0,"div",95),_(1,"i",6),a(2),o()),t&2){let e=p();I("success",e.messageType==="success")("error",e.messageType==="error"),c(),I("fa-check-circle",e.messageType==="success")("fa-exclamation-circle",e.messageType==="error"),c(),w(" ",e.message," ")}}var bu=(()=>{class t{constructor(e){this.sharedFilesService=e,this.sharedFiles=[],this.isLoading=!1,this.isUploading=!1,this.showUploadForm=!1,this.showLinkForm=!1,this.showEditForm=!1,this.newSlug="",this.newDescription="",this.selectedFile=null,this.newLinkName="",this.newLinkSlug="",this.newLinkUrl="",this.newLinkDescription="",this.editingFile=null,this.editSlug="",this.editDescription="",this.editTargetUrl="",this.replacementFile=null,this.isReplacingFile=!1,this.message="",this.messageType="success",this.copiedId=null}ngOnInit(){this.loadSharedFiles()}loadSharedFiles(){return q(this,null,function*(){this.isLoading=!0;try{let e=yield this.sharedFilesService.getAllSharedFiles().toPromise();e?.success&&(this.sharedFiles=e.message)}catch(e){console.error("Error loading shared files:",e),this.showMessage("Failed to load shared files","error")}finally{this.isLoading=!1}})}onFileSelected(e){let n=e.target;n.files&&n.files.length>0&&(this.selectedFile=n.files[0])}uploadFile(){return q(this,null,function*(){if(!this.selectedFile||!this.newSlug.trim()){this.showMessage("Please select a file and provide a slug","error");return}if(!/^[a-z0-9-]+$/.test(this.newSlug)){this.showMessage("Slug must contain only lowercase letters, numbers, and hyphens","error");return}this.isUploading=!0;try{let n={slug:this.newSlug.trim(),description:this.newDescription.trim()||void 0};(yield this.sharedFilesService.createSharedFile(this.selectedFile,n).toPromise())?.success&&(this.showMessage("File uploaded successfully!","success"),this.resetUploadForm(),yield this.loadSharedFiles())}catch(n){console.error("Error uploading file:",n);let i=n.error?.message||"Failed to upload file";this.showMessage(i,"error")}finally{this.isUploading=!1}})}createLink(){return q(this,null,function*(){if(!this.newLinkName.trim()||!this.newLinkSlug.trim()||!this.newLinkUrl.trim()){this.showMessage("Completeaz\u0103 numele, slugul \u0219i adresa destina\u021Biei","error");return}if(!/^[a-z0-9-]+$/.test(this.newLinkSlug.trim())){this.showMessage("Slugul poate con\u021Bine doar litere mici, cifre \u0219i cratime","error");return}try{let e=new URL(this.newLinkUrl.trim());if(!["http:","https:"].includes(e.protocol))throw new Error}catch{this.showMessage("Adresa destina\u021Biei trebuie s\u0103 \xEEnceap\u0103 cu http:// sau https://","error");return}this.isUploading=!0;try{let e={name:this.newLinkName.trim(),slug:this.newLinkSlug.trim(),targetUrl:this.newLinkUrl.trim(),description:this.newLinkDescription.trim()||void 0};(yield this.sharedFilesService.createSharedLink(e).toPromise())?.success&&(this.showMessage("Link creat cu succes!","success"),this.resetLinkForm(),yield this.loadSharedFiles())}catch(e){this.showMessage(e.error?.message||"Nu s-a putut crea linkul","error")}finally{this.isUploading=!1}})}openEditForm(e){this.editingFile=e,this.editSlug=e.slug,this.editDescription=e.description||"",this.editTargetUrl=e.targetUrl||"",this.replacementFile=null,this.showEditForm=!0,this.showUploadForm=!1,this.showLinkForm=!1}onReplacementFileSelected(e){let n=e.target;n.files&&n.files.length>0&&(this.replacementFile=n.files[0])}saveEdit(){return q(this,null,function*(){if(!this.editingFile||!this.editSlug.trim()){this.showMessage("Slug is required","error");return}if(!/^[a-z0-9-]+$/.test(this.editSlug)){this.showMessage("Slug must contain only lowercase letters, numbers, and hyphens","error");return}try{let n={slug:this.editSlug.trim(),description:this.editDescription.trim()||void 0,targetUrl:this.editingFile.type==="LINK"?this.editTargetUrl.trim():void 0},i=yield this.sharedFilesService.updateSharedFile(this.editingFile.i
151d,n).toPromise();if(this.replacementFile){this.isReplacingFile=!0;try{yield this.replaceFile()}catch(d){console.error("Error replacing file:",d);let u=d.error?.message||"Failed to replace file";this.showMessage(`Metadata updated but ${u}`,"error"),yield this.loadSharedFiles();return}finally{this.isReplacingFile=!1}}i?.success&&(this.showMessage(this.replacementFile?"File and metadata updated successfully!":"File updated successfully!","success"),this.closeEditForm(),yield this.loadSharedFiles())}catch(n){console.error("Error updating file:",n);let i=n.error?.message||"Failed to update file";this.showMessage(i,"error")}})}replaceFile(){return q(this,null,function*(){if(!(!this.editingFile||!this.replacementFile))try{if((yield this.sharedFilesService.replaceSharedFile(this.editingFile.id,this.replacementFile).toPromise())?.success)return}catch(e){throw e}})}toggleActive(e){return q(this,null,function*(){try{let n=yield this.sharedFilesService.toggleActive(e.id).toPromise();if(n?.success){let i=n.message.isActive?"activated":"deactivated";this.showMessage(`File ${i} successfully!`,"success"),yield this.loadSharedFiles()}}catch(n){console.error("Error toggling file status:",n),this.showMessage("Failed to toggle file status","error")}})}deleteFile(e){return q(this,null,function*(){if(confirm(`Are you sure you want to delete "${e.name}"? This action cannot be undone.`))try{(yield this.sharedFilesService.deleteSharedFile(e.id).toPromise())?.success&&(this.showMessage("File deleted successfully!","success"),yield this.loadSharedFiles())}catch(n){console.error("Error deleting file:",n),this.showMessage("Failed to delete file","error")}})}copyShareLink(e){let n=this.sharedFilesService.getPublicShareUrl(e.slug);navigator.clipboard.writeText(n).then(()=>{this.copiedId=e.id,setTimeout(()=>{this.copiedId=null},2e3)})}getShareUrl(e){return this.sharedFilesService.getPublicShareUrl(e.slug)}getDownloadUrl(e){return this.sharedFilesService.getDownloadUrl(e.slug)}getPreviewUrl(e){return this.sharedFilesService.getPreviewUrl(e.slug)}openPreview(e){window.open(this.getPreviewUrl(e),"_blank")}openDownload(e){window.open(this.getDownloadUrl(e),"_blank")}formatFileSize(e){if(e===-1||e===0)return"Unknown";let n=1024,i=["Bytes","KB","MB","GB"],d=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,d)).toFixed(2))+" "+i[d]}formatDate(e){return e?new Date(e).toLocaleDateString("ro-RO",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"N/A"}getFileIcon(e){return e.startsWith("image/")?"fa-file-image":e.startsWith("video/")?"fa-file-video":e.startsWith("audio/")?"fa-file-audio":e==="application/pdf"?"fa-file-pdf":e.includes("word")||e.includes("document")?"fa-file-word":e.includes("excel")||e.includes("spreadsheet")?"fa-file-excel":e.includes("powerpoint")||e.includes("presentation")?"fa-file-powerpoint":e.includes("zip")||e.includes("archive")||e.includes("compressed")?"fa-file-archive":"fa-file"}getResourceIcon(e){return e.type==="LINK"?"fa-external-link-alt":this.getFileIcon(e.mimeType)}resetUploadForm(){this.newSlug="",this.newDescription="",this.selectedFile=null,this.showUploadForm=!1;let e=document.getElementById("fileInput");e&&(e.value="")}resetLinkForm(){this.newLinkName="",this.newLinkSlug="",this.newLinkUrl="",this.newLinkDescription="",this.showLinkForm=!1}closeEditForm(){this.editingFile=null,this.editSlug="",this.editDescription="",this.editTargetUrl="",this.replacementFile=null,this.showEditForm=!1;let e=document.getElementById("replacementFileInput");e&&(e.value="")}showMessage(e,n){this.message=e,this.messageType=n,setTimeout(()=>{this.message=""},5e3)}static{this.\u0275fac=function(n){return new(n||t)(T(Mi))}}static{this.\u0275cmp=V({type:t,selectors:[["app-sharepoint-management"]],standalone:!0,features:[B],decls:20,vars:16,consts:[[1,"sharepoint-container"],[1,"header"],[1,"fas","fa-share-alt"],[1,"description"],[1,"actions-bar"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fas"],["class","form-card",4,"ngIf"],["class","loading",4,"ngIf"],["class","files-list",4,"ngIf"],["class","message",3,"success","error",4,"ngIf"],[1,"form-card"],[1,"fas","fa-external-link-alt"],[1,"hint-text"],[1,"form-group"],["for","linkName"],["id","linkName","type","text","placeholder","de exemplu: Regulament sezon",1,"slug-input",3,"ngModelChange","ngModel"],["for","linkUrl"],["id","linkUrl","type","url","placeholder","https://drive.google.com/...",1,"slug-input",3,"ngModelChange","ngModel"],["for","linkSlug"],[1,"hint"],[1,"slug-preview"],[1,"url-prefix"],["id","linkSlug","type","text","placeholder","regulament-sezon","pattern","[a-z0-9-]+",1,"slug-input",3,"ngModelChange","ngModel"],["for","linkDescription"],["id","linkDescription","rows","3","placeholder","O scurt\u0103 descriere...",3,"ngModelChange","ngModel"],[1,"form-actions"],["type","button",1,"btn","btn-success",3,"click","disabled"],["type","button",1,"btn","btn-outline",3,"click"],[1,"fas","fa-cloud-upload-alt"],["for","fileInput"],["type","file","id","fileInput",1,"file-input",3,"change"],["class","file-name",4,"ngIf"],["for","slug"],["type","text","id","slug","placeholder","my-file-name","pattern","[a-z0-9-]+",1,"slug-input",3,"ngModelChange","ngModel"],["for","description"],["id","description","placeholder","Add a description for this file...","rows","3",3,"ngModelChange","ngModel"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","fas fa-upload",4,"ngIf"],[1,"file-name"],[1,"fas","fa-file"],[1,"fas","fa-spinner","fa-spin"],[1,"fas","fa-upload"],[1,"fas","fa-edit"],["class","form-group",4,"ngIf"],["for","editSlug"],["type","text","id","editSlug","placeholder","my-file-name","pattern","[a-z0-9-]+",1,"slug-input",3,"ngModelChange","ngModel"],["for","editDescription"],["id","editDescription","placeholder","Add a description for this file...","rows","3",3,"ngModelChange","ngModel"],["class","fas fa-save",4,"ngIf"],["type","button",1,"btn","btn-outline",3,"click","disabled"],[1,"current-file-info"],[1,"fas",3,"ngClass"],["for","editTargetUrl"],["id","editTargetUrl","type","url","placeholder","https://...",1,"slug-input",3,"ngModelChange","ngModel"],["for","replacementFileInput"],["type","file","id","replacementFileInput",1,"file-input",3,"change"],["class","hint-text",4,"ngIf"],[1,"fas","fa-save"],[1,"loading"],[1,"files-list"],["class","empty-state",4,"ngIf"],["class","file-card",3,"inactive",4,"ngFor","ngForOf"],[1,"empty-state"],[1,"fas","fa-folder-open"],[1,"file-card"],[1,"file-icon"],[1,"file-info"],["class","file-description",4,"ngIf"],[1,"file-meta"],[1,"meta-item"],[1,"fas","fa-link"],["target","_blank",3,"href"],["class","meta-item",4,"ngIf"],[1,"fas","fa-calendar"],[1,"share-url"],["type","text","readonly","",1,"url-display",3,"value"],["type","button",1,"btn","btn-sm","btn-copy",3,"click"],["class","hint-text","target","_blank","rel","noopener noreferrer",3,"href",4,"ngIf"],[1,"file-status"],[1,"status-badge"],[1,"file-actions"],["type","button","class","btn-icon","title","Preview",3,"click",4,"ngIf"],["type","button","class","btn-icon","title","Download",3,"click",4,"ngIf"],["type","button","title","Edit",1,"btn-icon",3,"click"],["type","button",1,"btn-icon",3,"click","title"],["type","button","title","Delete",1,"btn-icon","btn-danger",3,"click"],[1,"fas","fa-tras
151h"],[1,"file-description"],[1,"fas","fa-weight-hanging"],["target","_blank","rel","noopener noreferrer",1,"hint-text",3,"href"],["type","button","title","Preview",1,"btn-icon",3,"click"],[1,"fas","fa-eye"],["type","button","title","Download",1,"btn-icon",3,"click"],[1,"fas","fa-download"],[1,"message"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h1"),_(3,"i",2),a(4," SharePoint - Fi\u0219iere \u0219i linkuri"),o(),r(5,"p",3),a(6," \xCEncarc\u0103 fi\u0219iere sau creeaz\u0103 linkuri personalizate c\u0103tre Google Drive, OneDrive, SharePoint \u0219i alte resurse. "),o()(),r(7,"div",4)(8,"button",5),b("click",function(){return i.showUploadForm=!i.showUploadForm,i.showEditForm=!1}),_(9,"i",6),a(10),o(),r(11,"button",5),b("click",function(){return i.showLinkForm=!i.showLinkForm,i.showUploadForm=!1,i.showEditForm=!1}),_(12,"i",6),a(13),o()(),h(14,NE,33,12,"div",7)(15,BE,29,7,"div",7)(16,ZE,27,12,"div",7)(17,YE,4,0,"div",8)(18,i5,3,2,"div",9)(19,o5,3,9,"div",10),o()),n&2&&(c(9),I("fa-plus",!i.showUploadForm)("fa-times",i.showUploadForm),c(),w(" ",i.showUploadForm?"Cancel":"Upload New File"," "),c(2),I("fa-plus",!i.showLinkForm)("fa-times",i.showLinkForm),c(),w(" ",i.showLinkForm?"Anuleaz\u0103":"Adaug\u0103 link"," "),c(),m("ngIf",i.showLinkForm),c(),m("ngIf",i.showUploadForm),c(),m("ngIf",i.showEditForm&&i.editingFile),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading),c(),m("ngIf",i.message))},dependencies:[H,xt,X,$,se,re,ie,Qi,pe],styles:[".sharepoint-container[_ngcontent-%COMP%]{padding:2rem;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sharepoint-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:2rem}.sharepoint-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem;font-size:2.5rem;font-weight:700;display:flex;align-items:center;gap:1rem}.sharepoint-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.sharepoint-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{color:#7f8c8d;font-size:1.1rem;margin:0}.sharepoint-container[_ngcontent-%COMP%] .actions-bar[_ngcontent-%COMP%]{margin-bottom:2rem}.sharepoint-container[_ngcontent-%COMP%] .actions-bar[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.sharepoint-container[_ngcontent-%COMP%] .actions-bar[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.sharepoint-container[_ngcontent-%COMP%] .actions-bar[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem;margin-bottom:2rem}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#2c3e50;margin:0 0 1.5rem;font-size:1.3rem;display:flex;align-items:center;gap:.75rem}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-bottom:1.5rem}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{font-weight:400;color:#7f8c8d;font-size:.9rem}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], .sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;padding:.75rem 1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]:focus, .sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{outline:none;border-color:#3498db}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .file-input[_ngcontent-%COMP%]{padding:1rem;border:2px dashed #e9ecef;border-radius:8px;width:100%;cursor:pointer}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .file-input[_ngcontent-%COMP%]:hover{border-color:#3498db}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .file-name[_ng
151content-%COMP%]{margin-top:.5rem;color:#27ae60;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .hint-text[_ngcontent-%COMP%]{margin-top:.5rem;color:#7f8c8d;font-size:.85rem;font-style:italic}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .current-file-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .current-file-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea;font-size:1.25rem}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .current-file-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#2c3e50;font-size:.95rem}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .slug-preview[_ngcontent-%COMP%]{display:flex;align-items:center;background:#f8f9fa;border-radius:8px;overflow:hidden;border:2px solid #e9ecef}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .slug-preview[_ngcontent-%COMP%]:focus-within{border-color:#3498db}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .slug-preview[_ngcontent-%COMP%] .url-prefix[_ngcontent-%COMP%]{padding:.75rem 1rem;background:#e9ecef;color:#7f8c8d;font-family:monospace;white-space:nowrap}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .slug-preview[_ngcontent-%COMP%] .slug-input[_ngcontent-%COMP%]{flex:1;border:none;background:transparent;padding:.75rem 1rem;font-family:monospace}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .slug-preview[_ngcontent-%COMP%] .slug-input[_ngcontent-%COMP%]:focus{outline:none}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]{background:#27ae60;color:#fff}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:#219a52}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-success[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-outline[_ngcontent-%COMP%]{background:transparent;border:2px solid #e9ecef;color:#7f8c8d}.sharepoint-container[_ngcontent-%COMP%] .form-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn.btn-outline[_ngcontent-%COMP%]:hover{background:#f8f9fa}.sharepoint-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem;color:#7f8c8d}.sharepoint-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;color:#3498db}.sharepoint-container[_ngcontent-%COMP%] .loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.2rem;margin:0}.sharepoint-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.sharepoint-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:4rem;color:#bdc3c7;margin-bottom:1rem}.sharepoint-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem}.sharepoint-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;margin:0}.sharepoint-container[_ngcontent-%COMP%] .files-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;display:grid;grid-template-columns:auto 1fr auto auto;gap:1.5rem;align-items:center;transition:all .2s ease}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 16px #0000001f}.sharepoint-container[_ngcontent-%COMP%] .file-card.inactive[_ngcontent-%COMP%]{opacity:.6;background:#f8f9fa}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%]{width:60px;height:60px;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:12px;display:flex;align-items:center;justify-content:center}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:#fff}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%]{min-width:0}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] h4[_ng
151content-%COMP%]{margin:0 0 .25rem;color:#2c3e50;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-description[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#7f8c8d;font-size:.9rem}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%]{font-size:.85rem;color:#7f8c8d;display:flex;align-items:center;gap:.35rem}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3498db;font-size:.8rem}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#3498db;text-decoration:none}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .share-url[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .share-url[_ngcontent-%COMP%] .url-display[_ngcontent-%COMP%]{flex:1;padding:.5rem .75rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;font-family:monospace;font-size:.85rem;color:#2c3e50;min-width:0}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .share-url[_ngcontent-%COMP%] .btn-copy[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .share-url[_ngcontent-%COMP%] .btn-copy[_ngcontent-%COMP%]:hover{background:#2980b9}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .share-url[_ngcontent-%COMP%] .btn-copy.copied[_ngcontent-%COMP%]{background:#27ae60}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-status[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%]{padding:.35rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-status[_ngcontent-%COMP%] .status-badge.active[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-status[_ngcontent-%COMP%] .status-badge.inactive[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn-icon[_ngcontent-%COMP%]{width:36px;height:36px;border:none;border-radius:8px;background:#f8f9fa;color:#7f8c8d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn-icon[_ngcontent-%COMP%]:hover{background:#3498db;color:#fff}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn-icon.btn-danger[_ngcontent-%COMP%]:hover{background:#e74c3c}.sharepoint-container[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:1000;animation:_ngcontent-%COMP%_slideIn .3s ease}.sharepoint-container[_ngcontent-%COMP%] .message.success[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.sharepoint-container[_ngcontent-%COMP%] .message.error[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}@keyframes _ngcontent-%COMP%_slideIn{0%{transform:translate(100%);opacity:0}
151to{transform:translate(0);opacity:1}}@media (max-width: 992px){.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1rem}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%]{width:50px;height:50px}.sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-status[_ngcontent-%COMP%], .sharepoint-container[_ngcontent-%COMP%] .file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%]{justify-self:start}}@media (max-width: 576px){.sharepoint-container[_ngcontent-%COMP%]{padding:1rem}.sharepoint-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.75rem}.sharepoint-container[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .share-url[_ngcontent-%COMP%]{flex-direction:column}.sharepoint-container[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .share-url[_ngcontent-%COMP%] .url-display[_ngcontent-%COMP%]{width:100%}.sharepoint-container[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .share-url[_ngcontent-%COMP%] .btn-copy[_ngcontent-%COMP%]{width:100%;justify-content:center}}"]})}}return t})();function r5(t,s){t&1&&(r(0,"div",8),_(1,"div",9),r(2,"p"),a(3,"Se \xEEncarc\u0103 bannerul curent..."),o()())}function a5(t,s){if(t&1){let e=E();r(0,"div",17)(1,"div",18)(2,"span",19),_(3,"i",20),a(4," Banner activ "),o(),r(5,"div",21)(6,"span"),_(7,"i",22),a(8),o(),r(9,"span"),_(10,"i",23),a(11),o(),r(12,"span"),_(13,"i",24),a(14),o()()(),r(15,"div",25),_(16,"img",26),o(),r(17,"div",27)(18,"button",28),b("click",function(){v(e);let i=p(2);return M(i.deleteBanner())}),_(19,"i",29),a(20," \u0218terge bannerul "),o()()()}if(t&2){let e=p(2);c(8),w(" ",e.currentBanner.name,""),c(3),w(" ",e.formatFileSize(e.currentBanner.size),""),c(3),w(" Actualizat: ",e.formatDate(e.currentBanner.updatedAt),""),c(2),m("src",e.getBannerPreviewUrl(),ae)}}function s5(t,s){t&1&&(r(0,"div",30)(1,"div",31),_(2,"i",3),o(),r(3,"h3"),a(4,"Nu exist\u0103 un banner personalizat"),o(),r(5,"p"),a(6,"Pagina principal\u0103 folose\u0219te imaginea implicit\u0103 din fi\u0219ierele statice. \xCEncarc\u0103 o imagine pentru a o \xEEnlocui."),o()())}function c5(t,s){t&1&&(Me(0),r(1,"div",32),_(2,"i",33),r(3,"p",34),a(4,"Trage imaginea aici sau "),r(5,"span",35),a(6,"selecteaz\u0103 un fi\u0219ier"),o()(),r(7,"p",36),a(8,"PNG, JPG, WEBP \u2022 max 10 MB \u2022 recomandat 1920\xD7800 px"),o()(),xe())}function l5(t,s){if(t&1&&(r(0,"span",43),_(1,"i",22),a(2),o()),t&2){let e=p(3);c(2),G(" ",e.selectedFile.name," (",e.formatFileSize(e.selectedFile.size),") ")}}function d5(t,s){if(t&1&&(Me(0),r(1,"div",37),_(2,"img",38),r(3,"div",39),h(4,l5,3,2,"span",40),r(5,"span",41),_(6,"i",42),a(7," Click pentru a schimba"),o()()(),xe()),t&2){let e=p(2);c(2),m("src",e.selectedFilePreview,ae),c(2),m("ngIf",e.selectedFile)}}function m5(t,s){t&1&&_(0,"i",50)}function g5(t,s){t&1&&_(0,"i",51)}function p5(t,s){if(t&1){let e=E();r(0,"div",44)(1,"button",45),b("click",function(){v(e);let i=p(2);return M(i.uploadBanner())}),h(2,m5,1,0,"i",46)(3,g5,1,0,"i",47),a(4),o(),r(5,"button",48),b("click",function(){v(e);let i=p(2);return M(i.clearSelection())}),_(6,"i",49),a(7," Anuleaz\u0103 "),o()()}if(t&2){let e=p(2);c(),m("disabled",e.isUploading),c(),m("ngIf",e.isUploading),c(),m("ngIf",!e.isUploading),c(),w(" ",e.isUploading?"Se \xEEncarc\u0103...":e.currentBanner?"\xCEnlocuie\u0219te bannerul":"Public\u0103 bannerul"," "),c(),m("disabled",e.isUploading)}}function u5(t,s){if(t&1){let e=E();Me(0),h(1,a5,21,4,"div",10)(2,s5,7,0,"div",11),r(3,"div",12)(4,"h3"),_(5,"i",13),a(6),o(),r(7,"div",14),b("click",function(){v(e);let i=oe(9);return M(i.click())})("dragover",function(i){return v(e),M(i.preventDefault())})("drop",function(i){v(e);let d=p();return M(d.onFileSelected(i))}),r(8,"input",15,0),b("change",function(i){v(e);let d=p();return M(d.onFileSelected(i))}),o(),h(10,c5,9,0,"ng-container",6)(11,d5,8,2,"ng-container",6),o(),h(12,p5,8,5,"div",16),o(),xe()}if(t&2){let e=p();c(),m("ngIf",e.currentBanner),c(),m("ngIf",!e.currentBanner),c(4),w(" ",e.currentBanner?"\xCEnlocuie\u0219te bannerul":"\xCEncarc\u0103 un banner nou"," "),c(),I("has-file",e.selectedFilePreview),c(3),m("ngIf",!e.selectedFilePreview),c(),m("ngIf",e.selectedFilePreview),c(),m("ngIf",e.selectedFile)}}function _5(t,s){if(t&1&&(r(0,"div",52),_(1,"i",53),a(2),o()),t&2){let e=p();I("success",e.messageType==="success")("error",e.messageType==="error"),c(),I("fa-check-circle",e.messageType==="success")("fa-exclamation-circle",e.messageType==="error"),c(),w(" ",e.message," ")}}var rd="homepage-banner",Pu=(()=>{class t{constructor(e){this.sharedFilesService=e,this.currentBanner=null,this.isLoading=!1,this.isUploading=!1,this.selectedFile=null,this.selectedFilePreview=null,this.message="",this.messageType="success"}ngOnInit(){this.loadCurrentBanner()}loadCurrentBanner(){return q(this,null,function*(){this.isLoading=!0;try{let e=yield this.sharedFilesService.getSharedFileBySlug(rd).toPromise();e?.success&&(this.currentBanner=e.message)}catch(e){e?.status!==404&&console.error("Error loading homepage banner:",e),this.currentBanner=null}finally{this.isLoading=!1}})}onFileSelected(e){let n=e.target;if(n.files&&n.files.length>0){let i=n.files[0];if(!i.type.startsWith("image/")){this.showMessage("V\u0103 rug\u0103m s\u0103 selecta\u021Bi un fi\u0219ier imagine.","error");return}if(i.size>10*1024*1024){this.showMessage("Dimensiunea fi\u0219ierului trebuie s\u0103 fie mai mic\u0103 de 10 MB.","error");return}this.selectedFile=i,this.createFilePreview(i),this.message=""}}createFilePreview(e){let n=new FileReader;n.onload=i=>{this.selectedFilePreview=i.target.result},n.readAsDataURL(e)}clearSelection(){this.selectedFile=null,this.selectedFilePreview=null;let e=document.getElementById("bannerFileInput");e&&(e.value="")}uploadBanner(){return q(this,null,function*(){if(this.selectedFile){this.isUploading=!0;try{let e={quality:.9,maxWidth:1920,maxHeight:800},n=yield Jt(this.selectedFile,e);this.currentBanner?(yield this.sharedFilesService.replaceSharedFile(this.currentBanner.id,n).toPromise())?.success&&(this.showMessage("Banner actualizat cu succes!","success"),this.clearSelection(),yield this.loadCurrentBanner()):(yield this.sharedFilesService.createSharedFile(n,{slug:rd,description:"Homepage hero banner image"}).toPromise())?.success&&(this.showMessage("Banner \xEEnc\u0103rcat cu succes!","success"),this.clearSelection(),yield this.loadCurrentBanner())}catch(e){console.error("Error uploading banner:",e);let n=e?.error?.message||"Eroare la \xEEnc\u0103rcarea bannerului.";this.showMessage(n,"error")}finally{this.isUploading=!1}}})}deleteBanner(){return q(this,null,function*(){if(this.currentBanner&&confirm("Sigur vrei s\u0103 \u0219tergi bannerul de pe pagina principal\u0103? Aceasta va reveni la imaginea implicit\u0103."))try{(yield this.sharedFilesService.deleteSharedFile(this.currentBanner.id).toPromise())?.success&&(this.showMessage("Banner \u0219ters. Pagina principal\u0103 va folosi imaginea implicit\u0103.","success"),this.currentBanner=null,this.clearSelection())}catch(e){console.error("Error deleting banner:",e),this.showMessage("Eroare la \u0219tergerea bannerului.","error")}})}getBannerPreviewUrl(){return this.sharedFilesService.getPreviewUrl(rd)}formatFileSize(e){if(!e||e===-1)return"Necunoscut";let n=1024,i=["Bytes","KB","MB","GB"],d=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,d)).toFixed(2))+" "+i[d]}formatDate(e){return e?new Date(e).toLocaleDateString("ro-RO",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):"N/A"}showMessage(e,n){this.message=e,this.messageType=n,setTimeout(()=>{this.message=""},5e3)}static{this.\u0275fac=function(n){return new(n||t)(T(Mi))}}static{this.\u0275cmp=V({type:t,selectors:[["app-homepage-banner-management"]],standalone:!0,features:[B],decls:13,vars:3,consts:[["bannerFileInput",""],[1,"banner-container"],[1,"header"],[1,"fas","fa-image"],[1,"description"],["class","loading-state",4,"ngIf"],[4,"ngIf"],["class","toast-message",3,"success","error",4,"ngIf"],[1,"loading-state"],[1,"spinner-ring"],["class","section-card current-banner-card",4,"ngIf"],["class","empty-state",4,"ngIf"],[1,"section-card","upload-card"],[1,"fas","fa-cloud-upload-alt"],[1,"drop-zone",3,"click","dragover","drop"],["type","file","id","bannerFileInput","accept","image/*",1,"hidden-input",3,"change"],["class","form-actions",4,"ngIf"],[1,"section-card","current-banner-card"],[1,"section-header"],[1,"section-badge","active"],[1,"fas","fa-check-circle"],[1,"banner-meta"],[1,"fas","fa-file-image"],[1,"fas","fa-weight-hanging"],[1,"fas","fa-calendar-alt"],[1,"banner-preview"],["alt","Banner curent pagina principal\u0103","id","current-banner-preview",1,"preview-img",3,"src"],[1,"current-banner-actions"],["type","button","title","\u0218terge bannerul \u0219i revenire la imaginea implicit\u0103",1,"btn","btn-danger-outline",3,"click"],[1,"fas","fa-tras
151h-alt"],[1,"empty-state"],[1,"empty-icon"],[1,"drop-zone-content"],[1,"fas","fa-cloud-upload-alt","upload-icon"],[1,"drop-label"],[1,"browse-link"],[1,"drop-hint"],[1,"preview-wrapper"],["alt","Previzualizare fi\u0219ier selectat",1,"preview-img",3,"src"],[1,"preview-overlay"],["class","preview-filename",4,"ngIf"],[1,"change-hint"],[1,"fas","fa-pencil-alt"],[1,"preview-filename"],[1,"form-actions"],["type","button",1,"btn","btn-primary",3,"click","disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","fas fa-upload",4,"ngIf"],["type","button",1,"btn","btn-outline",3,"click","disabled"],[1,"fas","fa-times"],[1,"fas","fa-spinner","fa-spin"],[1,"fas","fa-upload"],[1,"toast-message"],[1,"fas"]],template:function(n,i){n&1&&(r(0,"div",1)(1,"div",2)(2,"h1"),_(3,"i",3),a(4," Banner Pagina Principal\u0103"),o(),r(5,"p",4),a(6," Gestioneaz\u0103 imaginea hero afi\u0219at\u0103 \xEEn partea de sus a paginii principale. Dimensiunea recomandat\u0103: "),r(7,"strong"),a(8,"1920 \xD7 800 px"),o(),a(9,". Fi\u0219ierele sunt convertite automat \xEEn WebP. "),o()(),h(10,r5,4,0,"div",5)(11,u5,13,8,"ng-container",6)(12,_5,3,9,"div",7),o()),n&2&&(c(10),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading),c(),m("ngIf",i.message))},dependencies:[H,$],styles:[".banner-container[_ngcontent-%COMP%]{padding:2rem;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.banner-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:2rem}.banner-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem;font-size:2.2rem;font-weight:700;display:flex;align-items:center;gap:1rem}.banner-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea}.banner-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{color:#7f8c8d;font-size:1rem;margin:0;line-height:1.6}.banner-container[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem;color:#7f8c8d}.banner-container[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] .spinner-ring[_ngcontent-%COMP%]{width:48px;height:48px;border:4px solid #e9ecef;border-top-color:#667eea;border-radius:50%;animation:_ngcontent-%COMP%_spin .8s linear infinite;margin:0 auto 1.25rem}.banner-container[_ngcontent-%COMP%] .loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.1rem;margin:0}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}.banner-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{text-align:center;padding:3rem 2rem;background:#fafbff;border-radius:16px;border:2px dashed #d0d7f0;margin-bottom:1.5rem}.banner-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%]{width:80px;height:80px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.banner-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2rem;color:#fff}.banner-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#2c3e50;margin-bottom:.5rem;font-size:1.25rem}.banner-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;margin:0;font-size:.95rem}.banner-container[_ngcontent-%COMP%] .section-card[_ngcontent-%COMP%]{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;padding:2rem;margin-bottom:1.75rem}.banner-container[_ngcontent-%COMP%] .section-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#2c3e50;margin:0 0 1.5rem;font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.banner-container[_ngcontent-%COMP%] .section-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .section-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .section-badge.active[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .banner-meta[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:#7f8c8d}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .banner-meta[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.4rem}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .banner-meta[_ngcontent-%COMP%] span[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea;font-size:.8rem}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .banner-preview[_ngcontent-%COMP%]{width:100%;border-radius:10px;overflow:hidden;background:#f0f0f0;margin-bottom:1.25rem}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .banner-preview[_ngcontent-%COMP%] .preview-img[_ngcontent-%COMP%]{width:100%;height:auto;max-height:360px;object-fit:cover;display:block;transition:transform .3s ease}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .banner-preview[_ngcontent-%COMP%] .preview-img[_ngcontent-%COMP%]:hover{transform:scale(1.01)}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .current-banner-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%]{border:2.5px dashed #d0d7f0;border-radius:12px;cursor:pointer;transition:border-color .2s ease,background .2s ease;overflow:hidden;min-height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%]:hover, .banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%]:focus-within{border-color:#667eea;background:#fafbff}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone.has-file[_ngcontent-%COMP%]{border-style:solid;border-color:#667eea}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .hidden-input[_ngcontent-%COMP%]{display:none}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .drop-zone-content[_ngcontent-%COMP%]{text-align:center;padding:2.5rem 2rem}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .drop-zone-content[_ngcontent-%COMP%] .upload-icon[_ngcontent-%COMP%]{font-size:3rem;color:#b0bec5;margin-bottom:1rem;display:block;transition:color .2s ease}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .drop-zone-content[_ngcontent-%COMP%] .drop-label[_ngcontent-%COMP%]{font-size:1rem;color:#546e7a;margin:0 0 .5rem}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .drop-zone-content[_ngcontent-%COMP%] .drop-label[_ngcontent-%COMP%] .browse-link[_ngcontent-%COMP%]{color:#667eea;font-weight:600;text-decoration:underline}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .drop-zone-content[_ngcontent-%COMP%] .drop-hint[_ngcontent-%COMP%]{font-size:.85rem;color:#90a4ae;margin:0}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%]:hover .upload-icon[_ngcontent-%COMP%]{color:#667eea}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .preview-wrapper[_ngcontent-%COMP%]{position:relative;width:100%}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .preview-wrapper[_ngcontent-%COMP%] .preview-img[_ngcontent-%COMP%]{width:100%;height:auto;max-height:360px;object-fit:cover;display:block}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .preview-wrapper[_ngcontent-%COMP%] .preview-overlay[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000a6);padding:2rem 1.5rem 1rem;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .preview-wrapper[_ngcontent-%COMP%] .preview-overlay[_ngcontent-%COMP%] .preview-filename[_ngcontent-%COMP%]{color:#fff;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .drop-zone[_ngcontent-%COMP%] .preview-wrapper[_ngcontent-%COMP%] .preview-overlay[_ngcontent-%COMP%] .change-hint[_ngcontent-%COMP%]{color:#fffc;font-size:.8rem;display:flex;align-items:center;gap:.4rem}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;padding-top:1rem;
151border-top:1px solid #f0f0f0}.banner-container[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.banner-container[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.banner-container[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea59}.banner-container[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #667eea73}.banner-container[_ngcontent-%COMP%] .btn.btn-outline[_ngcontent-%COMP%]{background:transparent;border:2px solid #e9ecef;color:#7f8c8d}.banner-container[_ngcontent-%COMP%] .btn.btn-outline[_ngcontent-%COMP%]:hover:not(:disabled){background:#f8f9fa}.banner-container[_ngcontent-%COMP%] .btn.btn-danger-outline[_ngcontent-%COMP%]{background:transparent;border:2px solid #e74c3c;color:#e74c3c}.banner-container[_ngcontent-%COMP%] .btn.btn-danger-outline[_ngcontent-%COMP%]:hover:not(:disabled){background:#fdf3f2}.banner-container[_ngcontent-%COMP%] .toast-message[_ngcontent-%COMP%]{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:10px;display:flex;align-items:center;gap:.75rem;font-weight:500;box-shadow:0 6px 20px #00000026;z-index:1000;animation:_ngcontent-%COMP%_slideIn .3s ease;max-width:400px}.banner-container[_ngcontent-%COMP%] .toast-message.success[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.banner-container[_ngcontent-%COMP%] .toast-message.error[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}@keyframes _ngcontent-%COMP%_slideIn{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.banner-container[_ngcontent-%COMP%]{padding:1rem}.banner-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.6rem}.banner-container[_ngcontent-%COMP%] .section-card[_ngcontent-%COMP%]{padding:1.25rem}.banner-container[_ngcontent-%COMP%] .current-banner-card[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{flex-direction:column}.banner-container[_ngcontent-%COMP%] .upload-card[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{width:100%;justify-content:center}}"]})}}return t})();var Rs=(()=>{class t{constructor(e){this.http=e,this.apiUrl=`${ne.apiUrl}/diplomas`}verifyDiplomaByDiplomaId(e){let n=encodeURIComponent(e.trim());return this.http.get(`${this.apiUrl}/verify/${n}`)}getDiplomasByTeamSeasonDataId(e){return this.http.get(`${this.apiUrl}/team-season/${e}`)}downloadDiploma(e){return this.http.get(`${this.apiUrl}/${e}/download`,{responseType:"blob"})}downloadLegacyArchive(e){let n=encodeURIComponent(e);return this.http.get(`${this.apiUrl}/legacy-archive/${n}`,{responseType:"blob"})}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function f5(t,s){if(t&1&&(r(0,"option",24),a(1),o()),t&2){let e=s.$implicit,n=p(2);m("ngValue",e.id),c(),w(" ",n.buildSeasonTitle(e)," ")}}function h5(t,s){if(t&1){let e=E();r(0,"div",20)(1,"label",21),a(2,"Sezon"),o(),r(3,"select",22),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectedTeamSeasonDataId,i)||(d.selectedTeamSeasonDataId=i),M(i)}),b("ngModelChange",function(){v(e);let i=p();return M(i.onSelectedSeasonChange())}),h(4,f5,2,2,"option",23),o()()}if(t&2){let e=p();c(3),D("ngModel",e.selectedTeamSeasonDataId),m("disabled",e.isLoading),c(),m("ngForOf",e.availableTeamSeasonData)}}function C5(t,s){if(t&1&&(r(0,"div",25),_(1,"i",26),r(2,"span"),a(3),o()()),t&2){let e=p();c(3),O(e.errorMessage)}}function v5(t,s){t&1&&(r(0,"div",27),_(1,"i",28),r(2,"span"),a(3,"Se \xEEncarc\u0103 diplomele..."),o()())}function M5(t,s){t&1&&_(0,"i",49)}function x5(t,s){t&1&&_(0,"i",28)}function b5(t,s){if(t&1){let e=E();r(0,"div",41)(1,"div",42)(2,"div",43),a(3),o(),r(4,"div",44)(5,"span"),a(6),o()()(),r(7,"div",45)(8,"button",46),b("
151click",function(){let i=v(e).$implicit,d=p(5);return M(d.downloadDiploma(i))}),h(9,M5,1,0,"i",47)(10,x5,1,0,"i",48),a(11),o()()()}if(t&2){let e=s.$implicit,n=p(5);c(3),O(e.personName),c(3),w("ID diplom\u0103: ",e.diplomaId,""),c(2),m("disabled",n.isDownloading(e.id)),c(),m("ngIf",!n.isDownloading(e.id)),c(),m("ngIf",n.isDownloading(e.id)),c(),w(" ",n.isDownloading(e.id)?"Se descarc\u0103...":"Descarc\u0103 PDF"," ")}}function P5(t,s){if(t&1&&(r(0,"div",37)(1,"div",38)(2,"h3"),a(3),o(),r(4,"span",34),a(5),o()(),r(6,"div",39),h(7,b5,12,6,"div",40),o()()),t&2){let e=s.$implicit;c(3),O(e.title),c(2),w("",e.items.length," persoane"),c(2),m("ngForOf",e.items)}}function O5(t,s){if(t&1&&(r(0,"section",32)(1,"div",33)(2,"h3"),a(3),o(),r(4,"span",34),a(5),o()(),r(6,"div",35),h(7,P5,8,3,"div",36),o()()),t&2){let e=s.$implicit;c(3),O(e.title),c(2),w("",e.diplomas.length," diplome"),c(2),m("ngForOf",e.groups)}}function y5(t,s){if(t&1&&(r(0,"div",30),h(1,O5,8,3,"section",31),o()),t&2){let e=p(2);c(),m("ngForOf",e.seasonDiplomaGroups)}}function w5(t,s){if(t&1&&(Me(0),h(1,y5,2,1,"div",29),xe()),t&2){let e=p(),n=oe(24);c(),m("ngIf",e.seasonDiplomaGroups.length>0)("ngIfElse",n)}}function S5(t,s){t&1&&(r(0,"div",50),_(1,"i",51),r(2,"h3"),a(3,"Nu exist\u0103 diplome disponibile"),o(),r(4,"p"),a(5,"Pentru sezoanele disponibile nu exist\u0103 \xEEnregistr\u0103ri de diplome active pentru aceast\u0103 echip\u0103."),o()())}function E5(t,s){t&1&&_(0,"i",49)}function T5(t,s){t&1&&_(0,"i",28)}function k5(t,s){if(t&1){let e=E();r(0,"div",56)(1,"div",42)(2,"div",43),a(3),o(),r(4,"div",44),a(5,"Arhiv\u0103 cu diplomele PDF din acel sezon"),o()(),r(6,"div",45)(7,"button",46),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.downloadLegacyArchive(i.key))}),h(8,E5,1,0,"i",47)(9,T5,1,0,"i",48),a(10),o()()()}if(t&2){let e=s.$implicit,n=p(2);c(3),w("Sezonul ",e.label,""),c(4),m("disabled",!!n.downloadingLegacySeasonKey),c(),m("ngIf",!n.isDownloadingLegacy(e.key)),c(),m("ngIf",n.isDownloadingLegacy(e.key)),c(),w(" ",n.isDownloadingLegacy(e.key)?"Se descarc\u0103...":"Descarc\u0103 arhiva"," ")}}function I5(t,s){if(t&1&&(r(0,"div",52)(1,"div",3)(2,"h2"),a(3,"Diplome sezoane anterioare (PDF)"),o()(),r(4,"p",53),a(5," Pentru sezoanele 2020\u20132021 p\xE2n\u0103 la 2024\u20132025 pute\u021Bi desc\u0103rca o arhiv\u0103 ZIP cu toate diplomele PDF disponibile pentru echipa dumneavoastr\u0103 (dup\u0103 codul RO din cont). "),o(),r(6,"div",54),h(7,k5,11,5,"div",55),o()()),t&2){let e=p();c(7),m("ngForOf",e.legacySeasons)}}function F5(t,s){if(t&1){let e=E();r(0,"div",57),b("click",function(){v(e);let i=p();return M(i.closeLegacyDownloadDialog())}),r(1,"div",58),b("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",59),_(3,"i",60),r(4,"h3",61),a(5,"Desc\u0103rcare e\u0219uat\u0103"),o()(),r(6,"p",62),a(7),o(),r(8,"button",63),b("click",function(){v(e);let i=p();return M(i.closeLegacyDownloadDialog())}),a(9," OK "),o()()()}if(t&2){let e=p();c(7),O(e.legacyDownloadDialogMessage)}}var D5=[{key:"2020-2021",label:"2020\u20132021"},{key:"2021-2022",label:"2021\u20132022"},{key:"2022-2023",label:"2022\u20132023"},{key:"2023-2024",label:"2023\u20132024"},{key:"2024-2025",label:"2024\u20132025"}],zs=(()=>{class t{constructor(e,n){this.diplomasService=e,this.cdr=n,this.currentSeasonData=null,this.team=null,this.showAllTeamSeasons=!1,this.legacySeasons=D5,this.diplomas=[],this.groupedDiplomas=[],this.seasonDiplomaGroups=[],this.selectedTeamSeasonDataId=null,this.isLoading=!1,this.errorMessage=null,this.downloadingDiplomaIds=new Set,this.downloadingLegacySeasonKey=null,this.legacyDownloadDialogMessage=null}ngOnInit(){this.syncSelectedTeamSeasonDataId(),this.hasDiplomaSource&&this.loadDiplomas()}ngOnChanges(e){if(e.currentSeasonData||e.team||e.showAllTeamSeasons){if(this.syncSelectedTeamSeasonDataId(),!this.hasDiplomaSource)return;this.loadDiplomas()}}loadDiplomas(){return q(this,null,function*(){let e=this.getDiplomaTeamSeasonDataList();if(e.length===0){this.diplomas=[],this.groupedDiplomas=[],this.seasonDiplomaGroups=[];return}this.isLoading=!0,this.errorMessage=null;try{let n=yield Promise.all(e.map(i=>q(this,null,function*(){let u=(yield this.diplomasService.getDiplomasByTeamSeasonDataId(i.id).toPromise())?.message||[];return{teamSeasonData:i,title:this.buildSeasonTitle(i),diplomas:u,groups:this.buildGroups(u)}})));this.seasonDiplomaGroups=n.filter(i=>i.diplomas.length>0),this.diplomas=this.seasonDiplomaGroups.flatMap(i=>i.diplomas),this.groupedDiplomas=this.buildGroups(this.diplomas)}catch(n){console.error("Error loading diplomas:",n),this.errorMessage="Nu am putut \xEEnc\u0103rca diplomele. V\u0103 rug\u0103m s\u0103 \xEEncerca\u021Bi din
151nou.",this.diplomas=[],this.groupedDiplomas=[],this.seasonDiplomaGroups=[]}finally{this.isLoading=!1}})}downloadDiploma(e){return q(this,null,function*(){if(!this.downloadingDiplomaIds.has(e.id)){this.downloadingDiplomaIds.add(e.id);try{let n=yield this.diplomasService.downloadDiploma(e.id).toPromise();if(!n)throw new Error("Empty blob");let i=this.buildFileName(e),d=window.URL.createObjectURL(n),u=document.createElement("a");u.href=d,u.download=i,document.body.appendChild(u),u.click(),document.body.removeChild(u),setTimeout(()=>URL.revokeObjectURL(d),1e3)}catch(n){console.error("Error downloading diploma:",n),this.errorMessage=`Nu am putut desc\u0103rca diploma pentru ${e.personName}.`}finally{this.downloadingDiplomaIds.delete(e.id)}}})}isDownloading(e){return this.downloadingDiplomaIds.has(e)}get showLegacyArchives(){return!!this.team?.romanianNumber?.trim()}get hasDiplomaSource(){return this.getDiplomaTeamSeasonDataList().length>0}get availableTeamSeasonData(){return this.getAvailableTeamSeasonDataList()}onSelectedSeasonChange(){this.loadDiplomas()}isDownloadingLegacy(e){return this.downloadingLegacySeasonKey===e}downloadLegacyArchive(e){return q(this,null,function*(){if(!this.downloadingLegacySeasonKey){this.downloadingLegacySeasonKey=e,this.errorMessage=null;try{let n=yield this.diplomasService.downloadLegacyArchive(e).toPromise();if(!n||n.size===0)throw new Error("Empty archive");let i=(this.team?.romanianNumber||"echipa").replace(/[^\w.-]/g,"_"),d=`diplome_${e}_${i}.zip`,u=window.URL.createObjectURL(n),x=document.createElement("a");x.href=u,x.download=d,document.body.appendChild(x),x.click(),document.body.removeChild(x),setTimeout(()=>URL.revokeObjectURL(u),1e3)}catch(n){console.error("Error downloading legacy diploma archive:",n);let i;try{i=yield this.messageForLegacyArchiveFailure(n)}catch(d){console.error("Failed to build legacy download error message:",d),i="Nu am putut desc\u0103rca arhiva. Verifica\u021Bi conexiunea sau \xEEncerca\u021Bi din nou mai t\xE2rziu."}this.errorMessage=i,this.legacyDownloadDialogMessage=i,this.cdr.detectChanges()}finally{this.downloadingLegacySeasonKey=null,this.cdr.detectChanges()}}})}closeLegacyDownloadDialog(){this.legacyDownloadDialogMessage=null,this.cdr.detectChanges()}messageForLegacyArchiveFailure(e){return q(this,null,function*(){let n=e,i=n?.status;if(i===404)return"Nu am g\u0103sit diplome arhivate pentru echipa dumneavoastr\u0103 la acest sezon. Dosarul lipse\u0219te pe server sau nu con\u021Bine fi\u0219iere PDF.";let d=null;try{d=yield this.extractNatieApiErrorText(n?.error)}catch{d=null}return i===403?d||"Nu ave\u021Bi permisiunea de a desc\u0103rca aceast\u0103 arhiv\u0103.":i===400?d||"Cerere invalid\u0103 pentru arhiva de diplome.":i===0?"Nu s-a putut contacta serverul. Verifica\u021Bi conexiunea \u0219i \xEEncerca\u021Bi din nou.":i!=null&&i>=500?d||"Serverul nu a putut genera arhiva. \xCEncerca\u021Bi mai t\xE2rziu.":d||"Nu am putut desc\u0103rca arhiva pentru acest sezon. \xCEncerca\u021Bi din nou sau contacta\u021Bi organiza\u021Bia."})}extractNatieApiErrorText(e){return q(this,null,function*(){if(e instanceof Blob)try{let n=yield e.text();if(!n||!n.trim().startsWith("{"))return null;let i=JSON.parse(n);return this.flattenNatieMessageField(i?.message)}catch{return null}return e&&typeof e=="object"?this.flattenNatieMessageField(e.message):typeof e=="string"?e:null})}flattenNatieMessageField(e){return typeof e=="string"?e:e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?e.message:null}buildGroups(e){return[{stage:"NATIONALA",recipientType:"MEMBER"},{stage:"NATIONALA",recipientType:"MENTOR"},{stage:"REGIONALA",recipientType:"MEMBER"},{stage:"REGIONALA",recipientType:"MENTOR"}].map(i=>{let d=e.filter(u=>u.stage===i.stage&&u.recipientType===i.recipientType);return ye(J({},i),{title:this.buildGroupTitle(i.stage,i.recipientType),items:d})}).filter(i=>i.items.length>0)}buildGroupTitle(e,n){return`${e==="NATIONALA"?"Na\u021Bional\u0103":"Regional\u0103"} - ${n==="MEMBER"?"Elevi":"Mentori"}`}buildFileName(e){let n=e.personName.replace(/[^\w.-]/g,"_");return`${e.stage}_${e.recipientType}_${n}_${e.diplomaId}.pdf`}getDiplomaTeamSeasonDataList(){if(!this.showAllTeamSeasons)return this.currentSeasonData?[this.currentSeasonData]:[];let e=this.getAvailableTeamSeasonDataList().find(n=>n.id===this.selectedTeamSeasonDataId);return e?[e]:[]}getAvailableTeamSeasonDataList(){let e=this.showAllTeamSeasons?this.team?.teamSeasonData||[]:this.currentSeasonData?[this.currentSeasonData]:[],n=new Set;return e.filter(i=>!!i?.id).filter(i=>n.has(i.id)?!1:(n.add(i.id),!0)).sort((i,d)=>{let u=i.season?.seasonNumber??i.seasonId;return(d.season?.seasonNumber??d.seasonId)-u})}syncSelectedTeamSeasonDataId(){if(!this.showAllTeamSeasons){this.selectedTeamSeasonDataId=this.currentSeasonData?.id||null;return}let e=this.getAvailableTeamSeasonDataList();if(e.length===0){this.selectedTeamSeasonDataId=null;return}if(e.some(i=>i.id===this.selectedTeamSeasonDataId))return;let n=this.currentSeasonData?.id?e.find(i=>i.id===this.currentSeasonData?.id):null;this.selectedTeamSeasonDataId=(n||e[0]).id}buildSeasonTitle(e){return e.season?.seasonName?`Sezonul ${e.season.seasonName}`:e.season?.seasonNumber?`Sezonul ${e.season.seasonNumber}`:`Sezon ID ${e.seasonId}`}static{this.\u0275fac=function(n){return new(n||t)(T(Rs),T(pi))}}static{this.\u0275cmp=V({type:t,selectors:[["app-diplomas"]],inputs:{currentSeasonData:"currentSeasonData",team
151:"team",showAllTeamSeasons:"showAllTeamSeasons"},standalone:!0,features:[Mt,B],decls:27,vars:10,consts:[["noDiplomas",""],[1,"tab-content"],[1,"section"],[1,"section-header"],[1,"section-actions"],["routerLink","/request-student-certificate",1,"btn","btn-certificate"],[1,"fas","fa-file-signature"],[1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-rotate-right"],["role","status",1,"announcement-banner"],[1,"announcement-content"],[1,"fas","fa-info-circle"],[1,"announcement-text"],[1,"announcement-label"],["class","season-selector",4,"ngIf"],["class","error-banner",4,"ngIf"],["class","loading-state",4,"ngIf"],[4,"ngIf"],["class","section legacy-section",4,"ngIf"],["class","legacy-error-dialog-overlay","role","presentation",3,"click",4,"ngIf"],[1,"season-selector"],["for","diplomas-season-select"],["id","diplomas-season-select",3,"ngModelChange","ngModel","disabled"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],[1,"error-banner"],[1,"fas","fa-exclamation-circle"],[1,"loading-state"],[1,"fas","fa-spinner","fa-spin"],["class","season-groups",4,"ngIf","ngIfElse"],[1,"season-groups"],["class","season-diploma-section",4,"ngFor","ngForOf"],[1,"season-diploma-section"],[1,"season-diploma-header"],[1,"count"],[1,"groups"],["class","group-card",4,"ngFor","ngForOf"],[1,"group-card"],[1,"group-header"],[1,"diploma-list"],["class","diploma-item",4,"ngFor","ngForOf"],[1,"diploma-item"],[1,"left"],[1,"name"],[1,"meta"],[1,"right"],["type","button",1,"btn","btn-sm","btn-primary",3,"click","disabled"],["class","fas fa-download",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"fas","fa-download"],[1,"empty-state"],[1,"fas","fa-award"],[1,"section","legacy-section"],[1,"legacy-intro"],[1,"legacy-list"],["class","diploma-item legacy-row",4,"ngFor","ngForOf"],[1,"diploma-item","legacy-row"],["role","presentation",1,"legacy-error-dialog-overlay",3,"click"],["role","alertdialog","aria-modal","true","aria-labelledby","legacy-error-title",1,"legacy-error-dialog",3,"click"],[1,"legacy-error-dialog__header"],["aria-hidden","true",1,"fas","fa-exclamation-circle"],["id","legacy-error-title"],[1,"legacy-error-dialog__body"],["type","button",1,"btn","btn-primary","legacy-error-dialog__ok",3,"click"]],template:function(n,i){if(n&1){let d=E();r(0,"div",1)(1,"div",2)(2,"div",3)(3,"h2"),a(4,"Diplome sezon"),o(),r(5,"div",4)(6,"a",5),_(7,"i",6),a(8," Solicit\u0103 adeverin\u021B\u0103 elev "),o(),r(9,"button",7),b("click",function(){return v(d),M(i.loadDiplomas())}),_(10,"i",8),a(11),o()()(),r(12,"div",9)(13,"div",10),_(14,"i",11),r(15,"div",12)(16,"span",13),a(17,"Informa\u021Bie"),o(),a(18," Aici vede\u021Bi persoanele eligibile pentru diplome \u0219i pute\u021Bi desc\u0103rca fiecare diplom\u0103 la cerere. "),o()()(),h(19,h5,5,3,"div",14)(20,C5,4,1,"div",15)(21,v5,4,0,"div",16)(22,w5,2,2,"ng-container",17)(23,S5,6,0,"ng-template",null,0,Se)(25,I5,8,1,"div",18),o(),h(26,F5,10,1,"div",19),o()}n&2&&(c(9),m("disabled",i.isLoading),c(),I("fa-spin",i.isLoading),c(),w(" ",i.isLoading?"Se \xEEncarc\u0103...":"Re\xEEmprosp\u0103teaz\u0103"," "),c(8),m("ngIf",i.showAllTeamSeasons&&i.availableTeamSeasonData.length>0),c(),m("ngIf",i.errorMessage),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading),c(3),m("ngIf",i.showLegacyArchives),c(),m("ngIf",i.legacyDownloadDialogMessage))},dependencies:[H,X,$,se,fe,he,ue,ie,pe,Te],styles:[".legacy-error-dialog-overlay[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:10050;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;animation:_ngcontent-%COMP%_legacy-dialog-fade .2s ease}.legacy-error-dialog[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000040;max-width:420px;width:100%;padding:1.5rem;text-align:center}.legacy-error-dialog__header[_ngcontent-%COMP%]{margin-bottom:1rem}.legacy-error-dialog__header[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.25rem;color:var(--danger-color);display:block;margin-bottom:.5rem}.legacy-error-dialog__header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.legacy-error-dialog__body[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:.95rem;line-height:1.5;color:#333;text-align:left}.legacy-error-dialog__ok[_ngcontent-%COMP%]{min-width:120px}@keyframes _ngcontent-%COMP%_legacy-dialog-fade{0%{opacity:0}
151to{opacity:1}}[_nghost-%COMP%]{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--primary-color: #667eea;--primary-hover: #5a6fd8;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--border-color: #e1e5e9;--text-primary: #1a1a1a;--text-secondary: #6c757d}.tab-content[_ngcontent-%COMP%]{padding:2rem}.section[_ngcontent-%COMP%]{margin-bottom:3rem}.section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.legacy-section[_ngcontent-%COMP%]{padding-top:.5rem;border-top:1px solid var(--border-color)}.legacy-intro[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:.95rem;color:var(--text-secondary);line-height:1.5;max-width:48rem}.legacy-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:#fff}.legacy-row[_ngcontent-%COMP%]:last-child{border-bottom:none}.section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.section-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.75rem}.announcement-banner[_ngcontent-%COMP%]{background:#f8d7da;border:1px solid #f1aeb5;border-left:4px solid #721c24;border-radius:8px;margin-bottom:1rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.875rem 1rem;gap:.75rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.125rem;color:#721c24;flex-shrink:0}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{color:#721c24;font-size:.9rem;line-height:1.45;font-weight:600}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%] .announcement-label[_ngcontent-%COMP%]{display:inline-block;margin-right:.5rem;padding:.2rem .55rem;border-radius:12px;background:#721c24;color:#fff;font-size:.75rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.025em}.season-selector[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.season-selector[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:var(--text-primary);font-size:.95rem;font-weight:600}.season-selector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{min-width:18rem;max-width:100%;min-height:42px;padding:.65rem .85rem;border:1px solid var(--border-color);border-radius:6px;background:#fff;color:var(--text-primary);font-size:.95rem;cursor:pointer}.season-selector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.65}.error-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;color:#721c24}.error-banner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.25rem;color:var(--danger-color);flex-shrink:0}.loading-state[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem 2rem;color:var(--text-secondary);font-size:1rem}.loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.25rem;color:var(--primary-color)}.groups[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.season-groups[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem}.season-diploma-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.season-diploma-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.season-diploma-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:var(--text-primary);font-size:1.2rem;font-weight:600}.season-diploma-header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{flex-shrink:0;color:var(--text-secondary);font-size:.85rem;font-weight:500}.group-card[_ngcontent-%COMP%]{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;
151transition:box-shadow .2s}.group-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #00000014}.group-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid var(--border-color)}.group-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.group-header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{font-size:.85rem;font-weight:500;color:#fff;background:var(--primary-color);padding:.25rem .75rem;border-radius:12px}.diploma-list[_ngcontent-%COMP%]{display:flex;flex-direction:column}.diploma-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);transition:background-color .15s}.diploma-item[_ngcontent-%COMP%]:last-child{border-bottom:none}.diploma-item[_ngcontent-%COMP%]:hover{background:#f8f9fa}.diploma-item[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{flex:1;min-width:0}.diploma-item[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-weight:600;color:var(--text-primary);font-size:.95rem}.diploma-item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diploma-item[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{flex-shrink:0}.btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s;text-decoration:none;font-size:.9rem;min-height:42px;box-sizing:border-box}.btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[_ngcontent-%COMP%]{background:var(--primary-color);color:#fff}.btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-certificate[_ngcontent-%COMP%]{border:1px solid var(--primary-color);background:#fff;color:var(--primary-color)}.btn.btn-certificate[_ngcontent-%COMP%]:hover{background:#f2f3ff}.btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.85rem;min-height:36px}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;color:#dee2e6;display:block}.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#495057;font-size:1.25rem}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.95rem}@media (max-width: 768px){.tab-content[_ngcontent-%COMP%]{padding:1rem}.section-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.section-actions[_ngcontent-%COMP%]{width:100%}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%]{padding:.75rem;gap:.625rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{font-size:.85rem}.group-header[_ngcontent-%COMP%]{padding:.85rem 1rem}.season-selector[_ngcontent-%COMP%]{align-items:flex-start;flex-direction:column}.season-selector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;min-width:0}.diploma-item[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;padding:1rem;gap:.75rem}.diploma-item[_ngcontent-%COMP%] .right[_ngcontent-%COMP%], .diploma-item[_ngcontent-%COMP%] .right[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{width:100%}}@media (max-width: 480px){.tab-content[_ngcontent-%COMP%]{padding:.75rem}.btn[_ngcontent-%COMP%]{padding:.6rem 1rem;font-size:.8rem}.group-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:.5rem}.season-diploma-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:.35rem}.empty-state[_ngcontent-%COMP%]{padding:2rem 1rem}.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.5rem}}"]})}}return t})();function R5(t,s){if(t&1&&(r(0,"div",14),_(1,"i",15),r(2,"span"),a(3),o()()),t&2){let e=p();c(3),O(e.errorMessage)}}function z5(t,s){if(t&1&&(r(0,"option",7),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e),c(),w(" ",e.seasonName," ")}}function N5(t,s){if(t&1&&(r(0,"option",7),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e.id),c(),G(" ",e.name," (#",e.internationalNumber,") ")}}function A5(t,s){t&1&&(r(0,"div",16),_(1,"i",17),r(2,"span"),a(3,"Se \xEEncarc\u0103..."),o()())}function L5(t,s){t&1&&(r(0,"div",18),_(1,"i",19),r(2,"h3"),a(3,"Selecta\u021Bi o echip\u0103"),o(),r(4,"p"),a(5,"Alege\u021Bi o echip\u0103 din list\u0103 pentru a vedea diplomele."),o()())}function V5(t,s){t&1&&(r(0,"div",18),_(1,"i",20),r(2,"h3"),a(3,"
151Echipa nu are date pentru sezonul selectat"),o(),r(4,"p"),a(5,"Nu exist\u0103 `TeamSeasonData` pentru aceast\u0103 echip\u0103 la sezonul ales."),o()())}function B5(t,s){if(t&1&&_(0,"app-diplomas",21),t&2){let e=p();m("currentSeasonData",e.selectedTeamSeasonData)("team",e.selectedTeam)}}var yu=(()=>{class t{constructor(e,n){this.seasonsService=e,this.teamsService=n,this.seasons=[],this.teams=[],this.selectedSeason=null,this.selectedTeamId=null,this.isLoadingSeasons=!1,this.isLoadingTeams=!1,this.errorMessage=null}ngOnInit(){this.loadSeasons()}loadSeasons(){return q(this,null,function*(){this.isLoadingSeasons=!0,this.errorMessage=null;try{let e=yield this.seasonsService.getAllSeasons().toPromise();this.seasons=e?.message||[];let n=yield this.seasonsService.getCurrentSeason().toPromise();this.selectedSeason=n?.message||this.seasons[this.seasons.length-1]||null,yield this.loadTeams()}catch(e){console.error("Failed to load seasons:",e),this.errorMessage="Nu am putut \xEEnc\u0103rca sezoanele. \xCEncerca\u021Bi din nou.",this.seasons=[],this.selectedSeason=null,this.teams=[],this.selectedTeamId=null}finally{this.isLoadingSeasons=!1}})}loadTeams(){return q(this,null,function*(){if(!this.selectedSeason?.id){this.teams=[],this.selectedTeamId=null;return}this.isLoadingTeams=!0,this.errorMessage=null;try{let e=yield this.teamsService.getAllTeamsForAdmin(this.selectedSeason.id).toPromise();this.teams=e?.message||[],this.selectedTeamId&&!this.teams.some(n=>n.id===this.selectedTeamId)&&(this.selectedTeamId=null)}catch(e){console.error("Failed to load teams:",e),this.errorMessage="Nu am putut \xEEnc\u0103rca echipele pentru sezonul selectat.",this.teams=[],this.selectedTeamId=null}finally{this.isLoadingTeams=!1}})}onSeasonChange(){this.selectedTeamId=null,this.loadTeams()}trackBySeasonId(e,n){return n.id}trackByTeamId(e,n){return n.id}get selectedTeam(){return this.selectedTeamId&&this.teams.find(e=>e.id===this.selectedTeamId)||null}get selectedTeamSeasonData(){let e=this.selectedTeam,n=this.selectedSeason?.id;return!e||!n?null:e.teamSeasonData?.find(i=>i.seasonId===n)||null}static{this.\u0275fac=function(n){return new(n||t)(T(Ve),T(Ne))}}static{this.\u0275cmp=V({type:t,selectors:[["app-team-diplomas-view"]],standalone:!0,features:[B],decls:26,vars:16,consts:[[1,"team-diplomas-view"],[1,"header"],["class","error-banner",4,"ngIf"],[1,"filters"],[1,"filter"],["for","seasonSelect"],["id","seasonSelect",3,"ngModelChange","change","disabled","ngModel"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf","ngForTrackBy"],["for","teamSelect"],["id","teamSelect",3,"ngModelChange","disabled","ngModel"],["class","loading",4,"ngIf"],["class","empty-state",4,"ngIf"],[3,"currentSeasonData","team",4,"ngIf"],[1,"error-banner"],[1,"fas","fa-exclamation-circle"],[1,"loading"],[1,"fas","fa-spinner","fa-spin"],[1,"empty-state"],[1,"fas","fa-hand-pointer"],[1,"fas","fa-info-circle"],[3,"currentSeasonData","team"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h1"),a(3,"Diplome pe echipe"),o(),r(4,"p"),a(5,"Selecta\u021Bi un sezon \u0219i o echip\u0103 pentru a vedea diplomele disponibile."),o()(),h(6,R5,4,1,"div",2),r(7,"div",3)(8,"div",4)(9,"label",5),a(10,"Sezon"),o(),r(11,"select",6),z("ngModelChange",function(u){return R(i.selectedSeason,u)||(i.selectedSeason=u),u}),b("change",function(){return i.onSeasonChange()}),r(12,"option",7),a(13,"Selecta\u021Bi sezonul"),o(),h(14,z5,2,2,"option",8),o()(),r(15,"div",4)(16,"label",9),a(17,"Echip\u0103"),o(),r(18,"select",10),z("ngModelChange",function(u){return R(i.selectedTeamId,u)||(i.selectedTeamId=u),u}),r(19,"option",7),a(20),o(),h(21,N5,2,3,"option",8),o()()(),h(22,A5,4,0,"div",11)(23,L5,6,0,"div",12)(24,V5,6,0,"div",12)(25,B5,1,2,"app-diplomas",13),o()),n&2&&(c(6),m("ngIf",i.errorMessage),c(5),m("disabled",i.isLoadingSeasons),D("ngModel",i.selectedSeason),c(),m("ngValue",null),c(2),m("ngForOf",i.seasons)("ngForTrackBy",i.trackBySeasonId),c(4),m("disabled",!i.selectedSeason||i.isLoadingTeams),D("ngModel",i.selectedTeamId),c(),m("ngValue",null),c(),w(" ",i.selectedSeason?"Selecta\u021Bi echipa":"Alege\u021Bi \xEEnt\xE2i sezonul"," "),c(),m("ngForOf",i.teams)("ngForTrackBy",i.trackByTeamId),c(),m("ngIf",i.isLoadingSeasons||i.isLoadingTeams),c(),m("ngIf",!i.isLoadingSeasons&&!i.isLoadingTeams&&i.selectedSeason&&!i.selectedTeamId),c(),m("ngIf",!i.isLoadingSeasons&&!i.isLoadingTeams&&i.selectedTeamId&&i.selectedSeason&&!i.selectedTeamSeasonData),c(),m("ngIf",!i.isLoadingSeasons&&!i.isLoadingTeams&&i.selectedTeamSeasonData))},dependencies:[H,X,$,se,fe,he,ue,ie,pe,zs],styles:[".team-diplomas-view[_ngcontent-%COMP%]{padding:2rem}.header[_ngcontent-%COMP%]{margin-bottom:1.25rem}.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--text-secondary, #6c757d)}.filters[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;border:1px solid var(--border-color, #e1e5e9);border-radius:12px;background:#fff;margin-bottom:1rem}.filter[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.filter[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:600;color:var(--text-primary, #1a1a1a);font-size:.9rem}.filter[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:.65rem .75rem;border:1px solid var(--border-color, #e1e5e9);border-radius:8px;background:#fff;font-size:.95rem;min-height:42px}.loading[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;color:var(--text-secondary, #6c757d)}.error-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem;color:#721c24}.error-banner[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--danger-color, #dc3545)}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:2rem 1rem;color:var(--text-secondary, #6c757d)}.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.25rem;margin-bottom:.75rem;color:#dee2e6;
151display:block}.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#495057}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}@media (max-width: 768px){.team-diplomas-view[_ngcontent-%COMP%]{padding:1rem}.filters[_ngcontent-%COMP%]{grid-template-columns:1fr}}"]})}}return t})();function U5(t,s){if(t&1&&(r(0,"div",14),a(1),o()),t&2){let e=p();I("error",e.messageType==="error"),c(),w(" ",e.message," ")}}function j5(t,s){t&1&&(r(0,"div",15),_(1,"div",16),r(2,"span"),a(3,"Se \xEEncarc\u0103 cererile..."),o()())}function q5(t,s){t&1&&(r(0,"div",17),a(1," Nu exist\u0103 cereri pentru filtrul selectat. "),o())}function W5(t,s){if(t&1&&(r(0,"small"),a(1),o()),t&2){let e=p().$implicit;c(),O(e.phone)}}function $5(t,s){if(t&1&&(r(0,"p",34),a(1),o()),t&2){let e=p().$implicit;c(),O(e.message)}}function H5(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(2).$implicit;c(),w("de ",e.reviewedBy.name,"")}}function G5(t,s){if(t&1&&(r(0,"div",35),a(1),h(2,H5,2,1,"span",26),o()),t&2){let e=p().$implicit,n=p(2);c(),w(" Revizuit\u0103 la ",n.formatDate(e.reviewedAt)," "),c(),m("ngIf",e.reviewedBy)}}function Z5(t,s){t&1&&_(0,"i",40)}function Y5(t,s){if(t&1){let e=E();r(0,"div",36)(1,"button",37),b("click",function(){v(e);let i=p().$implicit,d=p(2);return M(d.rejectRequest(i))}),a(2," Respinge "),o(),r(3,"button",38),b("click",function(){v(e);let i=p().$implicit,d=p(2);return M(d.confirmRequest(i))}),h(4,Z5,1,0,"i",39),a(5," Confirm\u0103 echipa "),o()()}if(t&2){let e=p().$implicit,n=p(2);c(),m("disabled",n.actionRequestId===e.id),c(2),m("disabled",n.actionRequestId===e.id),c(),m("ngIf",n.actionRequestId===e.id)}}function K5(t,s){if(t&1){let e=E();r(0,"article",20)(1,"div",21)(2,"div",22)(3,"div")(4,"h3"),a(5),o(),r(6,"span",23),a(7),o()(),r(8,"span",24),a(9),o()(),r(10,"div",25)(11,"div")(12,"span"),a(13,"Contact"),o(),r(14,"strong"),a(15),o(),r(16,"small"),a(17),o(),h(18,W5,2,1,"small",26),o(),r(19,"div")(20,"span"),a(21,"Numere echip\u0103"),o(),r(22,"strong"),a(23),o(),r(24,"small"),a(25),o()(),r(26,"div")(27,"span"),a(28,"Afiliere"),o(),r(29,"strong"),a(30),o(),r(31,"small"),a(32),o()(),r(33,"div")(34,"span"),a(35,"Sezon"),o(),r(36,"strong"),a(37),o(),r(38,"small"),a(39),o()()(),h(40,$5,2,1,"p",27)(41,G5,3,2,"div",28),o(),r(42,"div",29)(43,"label")(44,"span"),a(45,"ID FTC interna\u021Bional"),o(),r(46,"input",30),z("ngModelChange",function(i){let d=v(e).$implicit,u=p(2);return R(u.internationalNumbers[d.id],i)||(u.internationalNumbers[d.id]=i),M(i)}),o(),r(47,"small"),a(48,"Se poate corecta \xEEnainte de confirmare. Trebuie s\u0103 con\u021Bin\u0103 doar cifre."),o()(),r(49,"label")(50,"span"),a(51,"ID Rom\xE2nia *"),o(),r(52,"input",31),z("ngModelChange",function(i){let d=v(e).$implicit,u=p(2);return R(u.romanianNumbers[d.id],i)||(u.romanianNumbers[d.id]=i),M(i)}),o()(),r(53,"label")(54,"span"),a(55,"Note admin"),o(),r(56,"textarea",32),z("ngModelChange",function(i){let d=v(e).$implicit,u=p(2);return R(u.adminNotes[d.id],i)||(u.adminNotes[d.id]=i),M(i)}),o()(),h(57,Y5,6,3,"div",33),o()()}if(t&2){let e=s.$implicit,n=p(2);c(5),O(e.teamName),c(2),w("Trimis\u0103 la ",n.formatDate(e.createdAt),""),c(),ct(e.status.toLowerCase()),c(),w(" ",n.statusLabel(e.status)," "),c(6),O(e.contactName),c(2),O(e.email),c(),m("ngIf",e.phone),c(5),O(e.internationalNumber||"ID FTC nesetat"),c(2),O(e.romanianNumber||"ID Rom\xE2nia se completeaz\u0103 la confirmare"),c(5),O(e.school||"-"),c(2),O(n.locationText(e)),c(5),O((e.season==null?null:e.season.seasonName)||e.seasonId),c(2),w("An \xEEnfiin\u021Bare: ",e.rookieYear,""),c(),m("ngIf",e.message),c(),m("ngIf",e.reviewedAt),c(5),D("ngModel",n.internationalNumbers[e.id]),m("disabled",e.status!=="PENDING"),c(6),D("ngModel",n.romanianNumbers[e.id]),m("disabled",e.status!=="PENDING"),c(4),D("ngModel",n.adminNotes[e.id]),m("disabled",e.status!=="PENDING"),c(),m("ngIf",e.status==="PENDING")}}function Q5(t,s){if(t&1&&(r(0,"div",18),h(1,K5,58,23,"article",19),o()),t&2){let e=p();c(),m("ngForOf",e.requests)}}var wu=(()=>{class t{constructor(e){this.teamsService=e,this.requests=[],this.statusFilter="PENDING",this.isLoading=!1,this.actionRequestId=null,this.message="",this.messageType="success",this.adminNotes={},this.internationalNumbers={},this.romanianNumbers={}}ngOnInit(){this.loadRequests()}loadRequests(){this.isLoading=!0,this.message="",this.teamsService.getTeamRegistrationRequests(this.statusFilter||void 0).subscribe({next:e=>{this.requests=e.message||[],this.internationalNumbers=this.requests.reduce((n,i)=>ye(J({},n),{[i.id]:i.internationalNumber||this.internationalNumbers[i.id]||""}),{}),this.romanianNumbers=this.requests.reduce((n,i)=>ye(J({},n),{[i.id]:i.romanianNumber||this.romanianNumbers[i.id]||""}),{}),this.isLoading=!1},error:()=>{this.showMessage("Nu am putut \xEEnc\u0103rca cererile de echipe noi.","error"),this.isLoading=!1}})}confirmRequest(e){let n=this.internationalNumbers[e.id]?.trim(),i=this.romanianNumbers[e.id]?.trim();if(n&&!/^\d+$/.test(n)){this.showMessage("ID FTC interna\u021Bional trebuie s\u0103 con\u021Bin\u0103 doar cifre.","error");return}if(!i){this.showMessage("Completeaz\u0103 ID Rom\xE2nia \xEEnainte de confirmarea echipei.","error");return}confirm(`Confirma\u021Bi crearea echipei "${e.teamName}" \u0219i a contului pentru ${e.email}?`)&&(this.actionRequestId=e.id,this.teamsService.confirmTeamRegistrationRequest(e.id,i,n,this.adminNotes[e.id]).subscribe({next:()=>{this.showMessage("Echipa \u0219i contul au fost create. Emailul cu datele de autentificare a fost trimis.","success"),this.actionRequestId=null,this.loadRequests()},error:d=>{this.showMessage(d?.error?.message?.message||d?.error?.message||"Confirmarea cererii a e\u0219uat.","error"),this.actionRequestId=null}}))}rejectRequest(e){confirm(`Respinge\u021Bi cererea pentru echipa "${e.teamName}"?`)&&(this.actionRequestId=e.id,this.teamsService.rejectTeamRegistrationRequest(e.id,this.adminNotes[e.id]).subscribe({next:()=>{this.showMessage("Cererea a fost respins\u0103.","success"),this.actionRequestId=null,this.loadRequests()},error:n=>{this.showMessage(n?.error?.message?.message||n?.error?.message||"Respingerea cererii a e\u0219uat.","error"),this.actionRequestId=null}}))}statusLabel(e){switch(e){case"CONFIRMED":return"Confirmat\u0103";case"REJECTED":return"Respins\u0103";case"PENDING":default:return"\xCEn a\u0219teptare"}}
151formatDate(e){return e?new Date(e).toLocaleString("ro-RO"):"-"}locationText(e){return[e.city,e.county,e.country].filter(Boolean).join(", ")||"-"}showMessage(e,n){this.message=e,this.messageType=n}static{this.\u0275fac=function(n){return new(n||t)(T(Ne))}}static{this.\u0275cmp=V({type:t,selectors:[["app-confirm-new-teams"]],standalone:!0,features:[B],decls:23,vars:8,consts:[[1,"confirm-new-teams"],[1,"section-header"],[1,"toolbar"],[3,"ngModelChange","ngModel"],["value",""],["value","PENDING"],["value","CONFIRMED"],["value","REJECTED"],["type","button",3,"click","disabled"],[1,"fas","fa-sync-alt"],["class","message",3,"error",4,"ngIf"],["class","loading",4,"ngIf"],["class","empty-state",4,"ngIf"],["class","requests-list",4,"ngIf"],[1,"message"],[1,"loading"],[1,"spinner"],[1,"empty-state"],[1,"requests-list"],["class","request-item",4,"ngFor","ngForOf"],[1,"request-item"],[1,"request-main"],[1,"request-title-row"],[1,"meta"],[1,"status"],[1,"details-grid"],[4,"ngIf"],["class","request-message",4,"ngIf"],["class","reviewed-info",4,"ngIf"],[1,"request-actions"],["type","text","inputmode","numeric","pattern","[0-9]*","placeholder","Ex: 19000",3,"ngModelChange","ngModel","disabled"],["type","text","placeholder","Ex: RO001",3,"ngModelChange","ngModel","disabled"],["rows","4",3,"ngModelChange","ngModel","disabled"],["class","buttons",4,"ngIf"],[1,"request-message"],[1,"reviewed-info"],[1,"buttons"],["type","button",1,"reject",3,"click","disabled"],["type","button",1,"confirm",3,"click","disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"fas","fa-spinner","fa-spin"]],template:function(n,i){n&1&&(r(0,"section",0)(1,"header",1)(2,"div")(3,"h2"),a(4,"Confirm new teams"),o(),r(5,"p"),a(6,"Revizuie\u0219te cererile trimise din formularul public \u0219i creeaz\u0103 contul echipei dup\u0103 verificare."),o()(),r(7,"div",2)(8,"select",3),z("ngModelChange",function(u){return R(i.statusFilter,u)||(i.statusFilter=u),u}),b("ngModelChange",function(){return i.loadRequests()}),r(9,"option",4),a(10,"Toate"),o(),r(11,"option",5),a(12,"\xCEn a\u0219teptare"),o(),r(13,"option",6),a(14,"Confirmate"),o(),r(15,"option",7),a(16,"Respinse"),o()(),r(17,"button",8),b("click",function(){return i.loadRequests()}),_(18,"i",9),o()()(),h(19,U5,2,3,"div",10)(20,j5,4,0,"div",11)(21,q5,2,0,"div",12)(22,Q5,2,1,"div",13),o()),n&2&&(c(8),D("ngModel",i.statusFilter),c(9),m("disabled",i.isLoading),c(),I("fa-spin",i.isLoading),c(),m("ngIf",i.message),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading&&i.requests.length===0),c(),m("ngIf",!i.isLoading&&i.requests.length>0))},dependencies:[H,X,$,se,fe,he,re,ue,ie,Qi,pe],styles:[".confirm-new-teams[_ngcontent-%COMP%]{padding:2rem}.section-header[_ngcontent-%COMP%]{align-items:flex-start;display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#1f2937;font-size:1.75rem;margin:0 0 .35rem}.section-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#6b7280;margin:0}.toolbar[_ngcontent-%COMP%]{display:flex;gap:.5rem}.toolbar[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .toolbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:1px solid #d1d5db;border-radius:6px;min-height:40px}.toolbar[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{background:#fff;padding:0 .75rem}.toolbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{align-items:center;background:#f9fafb;cursor:pointer;display:inline-flex;justify-content:center;width:42px}.message[_ngcontent-%COMP%]{background:#e8f6ee;border:1px solid #b7e0c5;border-radius:8px;color:#1d6b3a;margin-bottom:1rem;padding:.9rem 1rem}.message.error[_ngcontent-%COMP%]{background:#fff0f0;border-color:#f1bbbb;color:#9f2d2d}.loading[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;display:flex;gap:.75rem;justify-content:center;padding:2rem}.spinner[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 1s linear infinite;border:3px solid #d1d5db;border-top-color:#667eea;border-radius:50%;height:24px;width:24px}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}.requests-list[_ngcontent-%COMP%]{display:grid;gap:1rem}.request-item[_ngcontent-%COMP%]{border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 320px;padding:1.25rem}.request-title-row[_ngcontent-%COMP%]{align-items:flex-start;display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.request-title-row[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#111827;font-size:1.25rem;margin:0 0 .25rem}.request-title-row[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{color:#6b7280;font-size:.9rem}.status[_ngcontent-%COMP%]{border-radius:999px;font-size:.78rem;font-weight:800;padding:.35rem .65rem;text-transform:uppercase}.status.pending[_ngcontent-%COMP%]{background:#fff7df;color:#946200}.status.confirmed[_ngcontent-%COMP%]{background:#e7f8ed;color:#1e7a3e}.status.rejected[_ngcontent-%COMP%]{background:#ffe7e7;color:#a32e2e}.details-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{background:#f9fafb;border-radius:6px;padding:.85rem}.details-grid[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .details-grid[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#6b7280;display:block}.details-grid[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.78rem;font-weight:800;text-transform:uppercase}.details-grid[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1f2937;display:block;margin:.25rem 0}.request-message[_ngcontent-%COMP%], .reviewed-info[_ngcontent-%COMP%]{color:#4b5563;line-height:1.5;margin:1rem 0 0}.request-actions[_ngcontent-%COMP%]{border-left:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem;padding-left:1rem}.request-actions[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.request-actions[_ngcontent-%COMP%] label[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#374151;font-weight:700}.request-actions[_ngcontent-%COMP%] label[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#6b7280;line-height:1.35}.request-actions[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .request-actions[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{border:1px solid #d1d5db;border-radius:6px;font:inherit;padding:.75rem}.request-actions[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{min-height:42px}.request-actions[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{min-height:110px;resize:vertical}.buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem}.buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:0;border-radius:6px;color:#fff;cursor:pointer;flex:1;font-weight:800;min-height:40px;padding:.65rem .75rem}.buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{opacity:.7;cursor:not-allowed}.buttons[_ngcontent-%COMP%] .reject[_ngcontent-%COMP%]{background:#b63b3b}.buttons[_ngcontent-%COMP%] .confirm[_ngcontent-%COMP%]{background:#228447}@media (max-width: 980px){.request-item[_ngcontent-%COMP%]{grid-template-columns:1fr}.request-actions[_ngcontent-%COMP%]{border-left:0;border-top:1px solid #e5e7eb;padding-left:0;padding-top:1rem}}@media (max-width: 720px){.confirm-new-teams[_ngcontent-%COMP%]{padding:1rem}.section-header[_ngcontent-%COMP%], .request-title-row[_ngcontent-%COMP%]{flex-direction:column}.details-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}"]})}}return t})();var Ii=(()=>{class t{constructor(e){this.http=e,this.baseUrl=`${ne.apiUrl}/season-registration`}getCurrentSeasonQuestions(){return this.http.get(`${this.baseUrl}/questions/current`)}getQuestionsBySeason(e,n=!0){return this.http.get(`${this.baseUrl}/questions/season/${e}?includeInactive=${n}`)}createQuestion(e){return this.http.post(`${this.baseUrl}/questions`,e)}updateQuestion(e,n){return this.http.put(`${this.baseUrl}/questions/${e}`,n)}deleteQuestion(e){return this.http.delete(`${this.baseUrl}/questions/${e}`)}getSeasonOverview(e){return this.http.get(`${this.baseUrl}/admin/season/${e}/overview`)}
151getTeamSeasonAnswers(e){return this.http.get(`${this.baseUrl}/answers/team-season/${e}`)}submitTeamSeasonAnswers(e,n){return this.http.post(`${this.baseUrl}/answers/team-season/${e}`,n)}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Su=()=>[];function J5(t,s){if(t&1&&(r(0,"div",22)(1,"div")(2,"span"),a(3,"Sezon curent"),o(),r(4,"strong"),a(5),o()(),r(6,"div")(7,"span"),a(8,"Perioad\u0103 \xEEnscrieri"),o(),r(9,"strong"),a(10),o()(),r(11,"div")(12,"span"),a(13,"Echipe \xEEncepute"),o(),r(14,"strong"),a(15),o()(),r(16,"div")(17,"span"),a(18,"Echipe aprobate"),o(),r(19,"strong"),a(20),o()(),r(21,"div")(22,"span"),a(23,"Pending review"),o(),r(24,"strong"),a(25),o()(),r(26,"div")(27,"span"),a(28,"Necesit\u0103 complet\u0103ri"),o(),r(29,"strong"),a(30),o()(),r(31,"div")(32,"span"),a(33,"Formulare complete"),o(),r(34,"strong"),a(35),o()()()),t&2){let e=p();c(5),O(e.currentSeason.seasonName),c(5),G("",e.formatDate(e.currentSeason.registrationStart)," - ",e.formatDate(e.currentSeason.registrationEnd),""),c(5),G("",e.startedTeamsCount," / ",e.teams.length,""),c(5),G("",e.approvedTeamsCount," / ",e.startedTeamsCount,""),c(5),O(e.pendingReviewTeamsCount),c(5),O(e.needsAttentionTeamsCount),c(5),G("",e.completedFormTeamsCount," / ",(e.registrationOverview==null||e.registrationOverview.teamResponses==null?null:e.registrationOverview.teamResponses.length)||0,"")}}function X5(t,s){t&1&&(r(0,"div",23),_(1,"i",24),r(2,"span"),a(3,"\xCEnregistr\u0103rile nu sunt active pentru sezonul curent. Po\u021Bi modifica manual statusul echipelor, dar echipele nu pot ini\u021Bia \xEEnscrieri noi din dashboard."),o()())}function e4(t,s){if(t&1){let e=E();r(0,"div",25)(1,"div")(2,"strong"),a(3),o(),r(4,"p"),a(5,"Perioada de \xEEnscriere nu schimb\u0103 aceast\u0103 setare. Echipele confirmate nu mai pot modifica r\u0103spunsurile."),o()(),r(6,"button",26),b("click",function(){v(e);let i=p();return M(i.toggleRegistrationAnswers())}),a(7),o()()}if(t&2){let e=p();c(3),w("R\u0103spunsuri la \xEEntreb\u0103rile de \xEEnscriere: ",e.currentSeason.registrationAnswersOpen===!1?"dezactivate":"active",""),c(3),m("disabled",e.isSavingAnswersSetting),c(),w(" ",e.isSavingAnswersSetting?"Se salveaz\u0103...":e.currentSeason.registrationAnswersOpen===!1?"Activeaz\u0103 r\u0103spunsurile":"Dezactiveaz\u0103 r\u0103spunsurile"," ")}}function t4(t,s){if(t&1&&(r(0,"div",27),a(1),o()),t&2){let e=p();I("error",e.messageType==="error"),c(),w(" ",e.message," ")}}function n4(t,s){t&1&&(r(0,"span",36),a(1,"Se \xEEncarc\u0103..."),o())}function i4(t,s){t&1&&(r(0,"div",37),a(1," Nu exist\u0103 \xEEntreb\u0103ri active pentru sezonul curent. "),o())}function o4(t,s){if(t&1&&(Me(0),a(1),xe()),t&2){let e=p().$implicit;c(),w(" \xB7 ",e.missingRequired," lips\u0103")}}function r4(t,s){if(t&1&&(r(0,"div",47)(1,"span"),a(2,"Medie "),r(3,"strong"),a(4),o()(),r(5,"span"),a(6,"Total "),r(7,"strong"),a(8),o()(),r(9,"span"),a(10,"Min "),r(11,"strong"),a(12),o()(),r(13,"span"),a(14,"Max "),r(15,"strong"),a(16),o()()()),t&2){let e=p().$implicit,n=p(3);c(4),O(n.formatNumber(e.numberStats.average)),c(4),O(n.formatNumber(e.numberStats.sum)),c(4),O(n.formatNumber(e.numberStats.min)),c(4),O(n.formatNumber(e.numberStats.max))}}function a4(t,s){if(t&1&&(r(0,"div",50)(1,"span"),a(2),o(),r(3,"strong"),a(4),o()()),t&2){let e=s.$implicit;c(2),O(e.value==="true"?"Da":e.value==="false"?"Nu":e.value),c(2),O(e.count)}}function s4(t,s){if(t&1&&(r(0,"div",48),h(1,a4,5,2,"div",49),o()),t&2){let e=p().$implicit;c(),m("ngForOf",e.optionStats)}}function c4(t,s){if(t&1&&(r(0,"div",53)(1,"strong"),a(2),o(),r(3,"p"),a(4),o()()),t&2){let e=s.$implicit;c(2),G("",e.teamName," \xB7 ",e.internationalNumber,""),c(2),O(e.value)}}function l4(t,s){if(t&1&&(r(0,"div",53)(1,"strong"),a(2),o(),r(3,"p"),a(4),o()()),t&2){let e=s.$implicit;c(2),G("",e.teamName," \xB7 ",e.internationalNumber,""),c(2),O(e.value)}}function d4(t,s){if(t&1&&(r(0,"div",51)(1,"details")(2,"summary"),a(3),o(),h(4,c4,5,3,"div",52),o(),r(5,"details")(6,"summary"),a(7),o(),h(8,l4,5,3,"div",52),o()()),t&2){let e=p().$implicit;c(3),w("Weaknesses (",e.swotStats.weaknesses.length,")"),c(),m("ngForOf",e.swotStats.weaknesses),c(3),w("Threats (",e.swotStats.threats.length,")"),c(),m("ngForOf",e.swotStats.threats)}}function m4(t,s){if(t&1&&(r(0,"article",40)(1,"div",41)(2,"h4"),a(3),o(),r(4,"span"),a(5),o()(),r(6,"p",42),a(7),h(8,o4,2,1,"ng-container",43),o(),h(9,r4,17,4,"div",44)(10,s4,2,1,"div",45)(11,d4,9,4,"div",46),o()),t&2){let e=s.$implicit;c(3),O(e.label),c(2),w("",e.completionRate,"% completare"),c(2),w(" ",e.totalResponses," r\u0103spunsuri "),c(),m("ngIf",e.isRequired),c(),m("ngIf",e.numberStats),c(),m("ngIf",e.optionStats==null?null:e.optionStats.length),c(),m("ngIf",e.swotStats)}}function g4(t,s){if(t&1&&(r(0,"div",38),h(1,m4,12,7,"article",39),o()),t&2){let e=p(2);c(),m("ngForOf",e.registrationOverview==null?null:e.registrationOverview.statistics)("ngForTrackBy",e.trackStatistic)}}function p4(t,s){if(t&1){let e=E();r(0,"section",28)(1,"div",29)(2,"div")(3,"h3"),a(4,"Statistici formular \xEEnscriere"),o(),r(5,"p"),a(6),o()(),r(7,"div",30),h(8,n4,2,0,"span",31),r(9,"button",32),b("click",function(){v(e);let i=p();return M(i.exportRegistrationAnswersCsv())}),_(10,"i",33),a(11," Export r\u0103spunsuri formular "),o()()(),h(12,i4,2,0,"div",34)(13,g4,2,2,"div",35),o()}if(t&2){let e=p();c(6),G("",e.registrationQuestionCount," \xEEntreb\u0103ri active \xB7 ",(e.registrationOverview==null||e.registrationOverview.teamResponses==null?null:e.registrationOverview.teamResponses.length)||0," echipe cu \xEEnscriere \xEEnceput\u0103"),c(2),m("ngIf",e.isLoadingOverview),c(),m("disabled",e.isLoadingOverview||!e.registrationOverview),c(3),m("ngIf",!e.isLoadingOverview&&e.registrationQuestionCount===0),c(),m("ngIf",!e.isLoadingOverview&&(e.registrationOverview==null||e.registrationOverview.statistics==null?null:e.registrationOverview.statistics.length))}}function u4(t,s){t&1&&(r(0,"div",54),_(1,"div",55),r(2,"span"),a(3,"Se \xEEncarc\u0103 echipele..."),o()())}function _4(t,s){t&1&&(r(0,"div",56),a(1," Nu exist\u0103 echipe pentru filtrul selectat. "),o())}function f4(t,s){if(t&1&&(r(0,"span",80),_(1,"i",81),a(2),o()),t&2){let e=s.$implicit;I("complete",e.complete),c(),I("fa-check",e.complete)("fa-times",!e.complete),c(),w(" ",e.label," ")}}function h4(t,s){t&1&&(r(0,"p",87),a(1,"Nu exist\u0103 mentori ad\u0103uga\u021Bi."),o())}function C4(t,s){if(t&1&&(r(0,"li")(1,"strong"),a(2),o(),r(3,"span"),a(4),o()()),t&2){let e=s.$implicit;c(2),G("",e.firstName," ",e.lastName,""),c(2),O(e.email||"-")}}function v4(t,s){t&1&&(r(0,"p",87),a(1,"Nu exist\u0103 elevi ad\u0103uga\u021Bi."),o())}function M4(t,s){if(t&1&&(r(0,"li")(1,"strong"),a(2),o(),r(3,"span"),a(4),o()()),t&2){let e=s.$implicit;c(2),G("",e.firstName," ",e.lastName,""),c(2),O(e.email||"-")}}function x4(t,s){t&1&&(r(0,"p",87),a(1,"Nu exist\u0103 sponsori ad\u0103uga\u021Bi."),o())}function b4(t,s){if(t&1&&(r(0,"li")(1,"strong"),a(2),o(),r(3,"span"),a(4),o()()),t&2){let e=s.$implicit;c(2),O(e.name),c(2),O(e.size||"-")}}function P4(t,s){if(t&1&&(r(0,"details",82)(1,"summary"),a(2," Date completate de echip\u0103 "),r(3,"span"),a(4,"profil, persoane, sponsori"),o()(),r(5,"div",83)(6,"div",84)(7,"h4"),a(8,"Profil public"),o(),r(9,"dl")(10,"div")(11,"dt"),a(12,"Descriere"),o(),r(13,"dd"),a(14),o()(),r(15,"div")(16,"dt"),a(17,"Motto"),o(),r(18,"dd"),a(19),o()(),r(20,"div")(21,"dt"),a(22,"Video \xEEnscriere"),o(),r(23,"dd"),a(24),o()(),r(25,"div")(26,"dt"),a(27,"Logo / banner"),o(),r(28,"dd"),a(29),o()(),r(30,"div")(31,"dt"),a(32,"Culori"),o(),r(33,"dd"),a(34),o()(),r(35,"div")(36,"dt"),a(37,"Contact"),o(),r(38,"dd"),a(39),o()(),r(40,"div")(41,"dt"),a(42,"\u0218coal\u0103"),o(),r(43,"dd"),a(44),o()(),r(45,"div")(46,"dt"),a(47,"Localizare"),o(),r(48,"dd"),a(49),o()(),r(50,"div")(51,"dt"),a(52,"Coordonate"),o(),r(53,"dd"),a(54),o()(),r(55,"div")(56,"dt"),a(57,"Social / web"),o(),r(58,"dd"),a(59),o()()()(),r(60,"div",84)(61,"h4"),a(62,"Mentori"),o(),h(63,h4,2,0,"p",85),r(64,"ul"),h(65,C4,5,3,"li",86),o()(),r(66,"div",84)(67,"h4"),a(68,"Elevi"),o(),h(69,v4,2,0,"p",85),r(70,"ul"),h(71,M4,5,3,"li",86),o()(),r(72,"div",84)(73,"h4"),a(74,"Sponsori"),o(),h(75,x4,2,0,"p",85),r(76,"ul"),h(77,b4,5,2,"li",86),o()()()()),t&2){let e,n=s.ngIf,i=p().$implicit,d=p(2);c(14),O(n.teamDescription||"Ner\u0103spuns"),c(5),O(n.motto||"Ner\u0103spuns"),c(5),O(n.registrationVideoLink||"Ner\u0103spuns"),c(5),G("",n.teamLogo?"Logo \xEEnc\u0103rcat":"Logo lips\u0103"," \xB7 ",n.teamBanner?"banner \xEEnc\u0103rcat":"banner lips\u0103",""),c(5),G("",n.teamMainColor||"-"," / ",n.teamSecondaryColor||"-",""),c(5),O(n.primaryEmailContact||"Ner\u0103spuns"),c(5),O(n.school||"Ner\u0103spuns"),c(5),dn("",n.city||"-",", ",n.county||"-",", ",n.country||"-",""),c(5),G("",(e=n.latitude)!==null&&e!==void 0?e:"-"," / ",(e=n.longitude)!==null&&e!==void 0?e:"-",""),c(5),ig(" FB: ",n.facebookLink||"-"," Instagram: ",n.instagramLink||"-"," Website: ",n.teamWebsiteLink||"-"," YouTube: ",n.youtubeLink||"-"," TikTok: ",n.tiktokLink||"-"," LinkedIn: ",n.linkedInLink||"-"," "),c(4),m("ngIf",d.mentorsFor(i).length===0),c(2),m("ngForOf",d.mentorsFor(i)),c(4),m("ngIf",d.membersFor(i).length===0),c(2),m("ngForOf",d.membersFor(i)),c(4),m("ngIf",d.sponsorsFor(i).length===0),c(2),m("ngForOf",d.sponsorsFor(i))}}function O4(t,s){if(t&1&&(r(0,"div",91)(1,"strong"),a(2),o(),r(3,"p"),a(4),o()()),t&2){let e=s.$implicit,n=p(4);I("missing",!e.complete),c(2),O(e.questionLabel),c(2),O(n.formatAnswerValue(e))}}function y4(t,s){if(t&1&&(r(0,"details",88)(1,"summary"),a(2," R\u0103spunsuri formular "),r(3,"span"),a(4),o()(),r(5,"div",89),h(6,O4,5,4,"div",90),o()()),t&2){let e=s.ngIf;c(4),w("",e.answers.length," \xEEntreb\u0103ri"),c(2),m("ngForOf",e.answers
151)}}function w4(t,s){if(t&1&&(r(0,"option",92),a(1),o()),t&2){let e=s.$implicit,n=p(3);m("value",e),c(),w(" ",n.statusLabel(e)," ")}}function S4(t,s){t&1&&_(0,"i",93)}function E4(t,s){t&1&&(r(0,"small",100),a(1,"Mesajul este obligatoriu."),o())}function T4(t,s){t&1&&_(0,"i",93)}function k4(t,s){if(t&1){let e=E();r(0,"section",94)(1,"h4"),a(2),o(),r(3,"p"),a(4,"Emailul va fi trimis la adresa contului echipei \u0219i va schimba statusul \xEEn \u201ENecesit\u0103 complet\u0103ri\u201D."),o(),r(5,"label",95),a(6,"Mesaj pentru echip\u0103"),o(),_(7,"textarea",96),h(8,E4,2,0,"small",97),r(9,"div",98)(10,"button",26),b("click",function(){v(e);let i=p().$implicit,d=p(2);return M(d.toggleAttentionPanel(i))}),a(11,"Renun\u021B\u0103"),o(),r(12,"button",99),b("click",function(){v(e);let i=p().$implicit,d=p(2);return M(d.sendNeedsAttentionEmail(i))}),h(13,T4,1,0,"i",71),a(14," Trimite emailul "),o()()()}if(t&2){let e,n=s.ngIf,i=p().$implicit,d=p(2);m("formGroup",n),c(2),w("Cere complet\u0103ri de la ",i.name,""),c(3),Mo("for","attention-message-",i.id,""),c(2),Mo("id","attention-message-",i.id,""),c(),m("ngIf",((e=n.get("message"))==null?null:e.touched)&&((e=n.get("message"))==null?null:e.invalid)),c(2),m("disabled",d.actionTeamId===i.id),c(2),m("disabled",d.actionTeamId===i.id),c(),m("ngIf",d.actionTeamId===i.id)}}function I4(t,s){if(t&1&&(r(0,"article",103)(1,"div")(2,"strong"),a(3),o(),r(4,"span"),a(5),o()(),r(6,"span",104),a(7),o(),r(8,"p"),a(9),o()()),t&2){let e=s.$implicit,n=p(4);c(3),O(n.formatDateTime(e.sentAt)),c(2),G("C\u0103tre ",e.recipient," \xB7 de la ",(e.sentBy==null?null:e.sentBy.name)||"administrator",""),c(),I("changed",e.hasChangesAfterSent),c(),w(" ",e.hasChangesAfterSent?"Echipa a modificat \xEEnscrierea dup\u0103 acest email":"Nu exist\u0103 modific\u0103ri dup\u0103 acest email"," "),c(2),O(e.message)}}function F4(t,s){if(t&1&&(r(0,"section",101)(1,"h4"),a(2,"Istoric emailuri pentru complet\u0103ri"),o(),h(3,I4,10,7,"article",102),o()),t&2){let e,n=p().$implicit,i=p(2);c(3),m("ngForOf",(e=i.getCurrentSeasonData(n))==null?null:e.registrationAttentionEmails)}}function D4(t,s){if(t&1&&(r(0,"option",92),a(1),o()),t&2){let e=s.$implicit,n=p(4);m("value",e),c(),O(n.statusLabel(e))}}function R4(t,s){if(t&1&&_(0,"input",145),t&2){let e=p().$implicit,n=p(6);m("formControlName",n.answerFieldName(e.id))}}function z4(t,s){if(t&1&&(r(0,"textarea",146),a(1," "),o()),t&2){let e=p().$implicit,n=p(6);m("formControlName",n.answerFieldName(e.id))}}function N4(t,s){if(t&1&&_(0,"input",147),t&2){let e=p().$implicit,n=p(6);m("formControlName",n.answerFieldName(e.id))}}function A4(t,s){if(t&1&&(r(0,"select",148)(1,"option",149),a(2,"Ner\u0103spuns"),o(),r(3,"option",150),a(4,"Da"),o(),r(5,"option",151),a(6,"Nu"),o()()),t&2){let e=p().$implicit,n=p(6);m("formControlName",n.answerFieldName(e.id))}}function L4(t,s){if(t&1&&(r(0,"option",92),a(1),o()),t&2){let e=s.$implicit;m("value",e),c(),O(e)}}function V4(t,s){if(t&1&&(r(0,"select",148)(1,"option",149),a(2,"Ner\u0103spuns"),o(),h(3,L4,2,2,"option",69),o()),t&2){let e=p().$implicit,n=p(6);m("formControlName",n.answerFieldName(e.id)),c(3),m("ngForOf",e.options||un(2,Su))}}function B4(t,s){if(t&1){let e=E();r(0,"label")(1,"input",153),b("change",function(i){let d=v(e).$implicit,u=p(2).$implicit,x=p(6);return M(x.toggleMultiAnswer(u.id,d,i.target.checked))}),o(),r(2,"span"),a(3),o()()}if(t&2){let e=s.$implicit,n=p(2).$implicit,i=p(6);c(),m("checked",i.isMultiAnswerSelected(n.id,e)),c(2),O(e)}}function U4(t,s){if(t&1&&(r(0,"div",152),h(1,B4,4,2,"label",86),o()),t&2){let e=p().$implicit;c(),m("ngForOf",e.options||un(1,Su))}}function j4(t,s){if(t&1&&(r(0,"div",154)(1,"label")(2,"span"),a(3,"Strengths"),o(),_(4,"textarea",155),o(),r(5,"label")(6,"span"),a(7,"Weaknesses"),o(),_(8,"textarea",156),o(),r(9,"label")(10,"span"),a(11,"Opportunities"),o(),_(12,"textarea",157),o(),r(13,"label")(14,"span"),a(15,"Threats"),o(),_(16,"textarea",158),o()()),t&2){let e=p().$implicit,n=p(6);m("formGroupName",n.answerFieldName(e.id))}}function q4(t,s){if(t&1&&(r(0,"div",136)(1,"label",137),a(2),o(),Me(3,138),h(4,R4,1,1,"input",139)(5,z4,2,1,"textarea",140)(6,N4,1,1,"input",141)(7,A4,7,1,"select",142)(8,V4,4,3,"select",142)(9,U4,2,2,"div",143)(10,j4,17,1,"div",144),xe(),o()),t&2){let e=s.$implicit;c(2),O(e.label),c(),m("ngSwitch",e.questionType),c(),m("ngSwitchCase","SHORT_TEXT"),c(),m("ngSwitchCase","LONG_TEXT"),c(),m("ngSwitchCase","NUMBER"),c(),m("ngSwitchCase","BOOLEAN"),c(),m("ngSwitchCase","SINGLE_SELECT"),c(),m("ngSwitchCase","MULTI_SELECT"),c(),m("ngSwitchCase","SWOT")}}function W4(t,s){if(t&1&&(Me(0),r(1,"h5"),a(2,"Override r\u0103spunsuri formular"),o(),h(3,q4,11,9,"div",135),xe()),t&2){let e=p(5);c(3),m("ngForOf",e.activeRegistrationQuestions)}}function $4(t,s){if(t&1&&(r(0,"div",134),h(1,W4,4,1,"ng-container",43),o()),t&2){let e=s.ngIf,n=p(4);m("formGroup",e),c(),m("ngIf",n.activeRegistrationQuestions.length>0)}}function H4(t,s){t&1&&_(0,"i",93)}function G4(t,s){if(t&1){let e=E();r(0,"form",105),b("ngSubmit",function(){v(e);let i=p().$implicit,d=p(2);return M(d.saveOverride(i))}),r(1,"div",106)(2,"div")(3,"h4"),a(4),o(),r(5,"p"),a(6,"Modific\u0103 manual datele \xEEnscrierii. R\u0103spunsurile la formular se salveaz\u0103 doar dac\u0103 le editezi aici."),o()(),r(7,"button",107),b("click",function(){v(e);let i=p(3);return M(i.closeOverride())}),_(8,"i",108),o()(),r(9,"div",109)(10,"label")(11,"span"),a(12,"Status \xEEnscriere"),o(),r(13,"select",110),h(14,D4,2,2,"option",69),o()(),r(15,"label")(16,"span"),a(17,"Link video"),o(),_(18,"input",111),o(),r(19,"label")(20,"span"),a(21,"Motto"),o(),_(22,"input",112),o(),r(23,"label")(24,"span"),a(25,"Email contact"),o(),_(26,"input",113),o(),r(27,"label")(28,"span"),a(29,"Facebook"),o(),_(30,"input",114),o(),r(31,"label")(32,"span"),a(33,"Instagram"),o(),_(34,"input",115),o(),r(35,"label")(36,"span"),a(37,"Website"),o(),_(38,"input",116),o(),r(39,"label")(40,"span"),a(41,"YouTube"),o(),_(42,"input",117),o(),r(43,"label")(44,"span"),a(45,"TikTok"),o(),_(46,"input",118),o(),r(47,"label")(48,"span"),a(49,"LinkedIn"),o(),_(50,"input",119),o(),r(51,"label",120)(52,"span"),a(53,"Descriere echip\u0103"),o(),_(54,"textarea",121),o(),r(55,"label")(56,"span"),a(57,"Culoare principal\u0103"),o(),_(58,"input",122),o(),r(59,"label")(60,"span"),a(61,"Culoare secundar\u0103"),o(),_(62,"input",123),o(),r(63,"label")(64,"span"),a(65,"\u0218coal\u0103"),o(),_(66,"input",124),o(),r(67,"label")(68,"span"),a(69,"Ora\u0219"),o(),_(70,"input",125),o(),r(71,"label")(72,"span"),a(73,"Jude\u021B"),o(),_(74,"input",126),o(),r(75,"label")(76,"span"),a(77,"\u021Aar\u0103"),o(),_(78,"input",127),o(),r(79,"label")(80,"span"),a(81,"Latitudine"),o(),_(82,"input",128),o(),r(83,"label")(84,"span"),a(85,"Longitudine"),o(),_(86,"input",129),o()(),h(87,$4,2,2,"div",130),r(88,"div",131)(89,"button",132),h(90,H4,1,0,"i",71),a(91," Salveaz\u0103 override "),o(),r(92,"button",133),b("click",function(){v(e);let i=p(3);return M(i.closeOverride())}),a(93," Anuleaz\u0103 "),o()()()}if(t&2){let e=s.ngIf,n=p().$implicit,i=p(2);m("formGroup",e),c(4),w("Admin override pentru ",n.name,""),c(10),m("ngForOf",i.statusOptions),c(73),m("ngIf",i.answerOverrideForm),c(2),m("disabled",i.actionTeamId===n.id),c(),m("ngIf",i.actionTeamId===n.id),c(2),m("disabled",i.actionTeamId===n.id)}}function Z4(t,s){if(t&1){let e=E();r(0,"article",59)(1,"div",60)(2,"div")(3,"h3"),a(4),o(),r(5,"span"),a(6),o()(),r(7,"span",61),a(8),o()(),r(9,"div",62)(10,"span",63),a(11),o(),h(12,f4,3,7,"span",64),o(),h(13,P4,78,26,"details",65)(14,y4,7,2,"details",66),r(15,"div",67)(16,"select",68),b("ngModelChange",function(i){let d=v(e).$implicit,u=p(2);return M(u.setStatusDraft(d,i))}),h(17,w4,2,2,"option",69),o(),r(18,"button",70),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.saveStatus(i))}),h(19,S4,1,0,"i",71),a(20," Salveaz\u0103 status "),o(),r(21,"button",72),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.approveTeam(i))}),a(22," Aprob\u0103 "),o(),r(23,"button",73),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.openOverride(i))}),_(24,"i",74),a(25," Admin override "),o(),r(26,"button",75),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.toggleAttentionPanel(i))}),_(27,"i",76),a(28," Cere complet\u0103ri "),o()(),h(29,k4,15,10,"section",77)(30,F4,4,1,"section",78)(31,G4,94,7,"form",79),o()}if(t&2){let e,n=s.$implicit,i=p(2);c(4),O(n.name),c(2),G("",n.internationalNumber," / ",n.romanianNumber,""),c(),ct(i.getStatusDraft(n).toLowerCase()),c(),w(" ",i.statusLabel(i.getStatusDraft(n))," "),c(3),G("",i.completedRequirementsCount(n),"/",i.requirementsFor(n).length," date obligatorii"),
151c(),m("ngForOf",i.requirementsFor(n)),c(),m("ngIf",i.getCurrentSeasonData(n)),c(),m("ngIf",i.getTeamRegistrationResponse(n)),c(2),m("ngModel",i.getStatusDraft(n))("disabled",i.actionTeamId===n.id),c(),m("ngForOf",i.statusOptions),c(),m("disabled",i.actionTeamId===n.id),c(),m("ngIf",i.actionTeamId===n.id),c(2),m("disabled",i.actionTeamId===n.id||i.getStatusDraft(n)==="CONFIRMED"),c(2),m("disabled",i.actionTeamId===n.id),c(3),m("disabled",i.actionTeamId===n.id||!i.getCurrentSeasonData(n)),c(3),m("ngIf",i.activeAttentionTeamId===n.id&&i.attentionForm),c(),m("ngIf",(e=i.getCurrentSeasonData(n))==null||e.registrationAttentionEmails==null?null:e.registrationAttentionEmails.length),c(),m("ngIf",i.activeOverrideTeamId===n.id&&i.overrideForm)}}function Y4(t,s){if(t&1&&(r(0,"div",57),h(1,Z4,32,22,"article",58),o()),t&2){let e=p();c(),m("ngForOf",e.filteredTeams)}}var Eu=(()=>{class t{constructor(e,n,i,d){this.fb=e,this.seasonsService=n,this.teamsService=i,this.seasonRegistrationService=d,this.currentSeason=null,this.teams=[],this.statusDrafts={},this.filter="all",this.searchTerm="",this.isLoading=!1,this.isLoadingOverview=!1,this.isSavingAnswersSetting=!1,this.actionTeamId=null,this.activeOverrideTeamId=null,this.activeAttentionTeamId=null,this.overrideForm=null,this.answerOverrideForm=null,this.attentionForm=null,this.message="",this.messageType="success",this.registrationOverview=null,this.statusOptions=["NONE","PENDING","WAITLIST","NEEDS_ATTENTION","CONFIRMED"]}ngOnInit(){this.loadData()}get isRegistrationOpen(){if(!this.currentSeason?.registrationStart||!this.currentSeason?.registrationEnd)return!1;let e=new Date;return e>=new Date(this.currentSeason.registrationStart)&&e<=new Date(this.currentSeason.registrationEnd)}toggleRegistrationAnswers(){if(!this.currentSeason||this.isSavingAnswersSetting)return;let e=this.currentSeason,n=e.registrationAnswersOpen===!1;this.isSavingAnswersSetting=!0,this.seasonsService.updateSeason(e.id,{registrationAnswersOpen:n}).subscribe({next:()=>{e.registrationAnswersOpen=n,this.isSavingAnswersSetting=!1,this.showMessage(n?"R\u0103spunsurile la \xEEntreb\u0103rile de \xEEnscriere sunt active.":"R\u0103spunsurile la \xEEntreb\u0103rile de \xEEnscriere sunt dezactivate.","success")},error:()=>{this.isSavingAnswersSetting=!1,this.showMessage("Nu am putut actualiza accesul la r\u0103spunsuri.","error")}})}get filteredTeams(){let e=this.searchTerm.trim().toLowerCase();return this.teams.filter(n=>{let d=this.getCurrentSeasonData(n)?.registrationStatus||"NONE",u=d!=="NONE",x=this.filter==="all"||this.filter==="started"&&u||this.filter==="inactive"&&d==="NONE"||this.filter==="incomplete-profile"&&d==="PENDING"||this.filter==="pending-review"&&d==="WAITLIST"||this.filter==="needs-attention"&&d==="NEEDS_ATTENTION"||this.filter==="approved"&&d==="CONFIRMED",y=!e||n.name.toLowerCase().includes(e)||n.internationalNumber.toLowerCase().includes(e)||n.romanianNumber.toLowerCase().includes(e);return x&&y})}get startedTeamsCount(){return this.teams.filter(e=>(this.getCurrentSeasonData(e)?.registrationStatus||"NONE")!=="NONE").length}get approvedTeamsCount(){return this.teams.filter(e=>this.getCurrentSeasonData(e)?.registrationStatus==="CONFIRMED").length}get pendingReviewTeamsCount(){return this.teams.filter(e=>this.getCurrentSeasonData(e)?.registrationStatus==="WAITLIST").length}get needsAttentionTeamsCount(){return this.teams.filter(e=>this.getCurrentSeasonData(e)?.registrationStatus==="NEEDS_ATTENTION").length}get registrationQuestionCount(){return this.registrationOverview?.questions.filter(e=>e.isActive).length||0}get completedFormTeamsCount(){return this.registrationOverview?.teamResponses.filter(e=>this.hasCompletedRequiredRegistrationAnswers(e)).length||0}loadData(){this.isLoading=!0,this.message="",this.seasonsService.getCurrentSeason().subscribe({next:e=>{this.currentSeason=e?.success?e.message:null,this.loadRegistrationOverview(),this.loadTeams()},error:()=>{this.currentSeason=null,this.isLoading=!1,this.showMessage("Nu am putut \xEEnc\u0103rca sezonul curent.","error")}})}getCurrentSeasonData(e){return this.currentSeason&&e.teamSeasonData?.find(n=>n.seasonId===this.currentSeason?.id)||null}getStatusDraft(e){return this.statusDrafts[e.id]||this.getCurrentSeasonData(e)?.registrationStatus||"NONE"}setStatusDraft(e,n){this.statusDrafts[e.id]=n}saveStatus(e){if(!this.currentSeason||this.actionTeamId)return;let n=this.getStatusDraft(e),i=this.getCurrentSeasonData(e);if(!i&&n==="NONE"){this.showMessage("Echipa este deja inactiv\u0103 pentru sezonul curent.","success");return}this.actionTeamId=e.id,(i?this.teamsService.updateTeamSeasonDataAsAdmin(i.id,{registrationStatus:n}):this.teamsService.createTeamSeasonDataAsAdmin({teamId:e.id,seasonId:this.currentSeason.id,registrationStatus:n})).subscribe({next:()=>{let u=n==="CONFIRMED"?`\xCEnscrierea echipei ${e.name} a fost aprobat\u0103. Emailul de confirmare a fost trimis.`:`Statusul echipei ${e.name} a fost actualizat.`;this.showMessage(u,"success"),this.actionTeamId=null,this.loadRegistrationOverview(),this.loadTeams()},error:u=>{this.showMessage(u?.error?.message?.message||u?.error?.message||"Nu am putut actualiza statusul echipei.","error"),this.actionTeamId=null}})}approveTeam(e){this.setStatusDraft(e,"CONFIRMED"),this.saveStatus(e)}openOverride(e){let n=this.getCurrentSeasonData(e),i=this.getTeamRegistrationResponse(e),d=new Map((i?.answers||[]).map(x=>[x.questionId,x.value]));this.activeOverrideTeamId=e.id,this.overrideForm=this.fb.group({registrationStatus:[n?.registrationStatus||this.get
151StatusDraft(e)||"PENDING",N.required],registrationVideoLink:[n?.registrationVideoLink||""],teamDescription:[n?.teamDescription||""],motto:[n?.motto||""],teamMainColor:[n?.teamMainColor||""],teamSecondaryColor:[n?.teamSecondaryColor||""],primaryEmailContact:[n?.primaryEmailContact||""],facebookLink:[n?.facebookLink||""],instagramLink:[n?.instagramLink||""],teamWebsiteLink:[n?.teamWebsiteLink||""],youtubeLink:[n?.youtubeLink||""],tiktokLink:[n?.tiktokLink||""],linkedInLink:[n?.linkedInLink||""],school:[n?.school||""],city:[n?.city||""],county:[n?.county||""],country:[n?.country||""],latitude:[n?.latitude??""],longitude:[n?.longitude??""]});let u={};for(let x of this.activeRegistrationQuestions){let y=d.get(x.id);x.questionType==="SWOT"?u[this.answerFieldName(x.id)]=this.fb.group({strengths:[y?.strengths||""],weaknesses:[y?.weaknesses||""],opportunities:[y?.opportunities||""],threats:[y?.threats||""]}):x.questionType==="BOOLEAN"?u[this.answerFieldName(x.id)]=[typeof y=="boolean"?String(y):""]:x.questionType==="MULTI_SELECT"?u[this.answerFieldName(x.id)]=[Array.isArray(y)?y:[]]:u[this.answerFieldName(x.id)]=[y??""]}this.answerOverrideForm=this.fb.group(u)}closeOverride(){this.activeOverrideTeamId=null,this.overrideForm=null,this.answerOverrideForm=null}toggleAttentionPanel(e){if(this.activeAttentionTeamId===e.id){this.activeAttentionTeamId=null,this.attentionForm=null;return}this.activeAttentionTeamId=e.id,this.attentionForm=this.fb.group({message:["",[N.required,N.maxLength(1e4)]]})}sendNeedsAttentionEmail(e){let n=this.getCurrentSeasonData(e);if(!n||!this.attentionForm||this.actionTeamId)return;this.attentionForm.markAllAsTouched();let i=String(this.attentionForm.value.message||"").trim();i&&(this.actionTeamId=e.id,this.teamsService.sendRegistrationAttentionEmail(n.id,i).subscribe({next:()=>{this.actionTeamId=null,this.activeAttentionTeamId=null,this.attentionForm=null,this.showMessage(`Emailul cu complet\u0103rile necesare a fost trimis c\u0103tre ${e.name}.`,"success"),this.loadTeams()},error:d=>{this.actionTeamId=null,this.showMessage(d?.error?.message?.message||d?.error?.message||"Nu am putut trimite emailul.","error")}}))}saveOverride(e){if(!this.currentSeason||!this.overrideForm||this.actionTeamId)return;if(this.overrideForm.markAllAsTouched(),this.overrideForm.invali
151d){this.showMessage("Completeaz\u0103 c\xE2mpurile obligatorii din override.","error");return}let n=this.getCurrentSeasonData(e),i=this.overrideForm.value,d={teamId:e.id,seasonId:this.currentSeason.id,registrationStatus:i.registrationStatus,registrationVideoLink:this.emptyToNull(i.registrationVideoLink),teamDescription:this.emptyToNull(i.teamDescription),motto:this.emptyToNull(i.motto),teamMainColor:this.emptyToNull(i.teamMainColor),teamSecondaryColor:this.emptyToNull(i.teamSecondaryColor),primaryEmailContact:this.emptyToNull(i.primaryEmailContact),facebookLink:this.emptyToNull(i.facebookLink),instagramLink:this.emptyToNull(i.instagramLink),teamWebsiteLink:this.emptyToNull(i.teamWebsiteLink),youtubeLink:this.emptyToNull(i.youtubeLink),tiktokLink:this.emptyToNull(i.tiktokLink),linkedInLink:this.emptyToNull(i.linkedInLink),school:this.emptyToNull(i.school),city:this.emptyToNull(i.city),county:this.emptyToNull(i.county),country:this.emptyToNull(i.country),latitude:this.toOptionalNumber(i.latitude),longitude:this.toOptionalNumber(i.longitude)};this.actionTeamId=e.id,(n?this.teamsService.updateTeamSeasonDataAsAdmin(n.id,d):this.teamsService.createTeamSeasonDataAsAdmin(d)).subscribe({next:x=>{let y=x.message;this.saveAnswerOverride(e,y?.id||n?.id||null)},error:x=>{this.actionTeamId=null,this.showMessage(x?.error?.message?.message||x?.error?.message||"Nu am putut salva override-ul.","error")}})}getTeamRegistrationResponse(e){let n=this.getCurrentSeasonData(e);return n&&this.registrationOverview?.teamResponses.find(i=>i.teamSeasonDataId===n.id)||null}hasCompletedRequiredRegistrationAnswers(e){if(!e)return!1;let n=new Map(e.answers.map(i=>[i.questionId,i]));return this.activeRegistrationQuestions.filter(i=>i.isRequired).every(i=>!!n.get(i.id)?.complete)}get activeRegistrationQuestions(){return this.registrationOverview?.questions.filter(e=>e.isActive)||[]}answerFieldName(e){return`answer_${e}`}isMultiAnswerSelected(e,n){let i=this.answerOverrideForm?.get(this.answerFieldName(e))?.value;return Array.isArray(i)&&i.includes(n)}toggleMultiAnswer(e,n,i){let d=this.answerOverrideForm?.get(this.answerFieldName(e)),u=Array.isArray(d?.value)?[...d.value]:[],x=i?Array.from(new Set([...u,n])):u.filter(y=>y!==n);d?.setValue(x),d?.markAsDirty()}mentorsFor(e){return(this.getCurrentSeasonData(e)?.persons||[]).filter(n=>n.personType==="MENTOR")}membersFor(e){return(this.getCurrentSeasonData(e)?.persons||[]).filter(n=>n.personType==="MEMBER")}sponsorsFor(e){return this.getCurrentSeasonData(e)?.sponsors||[]}formatAnswerValue(e){let n=e.value;return n==null||n===""?"Ner\u0103spuns":e.questionType==="BOOLEAN"?n?"Da":"Nu":e.questionType==="MULTI_SELECT"&&Array.isArray(n)?n.length?n.join(", "):"Ner\u0103spuns":e.questionType==="SWOT"?[n?.strengths?`S: ${n.strengths}`:"",n?.weaknesses?`W: ${n.weaknesses}`:"",n?.opportunities?`O: ${n.opportunities}`:"",n?.threats?`T: ${n.threats}`:""].filter(Boolean).join(` 152`)||"Ner\u0103spuns":String(n)}formatNumber(e){return e==null||Number.isNaN(e)?"-":new Intl.NumberFormat("ro-RO",{maximumFractionDigits:2}).format(e)}trackStatistic(e,n){return n.questionId}exportRegistrationAnswersCsv(){if(!this.registrationOverview||!this.currentSeason){this.showMessage("Nu exist\u0103 r\u0103spunsuri de exportat pentru sezonul curent.","error");return}let e=this.registrationOverview.questions,n=[["Nr. crt.","Num\u0103r echip\u0103 (interna\u021Bional)","Nume echip\u0103","Ora\u0219","Jude\u021B",...e.map(i=>i.label)]];for(let[i,d]of this.registrationOverview.teamResponses.entries()){let u=new Map(d.answers.map(x=>[x.questionId,x]));n.push([String(i+1),d.team.internationalNumber,d.team.name,d.city||"",d.county||"",...e.map(x=>{let y=u.get(x.id);return y?.value===null||y?.value===void 0||y?.value===""?"":this.formatAnswerValue(y)})])}this.downloadCsv(n,`raspunsuri-formular-${this.slugify(this.currentSeason.seasonName)}.csv`)}statusLabel(e){switch(e){case"CONFIRMED":return"\xCEnscriere confirmat\u0103";case"WAITLIST":return"Profil complet, pending admin review";case"NEEDS_ATTENTION":return"Necesit\u0103 complet\u0103ri";case"PENDING":return"\xCEn proces de \xEEnscriere";case"NONE":default:return"Echip\u0103 inactiv\u0103"}}requirementsFor(e){let n=this.getCurrentSeasonData(e),i=this.getTeamRegistrationResponse(e),d=this.registrationOverview?.questions.filter(u=>u.isActive).length||0;return[{key:"description",label:"Descriere",complete:this.hasText(n?.teamDescription)},{key:"motto",label:"Motto",complete:this.hasText(n?.motto)},{key:"video",label:"Link video",complete:this.hasText(n?.registrationVideoLink)},{key:"photo",label:"Fotografie",complete:!!n?.teamBanner},{key:"logo",label:"Logo",complete:!!n?.teamLogo},{key:"colors",label:"Culori",complete:this.hasText(n?.teamMainColor)&&this.hasText(n?.teamSecondaryColor)},{key:"location",label:"Loca\u021Bie",complete:n?.latitude!==null&&n?.latitude!==void 0&&n?.longitude!==null&&n?.longitude!==void 0},{key:"social",label:"Minimum o re\u021Bea de socializare",complete:this.hasAtLeastOneSocialMedia(n)},{key:"mentor",label:"Minimum 1 mentor",complete:(n?.persons||[]).some(u=>u.personType==="MENTOR")},{key:"member",label:"Minimum 1 elev",complete:(n?.persons||[]).some(u=>u.personType==="MEMBER")},{key:"registration-form",label:"Formular \xEEnscriere",complete:d===0||this.hasCompletedRequiredRegistrationAnswers(i)}]}completedRequirementsCount(e){return this.requirementsFor(e).filter(n=>n.complete).length}formatDate(e){return e?new Date(e).toLocaleDateString("ro-RO",{day:"2-digit",month:"long",year:"numeric"}):"-"}
152formatDateTime(e){return e?new Date(e).toLocaleString("ro-RO",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}):"-"}loadTeams(){this.teamsService.getAllTeamsForAdmin().subscribe({next:e=>{this.teams=e.message||[],this.statusDrafts=Object.fromEntries(this.teams.map(n=>[n.id,this.getCurrentSeasonData(n)?.registrationStatus||"NONE"])),this.isLoading=!1},error:()=>{this.teams=[],this.isLoading=!1,this.showMessage("Nu am putut \xEEnc\u0103rca echipele.","error")}})}loadRegistrationOverview(){if(!this.currentSeason){this.registrationOverview=null;return}this.isLoadingOverview=!0,this.seasonRegistrationService.getSeasonOverview(this.currentSeason.id).subscribe({next:e=>{this.registrationOverview=e.message,this.isLoadingOverview=!1},error:e=>{console.error("Error loading registration overview:",e),this.registrationOverview=null,this.isLoadingOverview=!1,this.showMessage("Nu am putut \xEEnc\u0103rca statisticile formularului de \xEEnscriere.","error")}})}saveAnswerOverride(e,n){if(!n||!this.answerOverrideForm||!this.answerOverrideForm.dirty||this.activeRegistrationQuestions.length===0){this.finishOverrideSave(e);return}let i=this.activeRegistrationQuestions.map(d=>({questionId:d.id,value:this.normalizeOverrideAnswer(d)}));this.seasonRegistrationService.submitTeamSeasonAnswers(n,{answers:i}).subscribe({next:()=>this.finishOverrideSave(e),error:d=>{this.actionTeamId=null,this.showMessage(d?.error?.message?.message||d?.error?.message||"Datele sezonului au fost salvate, dar r\u0103spunsurile formularului nu au putut fi salvate.","error")}})}finishOverrideSave(e){this.showMessage(`Override-ul pentru ${e.name} a fost salvat.`,"success"),this.actionTeamId=null,this.closeOverride(),this.loadRegistrationOverview(),this.loadTeams()}normalizeOverrideAnswer(e){let n=this.answerOverrideForm?.get(this.answerFieldName(e.id))?.value;return e.questionType==="NUMBER"?n===""||n===null||n===void 0?null:Number(n):e.questionType==="BOOLEAN"?n===""||n===null||n===void 0?null:n==="true":e.questionType==="SWOT"?{strengths:n?.strengths||"",weaknesses:n?.weaknesses||"",opportunities:n?.opportunities||"",threats:n?.threats||""}:n}emptyToNull(e){let n=String(e??"").trim();return n||null}toOptionalNumber(e){if(e==null||e==="")return null;let n=Number(e);return Number.isFinite(n)?n:null}downloadCsv(e,n){let i=e.map(y=>y.map(k=>this.escapeCsv(k)).join(",")).join(` 153`),d=new Blob([`\uFEFF${i}`],{type:"text/csv;charset=utf-8;"}),u=URL.createObjectURL(d),x=document.createElement("a");x.href=u,x.download=n,x.click(),URL.revokeObjectURL(u)}escapeCsv(e){return`"${String(e??"").replace(/"/g,'""')}"`}slugify(e){return e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"sezon"}hasAtLeastOneSocialMedia(e){return e?this.hasText(e.facebookLink)||this.hasText(e.instagramLink)||this.hasText(e.xLink)||this.hasText(e.linkedInLink)||this.hasText(e.youtubeLink)||this.hasText(e.tiktokLink)||this.hasText(e.teamWebsiteLink)||this.hasText(e.otherSocial):!1}hasText(e){return!!e&&e.trim().length>0}showMessage(e,n){this.message=e,this.messageType=n}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ve),T(Ne),T(Ii))}}static{this.\u0275cmp=V({type:t,selectors:[["app-season-team-registration"]],standalone:!0,features:[B],decls:34,vars:13,consts:[[1,"season-team-registration"],[1,"section-header"],["type","button",1,"refresh-button",3,"click","disabled"],[1,"fas","fa-sync-alt"],["class","season-summary",4,"ngIf"],["class","warning-banner",4,"ngIf"],["class","answers-setting",4,"ngIf"],["class","message",3,"error",4,"ngIf"],[1,"toolbar"],["type","search","placeholder","Caut\u0103 dup\u0103 nume, ID FTC sau ID Rom\xE2nia",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["value","all"],["value","started"],["value","inactive"],["value","incomplete-profile"],["value","pending-review"],["value","needs-attention"],["value","approved"],["class","registration-analytics",4,"ngIf"],["class","loading",4,"ngIf"],["class","empty-state",4,"ngIf"],["class","teams-table",4,"ngIf"],[1,"season-summary"],[1,"warning-banner"],[1,"fas","fa-exclamation-triangle"],[1,"answers-setting"],["type","button",3,"click","disabled"],[1,"message"],[1,"registration-analytics"],[1,"analytics-header"],[1,"analytics-actions"],["class","loading-label",4,"ngIf"],["type","button",1,"export-button",3,"click","disabled"],[1,"fas","fa-file-csv"],["class","empty-state compact",4,"ngIf"],["class","statistics-grid",4,"ngIf"],[1,"loading-label"],[1,"empty-state","compact"],[1,"statistics-grid"],["class","stat-card",4,"ngFor","ngForOf","ngForTrackBy"],[1,"stat-card"],[1,"stat-card-header"],[1,"stat-meta"],[4,"ngIf"],["class","number-stats",4,"ngIf"],["class","option-stats",4,"ngIf"],["class","swot-stats",4,"ngIf"],[1,"number-stats"],[1,"option-stats"],["class","option-row",4,"ngFor","ngForOf"],[1,"option-row"],[1,"swot-stats"],["class","swot-entry",4,"ngFor","ngForOf"],[1,"swot-entry"],[1,"loading"],[1,"spinner"],[1,"empty-state"],[1,"team
153s-table"],["class","team-row",4,"ngFor","ngForOf"],[1,"team-row"],[1,"team-main"],[1,"status-pill"],[1,"requirements"],[1,"completion"],["class","requirement",3,"complete",4,"ngFor","ngForOf"],["class","team-details",4,"ngIf"],["class","team-answers",4,"ngIf"],[1,"status-actions"],[3,"ngModelChange","ngModel","disabled"],[3,"value",4,"ngFor","ngForOf"],["type","button",1,"save",3,"click","disabled"],["class","fas fa-spinner fa-spin",4,"ngIf"],["type","button",1,"approve",3,"click","disabled"],["type","button",1,"override",3,"click","disabled"],[1,"fas","fa-pen"],["type","button",1,"needs-attention",3,"click","disabled"],[1,"fas","fa-envelope"],["class","attention-panel",3,"formGroup",4,"ngIf"],["class","attention-history",4,"ngIf"],["class","override-panel",3,"formGroup","ngSubmit",4,"ngIf"],[1,"requirement"],[1,"fas"],[1,"team-details"],[1,"details-grid"],[1,"detail-card"],["class","muted",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"muted"],[1,"team-answers"],[1,"answers-grid"],["class","answer-card",3,"missing",4,"ngFor","ngForOf"],[1,"answer-card"],[3,"value"],[1,"fas","fa-spinner","fa-spin"],[1,"attention-panel",3,"formGroup"],[3,"for"],["formControlName","message","rows","5","placeholder","Explic\u0103 exact ce trebuie corectat sau completat.",3,"id"],["class","field-error",4,"ngIf"],[1,"attention-actions"],["type","button",1,"send-attention",3,"click","disabled"],[1,"field-error"],[1,"attention-history"],["class","attention-email",4,"ngFor","ngForOf"],[1,"attention-email"],[1,"change-status"],[1,"override-panel",3,"ngSubmit","formGroup"],[1,"override-header"],["type","button",1,"close-override",3,"click"],[1,"fas","fa-times"],[1,"override-grid"],["formControlName","registrationStatus"],["type","url","formControlName","registrationVideoLink"],["type","text","formControlName","motto"],["type","email","formControlName","primaryEmailContact"],["type","url","formControlName","facebookLink"],["type","url","formControlName","instagramLink"],["type","url","formControlName","teamWebsiteLink"],["type","url","formControlName","youtubeLink"],["type","url","formControlName","tiktokLink"],["type","url","formControlName","linkedInLink"],[1,"wide"],["rows","4","formControlName","teamDescription"],["type","text","formControlName","teamMainColor"],["type","text","formControlName","teamSecondaryColor"],["type","text","formControlName","school"],["type","text","formControlName","city"],["type","text","formControlName","county"],["type","text","formControlName","country"],["type","number","step","any","formControlName","latitude"],["type","number","step","any","formControlName","longitude"],["class","answer-override",3,"formGroup",4,"ngIf"],[1,"override-actions"],["type","submit",1,"save",3,"disabled"],["type","button",1,"secondary",3,"click","disabled"],[1,"answer-override",3,"formGroup"],["class","override-question",4,"ngFor","ngForOf"],[1,"override-question"],[1,"question-title"],[3,"ngSwitch"],["type","text",3,"formControlName",4,"ngSwitchCase"],["rows","3",3,"formControlName",4,"ngSwitchCase"],["type","number",3,"formControlName",4,"ngSwitchCase"],[3,"formControlName",4,"ngSwitchCase"],["class","multi-answer",4,"ngSwitchCase"],["class","swot-answer",3,"formGroupName",4,"ngSwitchCase"],["type","text",3,"formControlName"],["rows","3",3,"formControlName"],["type","number",3,"formControlName"],[3,"formControlName"],["value",""],["value","true"],["value","false"],[1,"multi-answer"],["type","checkbox",3,"change","checked"],[1,"swot-answer",3,"formGroupName"],["rows","2","formControlName","strengths"],["rows","2","formControlName","weaknesses"],["rows","2","formControlName","opportunities"],["rows","2","formControlName","threats"]],template:function(n,i){n&1&&(r(0,"section",0)(1,"header",1)(2,"div")(3,"h2"),a(4,"Confirmare \xEEnregistrare sezon echipe"),o(),r(5,"p"),a(6,"Urm\u0103re\u0219te starea echipelor existente pentru sezonul curent \u0219i confirm\u0103 \xEEnscrierile."),o()(),r(7,"button",2),b("click",function(){return i.loadData()}),_(8,"i",3),o()(),h(9,J5,36,11,"div",4)(10,X5,4,0,"div",5)(11,e4,8,3,"div",6)(12,t4,2,3,"div",7),r(13,"div",8)(14,"input",9),z("ngModelChange",function(u){return R(i.searchTerm,u)||(i.searchTerm=u),u}),o(),r(15,"select",10),z("ngModelChange",function(u){return R(i.filter,u)||(i.filter=u),u}),r(16,"option",11),a(17,"Toate echipele"),o(),r(18,"option",12),a(19,"Au \xEEnceput \xEEnscrierea"),o(),r(20,"option",13),a(21,"Echipe inactive"),o(),r(22,"option",14),a(23,"Profil incomplet"),o(),r(24,"option",15),a(25,"Pending review"),o(),r(26,"option",16),a(27,"Necesit\u0103 complet\u0103ri"),o(),r(28,"option",17),a(29,"Aprobate"),o()()(),h(30,p4,14,6,"section",18)(31,u4,4,0,"div",19)(32,_4,2,0,"div",20)(33,Y4,2,1,"div",21),o()),n&2&&(c(7),m("disabled",i.isLoading),c(),I("fa-spin",i.isLoading),c(),m("ngIf",i.currentSeason),c(),m("ngIf",i.currentSeason&&!i.isRegistrationOpen),c(),m("ngIf",i.currentSeason),c(),m("ngIf",i.message),c(2),D("ngModel",i.searchTerm),c(),D("ngModel",i.filter),c(15),m("ngIf",i.currentSeason),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading&&i.filteredTeams.length===0),c(),m("ngIf",!i.isLoading&&i.filteredTeams.length>0))},dependencies:[H,X,$,ka,Ia,se,Oe,fe,he,re,lt,ue,ie,Pe,pe,$e,We,Ge,qo],styles:[".season-team-registration[_ngcontent-%COMP%]{padding:1.5rem}.section-header[_ngcontent-%COMP%], .toolbar[_ngcontent-%COMP%], .season-summary[_ngcontent-%COMP%], .team-main[_ngcontent-%COMP%], .status-actions[_ngcontent-%COMP%]{align-items:center;display:flex;gap:1rem}.section-header[_ngcontent-%COMP%]{justify-content:space-between;margin-bottom:1rem}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#1d2433;font-size:1.5rem;margin:0 0 .35rem}.section-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#64748b;margin:0}.refresh-button[_ngcontent-%COMP%], .status-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:0;border-radius:6px;cursor:pointer;font-weight:700;min-height:40px;padding:.65rem .9rem}.refresh-button[_ngcontent-%COMP%]:disabled, .status-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.65}.refresh-button[_ngcontent-%COMP%]{background:#eef2ff;color:#4f46e5}.season-summary[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;margin-bottom:1rem;padding:1rem}.season-summary[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{min-width:180px}.season-summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#64748b;display:block;font-size:.85rem}.season-summary[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1d2433;display:block;margin-top:.2rem}.warning-banner[_ngcontent-%COMP%], .message[_ngcontent-%COMP%], .loading[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{border-radius:8px;margin-bottom:1rem;padding:1rem}.warning-banner[_ngcontent-%COMP%]{align-items:flex-start;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;display:flex;gap:.75rem}.answers-setting[_ngcontent-%COMP%]{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:1rem}.answers-setting[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#64748b;margin:.3rem 0 0}.answers-setting[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#4f46e5;border:0;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:.7rem 1rem}.answers-setting[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.65}.message[_ngcontent-%COMP%]{background:#e8f6ee;border:1px solid #b7e0c5;color:#1d6b3a}.message.error[_ngcontent-%COMP%]{background:#fff0f0;border-color:#f1bbbb;color:#9f2d2d}.toolbar[_ngcontent-%COMP%]{margin-bottom:1rem}.toolbar[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .toolbar[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{border:1px solid #cbd5e1;border-radius:6px;color:#1d2433;font:inherit;min-height:42px;padding:.65rem .75rem}.toolbar[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;min-width:260px}.registration-analytics[_ngcontent-%COMP%]{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;padding:1rem}.analytics-header[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.analytics-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#1d2433;margin:0 0 .25rem}.analytics-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#64748b;margin:0}.analytics-actions[_ngcontent-%COMP%]{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.loading-label[_ngcontent-%COMP%]{background:#eef2ff;border-radius:999px;color:#3730a3;font-size:.85rem;font-weight:800;padding:.35rem .65rem}.export-button[_ngcontent-%COMP%]{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:800;gap:.4rem;min-height:34px;padding:.4rem .65rem}.export-button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.6}.compact[_ngcontent-%COMP%]{margin-bottom:0;padding:.75rem}.statistics-grid[_ngcontent-%COMP%]{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.stat-card[_ngcontent-%COMP%]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.9rem}.stat-card-header[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}
153.stat-card-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1d2433;font-size:.98rem;margin:0}.stat-card-header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{background:#ecfdf5;border-radius:999px;color:#047857;flex:0 0 auto;font-size:.78rem;font-weight:800;padding:.25rem .5rem}.stat-meta[_ngcontent-%COMP%]{color:#64748b;font-size:.86rem;margin:.55rem 0}.number-stats[_ngcontent-%COMP%], .option-stats[_ngcontent-%COMP%]{display:grid;gap:.45rem}.number-stats[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}.number-stats[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{background:#f8fafc;border-radius:6px;color:#64748b;padding:.5rem}.number-stats[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1d2433;display:block;margin-top:.15rem}.option-row[_ngcontent-%COMP%]{align-items:center;background:#f8fafc;border-radius:6px;display:flex;justify-content:space-between;padding:.45rem .55rem}.swot-stats[_ngcontent-%COMP%]{display:grid;gap:.5rem}.swot-stats[_ngcontent-%COMP%] details[_ngcontent-%COMP%]{background:#f8fafc;border-radius:6px;padding:.55rem}.swot-stats[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;font-weight:800}.swot-entry[_ngcontent-%COMP%]{border-top:1px solid #e2e8f0;margin-top:.55rem;padding-top:.55rem}.swot-entry[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#334155;display:block;font-size:.85rem}.swot-entry[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#475569;margin:.25rem 0 0;white-space:pre-wrap}.loading[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{background:#f8fafc;color:#64748b;text-align:center}.teams-table[_ngcontent-%COMP%]{display:grid;gap:.85rem}.team-row[_ngcontent-%COMP%]{border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.team-main[_ngcontent-%COMP%]{justify-content:space-between}.team-main[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#1d2433;font-size:1.1rem;margin:0 0 .25rem}.team-main[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#64748b}.status-pill[_ngcontent-%COMP%]{border-radius:999px;font-size:.85rem;font-weight:800;padding:.35rem .65rem}.status-pill.none[_ngcontent-%COMP%]{background:#f1f5f9;color:#475569}.status-pill.pending[_ngcontent-%COMP%]{background:#fef3c7;color:#92400e}.status-pill.waitlist[_ngcontent-%COMP%]{background:#dbeafe;color:#1d4ed8}.status-pill.needs_attention[_ngcontent-%COMP%]{background:#fee2e2;color:#b91c1c}.status-pill.confirmed[_ngcontent-%COMP%]{background:#dcfce7;color:#166534}.needs-attention[_ngcontent-%COMP%], .send-attention[_ngcontent-%COMP%]{background:#b91c1c;color:#fff}.attention-panel[_ngcontent-%COMP%], .attention-history[_ngcontent-%COMP%]{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin-top:.85rem;padding:1rem}.attention-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .attention-history[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#9a3412;margin:0 0 .35rem}.attention-panel[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .attention-history[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{color:#7c2d12;margin:0 0 .75rem}.attention-panel[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#7c2d12;display:block;font-weight:700;margin-bottom:.35rem}.attention-panel[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{border:1px solid #fdba74;border-radius:6px;box-sizing:border-box;font:inherit;padding:.65rem;resize:vertical;width:100%}.field-error[_ngcontent-%COMP%]{color:#b91c1c;display:block;margin-top:.35rem}.attention-actions[_ngcontent-%COMP%]{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.75rem}.attention-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:0;border-radius:6px;cursor:pointer;font-weight:700;padding:.6rem .8rem}.attention-email[_ngcontent-%COMP%]{background:#fff;border:1px solid #fed7aa;border-radius:6px;margin-top:.65rem;padding:.75rem}.attention-email[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.25rem .65rem}.attention-email[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#7c2d12}.attention-email[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#64748b;font-size:.85rem}.attention-email[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#334155;margin:.6rem 0 0;white-space:pre-wrap}.change-status[_ngcontent-%COMP%]{background:#f1f5f9;border-radius:999px;display:inline-block;font-weight:700;margin-top:.55rem;
153padding:.25rem .55rem}.change-status.changed[_ngcontent-%COMP%]{background:#dcfce7;color:#166534}.requirements[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.team-details[_ngcontent-%COMP%], .team-answers[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:0 0 1rem;padding:.75rem}.team-details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%], .team-answers[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{align-items:center;color:#1d2433;cursor:pointer;display:flex;font-weight:800;gap:.6rem;justify-content:space-between}.team-details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .team-answers[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#64748b;font-size:.82rem;font-weight:700}.details-grid[_ngcontent-%COMP%]{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:.75rem}.detail-card[_ngcontent-%COMP%]{background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:.85rem}.detail-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1d2433;margin:0 0 .65rem}.detail-card[_ngcontent-%COMP%] dl[_ngcontent-%COMP%]{display:grid;gap:.65rem;margin:0}.detail-card[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{color:#64748b;font-size:.78rem;font-weight:800;text-transform:uppercase}.detail-card[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{color:#334155;margin:.15rem 0 0;white-space:pre-wrap}.detail-card[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.detail-card[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:grid;gap:.15rem}.detail-card[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .detail-card[_ngcontent-%COMP%] .muted[_ngcontent-%COMP%]{color:#64748b}.detail-card[_ngcontent-%COMP%] .muted[_ngcontent-%COMP%]{margin:0}.answers-grid[_ngcontent-%COMP%]{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:.75rem}.answer-card[_ngcontent-%COMP%]{background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:.75rem}.answer-card.missing[_ngcontent-%COMP%]{border-color:#fed7aa}.answer-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#334155;display:block;font-size:.9rem;margin-bottom:.35rem}.answer-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#475569;margin:0;white-space:pre-wrap}.completion[_ngcontent-%COMP%], .requirement[_ngcontent-%COMP%]{border-radius:999px;font-size:.82rem;padding:.3rem .55rem}.completion[_ngcontent-%COMP%]{background:#eef2ff;color:#3730a3;font-weight:800}.requirement[_ngcontent-%COMP%]{background:#f8fafc;color:#64748b}.requirement.complete[_ngcontent-%COMP%]{background:#ecfdf5;color:#047857}.status-actions[_ngcontent-%COMP%]{flex-wrap:wrap}.status-actions[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{border:1px solid #cbd5e1;border-radius:6px;flex:1;min-height:40px;min-width:220px;padding:.55rem .7rem}.status-actions[_ngcontent-%COMP%] .save[_ngcontent-%COMP%]{background:#2563eb;color:#fff}.status-actions[_ngcontent-%COMP%] .approve[_ngcontent-%COMP%]{background:#16a34a;color:#fff}.status-actions[_ngcontent-%COMP%] .override[_ngcontent-%COMP%]{background:#f59e0b;color:#fff}.override-panel[_ngcontent-%COMP%]{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;display:grid;gap:1rem;margin-top:1rem;padding:1rem}.override-header[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.override-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#1d2433;margin:0 0 .25rem}.override-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#92400e;margin:0}.close-override[_ngcontent-%COMP%]{align-items:center;background:#fff;border:1px solid #fcd34d;border-radius:6px;color:#92400e;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.override-grid[_ngcontent-%COMP%]{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.override-grid[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:grid;gap:.3rem;font-weight:800}.override-grid[_ngcontent-%COMP%] .wide[_ngcontent-%COMP%]{grid-column:1/-1}.override-grid[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .override-grid[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .override-grid[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .answer-override[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .answer-override[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .answer-override[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{border:1px solid #d6b64c;border-radius:6px;color:#1d2433;font:inherit;padding:.6rem .7rem;width:100%}.override-grid[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .answer-override[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical}.answer-override[_ngcontent-%COMP%]{background:#fff;border:1px solid #fcd34d;border-radius:8px;display:grid;gap:.85rem;padding:.85rem}.answer-override[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{color:#1d2433;font-size:1rem;margin:0}.override-question[_ngcontent-%COMP%]{display:grid;gap:.4rem}.question-title[_ngcontent-%COMP%]{color:#334155;font-weight:800}.multi-answer[_ngcontent-%COMP%]{display:grid;gap:.4rem}.multi-answer[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{align-items:center;display:flex;gap:.45rem}.multi-answer[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:auto}.swot-answer[_ngcontent-%COMP%]{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.swot-answer[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:grid;gap:.3rem;font-weight:700}.override-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.65rem}.override-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:0;border-radius:6px;cursor:pointer;font-weight:800;min-height:40px;padding:.65rem .9rem}.override-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.65}
153.override-actions[_ngcontent-%COMP%] .save[_ngcontent-%COMP%]{background:#2563eb;color:#fff}.override-actions[_ngcontent-%COMP%] .secondary[_ngcontent-%COMP%]{background:#fff;color:#92400e}@media (max-width: 720px){.section-header[_ngcontent-%COMP%], .analytics-header[_ngcontent-%COMP%], .analytics-actions[_ngcontent-%COMP%], .override-header[_ngcontent-%COMP%], .override-actions[_ngcontent-%COMP%], .toolbar[_ngcontent-%COMP%], .team-main[_ngcontent-%COMP%], .status-actions[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column}.toolbar[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .toolbar[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .status-actions[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .status-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}"]})}}return t})();function K4(t,s){if(t&1&&(r(0,"option",30),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),w(" ",e.seasonName," ")}}function Q4(t,s){if(t&1&&(r(0,"div",31),a(1),o()),t&2){let e=p();I("error",e.messageType==="error")("success",e.messageType==="success"),c(),w(" ",e.message," ")}}function J4(t,s){if(t&1&&(r(0,"option",30),a(1),o()),t&2){let e=s.$implicit;m("value",e.value),c(),O(e.label)}}function X4(t,s){t&1&&(r(0,"label",11)(1,"span"),a(2,"Op\u021Biuni, c\xE2te una pe linie"),o(),_(3,"textarea",32),o())}function eT(t,s){if(t&1){let e=E();r(0,"button",33),b("click",function(){v(e);let i=p();return M(i.cancelEdit())}),a(1," Anuleaz\u0103 "),o()}}function tT(t,s){t&1&&_(0,"i",34)}function nT(t,s){t&1&&_(0,"i",35)}function iT(t,s){t&1&&(r(0,"div",36),a(1,"Se \xEEncarc\u0103 \xEEntreb\u0103rile..."),o())}function oT(t,s){if(t&1&&(r(0,"p"),a(1),o()),t&2){let e=p().$implicit;c(),O(e.description)}}function rT(t,s){if(t&1&&(r(0,"small"),a(1),o()),t&2){let e=p().$implicit;c(),w("Op\u021Biuni: ",e.options==null?null:e.options.join(", "),"")}}function aT(t,s){if(t&1){let e=E();r(0,"div",40)(1,"div",41)(2,"span",42),a(3),o(),r(4,"div")(5,"strong"),a(6),o(),h(7,oT,2,1,"p",43)(8,rT,2,1,"small",43),o()(),r(9,"span",44),a(10),o(),r(11,"span",45)(12,"b"),a(13),o(),r(14,"small"),a(15),o()(),r(16,"div",46)(17,"button",47),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.editQuestion(i))}),_(18,"i",48),o(),r(19,"button",49),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.deleteQuestion(i))}),_(20,"i",50),o()()()}if(t&2){let e=s.$implicit,n=p(2);
153c(3),O(e.order),c(3),O(e.label),c(),m("ngIf",e.description),c(),m("ngIf",e.options==null?null:e.options.length),c(2),O(n.getQuestionTypeLabel(e.questionType)),c(2),I("inactive",!e.isActive),c(),O(e.isActive?"Activ\u0103":"Inactiv\u0103"),c(2),O(e.isRequired?"Obligatorie":"Op\u021Bional\u0103")}}function sT(t,s){if(t&1&&(r(0,"div",37)(1,"div",38)(2,"span"),a(3,"\xCEntrebare"),o(),r(4,"span"),a(5,"Tip"),o(),r(6,"span"),a(7,"Status"),o(),r(8,"span"),a(9,"Ac\u021Biuni"),o()(),h(10,aT,21,9,"div",39),o()),t&2){let e=p();c(10),m("ngForOf",e.questions)}}function cT(t,s){t&1&&(r(0,"div",51),a(1," Nu exist\u0103 \xEEntreb\u0103ri configurate pentru sezonul selectat. "),o())}var Tu=(()=>{class t{constructor(e,n,i){this.fb=e,this.seasonsService=n,this.seasonRegistrationService=i,this.seasons=[],this.selectedSeasonId=null,this.questions=[],this.editingQuestionId=null,this.isLoading=!1,this.isSaving=!1,this.message="",this.messageType="success",this.questionTypes=[{value:"SHORT_TEXT",label:"Text scurt"},{value:"LONG_TEXT",label:"Text lung"},{value:"NUMBER",label:"Num\u0103r"},{value:"BOOLEAN",label:"Da/Nu"},{value:"SINGLE_SELECT",label:"Select unic"},{value:"MULTI_SELECT",label:"Select multiplu"},{value:"SWOT",label:"SWOT simplificat"}],this.questionForm=this.fb.group({label:["",N.required],description:[""],questionType:["LONG_TEXT",N.required],optionsText:[""],isRequired:[!0],isActive:[!0],order:[0,N.required]})}ngOnInit(){this.loadSeasons()}loadSeasons(){this.seasonsService.getAllSeasons().subscribe({next:e=>{this.seasons=e.message||[],this.seasons.length>0&&(this.selectedSeasonId=this.seasons[0].id,this.loadQuestions())},error:e=>{console.error("Error loading seasons:",e),this.showMessage("Nu am putut \xEEnc\u0103rca sezoanele.","error")}})}onSeasonChange(e){let n=Number(e.target.value);this.selectedSeasonId=Number.isFinite(n)?n:null,this.cancelEdit(),this.loadQuestions()}loadQuestions(){if(!this.selectedSeasonId){this.questions=[];return}this.isLoading=!0,this.seasonRegistrationService.getQuestionsBySeason(this.selectedSeasonId,!0).subscribe({next:e=>{this.questions=e.message||[],this.isLoading=!1},error:e=>{console.error("Error loading registration questions:",e),this.isLoading=!1,this.showMessage("Nu am putut \xEEnc\u0103rca \xEEntreb\u0103rile.","error")}})}saveQuestion(){if(!this.selectedSeasonId||this.isSaving)return;if(this.questionForm.markAllAsTouched(),this.questionForm.invalid){this.showMessage("Completeaz\u0103 titlul \u0219i tipul \xEEntreb\u0103rii.","error");return}let e=this.questionForm.value,n={label:e.label,description:e.description||null,questionType:e.questionType,options:this.shouldUseOptions(e.questionType)?this.parseOptions(e.optionsText):null,isRequired:!!e.isRequired,isActive:!!e.isActive,order:Number(e.order)||0};if(this.shouldUseOptions(n.questionType)&&(!n.options||n.options.length===0)){this.showMessage("\xCEntreb\u0103rile de tip select au nevoie de cel pu\u021Bin o op\u021Biune.","error");return}this.isSaving=!0,(this.editingQuestionId?this.seasonRegistrationService.updateQuestion(this.editingQuestionId,n):this.seasonRegistrationService.createQuestion(ye(J({},n),{seasonId:this.selectedSeasonId}))).subscribe({next:()=>{this.isSaving=!1,this.showMessage("\xCEntrebarea a fost salvat\u0103.","success"),this.cancelEdit(),this.loadQuestions()},error:d=>{console.error("Error saving registration question:",d),this.isSaving=!1,this.showMessage(d?.error?.message?.message||d?.error?.message||"Nu am putut salva \xEEntrebarea.","error")}})}editQuestion(e){this.editingQuestionId=e.id,this.questionForm.patchValue({label:e.label,description:e.description||"",questionType:e.questionType,optionsText:(e.options||[]).join(` 154`),isRequired:e.isRequired,isActive:e.isActive,order:e.order})}deleteQuestion(e){confirm(`\u0218tergi \xEEntrebarea "${e.label}"? R\u0103spunsurile existente pentru ea vor fi \u0219terse.`)&&this.seasonRegistrationService.deleteQuestion(e.id).subscribe({next:()=>{this.showMessage("\xCEntrebarea a fost \u0219tears\u0103.","success"),this.loadQuestions()},error:n=>{console.error("Error deleting registration question:",n),this.showMessage("Nu am putut \u0219terge \xEEntrebarea.","error")}})}cancelEdit(){this.editingQuestionId=null,this.questionForm.reset({label:"",description:"",questionType:"LONG_TEXT",optionsText:"",isRequired:!0,isActive:!0,order:this.questions.length})}shouldUseOptions(e){return e==="SINGLE_SELECT"||e==="MULTI_SELECT"}getQuestionTypeLabel(e){return this.questionTypes.find(n=>n.value===e)?.label||e}parseOptions(e){return Array.from(new Set((e||"").split(` 155`).map(n=>
155n.trim()).filter(Boolean)))}showMessage(e,n){this.message=e,this.messageType=n}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ve),T(Ii))}}static{this.\u0275cmp=V({type:t,selectors:[["app-season-registration-questions"]],standalone:!0,features:[B],decls:67,vars:17,consts:[[1,"season-registration-questions"],[1,"page-hero"],[1,"eyebrow"],[1,"season-picker"],[3,"change","value"],[3,"value",4,"ngFor","ngForOf"],["class","message",3,"error","success",4,"ngIf"],[1,"editor-layout"],[1,"question-form",3,"ngSubmit","formGroup"],[1,"panel-title"],[1,"form-grid"],[1,"full-width"],["type","text","formControlName","label","placeholder","Ex: Care este principala problem\u0103 a echipei?"],["formControlName","questionType"],["type","number","formControlName","order","min","0"],["rows","3","formControlName","description","placeholder","Text ajut\u0103tor pentru echipe"],["class","full-width",4,"ngIf"],[1,"form-actions"],[1,"toggle-row"],["type","checkbox","formControlName","isRequired"],["type","checkbox","formControlName","isActive"],[1,"action-spacer"],["type","button","class","btn btn-secondary",3,"click",4,"ngIf"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fas fa-save",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"questions-summary"],["class","loading-state",4,"ngIf"],["class","questions-table",4,"ngIf"],["class","empty-state",4,"ngIf"],[3,"value"],[1,"message"],["rows","5","formControlName","optionsText","placeholder",`Op\u021Biunea 1 156Op\u021Biunea 2`],["type","button",1,"btn","btn-secondary",3,"click"],[1,"fas","fa-save"],[1,"fas","fa-spinner","fa-spin"],[1,"loading-state"],[1,"questions-table"],[1,"table-header"],["class","table-row",4,"ngFor","ngForOf"],[1,"table-row"],[1,"question-cell"],[1,"order-badge"],[4,"ngIf"],[1,"type-pill"],[1,"status-stack"],[1,"row-actions"],["type","button","title","Editeaz\u0103",1,"icon-btn",3,"click"],[1,"fas","fa-edit"],["type","button","title","\u0218terge",1,"icon-btn","danger",3,"click"],[1,"fas","fa-trash"],[1,"empty-state"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"div")(3,"span",2),a(4,"Admin configurare"),o(),r(5,"h2"),a(6,"\xCEntreb\u0103ri \xEEnscriere sezon"),o(),r(7,"p"),a(8,"Configureaz\u0103 formularul obligatoriu pe care echipele \xEEl completeaz\u0103 \xEEnainte s\u0103 ajung\u0103 \xEEn waitlist."),o()(),r(9,"label",3)(10,"span"),a(11,"Sezon"),o(),r(12,"select",4),b("change",function(u){return i.onSeasonChange(u)}),h(13,K4,2,2,"option",5),o()()(),h(14,Q4,2,5,"div",6),r(15,"div",7)(16,"form",8),b("ngSubmit",function(){return i.saveQuestion()}),r(17,"div",9)(18,"div")(19,"h3"),a(20),o(),r(21,"p"),a(22,"\xCEntreb\u0103rile active apar \xEEn dashboardul echipelor pentru sezonul selectat."),o()()(),r(23,"div",10)(24,"label",11)(25,"span"),a(26,"Titlu \xEEntrebare *"),o(),_(27,"input",12),o(),r(28,"label")(29,"span"),a(30,"Tip"),o(),r(31,"select",13),h(32,J4,2,2,"option",5),o()(),r(33,"label")(34,"span"),a(35,"Ordine"),o(),_(36,"input",14),o(),r(37,"label",11)(38,"span"),a(39,"Descriere"),o(),_(40,"textarea",15),o(),h(41,X4,4,0,"label",16),o(),r(42,"div",17)(43,"label",18),_(44,"input",19),r(45,"span"),a(46,"Obligatorie"),o()(),r(47,"label",18),_(48,"input",20),r(49,"span"),a(50,"Activ\u0103"),o()(),_(51,"div",21),h(52,eT,2,0,"button",22),r(53,"button",23),h(54,tT,1,0,"i",24)(55,nT,1,0,"i",25),a(56),o()()(),r(57,"aside",26)(58,"span"),a(59,"\xCEntreb\u0103ri configurate"),o(),r(60,"strong"),a(61),o(),r(62,"p"),a(63),o()()(),h(64,iT,2,0,"div",27)(65,sT,11,1,"div",28)(66,cT,2,0,"div",29),o()),n&2&&(c(12),m("value",i.selectedSeasonId||""),c(),m("ngForOf",i.seasons),c(),m("ngIf",i.message),c(2),m("formGroup",i.questionForm),c(4),O(i.editingQuestionId?"Editeaz\u0103 \xEEntrebare":"Adaug\u0103 \xEEntrebare"),c(12),m("ngForOf",i.questionTypes),c(9),m("ngIf",i.shouldUseOptions(i.questionForm.value.questionType)),c(11),m("ngIf",i.editingQuestionId),c(),m("disabled",i.isSaving),c(),m("ngIf",!i.isSaving),c(),m("ngIf",i.isSaving),c(),w(" ",i.editingQuestionId?"Salveaz\u0103":"Adaug\u0103"," "),c(5),O(i.questions.length),c(2),O(i.selectedSeasonId?"Pentru sezonul selectat":"Alege un sezon"),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading&&i.questions.length>0),c(),m("ngIf",!i.isLoading&&i.questions.length===0))},dependencies:[H,X,$,$e,Oe,fe,he,re,lt,Pt,ue,ie,Pe,yt,We,Ge],styles:[".season-registration-questions[_ngcontent-%COMP%]{display:grid;gap:1rem;padding:1.25rem}.page-hero[_ngcontent-%COMP%], .question-form[_ngcontent-%COMP%], .questions-summary[_ngcontent-%COMP%], .questions-table[_ngcontent-%COMP%]{background:#fff;border:1px solid #e2e8f0;border-radius:8px}.page-hero[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;padding:1.1rem 1.25rem}.page-hero[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#1d2433;margin:.15rem 0 .35rem}.page-hero[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#64748b;margin:0;max-width:760px}.eyebrow[_ngcontent-%COMP%]{color:#4f46e5;display:block;font-size:.78rem;font-weight:800;text-transform:uppercase}.season-picker[_ngcontent-%COMP%]{display:grid;gap:.35rem;font-weight:800;min-width:240px}input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#1d2433;font:inherit;padding:.7rem .8rem;width:100%}input[_ngcontent-%COMP%]:focus, textarea[_ngcontent-%COMP%]:focus, select[_ngcontent-%COMP%]:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f;outline:none}textarea[_ngcontent-%COMP%]{resize:vertical}.message[_ngcontent-%COMP%], .loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{border-radius:8px;padding:.85rem 1rem}.message.success[_ngcontent-%COMP%]{background:#e8f7ef;color:#176a3a}.message.error[_ngcontent-%COMP%]{background:#fff2f0;color:#a12a1f}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{background:#f8fafc;color:#64748b}.editor-layout[_ngcontent-%COMP%]{align-items:stretch;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 220px}.question-form[_ngcontent-%COMP%]{display:grid;gap:1rem;padding:1rem}.panel-title[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem}.panel-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#1d2433;margin:0 0 .25rem}.panel-title[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#64748b;margin:0}.form-grid[_ngcontent-%COMP%]{display:grid;gap:.85rem;grid-template-columns:minmax(180px,1fr) 140px}.form-grid[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:grid;gap:.35rem;font-weight:800}.full-width[_ngcontent-%COMP%]{grid-column:1/-1}.form-actions[_ngcontent-%COMP%]{align-items:center;display:flex;flex-wrap:wrap;gap:.7rem}.toggle-row[_ngcontent-%COMP%]{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;display:inline-flex;gap:.45rem;padding:.45rem .7rem}.toggle-row[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:auto}.action-spacer[_ngcontent-%COMP%]{flex:1}.btn[_ngcontent-%COMP%], .icon-btn[_ngcontent-%COMP%]{align-items:center;border:0;border-radius:8px;
156cursor:pointer;display:inline-flex;font-weight:800;gap:.45rem;justify-content:center}.btn[_ngcontent-%COMP%]:disabled, .icon-btn[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.65}.btn[_ngcontent-%COMP%]{min-height:40px;padding:.65rem .95rem}.btn-primary[_ngcontent-%COMP%]{background:#4f46e5;color:#fff}.btn-secondary[_ngcontent-%COMP%]{background:#eef2f7;color:#1f2937}.questions-summary[_ngcontent-%COMP%]{display:grid;align-content:center;gap:.25rem;padding:1rem}.questions-summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .questions-summary[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#64748b;margin:0}.questions-summary[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1d2433;font-size:2.25rem;line-height:1}.questions-table[_ngcontent-%COMP%]{overflow:hidden}.table-header[_ngcontent-%COMP%], .table-row[_ngcontent-%COMP%]{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(320px,1fr) 160px 150px 96px;padding:.85rem 1rem}.table-header[_ngcontent-%COMP%]{background:#f8fafc;color:#475569;font-size:.82rem;font-weight:900;text-transform:uppercase}.table-row[_ngcontent-%COMP%]{border-top:1px solid #edf0f5}.table-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#64748b;margin:.25rem 0}.table-row[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#64748b}.question-cell[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:.75rem;min-width:0}.order-badge[_ngcontent-%COMP%]{align-items:center;background:#eef2ff;border-radius:8px;color:#4f46e5;display:inline-flex;flex:0 0 auto;font-weight:900;height:34px;justify-content:center;width:34px}.type-pill[_ngcontent-%COMP%]{background:#f1f5f9;border-radius:999px;color:#334155;font-weight:800;padding:.35rem .65rem;text-align:center}.status-stack[_ngcontent-%COMP%]{display:grid;gap:.15rem}.status-stack[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:#047857}.status-stack[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#64748b}.inactive[_ngcontent-%COMP%]{color:#a12a1f!important}.row-actions[_ngcontent-%COMP%]{display:flex;gap:.4rem}.icon-btn[_ngcontent-%COMP%]{background:#eef2f7;color:#1f2937;height:36px;width:36px}.icon-btn.danger[_ngcontent-%COMP%]{background:#fff2f0;color:#a12a1f}@media (max-width: 1000px){.page-hero[_ngcontent-%COMP%], .form-actions[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column}.editor-layout[_ngcontent-%COMP%], .form-grid[_ngcontent-%COMP%], .table-header[_ngcontent-%COMP%], .table-row[_ngcontent-%COMP%]{grid-template-columns:1fr}.season-picker[_ngcontent-%COMP%]{min-width:0}.table-header[_ngcontent-%COMP%]{display:none}}"]})}}return t})();var Go=(()=>{class t{constructor(e){this.http=e,this.baseUrl=`${ne.apiUrl}/certificate-requests`}getPublicConfig(){return this.http.get(`${this.baseUrl}/public/config`)}getSeasons(){return this.http.get(`${this.baseUrl}/public/seasons`)}lookupTeam(e,n){return this.http.get(`${this.baseUrl}/public/team/${e}/${encodeURIComponent(n)}`)}submit(e,n){return this.http.post(`${this.baseUrl}/public`,e,{headers:new on({"X-Idempotency-Key":n})})}list(e){let n=new Kt;return Object.entries(e).forEach(([i,d])=>{d!==void 0&&d!==""&&(n=n.set(i,String(d)))}),this.http.get(`${this.baseUrl}/admin`,{params:n})}get(e){return this.http.get(`${this.baseUrl}/admin/${e}`)}retry(e,n){return this.http.post(`${this.baseUrl}/admin/${e}/deliveries/${n}/retry`,{})}updateStatus(e,n,i){return this.http.post(`${this.baseUrl}/admin/${e}/status`,{status:n,reviewNote:i?.trim()||void 0})}regenerateDocument(e){return this.http.post(`${this.baseUrl}/admin/${e}/document/regenerate`,{})}downloadDocument(e){return this.http.get(`${this.baseUrl}/admin/${e}/document`,{responseType:"blob"})}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function lT(t,s){if(t&1&&(r(0,"p",24),a(1),o()),t&2){let e=p();c(),O(e.errorMessage)}}function dT(t,s){t&1&&(r(0,"div",25),_(1,"i",26),a(2," Se \xEEncarc\u0103... "),o())}function mT(t,s){if(t&1&&(r(0,"small"),a(1),o()),t&2){let e=p().$implicit;c(),O(e.documentFileName)}}function gT(t,s){if(t&1&&(r(0,"span",30),a(1),o()),t&2){let e=s.$implicit;ct("badge "+e.status.toLowerCase()),c(),G("",e.kind==="INTERNAL"?"Intern":"Solicitant",": ",e.status,"")}}function pT(t,s){if(t&1){let e=E();r(0,"tr")(1,"td")(2,"strong"),a(3),o(),r(4,"small"),a(5),ze(6,"date"),o()(),r(7,"td")(8,"span",30),a(9),o(),h(10,mT,2,1,"small",29),o(),r(11,"td")(12,"strong"),a(13),o(),r(14,"small"),a(15),o()(),r(16,"td")(17,"strong"),a(18),o(),r(19,"small"),a(20),o()(),r(21,"td")(22,"span",31),a(23),o()(),r(24,"td"),h(25,gT,2,4,"span",32),o(),r(26,"td")(27,"button",33),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.open(i.id))}),a(28," Detalii "),o()()()}if(t&2){let e=s.$implicit,n=p(2);c(3),O(e.publicId),c(2),O(Xe(6,16,e.createdAt,"dd.MM.yyyy HH:mm")),c(3),ct("badge document-"+e.documentStatus.toLowerCase()),c(),O(n.documentStatusLabel(e.documentStatus)),c(),m("ngIf",e.documentFileName),c(3),O(e.fullName),c(2),G("",e.certificateType==="ELEV"?"Elev":"Mentor"," \xB7 ",e.email,""),c(3),G("",e.teamName," \xB7 ",e.internationalNumber,""),c(2),O(n.seasonLabel(e)),c(2),ct("badge request-status "+e.status.toLowerCase()),c(),O(n.statusLabel(e.status)),c(2),m("ngForOf",e.deliveries)}}function uT(t,s){t&1&&(r(0,"tr")(1,"td",34),a(2," Nu exist\u0103 solicit\u0103ri pentru filtrele selectate. "),o()())}function _T(t,s){if(t&1&&(r(0,"div",27)(1,"table")(2,"thead")(3,"tr")(4,"th"),a(5,"ID / Data"),o(),r(6,"th"),a(7,"Document Word"),o(),r(8,"th"),a(9,"Persoan\u0103"),o(),r(10,"th"),a(11,"Echip\u0103 / Sezon"),o(),r(12,"th"),a(13,"Statut"),o(),r(14,"th"),a(15,"Livr\u0103ri"),o(),_(16,"th"),o()(),r(17,"tbody"),h(18,pT,29,19,"tr",28)(19,uT,3,0,"tr",29),o()()()),t&2){let e=p();c(18),m("ngForOf",e.items),c(),m("ngIf",!e.items.length)}}function fT(t,s){if(t&1){let e=E();r(0,"nav",35)(1,"button",36),b("click",function(){v(e);let i=p();return M(i.previous())}),a(2," Anterior"),o(),r(3,"span"),a(4),o(),r(5,"button",36),b("click",function(){v(e);let i=p();return M(i.next())}),a(6," Urm\u0103tor "),o()()}if(t&2){let e=p();c(),m("disabled",e.page===1),c(3),G("Pagina ",e.page," din ",e.totalPages,""),c(),m("disabled",e.page===e.totalPages)}}function hT(t,s){if(t&1&&(Me(0),a(1),xe()),t&2){let e=p(4);c(),w(" de ",e.selected.reviewedBy.name,"")}}function CT(t,s){if(t&1&&(r(0,"span"),a(1),ze(2,"date"),h(3,hT,2,1,"ng-container",29),o()),t&2){let e=p(3);c(),w(" actualizat la ",Xe(2,2,e.selected.reviewedAt,"dd.MM.yyyy HH:mm"),""),c(2),m("ngIf",e.selected.reviewedBy)}}function vT(t,s){if(t&1&&(Me(0),a(1),xe()),t&2){let e=p(3);c(),w(" \xB7 ",e.selected.phone,"")}}function MT(t,s){if(t&1&&(r(0,"p"),a(1),o()),t&2){let e=p(4);c(),w("Liceu / institu\u021Bie: ",e.selected.officialInstitution,"")}}function xT(t,s){if(t&1&&(r(0,"div",43)(1,"span"),a(2,"Date oficiale"),o(),r(3,"strong"),a(4),o(),h(5,MT,2,1,"p",29),o()),t&2){let e=p(3);c(4),dn("",e.selected.officialTeamName," \xB7 INT ",e.selected.officialInternationalNumber," \xB7 RO ",e.selected.officialRomanianNumber||"\u2014",""),c(),m("ngIf",e.selected.officialInstitution)}}function bT(t,s){if(t&1&&(r(0,"strong"),a(1),o()),t&2){let e=p(3);c(),O(e.selected.documentFileName)}}function PT(t,s){if(t&1&&(r(0,"small"),a(1),ze(2,"date"),o()),t&2){let e=p(3);c(),G(" Generat la ",Xe(2,2,e.selected.documentGeneratedAt,"dd.MM.yyyy HH:mm:ss")," \xB7 ",e.selected.documentIsDraft?"DRAFT":"versiune final\u0103"," ")}}function OT(t,s){if(t&1&&(Me(0),a(1),ze(2,"number"),xe()),t&2){let e=p(4);c(),w(" \xB7 ",Xn(2,1,e.selected.documentSizeBytes)," bytes")}}function yT(t,s){if(t&1&&(r(0,"small"),a(1),h(2,OT,3,3,"ng-container",29),o()),t&2){let e=p(3);c(),w(" \u0218ablon ",e.selected.documentTemplateVersion,""),c(),m("ngIf",e.selected.documentSizeBytes)}}function wT(t,s){if(t&1&&(r(0,"small",55),a(1),o()),t&2){let e=p(3);c(),w(" Eroare generare: ",e.selected.documentError," ")}}function ST(t,s){t&1&&_(0,"i",26)}function ET(t,s){t&1&&_(0,"i",26)}function TT(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p().$implicit;c(),w(" \u2014 ",e.error,"")}}function kT(t,s){if(t&1&&(r(0,"li"),a(1),ze(2,"date"),h(3,TT,2,1,"span",29),o()),t&2){let e=s.$implicit,n=p(4);c(),dn(" ",Xe(2,4,e.createdAt,"dd.MM.yyyy HH:mm:ss")," \u2014 ",n.documentStatusLabel(e.status)," \u2014 ",e.isDraft?"DRAFT":"final",""),c(2),m("ngIf",e.error)}}function IT(t,s){if(t&1&&(r(0,"ol",56),h(1,kT,4,7,"li",28),o()),t&2){let e=p(3);c(),m("ngForOf",e.selected.documentAttempts)}}function FT(t,s){t&1&&(r(0,"em"),a(1,"obligatorie"),o())}function DT(t,s){t&1&&_(0,"i",26)}function RT(t,s){if(t&1&&(r(0,"li"),a(1),o()),t&2){let e=s.$implicit;c(),G(" ",e.fullName," \u2014 ",e.role," ")}}function zT(t,s){if(t&1&&(r(0,"section")(1,"h3"),a(2,"Componen\u021B
156a sezonului"),o(),r(3,"ul"),h(4,RT,2,2,"li",28),o()()),t&2){let e=p(3);c(4),m("ngForOf",e.selected.rosterSnapshot)}}function NT(t,s){if(t&1&&(r(0,"span"),a(1),ze(2,"date"),o()),t&2){let e=p().$implicit;c(),w(" \xB7 trimis ",Xe(2,1,e.sentAt,"dd.MM.yyyy HH:mm"),"")}}function AT(t,s){if(t&1&&(r(0,"small",60),a(1),o()),t&2){let e=p().$implicit;c(),O(e.error)}}function LT(t,s){t&1&&_(0,"i",26)}function VT(t,s){if(t&1){let e=E();r(0,"button",36),b("click",function(){v(e);let i=p().$implicit,d=p(3);return M(d.retry(i))}),h(1,LT,1,0,"i",49),a(2),o()}if(t&2){let e=p().$implicit,n=p(3);m("disabled",!!n.retryingDeliveryId),c(),m("ngIf",n.retryingDeliveryId===e.id),c(),w(" ",e.status==="SENT"?"Retrimite cu document":"Retrimite"," ")}}function BT(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p().$implicit;c(),w(" \u2014 ",e.error,"")}}function UT(t,s){if(t&1&&(r(0,"li"),a(1),ze(2,"date"),h(3,BT,2,1,"span",29),o()),t&2){let e=s.$implicit;c(),G(" ",Xe(2,3,e.createdAt,"dd.MM.yyyy HH:mm:ss")," \u2014 ",e.status,""),c(2),m("ngIf",e.error)}}function jT(t,s){if(t&1&&(r(0,"ol"),h(1,UT,4,6,"li",28),o()),t&2){let e=p().$implicit;c(),m("ngForOf",e.attempts)}}function qT(t,s){if(t&1&&(r(0,"div",57)(1,"div")(2,"strong"),a(3),o(),r(4,"span",30),a(5),o(),r(6,"small"),a(7),h(8,NT,3,4,"span",29),o(),h(9,AT,2,1,"small",58),o(),h(10,VT,3,3,"button",59)(11,jT,2,1,"ol",29),o()),t&2){let e=s.$implicit,n=p(3);c(3),O(n.deliveryLabel(e)),c(),ct("badge "+e.status.toLowerCase()),c(),O(e.status),c(2),w("",e.attemptCount," \xEEncerc\u0103ri"),c(),m("ngIf",e.sentAt),c(),m("ngIf",e.error),c(),m("ngIf",e.status==="FAILED"||e.kind==="INTERNAL"),c(),m("ngIf",e.attempts==null?null:e.attempts.length)}}function WT(t,s){if(t&1){let e=E();r(0,"article",40),b("click",function(i){return v(e),M(i.stopPropagation())}),r(1,"header")(2,"div")(3,"h2"),a(4),o(),r(5,"p"),a(6),ze(7,"date"),o()(),r(8,"button",41),b("click",function(){v(e);let i=p(2);return M(i.close())}),a(9,"\xD7"),o()(),r(10,"div",42)(11,"div",43)(12,"span"),a(13,"Statut solicitare"),o(),r(14,"strong")(15,"span",31),a(16),o(),h(17,CT,4,5,"span",29),o()(),r(18,"div")(19,"span"),a(20,"Persoan\u0103"),o(),r(21,"strong"),a(22),o()(),r(23,"div")(24,"span"),a(25,"Contact"),o(),r(26,"strong"),a(27),h(28,vT,2,1,"ng-container",29),o()(),r(29,"div")(30,"span"),a(31,"Sezon"),o(),r(32,"strong"),a(33),o()(),r(34,"div")(35,"span"),a(36,"Date introduse"),o(),r(37,"strong"),a(38),o(),r(39,"p"),a(40),o()(),h(41,xT,6,4,"div",44),r(42,"div",43)(43,"span"),a(44,"Scop"),o(),r(45,"p"),a(46),o()(),r(47,"div",43)(48,"span"),a(49,"Informa\u021Bii \u0219i realiz\u0103ri"),o(),r(50,"p"),a(51),o()()(),r(52,"section",45)(53,"h3"),a(54,"Document Word"),o(),r(55,"div",46)(56,"span",30),a(57),o(),h(58,bT,2,1,"strong",29)(59,PT,3,5,"small",29)(60,yT,3,2,"small",29)(61,wT,2,1,"small",47),o(),r(62,"div",48)(63,"button",36),b("click",function(){v(e);let i=p(2);return M(i.downloadDocument())}),h(64,ST,1,0,"i",49),a(65," Descarc\u0103 documentul "),o(),r(66,"button",36),b("click",function(){v(e);let i=p(2);return M(i.regenerateDocument())}),h(67,ET,1,0,"i",49),a(68," Regenerare document "),o()(),h(69,IT,2,1,"ol",50),o(),r(70,"section",51)(71,"h3"),a(72,"Marcare solicitare"),o(),r(73,"label")(74,"span"),a(75,"Statut"),o(),r(76,"select",52),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.statusDraft,i)||(d.statusDraft=i),M(i)}),r(77,"option",8),a(78,"\xCEn a\u0219teptare"),o(),r(79,"option",9),a(80,"Rezolvat"),o(),r(81,"option",10),a(82," Respins \u2013 date incomplete "),o(),r(83,"option",11),a(84,"Respins \u2013 date incorecte"),o(),r(85,"option",12),a(86,"Respins \u2013 altceva"),o()()(),r(87,"label")(88,"span"),a(89,"Not\u0103 intern\u0103 "),h(90,FT,2,0,"em",29),o(),r(91,"textarea",53),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.reviewNoteDraft,i)||(d.reviewNoteDraft=i),M(i)}),o()(),r(92,"button",36),b("click",function(){v(e);let i=p(2);return M(i.saveStatus())}),h(93,DT,1,0,"i",49),a(94),o()(),h(95,zT,5,1,"section",29),r(96,"section")(97,"h3"),a(98,"Livr\u0103ri \u0219i \xEEncerc\u0103ri"),o(),h(99,qT,12,9,"div",54),o()()}if(t&2){let e=p(2);c(4),O(e.selected.publicId),c(2),O(Xe(7,38,e.selected.createdAt,"dd.MM.yyyy HH:mm")),c(9),ct("badge request-status "+e.selected.status.toLowerCase()),c(),O(e.statusLabel(e.selected.status)),c(),m("ngIf",e.selected.reviewedAt),c(5),G("",e.selected.fullName," \xB7 ",e.selected.certificateType==="ELEV"?"Elev":"Mentor",""),c(5),O(e.selected.email),c(),m("ngIf",e.selected.phone),c(5),O(e.seasonLabel(e.selected)),c(5),dn("",e.selected.teamName," \xB7 INT ",e.selected.internationalNumber," \xB7 RO ",e.selected.romanianNumber||"\u2014",""),c(2),w("Liceu / institu\u021Bie: ",e.selected.institution||"\u2014",""),c(),m("ngIf",e.selected.officialTeamName),c(5),O(e.selected.purpose),c(5),O(e.selected.achievements),c(5),ct("badge document-"+e.selected.documentStatus.toLowerCase()),c(),O(e.documentStatusLabel(e.selected.documentStatus)),c(),m("ngIf",e.selected.documentFileName),c(),m("ngIf",e.selected.documentGeneratedAt),c(),m("ngIf",e.selected.documentTemplateVersion),c(),m("ngIf",e.selected.documentError),c(2),m("disabled",!e.selected.documentFileName||e.downloadingDocument),c(),m("ngIf",e.downloadingDocument),c(2),m("disabled",e.regeneratingDocument),c(),m("ngIf",e.regeneratingDocument),c(2),m("ngIf",e.selected.documentAttempts==null?null:e.selected.documentAttempts.length),c(7),D("ngModel",e.statusDraft),c(14),m("ngIf",e.statusDraft==="REJECTED_OTHER"),c(),D("ngModel",e.reviewNoteDraft),c(),m("disabled",e.savingStatus),c(),m("ngIf",e.savingStatus),c(),w("",e.savingStatus?"Se salveaz\u0103...":"Salveaz\u0103 statutul"," "),c(),m("ngIf",e.selected.rosterSnapshot==null?null:e.selected.rosterSnapshot.length),c(4),m("ngForOf",e.selected.deliveries)}}function $T(t,s){t&1&&(r(0,"div",61),_(1,"i",26),o())}function HT(t,s){if(t&1){let e=E();r(0,"div",37),b("click",function(){v(e);let i=p();return M(i.close())}),h(1,WT,100,41,"article",38)(2,$T,2,0,"div",39),o()}if(t&2){let e=p();c(),m("ngIf",e.selected),c(),m("ngIf",e.loadingDetail)}}var ku=(()=>{class t{constructor(e,n){this.certificateRequests=e,this.route=n,this.items=[],this.loading=!1,this.loadingDetail=!1,this.savingStatus=!1,this.regeneratingDocument=!1,this.downloadingDocument=!1,this.errorMessage="",this.page=1,this.pageSize=20,this.total=0,this.totalPages=0,this.search="",this.team="",this.status="",this.deliveryStatus="",this.statusDraft="PENDING",this.reviewNoteDraft="",this.dateFrom="",this.dateTo=""}ngOnInit(){this.load();
156let e=Number(this.route.snapshot.queryParamMap.get("request"));Number.isInteger(e)&&e>0&&this.open(e)}load(e=!1){e&&(this.page=1),this.loading=!0,this.errorMessage="",this.certificateRequests.list({page:this.page,pageSize:this.pageSize,search:this.search.trim()||void 0,team:this.team.trim()||void 0,status:this.status||void 0,deliveryStatus:this.deliveryStatus||void 0,dateFrom:this.dateFrom||void 0,dateTo:this.dateTo||void 0}).subscribe({next:n=>{this.items=n.message.items,this.total=n.message.total,this.totalPages=n.message.totalPages,this.loading=!1},error:()=>{this.errorMessage="Nu am putut \xEEnc\u0103rca solicit\u0103rile.",this.loading=!1}})}open(e){this.loadingDetail=!0,this.errorMessage="",this.certificateRequests.get(e).subscribe({next:n=>{this.selected=n.message,this.statusDraft=n.message.status,this.reviewNoteDraft=n.message.reviewNote||"",this.loadingDetail=!1},error:()=>{this.errorMessage="Nu am putut \xEEnc\u0103rca detaliile solicit\u0103rii.",this.loadingDetail=!1}})}close(){this.selected=void 0}retry(e){!this.selected||e.status!=="FAILED"&&e.kind!=="INTERNAL"||this.retryingDeliveryId||(this.retryingDeliveryId=e.id,this.certificateRequests.retry(this.selected.id,e.id).subscribe({next:n=>{this.selected=n.message,this.retryingDeliveryId=void 0,this.load()},error:n=>{this.errorMessage=n?.error?.message?.message||"Retrimiterea a e\u0219uat.",this.retryingDeliveryId=void 0}}))}saveStatus(){if(!(!this.selected||this.savingStatus)){if(this.statusDraft==="REJECTED_OTHER"&&!this.reviewNoteDraft.trim()){this.errorMessage="Adaug\u0103 o explica\u021Bie pentru \u201ERespins \u2013 altceva\u201D.";return}this.savingStatus=!0,this.errorMessage="",this.certificateRequests.updateStatus(this.selected.id,this.statusDraft,this.reviewNoteDraft).subscribe({next:e=>{this.selected=e.message,this.statusDraft=e.message.status,this.reviewNoteDraft=e.message.reviewNote||"",this.savingStatus=!1,this.load()},error:e=>{this.errorMessage=e?.error?.message?.message||"Nu am putut actualiza statutul.",this.savingStatus=!1}})}}regenerateDocument(){!this.selected||this.regeneratingDocument||(this.regeneratingDocument=!0,this.errorMessage="",this.certificateRequests.regenerateDocument(this.selected.id).subscribe({next:e=>{this.selected=e.message,this.regeneratingDocument=!1,this.load()},error:e=>{this.errorMessage=e?.error?.message?.message||"Regenerarea documentului a e\u0219uat.",this.regeneratingDocument=!1}}))}downloadDocument(){!this.selected||!this.selected.documentFileName||this.downloadingDocument||(this.downloadingDocument=!0,this.errorMessage="",this.certificateRequests.downloadDocument(this.selected.id).subscribe({next:e=>{let n=URL.createObjectURL(e),i=document.createElement("a");i.href=n,i.download=this.selected?.documentFileName||"Adeverinta.docx",i.click(),URL.revokeObjectURL(n),this.downloadingDocument=!1},error:()=>{this.errorMessage="Documentul nu a putut fi desc\u0103rcat.",this.downloadingDocument=!1}}))}documentStatusLabel(e){return{PENDING:"\xCEn a\u0219teptare",GENERATED:"Generat",FAILED:"E\u0219uat"}[e]}previous(){this.page>1&&(this.page-=1,this.load())}next(){this.page<this.totalPages&&(this.page+=1,this.load())}seasonLabel(e){return e.season?`#${e.season.seasonNumber} ${e.season.seasonName}`:`${e.customSeasonName||"Alt sezon"} (${e.customSeasonInterval||"\u2014"})`}deliveryLabel(e){return e.kind==="INTERNAL"?"Notificare intern\u0103":"Confirmare solicitant"}statusLabel(e){return{PENDING:"\xCEn a\u0219teptare",RESOLVED:"Rezolvat",REJECTED_INCOMPLETE:"Respins \u2013 date incomplete",REJECTED_INCORRECT:"Respins \u2013 date incorecte",REJECTED_OTHER:"Respins \u2013 altceva"}[e]}static{this.\u0275fac=function(n){return new(n||t)(T(Go),T(Je))}}static{this.\u0275cmp=V({type:t,selectors:[["app-certificate-requests-admin"]],standalone:!0,features:[B],decls:61,vars:13,consts:[[1,"requests-admin"],["type","button","aria-label","Re\xEEncarc\u0103",1,"refresh",3,"click","disabled"],[1,"fas","fa-sync-alt"],[1,"filters",3,"ngSubmit"],["name","search","placeholder","ID, nume, email, echip\u0103",3,"ngModelChange","ngModel"],["name","team","placeholder","Nume sau num\u0103r",3,"ngModelChange","ngModel"],["name","status",3,"ngModelChange","ngModel"],["value",""],["value","PENDING"],["value","RESOLVED"],["value","REJECTED_INCOMPLETE"],["value","REJECTED_INCORRECT"],["value","REJECTED_OTHER"],["name","deliveryStatus",3,"ngModelChange","ngModel"],["value","SENT"],["value","FAILED"],["type","date","name","dateFrom",3,"ngModelChange","ngModel"],["type","date","name","dateTo",3,"ngModelChange","ngModel"],["type","submit"],["class","error","role","alert",4,"ngIf"],["class","loading",4,"ngIf"],["class","table-wrap",4,"ngIf"],["class","pagination","aria-label","Paginare",4,"ngIf"],["class","modal-backdrop",3,"click",4,"ngIf"],["role","alert",1,"error"],[1,"loading"],[1,"fas","fa-spinner","fa-spin"],[1,"table-wrap"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"badge"],[1,"badge","request-status"],["class","badge",3,"class",4,"ngFor","ngForOf"],["type","button",1,"details",3,"click"],["colspan","7",1,"empty"],["aria-label","Paginare",1,"pagination"],["type","button",3,"click","disabled"],[1,"modal-backdrop",3,"click"],["class","modal",3,"click",4,"ngIf"],["class","modal-loading",4,"ngIf"],[1,"modal",3,"click"],["type","button","aria-label","\xCEnchide",3,"click"],[1,"detail-grid"],[1,"wide"],["class","wide",4,"ngIf"],[1,"document-panel"],[1,"document-summary"],["class","document-error",4,"ngIf"],[1,"document-actions"],["class","fas fa-spinner fa-spin",4,"ngIf"],["class","document-attempts",4,"ngIf"],[1,"status-editor"],["name","statusDraft",3,"ngModelChange","ngModel"],["name","reviewNoteDraft","rows","3","placeholder","Op\u021Bional pentru rezolvat sau alte motive de respingere.",3,"ngModelChange","ngModel"],["class","delivery",4,"ngFor","ngForOf"],[1,"document-error"],[1,"document-attempts"],[1,"delivery"],["class","delivery-error",4,"ngIf"],["type","button",3,"disabled","click",4,"ngIf"],[1,"delivery-error"],[1,"modal-loading"]],template:function(n,i){n&1&&(r(0,"section",0)(1,"header")(2,"div")(3,"h2"),a(4,"Solicit\u0103ri adeverin\u021Be"),o(),r(5,"p"),a(6),o()(),r(7,"button",1),b("click",function(){return i.load()}),_(8,"i",2),o()(),r(9,"form",3),b("ngSubmit",function(){return i.load(!0)}),r(10,"label")(11,"span"),a(12,"C\u0103utare"),o(),r(13,"input",4),z("ngModelChange",function(u){return R(i.search,u)||(i.search=u),u}),o()(),r(14,"label")(15,"span"),a(16,"Echip\u0103"),o(),r(17,"input",5),z("ngModelChange",function(u){return R(i.team,u)||(i.team=u),u}),o()(),r(18,"label")(19,"span"),a(20,"Statut solicitare"),o(),r(21,"select",6),z("ngModelChange",function(u){return R(i.status,u)||(i.status=u),u}),r(22,"option",7),a(23,"Toate"),o(),r(24,"option",8),a(25,"\xCEn a\u0219teptare"),o(),r(26,"option",9),a(27,"Rezolvat"),o(),r(28,"option",10),a(29,"Respins \u2013 date incomplete"),o(),r(30,"option",11),a(31,"Respins \u2013 date incorecte"),o(),r(32,"option",12),a(33,"Respins \u2013 altceva"),o()()(),r(34,"label")(35,"span"),a(36,"Status email"),o(),r(37,"select",13),z("ngModelChange",function(u){return R(i.deliveryStatus,u)||(i.deliveryStatus=u),u}),r(38,"option",7),a(39,"Toate"),o(),r(40,"option",8),a(41,"\xCEn a\u0219teptare"),o(),r(42,"option",14),a(43,"Trimis"),o(),r(44,"option",15),a(45,"E\u0219uat"),o()()(),r(46,"label")(47,"span"),a(48,"De la"),o(),r(49,"input",16),z("ngModelChange",function(u){return R(i.dateFrom,u)||(i.dateFrom=u),u}),o()(),r(50,"label")(51,"span"),a(52,"P\xE2n\u0103 la"),o(),r(53,"input",17),z("ngModelChange",function(u){return R(i.dateTo,u)||(i.dateTo=u),u}),o()(),r(54,"button",18),a(55,"Aplic\u0103 filtrele"),o()(),h(56,lT,2,1,"p",19)(57,dT,3,0,"div",20)(58,_T,20,2,"div",21)(59,fT,7,4,"nav",22)(60,HT,3,2,"div",23),o()),n&2&&(c(6),w("",i.total," solicit\u0103ri p\u0103strate \xEEn
156jurnal"),c(),m("disabled",i.loading),c(6),D("ngModel",i.search),c(4),D("ngModel",i.team),c(4),D("ngModel",i.status),c(16),D("ngModel",i.deliveryStatus),c(12),D("ngModel",i.dateFrom),c(4),D("ngModel",i.dateTo),c(3),m("ngIf",i.errorMessage),c(),m("ngIf",i.loading),c(),m("ngIf",!i.loading),c(),m("ngIf",i.totalPages>1),c(),m("ngIf",i.selected||i.loadingDetail))},dependencies:[H,X,$,hg,mn,se,Oe,fe,he,re,ue,ie,Pe,pe,Ot],styles:[".requests-admin[_ngcontent-%COMP%]{color:#253449;padding:2rem}.requests-admin[_ngcontent-%COMP%] > header[_ngcontent-%COMP%]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], p[_ngcontent-%COMP%]{margin-top:0}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#687789;margin-bottom:0}button[_ngcontent-%COMP%]{cursor:pointer;font:inherit}button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.6}.refresh[_ngcontent-%COMP%]{background:#f4f7fb;border:1px solid #ccd6e2;border-radius:6px;height:42px;width:42px}.filters[_ngcontent-%COMP%]{align-items:end;background:#f5f8fb;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:1.4fr 1fr 1fr 1fr .8fr .8fr auto;margin-bottom:1rem;padding:1rem}.filters[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem}.filters[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.8rem;font-weight:750}.filters[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{border:1px solid #cbd6e2;border-radius:5px;font:inherit;min-width:0;padding:.65rem}.filters[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .details[_ngcontent-%COMP%], .delivery[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{background:#0079a8;border:0;border-radius:5px;color:#fff;font-weight:750;padding:.7rem 1rem}.error[_ngcontent-%COMP%]{background:#fff0f0;border:1px solid #efbcbc;border-radius:6px;color:#982d2d;padding:.8rem}.loading[_ngcontent-%COMP%], .empty[_ngcontent-%COMP%]{color:#687789;padding:2rem;text-align:center}.table-wrap[_ngcontent-%COMP%]{overflow-x:auto}table[_ngcontent-%COMP%]{border-collapse:collapse;min-width:900px;width:100%}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{border-bottom:1px solid #e2e8f0;padding:.85rem;text-align:left;vertical-align:top}th[_ngcontent-%COMP%]{background:#f7f9fc;color:#536276;font-size:.78rem;text-transform:uppercase}td[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687789;margin-top:.25rem}.badge[_ngcontent-%COMP%]{border-radius:999px;display:inline-block;font-size:.7rem;font-weight:800;margin:0 .25rem .25rem 0;padding:.25rem .5rem}.badge.pending[_ngcontent-%COMP%]{background:#fff4d6;color:#835800}.badge.sent[_ngcontent-%COMP%]{background:#e4f7eb;color:#176535}.badge.failed[_ngcontent-%COMP%]{background:#ffe7e7;color:#9b2828}.badge.document-generated[_ngcontent-%COMP%]{background:#e4f7eb;color:#176535}.badge.document-failed[_ngcontent-%COMP%]{background:#ffe7e7;color:#9b2828}.badge.document-pending[_ngcontent-%COMP%]{background:#fff4d6;color:#835800}.badge.request-status.resolved[_ngcontent-%COMP%]{background:#e4f7eb;color:#176535}.badge.request-status.rejected_incomplete[_ngcontent-%COMP%], .badge.request-status.rejected_incorrect[_ngcontent-%COMP%], .badge.request-status.rejected_other[_ngcontent-%COMP%]{background:#ffe7e7;color:#9b2828}.pagination[_ngcontent-%COMP%]{align-items:center;display:flex;gap:1rem;justify-content:center;padding-top:1.25rem}.pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#fff;border:1px solid #cbd6e2;border-radius:5px;padding:.55rem .8rem}.modal-backdrop[_ngcontent-%COMP%]{align-items:flex-start;background:#08121fad;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:3vh 1rem;position:fixed;z-index:2000}.modal[_ngcontent-%COMP%]{background:#fff;border-radius:10px;box-shadow:0 20px 70px #0000004d;max-width:900px;padding:1.5rem;width:100%}.modal[_ngcontent-%COMP%] > header[_ngcontent-%COMP%]{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.modal[_ngcontent-%COMP%] > header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:transparent;border:0;font-size:2rem;line-height:1}.detail-grid[_ngcontent-%COMP%]{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{background:#f6f8fb;border-radius:6px;padding:.8rem}.detail-grid[_ngcontent-%COMP%] .wide[_ngcontent-%COMP%]{grid-column:span 2}.detail-grid[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#687789;display:block;font-size:.75rem;font-weight:800;text-transform:uppercase}.detail-grid[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.4rem 0 0;white-space:pre-wrap}.modal[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.document-panel[_ngcontent-%COMP%]{display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr) auto}.document-panel[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .document-attempts[_ngcontent-%COMP%]{grid-column:1/-1}.document-summary[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], .document-summary[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;margin-top:.35rem}.document-error[_ngcontent-%COMP%]{color:#9b2828}.document-actions[_ngcontent-%COMP%]{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem}.document-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#0079a8;border:0;border-radius:5px;color:#fff;font-weight:750;padding:.7rem 1rem}.document-attempts[_ngcontent-%COMP%]{color:#687789;font-size:.82rem;margin-bottom:0}
156.status-editor[_ngcontent-%COMP%]{display:grid;gap:.75rem;grid-template-columns:minmax(230px,1fr) minmax(0,2fr) auto}.status-editor[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{grid-column:1/-1;margin-bottom:0}.status-editor[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem}.status-editor[_ngcontent-%COMP%] label[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.8rem;font-weight:750}.status-editor[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{color:#9b2828;font-style:normal}.status-editor[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .status-editor[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{border:1px solid #cbd6e2;border-radius:5px;font:inherit;padding:.65rem}.status-editor[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical}.status-editor[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{align-self:end;background:#0079a8;border:0;border-radius:5px;color:#fff;font-weight:750;min-height:40px;padding:.7rem 1rem}.delivery[_ngcontent-%COMP%]{align-items:flex-start;background:#f7f9fc;border-radius:7px;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-top:.65rem;padding:.85rem}.delivery[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], .delivery[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block}.delivery[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%]{margin-left:.5rem}.delivery-error[_ngcontent-%COMP%]{color:#9b2828}.delivery[_ngcontent-%COMP%] ol[_ngcontent-%COMP%]{color:#687789;flex-basis:100%;font-size:.82rem;margin-bottom:0}.modal-loading[_ngcontent-%COMP%]{color:#fff;font-size:2rem;padding:3rem}@media (max-width: 1050px){.filters[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 650px){.requests-admin[_ngcontent-%COMP%]{padding:1rem}.filters[_ngcontent-%COMP%], .detail-grid[_ngcontent-%COMP%], .status-editor[_ngcontent-%COMP%], .document-panel[_ngcontent-%COMP%]{grid-template-columns:1fr}.detail-grid[_ngcontent-%COMP%] .wide[_ngcontent-%COMP%]{grid-column:span 1}.modal-backdrop[_ngcontent-%COMP%]{padding:0}.modal[_ngcontent-%COMP%]{border-radius:0;min-height:100vh}.delivery[_ngcontent-%COMP%]{flex-direction:column}}"]})}}return t})();var kn=(()=>{class t{constructor(e){this.http=e,this.apiUrl=`${ne.apiUrl}/meets`}listPublicMeets(e){let n=e?`?seasonId=${e}
156`:"";return this.http.get(`${this.apiUrl}${n}`)}getSeasonSettings(e){let n=e?`?seasonId=${e}`:"";return this.http.get(`${this.apiUrl}/settings${n}`)}getMeet(e){return this.http.get(`${this.apiUrl}/${e}`)}createMeet(e){return this.http.post(this.apiUrl,this.cleanMeetPayload(e))}updateMeetAsOrganizer(e,n){return this.http.put(`${this.apiUrl}/${e}/organizer`,this.cleanMeetPayload(n))}acceptOrganizerInvite(e){return this.http.post(`${this.apiUrl}/${e}/organizer/accept`,{})}declineOrganizerInvite(e){return this.http.post(`${this.apiUrl}/${e}/organizer/decline`,{})}register(e,n,i,d){return this.http.post(`${this.apiUrl}/${e}/register`,{estimatedPeopleCount:n,organizerNotes:i,contactName:d.name,contactEmail:d.email,contactPhone:d.phone,contactRole:d.role})}promoteWaitlistedTeam(e,n){return this.http.post(`${this.apiUrl}/${e}/organizer/promote-waitlist/${n}`,{})}getMyRegistration(e){return this.http.get(`${this.apiUrl}/${e}/my-registration`)}withdraw(e,n){return this.http.post(`${this.apiUrl}/${e}/withdraw`,{reason:n})}requestReducedCapacity(e,n){return this.http.post(`${this.apiUrl}/${e}/request-reduced-capacity`,{reason:n})}requestDateChange(e,n,i){return this.http.post(`${this.apiUrl}/${e}/request-date-change`,{date:n,reason:i})}requestRemoveTeam(e,n,i){return this.http.post(`${this.apiUrl}/${e}/remove-team/${n}`,{reason:i})}listOrganizerMeets(){return this.http.get(`${this.apiUrl}/team/organizing`)}listParticipatingMeets(){return this.http.get(`${this.apiUrl}/team/participating`)}adminDashboard(){return this.http.get(`${this.apiUrl}/admin/dashboard`)}updateAdminAlertRecipients(e){return this.http.put(`${this.apiUrl}/admin/alert-recipients`,{userIds:e})}exportCurrentSeasonMeets(){return this.http.get(`${this.apiUrl}/admin/export/current-season`,{responseType:"blob"})}exportMeetsForFtcEvents(){return this.http.get(`${this.apiUrl}/admin/export/ftc-events`,{responseType:"blob"})}adminUpdateMeet(e,n){return this.http.put(`${this.apiUrl}/${e}/admin`,this.cleanMeetPayload(n))}adminSetRegistration(e,n,i){return this.http.put(`${this.apiUrl}/${e}/admin/registrations`,{teamId:n,list:i})}adminRemoveRegistration(e,n){return this.http.post(`${this.apiUrl}/${e}/admin/registrations/${n}/remove`,{})}updateFtcEventsPublicationStatus(e,n){return this.http.put(`${this.apiUrl}/${e}/admin/ftc-events-publication-status`,{status:n})}approveMeet(e){return this.http.post(`${this.apiUrl}/${e}/admin/approve`,{})}rejectMeet(e,n){return this.http.post(`${this.apiUrl}/${e}/admin/reject`,{reason:n})}requestChanges(e,n){return this.http.post(`${this.apiUrl}/${e}/admin/request-changes`,{reason:n})}cancelMeet(e,n){return this.http.post(`${this.apiUrl}/${e}/admin/cancel`,{reason:n})}approveRequest(e,n){return this.http.post(`${this.apiUrl}/admin/requests/${e}/approve`,{reviewReason:n})}rejectRequest(e,n){return this.http.post(`${this.apiUrl}/admin/requests/${e}/reject`,{reviewReason:n})}updateSettings(e){return this.http.put(`${this.apiUrl}/admin/settings`,e)}cleanMeetPayload(e){let n=J({},e);for(let i of["logisticsDetails","participantMessage","externalRegistrationLink","eventCode","startTime","completionTime","venueWebsite"]){let d=n[i];typeof d=="string"&&d.trim()===""&&delete n[i]}return n}static{this.\u0275fac=function(n){return new(n||t)(Q(He))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function GT(t,s){if(t&1&&(r(0,"div",15),a(1),o()),t&2){let e=p();I("error",e.messageType==="error"),c(),O(e.message)}}function ZT(t,s){t&1&&(r(0,"div",16),_(1,"span",17),a(2,"Se \xEEncarc\u0103 informa\u021Biile\u2026"),o())}function YT(t,s){t&1&&(r(0,"small",61),a(1,"0 zile \xEEnseamn\u0103 c\u0103 nu se impune un interval minim."),o())}function KT(t,s){t&1&&(r(0,"small",61),a(1,"S\u0103pt\u0103m\xE2na calendaristic\u0103 \xEEncepe luni; intervalul \xEEn zile nu se aplic\u0103 \xEEn acest mod."),o())}function QT(t,s){if(t&1){let e=E();r(0,"section",53)(1,"div",25)(2,"div")(3,"h3",54),a(4,"Reguli pentru sezon"),o(),r(5,"p"),a(6,"Aceste reguli se aplic\u0103 tuturor echipelor din sezonul curent."),o()()(),r(7,"div",55)(8,"label")(9,"span"),a(10,"Perioa
156da de retragere f\u0103r\u0103 penalizare"),o(),r(11,"div",56)(12,"input",57),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.settings.gracePeriodDays,i)||(d.settings.gracePeriodDays=i),M(i)}),o(),r(13,"span"),a(14,"zile"),o()()(),r(15,"label")(16,"span"),a(17,"Num\u0103r maxim de meeturi pe echip\u0103"),o(),r(18,"div",56)(19,"input",58),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.settings.maxMeetsPerTeam,i)||(d.settings.maxMeetsPerTeam=i),M(i)}),o(),r(20,"span"),a(21,"meeturi"),o()()(),r(22,"label")(23,"span"),a(24,"Num\u0103r minim de echipe la meet"),o(),r(25,"div",56)(26,"input",59),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.settings.minTeamsPerMeet,i)||(d.settings.minTeamsPerMeet=i),M(i)}),o(),r(27,"span"),a(28,"echipe"),o()()(),r(29,"label")(30,"span"),a(31,"Num\u0103r maxim de echipe la meet"),o(),r(32,"div",56)(33,"input",59),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.settings.maxTeamsPerMeet,i)||(d.settings.maxTeamsPerMeet=i),M(i)}),o(),r(34,"span"),a(35,"echipe"),o()()(),r(36,"label")(37,"span"),a(38,"Num\u0103r maxim organizatori la meet"),o(),r(39,"div",56)(40,"input",60),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.settings.maxOrganizerTeams,i)||(d.settings.maxOrganizerTeams=i),M(i)}),o(),r(41,"span"),a(42,"echipe"),o()(),r(43,"small",61),a(44,"Include organizatorul principal \u0219i co-organizatorii."),o()(),r(45,"label")(46,"span"),a(47,"Termen cerere efectiv redus"),o(),r(48,"div",56)(49,"input",62),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.settings.reducedCapacityRequestDeadlineHours,i)||(d.settings.reducedCapacityRequestDeadlineHours=i),M(i)}),o(),r(50,"span"),a(51,"ore \xEEnainte"),o()()(),r(52,"label")(53,"span"),a(54,"Regul\u0103 \xEEntre particip\u0103rile la meeturi"),o(),r(55,"select",38),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.settings.participationSpacingMode,i)||(d.settings.participationSpacingMode=i),M(i)}),r(56,"option",63),a(57,"Minimum de zile \xEEntre meeturi"),o(),r(58,"option",64),a(59,"Maximum un meet \xEEn aceea\u0219i s\u0103pt\u0103m\xE2n\u0103 calendaristic\u0103"),o()()(),r(60,"label")(61,"span"),a(62,"Minimum de zile \xEEntre meeturi"),o(),r(63,"div",56)(64,"input",65),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.settings.minimumDaysBetweenParticipatingMeets,i)||(d.settings.minimumDaysBetweenParticipatingMeets=i),M(i)}),o(),r(65,"span"),a(66,"zile"),o()(),h(67,YT,2,0,"small",66)(68,KT,2,0,"small",66),o()(),r(69,"button",67),b("click",function(){v(e);let i=p(2);return M(i.saveSettings())}),a(70,"Salveaz\u0103 regulile"),o()()}if(t&2){let e=p(2);c(12),D("ngModel",e.settings.gracePeriodDays),c(7),D("ngModel",e.settings.maxMeetsPerTeam),c(7),D("ngModel",e.settings.minTeamsPerMeet),c(7),D("ngModel",e.settings.maxTeamsPerMeet),c(7),D("ngModel",e.settings.maxOrganizerTeams),c(9),D("ngModel",e.settings.reducedCapacityRequestDeadlineHours),c(6),D("ngModel",e.settings.participationSpacingMode),c(9),D("ngModel",e.settings.minimumDaysBetweenParticipatingMeets),m("disabled",e.settings.participationSpacingMode==="same_calendar_week"),c(3),m("ngIf",e.settings.participationSpacingMode==="minimum_days"),c(),m("ngIf",e.settings.participationSpacingMode==="same_calendar_week")}}function JT(t,s){if(t&1){let e=E();r(0,"button",70),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.selectMeet(i))}),r(1,"span",71)(2,"strong"),a(3),o(),r(4,"span",72),a(5),o()(),r(6,"span"),a(7),ze(8,"date"),o(),r(9,"span",73),a(10,"Deschide gestionarea "),r(11,"span",74),a(12,"\u2192"),o()()()}if(t&2){let e=s.$implicit,n=p(3);ot("aria-label","Gestioneaz\u0103 meetul "+e.name),c(3),O(e.name),c(),ct("status-"+e.status),c(),O(n.meetStatusLabel(e.status)),c(2),G("",e.city," \xB7 ",Xe(8,7,e.date,"d MMMM y"),"")}}function XT(t,s){if(t&1&&(r(0,"div",68),h(1,JT,13,10,"button",69),o()),t&2){let e=p(2);c(),m("ngForOf",e.paginatedPendingApprovalMeets())}}function ek(t,s){t&1&&(r(0,"div",75)(1,"strong"),a(2,"Nu exist\u0103 meeturi de verificat."),o(),r(3,"span"),a(4,"Meeturile trimise de echipe vor ap\u0103rea aici."),o()())}function tk(t,s){if(t&1){let e=E();r(0,"div",76)(1,"button",77),b("click",function(){v(e);let i=p(2);return M(i.setPendingApprovalMeetsPage(i.pendingApprovalMeetsPage-1))}),a(2,"Anterior"),o(),r(3,"span"),a(4),o(),r(5,"button",77),b("click",function(){v(e);let i=p(2);return M(i.setPendingApprovalMeetsPage(i.pendingApprovalMeetsPage+1))}),a(6,"Urm\u0103tor"),o()()}if(t&2){let e=p(2);c(),m("disabled",e.pendingApprovalMeetsPage===1),c(3),G("Pagina ",e.pendingApprovalMeetsPage," din ",e.pendingApprovalMeetPages(),""),c(),m("disabled",e.pendingApprovalMeetsPage===e.pendingApprovalMeetPages())}}function nk(t,s){if(t&1){let e=E();r(0,"button",70),b("click",function(){let i=v(e).$implicit,d=p(3);
156return M(d.selectTeamRequest(i))}),r(1,"span",71)(2,"strong"),a(3),o(),r(4,"span",78),a(5,"Necesit\u0103 decizie"),o()(),r(6,"span"),a(7),o(),r(8,"span",73),a(9,"Deschide cererea "),r(10,"span",74),a(11,"\u2192"),o()()()}if(t&2){let e=s.$implicit,n=p(3);ot("aria-label","Deschide cererea "+n.requestTypeLabel(e.type)),c(3),O(n.requestTypeLabel(e.type)),c(4),G("",(e.requestedByTeam==null?null:e.requestedByTeam.name)||"Echip\u0103 neidentificat\u0103"," \xB7 ",(e.meet==null?null:e.meet.name)||"Meet #"+e.meetId,"")}}function ik(t,s){if(t&1&&(r(0,"div",68),h(1,nk,12,4,"button",69),o()),t&2){let e=p(2);c(),m("ngForOf",e.paginatedPendingRequests())}}function ok(t,s){t&1&&(r(0,"div",75)(1,"strong"),a(2,"Nu exist\u0103 cereri \xEEn a\u0219teptare."),o(),r(3,"span"),a(4,"Solicit\u0103rile echipelor vor ap\u0103rea aici."),o()())}function rk(t,s){if(t&1){let e=E();r(0,"div",76)(1,"button",77),b("click",function(){v(e);let i=p(2);return M(i.setPendingRequestsPage(i.pendingRequestsPage-1))}),a(2,"Anterior"),o(),r(3,"span"),a(4),o(),r(5,"button",77),b("click",function(){v(e);let i=p(2);return M(i.setPendingRequestsPage(i.pendingRequestsPage+1))}),a(6,"Urm\u0103tor"),o()()}if(t&2){let e=p(2);c(),m("disabled",e.pendingRequestsPage===1),c(3),G("Pagina ",e.pendingRequestsPage," din ",e.pendingRequestPages(),""),c(),m("disabled",e.pendingRequestsPage===e.pendingRequestPages())}}function ak(t,s){if(t&1){let e=E();r(0,"button",79),b("click",function(){v(e);let i=p(2);return M(i.openRequestHistory())}),a(1),o()}if(t&2){let e=p(2);c(),w("Vezi istoricul cererilor (",e.requests.length,")")}}function sk(t,s){if(t&1&&(r(0,"div",127)(1,"span",74),a(2,"\u2713"),o(),a(3),r(4,"strong"),a(5),o(),a(6,". "),o()),t&2){let e=p(3);c(3),w("",e.meetActionFeedback," Status actual: "),c(2),O(e.meetStatusLabel(e.selectedMeet.status))}}function ck(t,s){t&1&&(r(0,"p",128),a(1,"Se caut\u0103 echipele\u2026"),o())}function lk(t,s){if(t&1){let e=E();r(0,"div")(1,"span")(2,"strong"),a(3),o(),r(4,"small"),a(5),o()(),r(6,"div")(7,"button",107),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.setRegistrationList(i,"registered"))}),a(8,"\xCEnscrie"),o(),r(9,"button",77),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.setRegistrationList(i,"waitlisted"))}),a(10,"Waitlist"),o(),r(11,"button",109),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.setRegistrationList(i,"late_drop"))}),a(12,"Retragere t\xE2rzie"),o()()()}if(t&2){let e=s.$implicit,n=p(4);c(3),O(e.name),c(2),O(e.internationalNumber),c(2),m("disabled",n.isRegistrationActionInProgress),c(2),m("disabled",n.isRegistrationActionInProgress),c(2),m("disabled",n.isRegistrationActionInProgress)}}function dk(t,s){if(t&1&&(r(0,"div",129),h(1,lk,13,5,"div",101),o()),t&2){let e=p(3);c(),m("ngForOf",e.registrationTeamResults)}}function mk(t,s){t&1&&(r(0,"p",130),a(1,"Nu sunt echipe \xEEnscrise."),o())}function gk(t,s){if(t&1){let e=E();r(0,"div",131)(1,"span")(2,"strong"),a(3),o(),r(4,"small"),a(5),o()(),r(6,"button",109),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.removeRegistration(i))}),a(7,"Elimin\u0103"),o()()}if(t&2){let e=s.$implicit,n=p(3);c(3),O(e.team==null?null:e.team.name),c(2),O(e.team==null?null:e.team.internationalNumber),c(),m("disabled",n.isRegistrationActionInProgress)}}function pk(t,s){t&1&&(r(0,"p",130),a(1,"Nu sunt echipe pe waitlist."),o())}function uk(t,s){if(t&1){let e=E();r(0,"div",131)(1,"span")(2,"strong"),a(3),o(),r(4,"small"),a(5),o()(),r(6,"button",109),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.removeRegistration(i))}),a(7,"Elimin\u0103"),o()()}if(t&2){let e=s.$implicit,n=p(3);c(3),G("#",e.waitlistPosition," \xB7 ",e.team==null?null:e.team.name,""),c(2),O(e.team==null?null:e.team.internationalNumber),c(),m("disabled",n.isRegistrationActionInProgress)}}function _k(t,s){t&1&&(r(0,"p",130),a(1,"Nu sunt retrageri t\xE2rzii."),o())}function fk(t,s){if(t&1){let e=E();r(0,"div",131)(1,"span")(2,"strong"),a(3),o(),r(4,"small"),a(5),o()(),r(6,"button",109),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.removeRegistration(i))}),a(7,"Elimin\u0103"),o()()}if(t&2){let e=s.$implicit,n=p(3);c(3),O(e.team==null?null:e.team.name),c(2),G("",n.registrationStatusLabel(e.status)," \xB7 ",e.team==null?null:e.team.internationalNumber,""),c(),m("disabled",n.isRegistrationActionInProgress)}}function hk(t,s){if(t&1&&(r(0,"p"),a(1),ze(2,"date"),o()),t&2){let e=p(3);c(),w("Ultima modificare de echip\u0103: ",Xe(2,1,e.selectedMeet.privateDetailsUpdatedAt,"d MMMM y, HH:mm"),"")}}function Ck(t,s){t&1&&(r(0,"small"),a(1," \xB7 invita\u021Bie \xEEn a\u0219teptare"),o())}function vk(t,s){if(t&1&&(r(0,"span"),a(1),h(2,Ck,2,0,"small",14),a(3),o()),t&2){let e=s.$implicit,n=s.last;c(),G("",e.team==null?null:e.team.name," (",e.team==null?null:e.team.internationalNumber,")"),c(),m("ngIf",e.status==="invited"),c(),O(n?"":", ")}}function Mk(t,s){t&1&&(r(0,"p",132),a(1,"Se actualizeaz\u0103 statusul meetului\u2026"),o())}function xk(t,s){if(t&1&&(r(0,"option",114),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e.id),c(),O(e.name)}
156}function bk(t,s){if(t&1){let e=E();r(0,"span"),a(1),r(2,"small"),a(3),o(),r(4,"button",134),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.removeCoOrganizer(i.id))}),a(5,"\xD7"),o()()}if(t&2){let e=s.$implicit;c(),w("",e.name," "),c(2),w("(",e.internationalNumber,")"),c(),ot("aria-label","Elimin\u0103 "+e.name)}}function Pk(t,s){if(t&1&&(r(0,"div",133),h(1,bk,6,3,"span",101),o()),t&2){let e=p(3);c(),m("ngForOf",e.adminCoOrganizers)}}function Ok(t,s){t&1&&(r(0,"small"),a(1,"Nu sunt selecta\u021Bi co-organizatori."),o())}function yk(t,s){t&1&&(r(0,"p"),a(1,"Se caut\u0103 echipele\u2026"),o())}function wk(t,s){if(t&1){let e=E();r(0,"button",134),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.addCoOrganizer(i))}),r(1,"span"),a(2),o(),r(3,"small"),a(4),o(),r(5,"strong"),a(6,"Adaug\u0103"),o()()}if(t&2){let e=s.$implicit;c(2),O(e.name),c(2),O(e.internationalNumber)}}function Sk(t,s){if(t&1&&(r(0,"div",135),h(1,wk,7,2,"button",136),o()),t&2){let e=p(3);c(),m("ngForOf",e.coOrganizerResults)}}function Ek(t,s){if(t&1&&(r(0,"li")(1,"time"),a(2),ze(3,"date"),o(),a(4),o()),t&2){let e=s.$implicit,n=p(4);c(2),O(Xe(3,2,e.createdAt,"d MMMM y, HH:mm")),c(2),O(n.auditActionLabel(e.action))}}function Tk(t,s){if(t&1&&(r(0,"details",137)(1,"summary"),a(2,"Vezi istoricul meetului"),o(),r(3,"ul"),h(4,Ek,5,5,"li",101),o()()),t&2){let e=p(3);c(4),m("ngForOf",e.selectedMeet.auditLogs)}}function kk(t,s){if(t&1){let e=E();r(0,"div",80)(1,"button",81),b("click",function(){v(e);let i=p(2);return M(i.closeMeetDetails())}),o(),r(2,"section",82)(3,"div",83)(4,"div")(5,"p",7),a(6,"DETALII MEET"),o(),r(7,"h3",84),a(8),o(),r(9,"p"),a(10),ze(11,"date"),o()(),r(12,"div",85)(13,"div",86)(14,"span"),a(15,"Statusul meetului"),o(),r(16,"strong",72),a(17),o()(),r(18,"button",87),b("click",function(){v(e);let i=p(2);return M(i.closeMeetDetails())}),a(19,"\xD7"),o()()(),h(20,sk,7,2,"div",88),r(21,"div",89)(22,"div")(23,"strong"),a(24),o(),r(25,"span"),a(26,"echipe confirmate"),o()(),r(27,"div")(28,"strong"),a(29),o(),r(30,"span"),a(31,"pe lista de a\u0219teptare"),o()(),r(32,"div")(33,"strong"),a(34),o(),r(35,"span"),a(36,"locuri disponibile"),o()()(),r(37,"section",90)(38,"div")(39,"h4",91),a(40,"Gestioneaz\u0103 echipele"),o(),r(41,"p"),a(42,"Adaug\u0103 o echip\u0103 \xEEntr-o list\u0103, mut-o \xEEn alt\u0103 list\u0103 sau elimin-o manual. Modific\u0103rile sunt p\u0103strate \xEEn istoricul meetului."),o()(),r(43,"label",92)(44,"span"),a(45,"Caut\u0103 echipa dup\u0103 nume sau num\u0103r interna\u021Bional"),o(),r(46,"input",93),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.registrationTeamSearch,i)||(d.registrationTeamSearch=i),M(i)}),b("ngModelChange",function(i){v(e);let d=p(2);return M(d.searchRegistrationTeams(i))}),o()(),h(47,ck,2,0,"p",94)(48,dk,2,1,"div",95),r(49,"div",96)(50,"section")(51,"header")(52,"h5"),a(53,"Echipe \xEEnscrise"),o(),r(54,"span"),a(55),o()(),h(56,mk,2,0,"p",97)(57,gk,8,3,"div",98),o(),r(58,"section")(59,"header")(60,"h5"),a(61,"Waitlist"),o(),r(62,"span"),a(63),o()(),h(64,pk,2,0,"p",97)(65,uk,8,4,"div",98),o(),r(66,"section")(67,"header")(68,"h5"),a(69,"Retrageri t\xE2rzii"),o(),r(70,"span"),a(71),o()(),h(72,_k,2,0,"p",97)(73,fk,8,4,"div",98),o()()(),r(74,"section",99)(75,"div")(76,"h4"),a(77,"Date private din formular"),o(),h(78,hk,3,4,"p",14),o(),r(79,"div",100)(80,"p")(81,"strong"),a(82,"Interval:"),o(),a(83),o(),r(84,"p")(85,"strong"),a(86,"Jude\u021B:"),o(),a(87),o(),r(88,"p")(89,"strong"),a(90,"Persoan\u0103 formular:"),o(),a(91),o(),r(92,"p")(93,"strong"),a(94,"Organizatori:"),o(),h(95,vk,4,4,"span",101),o(),r(96,"p")(97,"strong"),a(98,"Link Eveniment FTC Events:"),o(),a(99),o(),r(100,"p")(101,"strong"),a(102,"Loca\u021Bie stabilit\u0103:"),o(),a(103),o(),r(104,"p")(105,"strong"),a(106,"Adres\u0103 / cod po\u0219tal:"),o(),a(107),o(),r(108,"p")(109,"strong"),a(110,"Website loca\u021Bie:"),o(),a(111),o(),r(112,"p")(113,"strong"),a(114,"Contact principal:"),o(),a(115),o(),r(116,"p")(117,"strong"),a(118,"Telefon / email:"),o(),a(119),o(),r(120,"p",102)(121,"strong"),a(122,"Alte men\u021Biuni:"),o(),a(123),o()()(),r(124,"div",103)(125,"div")(126,"h4"),a(127,"Schimb\u0103 statusul meetului"),o(),r(128,"p"),a(129,"Motivul este obligatoriu c\xE2nd ceri modific\u0103ri, respingi sau anulezi \u0219i va fi trimis organizatorilor."),o()(),r(130,"label",104)(131,"span"),a(132,"Not\u0103 pentru decizie "),r(133,"small"),a(134,"(obligatoriu pentru cerere de modific\u0103ri, respingere sau anulare)"),o()(),r(135,"textarea",105),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.meetReviewReasons[d.selectedMeet.id],i)||(d.meetReviewReasons[d.selectedMeet.id]=i),M(i)}),o()(),r(136,"div",106)(137,"button",107),b("click",function(){v(e);let i=p(2);return M(i.approveMeet(i.selectedMeet))}),a(138,"Aprob\u0103 meetul"),o(),r(139,"button",77),b("click",function(){v(e);let i=p(2);return M(i.requestChanges(i.selectedMeet))}),a(140,"Cere modific\u0103ri"),o(),r(141,"button",108),b("click",function(){v(e);let i=p(2);return M(i.rejectMeet(i.selectedMeet))}),a(142,"Respinge"),o(),r(143,"button",109),b("click",function(){v(e);let i=p(2);return M(i.cancelMeet(i.selectedMeet))}),a(144,"Anuleaz\u0103 meetul"),o()(),h(145,Mk,2,0,"p",110),o(),r(146,"section",111)(147,"div")(148,"h4",112),a(149,"Editeaz\u0103 meetul"),o(),r(150,"p"),a(151,"Administratorii pot completa inclusiv codul FTC Events \u0219i linkul extern dup\u0103 publicarea evenimentului \xEEn FTC Events."),o()(),r(152,"div",113)(153,"label"),a(154,"Nume"),r(155,"input",38),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.name,i)||(d.adminEdit.name=i),M(i)}),o()(),r(156,"label"),a(157,"Ora\u0219"),r(158,"input",38),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.city,i)||(d.adminEdit.city=i),M(i)}),o()(),r(159,"label"),a(160,"Regiune gazd\u0103"),r(161,"select",38),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.hostRegionId,i)||(d.adminEdit.hostRegionId=i),M(i)}),r(162,"option",114),a(163,"Selecteaz\u0103 regiunea"),o(),h(164,xk,2,2,"option",115),o()(),r(165,"label"),a(166,"Dat\u0103"),r(167,"input",116),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.date,i)||(d.adminEdit.date=i),M(i)}),o()(),r(168,"label"),a(169,"Num\u0103r maxim de echipe"),r(170,"input",117),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.capacityTeams,i)||(d.adminEdit.capacityTeams=i),M(i)}),o()(),r(171,"label",102),a(172,"Descriere"),r(173,"textarea",118),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.description,i)||(d.adminEdit.description=i),M(i)}),o()(),r(174,"label"),a(175,"Detalii logistice"),r(176,"textarea",119),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.logisticsDetails,i)||(d.adminEdit.logisticsDetails=i),M(i)}),o()(),r(177,"label"),a(178,"Mesaj pentru participan\u021Bi"),r(179,"textarea",119),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.participantMessage,i)||(d.adminEdit.participantMessage=i),M(i)}),o()(),r(180,"label"),a(181,"Link Eveniment FTC Events "),r(182,"small"),a(183,"(se completeaz\u0103 dup\u0103 publicarea \xEEn FTC Events)"),o(),r(184,"input",120),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.externalRegistrationLink,i)||(d.adminEdit.externalRegistrationLink=i),M(i)}),o()(),r(185,"label"),a(186,"Cod FTC Events"),r(187,"input",121),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.adminEdit.eventCode,i)||(d.adminEdit.eventCode=i),M(i)}
156),o()(),r(188,"div",122)(189,"strong"),a(190,"Co-organizatori"),o(),r(191,"p"),a(192),o(),h(193,Pk,2,1,"div",123)(194,Ok,2,0,"ng-template",null,3,Se),r(196,"label")(197,"span"),a(198,"Caut\u0103 \u0219i adaug\u0103 co-organizator"),o(),r(199,"input",124),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.coOrganizerSearch,i)||(d.coOrganizerSearch=i),M(i)}),b("ngModelChange",function(i){v(e);let d=p(2);return M(d.searchCoOrganizers(i))}),o()(),h(200,yk,2,0,"p",14)(201,Sk,2,1,"div",125),o()(),r(202,"button",67),b("click",function(){v(e);let i=p(2);return M(i.saveAdminEdit())}),a(203,"Salveaz\u0103 modific\u0103rile"),o()(),h(204,Tk,5,1,"details",126),o()()}if(t&2){let e=oe(195),n=p(2);c(8),O(n.selectedMeet.name),c(2),G("",n.selectedMeet.city," \xB7 ",Xe(11,68,n.selectedMeet.date,"d MMMM y"),""),c(6),ct("status-"+n.selectedMeet.status),c(),O(n.meetStatusLabel(n.selectedMeet.status)),c(3),m("ngIf",n.meetActionFeedback),c(4),G("",n.selectedMeet.registeredTeamsCount,"/",n.selectedMeet.capacityTeams,""),c(5),O(n.selectedMeet.waitlistTeamsCount),c(5),O(n.selectedMeet.availableSpots),c(12),D("ngModel",n.registrationTeamSearch),m("disabled",n.isRegistrationActionInProgress),c(),m("ngIf",n.isSearchingRegistrationTeams),c(),m("ngIf",n.registrationTeamResults.length),c(7),O(n.registrationsFor("registered").length),c(),m("ngIf",!n.registrationsFor("registered").length),c(),m("ngForOf",n.registrationsFor("registered")),c(6),O(n.registrationsFor("waitlisted").length),c(),m("ngIf",!n.registrationsFor("waitlisted").length),c(),m("ngForOf",n.registrationsFor("waitlisted")),c(6),O(n.registrationsFor("late_drop").length),c(),m("ngIf",!n.registrationsFor("late_drop").length),c(),m("ngForOf",n.registrationsFor("late_drop")),c(5),m("ngIf",n.selectedMeet.privateDetailsUpdatedAt),c(5),G(" ",n.selectedMeet.startTime||"\u2014"," \u2013 ",n.selectedMeet.completionTime||"\u2014",""),c(4),w(" ",n.selectedMeet.county||"\u2014",""),c(4),G(" ",n.selectedMeet.submissionContactName||"\u2014"," \xB7 ",n.selectedMeet.submissionContactEmail||"\u2014",""),c(4),m("ngForOf",n.selectedMeet.organizers),c(4),w(" ",n.selectedMeet.externalRegistrationLink||"\u2014",""),c(4),G(" ",n.selectedMeet.venueConfirmed?"Da":"Nu"," \xB7 ",n.selectedMeet.venueName||"\u2014",""),c(4),G(" ",n.selectedMeet.venueAddress||"\u2014"," \xB7 ",n.selectedMeet.venuePostalCode||"\u2014",""),c(4),w(" ",n.selectedMeet.venueWebsite||"\u2014",""),c(4),G(" ",n.selectedMeet.primaryContactName||"\u2014"," \xB7 ",n.selectedMeet.primaryContactRole||"\u2014",""),c(4),G(" ",n.selectedMeet.primaryContactPhone||"\u2014"," \xB7 ",n.selectedMeet.primaryContactEmail||"\u2014",""),c(4),w(" ",n.selectedMeet.additionalNotes||"\u2014",""),c(12),D("ngModel",n.meetReviewReasons[n.selectedMeet.id]),c(2),m("disabled",!n.canApprove(n.selectedMeet)),c(2),m("disabled",!n.canRequestChanges(n.selectedMeet)||!(n.meetReviewReasons[n.selectedMeet.id]!=null&&n.meetReviewReasons[n.selectedMeet.id].trim())),c(2),m("disabled",!n.canReject(n.selectedMeet)||!(n.meetReviewReasons[n.selectedMeet.id]!=null&&n.meetReviewReasons[n.selectedMeet.id].trim())),c(2),m("disabled",!n.canCancel(n.selectedMeet)||!(n.meetReviewReasons[n.selectedMeet.id]!=null&&n.meetReviewReasons[n.selectedMeet.id].trim())),c(2),m("ngIf",n.isMeetActionInProgress),c(10),D("ngModel",n.adminEdit.name),c(3),D("ngModel",n.adminEdit.city),c(3),D("ngModel",n.adminEdit.hostRegionId),c(),m("ngValue",null),c(2),m("ngForOf",n.regions),c(3),D("ngModel",n.adminEdit.date),c(3),D("ngModel",n.adminEdit.capacityTeams),c(3),D("ngModel",n.adminEdit.description),c(3),D("ngModel",n.adminEdit.logisticsDetails),c(3),D("ngModel",n.adminEdit.participantMessage),c(5),D("ngModel",n.adminEdit.externalRegistrationLink),c(3),D("ngModel",n.adminEdit.eventCode),c(5),w("Echipa care a creat meetul r\u0103m\xE2ne organizator principal. Pot exista cel mult ",n.maxCoOrganizers," co-organizatori."),c(),m("ngIf",n.adminCoOrganizers.length)("ngIfElse",e),c(6),D("ngModel",n.coOrganizerSearch),m("disabled",n.adminCoOrganizers.length>=n.maxCoOrganizers),c(),m("ngIf",n.isSearchingCoOrganizers),c(),m("ngIf",n.coOrganizerResults.length),c(3),m("ngIf",n.selectedMeet.auditLogs==null?null:n.selectedMeet.auditLogs.length)}}function Ik(t,s){if(t&1){let e=E();r(0,"div",140)(1,"button",141),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.selectMeet(i))}),r(2,"span")(3,"strong"),a(4),o(),r(5,"small"),a(6),ze(7,"date"),o()(),r(8,"span",72),a(9),o(),r(10,"span",73),a(11,"Gestioneaz\u0103 "),r(12,"span",74),a(13,"\u2192"),o()()(),r(14,"label",142)(15,"input",143),b("change",function(i){let d=v(e).$implicit,u=p(3);return M(u.toggleFtcEventsPublicationStatus(d,i))}),o(),r(16,"span"),a(17),o()()()}if(t&2){let e=s.$implicit,n=p(3);I("active",(n.selectedMeet==null?null:n.selectedMeet.id)===e.id),c(),ot("aria-pressed",(n.selectedMeet==null?null:n.selectedMeet.id)===e.id)("aria-label","Gestioneaz\u0103 meetul "+e.name),c(3),O(e.name),c(2),G("",e.city," \xB7 ",Xe(7,14,e.date,"d MMMM y"),""),c(2),ct("status-"+e.status),c(),O(n.meetStatusLabel(e.status)),c(5),I("published",e.ftcEventsPublicationStatus==="published_on_first"),c(),m("checked",e.ftcEventsPublicationStatus==="published_on_first"),c(2),O(n.ftcEventsPublicationStatusLabel(e.ftcEventsPublicationStatus))}}function Fk(t,s){if(t&1&&(r(0,"div",138),h(1,Ik,18,17,"div",139),o()),t&2){let e=p(2);c(),m("ngForOf",e.filteredMeets())}}function Dk(t,s){t&1&&(r(0,"div",75)(1,"strong"),a(2,"Nu exist\u0103 meeturi create \xEEnc\u0103."),o()())}function Rk(t,s){if(t&1){let e=E();r(0,"label")(1,"input",143),b("change",function(){let i=v(e).$implicit,d=p(4);return M(d.toggleAlertRecipient(i.id))}),o(),r(2,"span")(3,"strong"),a(4),o(),r(5,"small"),a(6),o()()()}if(t&2){let e=s.$implicit,n=p(4);c(),m("checked",n.alertRecipientIds.includes(e.id)),c(3),O(e.name),c(2),O(e.email)}}function zk(t,s){if(t&1&&(r(0,"div",149),h(1,Rk,7,3,"label",101),o()),t&2){let e=p(3);c(),m("ngForOf",e.adminUsers)}}function Nk(t,s){t&1&&(r(0,"p",150),a(1,"Nu exist\u0103 administratori disponibili."),o())}function Ak(t,s){if(t&1){let e=E();r(0,"section",144)(1,"details")(2,"summary"),a(3,"League Meets \xEEn sezonul curent"),o(),r(4,"div",145)(5,"div")(6,"p"),a(7),o()(),r(8,"button",146),b("click",function(){v(e);let i=p(2);return M(i.toggleLeagueMeets())}),a(9),o()()(),r(10,"details")(11,"summary"),a(12,"Alerte email pentru cereri urgente"),o(),r(13,"div",147)(14,"p"),a(15,"Doar administratorii selecta\u021Bi primesc email pentru retrageri t\xE2rzii, cereri de efectiv redus \u0219i elimin\u0103ri de echipe."),o(),h(16,zk,2,1,"div",148)(17,Nk,2,0,"ng-template",null,4,Se),r(19,"button",11),b("click",function(){v(e);let i=p(2);return M(i.saveAlertRecipients())}),a(20,"Salveaz\u0103 destinatarii alertelor"),o()()()()}if(t&2){let e=oe(18),n=p(2);c(7),O(n.settings.leagueMeetsEnabled?"Echipele v\u0103d sec\u021Biunea League Meets \u0219i pot crea meeturi.":"Func\u021Bionalitatea este oprit\u0103 pentru echipe; meeturile existente nu sunt \u0219terse."),c(),I("button-danger-outline",n.settings.leagueMeetsEnabled)("button-primary",!n.settings.leagueMeetsEnabled),c(),w(" ",n.settings.leagueMeetsEnabled?"Dezactiveaz\u0103 League Meets":"Activeaz\u0103 League Meets"," "),c(7),m("ngIf",n.adminUsers.length)("ngIfElse",e)}}function Lk(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p().$implicit;c(),G("Decizie ",e.reviewedByAdmin!=null&&e.reviewedByAdmin.name?"de "+(e.reviewedByAdmin==null?null:e.reviewedByAdmin.name):"",": ",e.reviewReason,"")}}function Vk(t,s){if(t&1&&(r(0,"div",156)(1,"strong"),a(2),o(),r(3,"span")(4,"b"),a(5,"Echipa:"),o(),a(6),r(7,"b"),a(8,"Meet:"),o(),a(9),o(),r(10,"span")(11,"b"),a(12,"Motivul transmis:"),o(),a(13),o(),r(14,"span"),a(15),ze(16,"date"),o(),h(17,Lk,2,2,"span",14),o()),t&2){let e=s.$implicit,n=p(3);c(2),O(n.requestTypeLabel(e.type)),c(4),w(" ",(e.requestedByTeam==null?null:e.requestedByTeam.name)||"Ec
156hip\u0103 neidentificat\u0103"," \xB7 "),c(3),w(" ",(e.meet==null?null:e.meet.name)||"Meet #"+e.meetId,""),c(4),w(" ",e.reason||"\u2014",""),c(2),G("Status: ",e.status," \xB7 ",Xe(16,7,e.createdAt,"d MMMM y, HH:mm"),""),c(2),m("ngIf",e.reviewReason)}}function Bk(t,s){if(t&1){let e=E();r(0,"div",76)(1,"button",77),b("click",function(){v(e);let i=p(3);return M(i.setRequestHistoryPage(i.requestHistoryPage-1))}),a(2,"Anterior"),o(),r(3,"span"),a(4),o(),r(5,"button",77),b("click",function(){v(e);let i=p(3);return M(i.setRequestHistoryPage(i.requestHistoryPage+1))}),a(6,"Urm\u0103tor"),o()()}if(t&2){let e=p(3);c(),m("disabled",e.requestHistoryPage===1),c(3),G("Pagina ",e.requestHistoryPage," din ",e.requestHistoryPages(),""),c(),m("disabled",e.requestHistoryPage===e.requestHistoryPages())}}function Uk(t,s){if(t&1){let e=E();r(0,"div",151)(1,"button",152),b("click",function(){v(e);let i=p(2);return M(i.closeRequestHistory())}),o(),r(2,"section",153)(3,"div",83)(4,"div")(5,"p",7),a(6,"CERERI DE LA ECHIPE"),o(),r(7,"h3",154),a(8,"Istoric cereri"),o()(),r(9,"button",87),b("click",function(){v(e);let i=p(2);return M(i.closeRequestHistory())}),a(10,"\xD7"),o()(),h(11,Vk,18,10,"div",155)(12,Bk,7,4,"div",29),o()()}if(t&2){let e=p(2);c(11),m("ngForOf",e.paginatedRequests()),c(),m("ngIf",e.requestHistoryPages()>1)}}function jk(t,s){if(t&1&&(r(0,"div")(1,"span"),a(2,"ECHIPA VIZAT\u0102"),o(),r(3,"strong"),a(4),o()()),t&2){let e=p(3);c(4),O(e.selectedTeamRequest.targetTeam.name)}}function qk(t,s){t&1&&(r(0,"p",166),a(1,"Informare trimis\u0103 c\u0103tre admin"),o())}function Wk(t,s){t&1&&(r(0,"small"),a(1,"(obligatoriu)"),o())}function $k(t,s){t&1&&(r(0,"small"),a(1,"(op\u021Bional)"),o())}function Hk(t,s){if(t&1){let e=E();r(0,"div",157)(1,"button",158),b("click",function(){v(e);let i=p(2);return M(i.closeTeamRequest())}),o(),r(2,"section",159)(3,"div",83)(4,"div")(5,"p",7),a(6,"CERERE DE LA ECHIP\u0102"),o(),r(7,"h3",160),a(8),o()(),r(9,"button",87),b("click",function(){v(e);let i=p(2);return M(i.closeTeamRequest())}),a(10,"\xD7"),o()(),r(11,"div",161)(12,"span"),a(13,"TIPUL CERERII"),o(),r(14,"strong"),a(15),o(),r(16,"p"),a(17),o()(),r(18,"div",162)(19,"div")(20,"span"),a(21,"ECHIPA CARE SOLICIT\u0102"),o(),r(22,"strong"),a(23),o()(),r(24,"div")(25,"span"),a(26,"MEET VIZAT"),o(),r(27,"strong"),a(28),o()(),h(29,jk,5,1,"div",14),o(),r(30,"div",163)(31,"span"),a(32,"MOTIVUL TRANSMIS DE ECHIP\u0102"),o(),r(33,"strong"),a(34),o(),r(35,"small"),a(36),ze(37,"date"),o()(),h(38,qk,2,0,"p",164),r(39,"label",104)(40,"span"),a(41,"Motivul deciziei "),h(42,Wk,2,0,"small",14)(43,$k,2,0,"small",14),o(),r(44,"textarea",165),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.requestReviewReasons[d.selectedTeamRequest.id],i)||(d.requestReviewReasons[d.selectedTeamRequest.id]=i),M(i)}),o()(),r(45,"div",106)(46,"button",107),b("click",function(){v(e);let i=p(2);return M(i.approveRequest(i.selectedTeamRequest))}),a(47),o(),r(48,"button",108),b("click",function(){v(e);let i=p(2);return M(i.rejectRequest(i.selectedTeamRequest))}),a(49,"Respinge"),o()()()()}if(t&2){let e=p(2);c(8),O(e.requestTypeLabel(e.selectedTeamRequest.type)),c(7),O(e.requestTypeLabel(e.selectedTeamRequest.type)),c(2),O(e.requestTypeDescription(e.selectedTeamRequest.type)),c(6),O((e.selectedTeamRequest.requestedByTeam==null?null:e.selectedTeamRequest.requestedByTeam.name)||"Echip\u0103 neidentificat\u0103"),c(5),O((e.selectedTeamRequest.meet==null?null:e.selectedTeamRequest.meet.name)||"Meet #"+e.selectedTeamRequest.meetId),c(),m("ngIf",e.selectedTeamRequest.targetTeam),c(5),O(e.selectedTeamRequest.reason||"Nu a fost transmis un motiv."),c(2),w("Trimis la ",Xe(37,15,e.selectedTeamRequest.createdAt,"d MMMM y, HH:mm"),""),c(2),m("ngIf",e.selectedTeamRequest.type==="location_change"),c(4),m("ngIf",e.requiresDecisionReason(e.selectedTeamRequest)),c(),m("ngIf",!e.requiresDecisionReason(e.selectedTeamRequest)),c(),D("ngModel",e.requestReviewReasons[e.selectedTeamRequest.id]),c(2),m("disabled",e.requiresDecisionReason(e.selectedTeamRequest)&&!(e.requestReviewReasons[e.selectedTeamRequest.i
156d]!=null&&e.requestReviewReasons[e.selectedTeamRequest.id].trim())),c(),O(e.selectedTeamRequest.type==="location_change"?"Loca\u021Bie actualizat\u0103 \xEEn FTC Events":"Aprob\u0103"),c(),m("disabled",e.requiresDecisionReason(e.selectedTeamRequest)&&!(e.requestReviewReasons[e.selectedTeamRequest.id]!=null&&e.requestReviewReasons[e.selectedTeamRequest.id].trim()))}}function Gk(t,s){if(t&1){let e=E();Me(0),r(1,"div",18)(2,"div",19)(3,"span",20),a(4),o(),r(5,"span"),a(6,"meeturi de verificat"),o()(),r(7,"div",21)(8,"span",20),a(9),o(),r(10,"span"),a(11,"cereri \xEEn a\u0219teptare"),o()(),r(12,"div",21)(13,"span",20),a(14),o(),r(15,"span"),a(16,"meeturi \xEEn total"),o()()(),h(17,QT,71,11,"section",22),r(18,"div",23)(19,"section",24)(20,"div",25)(21,"div")(22,"h3",26),a(23,"Meeturi care a\u0219teapt\u0103 aprobare"),o(),r(24,"p"),a(25,"Verific\u0103 informa\u021Biile \xEEnainte de publicare."),o()(),r(26,"span",27),a(27),o()(),h(28,XT,2,1,"div",28)(29,ek,5,0,"ng-template",null,0,Se)(31,tk,7,4,"div",29),o(),r(32,"section",30)(33,"div",25)(34,"div")(35,"h3",31),a(36,"Cereri de la echipe"),o(),r(37,"p"),a(38,"Solicit\u0103ri care au nevoie de o decizie."),o()(),r(39,"span",27),a(40),o()(),h(41,ik,2,1,"div",28)(42,ok,5,0,"ng-template",null,1,Se)(44,rk,7,4,"div",29)(45,ak,2,1,"button",32),o()(),h(46,kk,205,71,"div",33),r(47,"section",34)(48,"div",25)(49,"div")(50,"h3",35),a(51,"Toate meeturile"),o(),r(52,"p"),a(53,"Alege un meet pentru a-i vedea detaliile."),o()(),r(54,"span",27),a(55),o()(),r(56,"label",36)(57,"span"),a(58,"Caut\u0103 meet"),o(),r(59,"input",37),z("ngModelChange",function(i){v(e);let d=p();return R(d.meetSearch,i)||(d.meetSearch=i),M(i)}),o()(),r(60,"label",36)(61,"span"),a(62,"Filtreaz\u0103 dup\u0103 status"),o(),r(63,"select",38),z("ngModelChange",function(i){v(e);let d=p();return R(d.statusFilter,i)||(d.statusFilter=i),M(i)}),r(64,"option",39),a(65,"Toate statusurile"),o(),r(66,"option",40),a(67,"\xCEn preg\u0103tire"),o(),r(68,"option",41),a(69,"\xCEn a\u0219teptarea aprob\u0103rii"),o(),r(70,"option",42),a(71,"Necesit\u0103 modific\u0103ri"),o(),r(72,"option",43),a(73,"\xCEn reverificare"),o(),r(74,"option",44),a(75,"A\u0219teapt\u0103 aprobare FIRST"),o(),r(76,"option",45),a(77,"Aprobat"),o(),r(78,"option",46),a(79,"Respins"),o(),r(80,"option",47),a(81,"Anulat"),o(),r(82,"option",48),a(83,"Finalizat"),o()()(),h(84,Fk,2,1,"div",49)(85,Dk,3,0,"ng-template",null,2,Se),o(),h(87,Ak,21,8,"section",50)(88,Uk,13,2,"div",51)(89,Hk,50,18,"div",52),xe()}if(t&2){let e=oe(30),n=oe(43),i=oe(86),d=p();c(4),O(d.byStatus("pending_approval").length),c(5),O(d.pendingRequests.length),c(5),O(d.meets.length),c(3),m("ngIf",d.settings),c(10),O(d.byStatus("pending_approval").length),c(),m("ngIf",d.pendingApprovalMeets().length)("ngIfElse",e),c(3),m("ngIf",d.pendingApprovalMeetPages()>1),c(9),O(d.pendingRequests.length),c(),m("ngIf",d.pendingRequests.length)("ngIfElse",n),c(3),m("ngIf",d.pendingRequestPages()>1),c(),m("ngIf",d.requests.length),c(),m("ngIf",d.selectedMeet),c(9),O(d.meets.length),c(4),D("ngModel",d.meetSearch),c(4),D("ngModel",d.statusFilter),c(21),m("ngIf",d.filteredMeets().length)("ngIfElse",i),c(3),m("ngIf",d.settings),c(),m("ngIf",d.isRequestHistoryOpen),c(),m("ngIf",d.selectedTeamRequest)}}var Iu=(()=>{class t{constructor(e,n,i){this.meetsService=e,this.seasonRegionService=n,this.teamsService=i,this.meets=[],this.pendingRequests=[],this.requests=[],this.adminUsers=[],this.alertRecipientIds=[],this.settings=null,this.selectedMeet=null,this.selectedTeamRequest=null,this.adminEdit={},this.adminCoOrganizers=[],this.coOrganizerSearch="",this.coOrganizerResults=[],this.isSearchingCoOrganizers=!1,this.registrationTeamSearch="",this.registrationTeamResults=[],this.isSearchingRegistrationTeams=!1,this.isRegistrationActionInProgress=!1,this.statusFilter="all",this.meetSearch="",this.regions=[],this.meetReviewReasons={},this.requestReviewReasons={},this.isRequestHistoryOpen=!1,this.requestHistoryPage=1,this.requestHistoryPageSize=8,this.pendingRequestsPage=1,this.pendingRequestsPageSize=6,this.pendingApprovalMeetsPage=1,this.pendingApprovalMeetsPageSize=6,this.message="",this.messageType="success",this.isLoading=!1,this.hasLoaded=!1,this.isMeetActionInProgress=!1,this.meetActionFeedback=""}ngOnInit(){this.load(),this.seasonRegionService.getCurrentSeasonRegions().subscribe({next:e=>this.regions=e.message||[],error:()=>this.regions=[]})}load(){this.hasLoaded||(this.isLoading=!0),this.meetsService.adminDashboard().subscribe({next:e=>{this.meets=e.message.meets||[],this.pendingRequests=e.message.pendingRequests||[],this.requests=e.message.requests||[],this.adminUsers=e.message.adminUsers||[],this.alertRecipientIds=(e.message.alertRecipients||[]).map(n=>n.id),this.settings=e.message.settings,this.pendingRequestsPage=Math.min(this.pendingRequestsPage,this.pendingRequestPages()),this.pendingApprovalMeetsPage=Math.min(this.pendingApprovalMeetsPage,this.pendingApprovalMeetPages()),this.selectedMeet=this.selectedMeet&&this.meets.find(n=>n.id===this.selectedMeet?.id)||null,this.resetAdminEdit(),this.isLoading=!1,this.hasLoaded=!0},error:e=>{this.isLoading=!1,this.showError(e.error?.message||"Nu am putut \xEEnc\u0103rca dashboard-ul.")}})}byStatus(e){return this.meets.filter(n=>n.status===e)}filteredMeets(){let e=this.meetSearch.trim().toLocaleLowerCase();return this.meets.filter(n=>(this.statusFilter==="all"||n.status===this.statusFilter)&&(!e||n.name.toLocaleLowerCase().includes(e)||n.city.toLocaleLowerCase().includes(e)))}selectMeet(e){this.selectedMeet=e,this.resetAdminEdit(),this.resetRegistrationTeamSearch()}closeMeetDetails(){this.selectedMeet=null,this.meetActionFeedback="",this.resetRegistrationTeamSearch()}
156selectTeamRequest(e){this.selectedTeamRequest=e}closeTeamRequest(){this.selectedTeamRequest=null}paginatedPendingRequests(){let e=(this.pendingRequestsPage-1)*this.pendingRequestsPageSize;return this.pendingRequests.slice(e,e+this.pendingRequestsPageSize)}pendingRequestPages(){return Math.max(1,Math.ceil(this.pendingRequests.length/this.pendingRequestsPageSize))}setPendingRequestsPage(e){this.pendingRequestsPage=Math.min(Math.max(e,1),this.pendingRequestPages())}pendingApprovalMeets(){return this.byStatus("pending_approval")}paginatedPendingApprovalMeets(){let e=(this.pendingApprovalMeetsPage-1)*this.pendingApprovalMeetsPageSize;return this.pendingApprovalMeets().slice(e,e+this.pendingApprovalMeetsPageSize)}pendingApprovalMeetPages(){return Math.max(1,Math.ceil(this.pendingApprovalMeets().length/this.pendingApprovalMeetsPageSize))}setPendingApprovalMeetsPage(e){this.pendingApprovalMeetsPage=Math.min(Math.max(e,1),this.pendingApprovalMeetPages())}openRequestHistory(){this.requestHistoryPage=1,this.isRequestHistoryOpen=!0}closeRequestHistory(){this.isRequestHistoryOpen=!1}paginatedRequests(){let e=(this.requestHistoryPage-1)*this.requestHistoryPageSize;return this.requests.slice(e,e+this.requestHistoryPageSize)}requestHistoryPages(){return Math.max(1,Math.ceil(this.requests.length/this.requestHistoryPageSize))}setRequestHistoryPage(e){this.requestHistoryPage=Math.min(Math.max(e,1),this.requestHistoryPages())}canApprove(e){return!this.isMeetActionInProgress&&(e.status==="pending_approval"||e.status==="pending_changes_review"||e.status==="pending_first_approval")}canRequestChanges(e){return this.canApprove(e)}canReject(e){return this.canApprove(e)}canCancel(e){return!this.isMeetActionInProgress&&!["cancelled","completed"].includes(e.status)}toggleFtcEventsPublicationStatus(e,n){let i=n.target,d=i.checked?"published_on_first":"new_request";if(!confirm(`Confirmi c\u0103 vrei s\u0103 ${d==="published_on_first"?"marchezi acest meet ca pus pe FIRST":"revii la statusul \u201ECerere nou\u0103\u201D"}? Po\u021Bi modifica statusul din nou ulterior.`)){i.checked=e.ftcEventsPublicationStatus==="published_on_first";return}this.meetsService.updateFtcEventsPublicationStatus(e.id,d).subscribe({next:x=>{this.meets=this.meets.map(y=>y.id===x.message.id?x.message:y),this.selectedMeet?.id===x.message.id&&(this.selectedMeet=x.message),this.messageType="success",this.message="Statusul FIRST al meetului a fost actualizat."},error:x=>{i.checked=e.ftcEventsPublicationStatus==="published_on_first",this.showError(x.error?.message||"Nu am putut actualiza statusul FIRST al meetului.")}})}ftcEventsPublicationStatusLabel(e){return e==="published_on_first"?"Pus pe FIRST":"Cerere nou\u0103"}requiresDecisionReason(e){return e.type==="reduced_capacity"||e.type==="date_change"}approveMeet(e){this.canApprove(e)&&(this.startMeetAction(),this.meetsService.approveMeet(e.id).subscribe({next:n=>this.completeMeetAction(n.message,"Meetul a fost aprobat."),error:n=>this.failMeetAction(n.error?.message)}))}rejectMeet(e){let n=this.meetReviewReasons[e.id]?.trim();!this.canReject(e)||!n||(this.startMeetAction(),this.meetsService.rejectMeet(e.id,n).subscribe({next:i=>this.completeMeetAction(i.message,"Meetul a fost respins."),error:i=>this.failMeetAction(i.error?.message)}))}requestChanges(e){let n=this.meetReviewReasons[e.id]?.trim();!this.canRequestChanges(e)||!n||(this.startMeetAction(),this.meetsService.requestChanges(e.id,n).subscribe({next:i=>this.completeMeetAction(i.message,"Modific\u0103rile au fost solicitate echipei."),error:i=>this.failMeetAction(i.error?.message)}))}cancelMeet(e){let n=this.meetReviewReasons[e.id]?.trim();!this.canCancel(e)||!n||(this.startMeetAction(),this.meetsService.cancelMeet(e.id,n).subscribe({next:i=>this.completeMeetAction(i.message,"Meetul a fost anulat."),error:i=>this.failMeetAction(i.error?.message)}))}approveRequest(e){let n=this.requestReviewReasons[e.id]?.trim();this.requiresDecisionReason(e)&&!n||this.meetsService.approveRequest(e.id,n).subscribe({next:()=>this.done(e.type==="location_change"?"Loca\u021Bia a fost actualizat\u0103;
156 confirm\u0103 c\u0103 ai actualizat-o \u0219i \xEEn FTC Events.":"Cerere aprobat\u0103."),error:i=>this.showError(i.error?.message)})}rejectRequest(e){let n=this.requestReviewReasons[e.id]?.trim();this.requiresDecisionReason(e)&&!n||this.meetsService.rejectRequest(e.id,n).subscribe({next:()=>this.done("Cerere respins\u0103."),error:i=>this.showError(i.error?.message)})}saveSettings(){this.settings&&this.meetsService.updateSettings({gracePeriodDays:this.settings.gracePeriodDays,maxMeetsPerTeam:this.settings.maxMeetsPerTeam,minTeamsPerMeet:this.settings.minTeamsPerMeet,maxTeamsPerMeet:this.settings.maxTeamsPerMeet,maxOrganizerTeams:this.settings.maxOrganizerTeams,reducedCapacityRequestDeadlineHours:this.settings.reducedCapacityRequestDeadlineHours,leagueMeetsEnabled:this.settings.leagueMeetsEnabled,participationSpacingMode:this.settings.participationSpacingMode,minimumDaysBetweenParticipatingMeets:this.settings.minimumDaysBetweenParticipatingMeets}).subscribe({next:()=>this.done("Set\u0103rile au fost salvate."),error:e=>this.showError(e.error?.message)})}toggleLeagueMeets(){this.settings&&(this.settings.leagueMeetsEnabled=!this.settings.leagueMeetsEnabled,this.saveSettings())}toggleAlertRecipient(e){this.alertRecipientIds=this.alertRecipientIds.includes(e)?this.alertRecipientIds.filter(n=>n!==e):[...this.alertRecipientIds,e]}saveAlertRecipients(){this.meetsService.updateAdminAlertRecipients(this.alertRecipientIds).subscribe({next:()=>this.done("Destinatarii alertelor League Meets au fost salva\u021Bi."),error:e=>this.showError(e.error?.message||"Nu am putut salva destinatarii alertelor.")})}exportCurrentSeasonMeets(){this.meetsService.exportCurrentSeasonMeets().subscribe({next:e=>{let n=URL.createObjectURL(e),i=document.createElement("a");i.href=n,i.download="league-meets-sezon-curent.csv",i.click(),URL.revokeObjectURL(n)},error:e=>this.showError(e.error?.message||"Nu am putut exporta meeturile.")})}exportMeetsForFtcEvents(){this.meetsService.exportMeetsForFtcEvents().subscribe({next:e=>{let n=URL.createObjectURL(e),i=document.createElement("a");i.href=n,i.download="league-meets-for-ftc-events.csv",i.click(),URL.revokeObjectURL(n)},error:e=>this.showError(e.error?.message||"Nu am putut exporta meeturile pentru FTC Events.")})}meetStatusLabel(e){return{draft:"\xCEn preg\u0103tire",pending_approval:"\xCEn a\u0219teptarea aprob\u0103rii",pending_changes:"Necesit\u0103 modific\u0103ri",pending_changes_review:"Modific\u0103ri trimise spre reverificare",pending_first_approval:"A\u0219teapt\u0103 aprobare FIRST",approved:"Aprobat",rejected:"Respins",cancelled:"Anulat",completed:"Finalizat"}[e]}requestTypeLabel(e){return{meet_approval:"Aprobare meet nou",critical_edit:"Modificare important\u0103 a meetului",late_withdrawal:"Retragere t\xE2rzie",reduced_capacity:"Desf\u0103\u0219urare cu efectiv redus",date_change:"Schimbare dat\u0103",location_change:"Modificare loca\u021Bie",capacity_change:"Modificare capacitate maxim\u0103",remove_team_request:"Solicitare de eliminare echip\u0103",cancel_meet_request:"Solicitare de anulare meet"}[e]||e.replace(/_/g," ")}requestTypeDescription(e){return{meet_approval:"Echipa cere aprobarea unui meet nou.",critical_edit:"Echipa cere aprobarea unor modific\u0103ri importante ale meetului.",late_withdrawal:"Echipa cere retragerea dup\u0103 termenul standard.",reduced_capacity:"Organizatorii cer desf\u0103\u0219urarea meetului sub efectivul minim.",date_change:"Organizatorii cer schimbarea datei meetului.",location_change:"Organizatorii cer schimbarea loca\u021Biei meetului.",capacity_change:"Organizatorii cer modificarea num\u
1560103rului maxim de echipe.",remove_team_request:"Organizatorii cer eliminarea unei echipe participante.",cancel_meet_request:"Organizatorii cer anularea meetului."}[e]||"Cerere transmis\u0103 pentru acest meet."}auditActionLabel(e){return{meet_created:"Meet creat",meet_approved:"Meet aprobat",meet_changes_requested:"Modific\u0103ri solicitate",meet_changes_resubmitted:"Modific\u0103ri retrimise spre verificare",meet_rejected:"Meet respins",meet_cancelled:"Meet anulat",ftc_events_publication_status_updated:"Status FIRST actualizat",admin_registration_list_updated:"Lista unei echipe a fost actualizat\u0103 de administrator",admin_registration_removed:"Echip\u0103 eliminat\u0103 manual de administrator",waitlist_promoted:"Echip\u0103 promovat\u0103 automat din waitlist"}[e]||e.replace(/_/g," ")}startMeetAction(){this.isMeetActionInProgress=!0,this.meetActionFeedback=""}saveAdminEdit(){this.selectedMeet&&this.meetsService.adminUpdateMeet(this.selectedMeet.id,ye(J({},this.adminEdit),{coOrganizerTeamIds:this.adminCoOrganizers.map(e=>e.id)})).subscribe({next:e=>this.completeMeetAction(e.message,"Modific\u0103rile administrative au fost salvate."),error:e=>this.showError(e.error?.message||"Nu am putut salva modific\u0103rile meetului.")})}resetAdminEdit(){if(!this.selectedMeet){this.adminEdit={},this.adminCoOrganizers=[],this.coOrganizerSearch="",this.coOrganizerResults=[];return}this.adminCoOrganizers=this.selectedMeet.organizers.filter(e=>e.teamId!==this.selectedMeet?.createdByTeamId).map(e=>e.team).filter(e=>!!e),this.coOrganizerSearch="",this.coOrganizerResults=[],this.adminEdit={name:this.selectedMeet.name,city:this.selectedMeet.city,hostRegionId:this.selectedMeet.hostRegionId??void 0,date:this.selectedMeet.date?.slice(0,10),capacityTeams:this.selectedMeet.capacityTeams,description:this.selectedMeet.description,logisticsDetails:this.selectedMeet.logisticsDetails,participantMessage:this.selectedMeet.participantMessage,externalRegistrationLink:this.selectedMeet.externalRegistrationLink,eventCode:this.selectedMeet.eventCode}}searchCoOrganizers(e){let n=e.trim();if(!n||!this.selectedMeet||this.adminCoOrganizers.length>=this.maxCoOrganizers){this.coOrganizerResults=[];return}this.isSearchingCoOrganizers=!0,this.teamsService.searchConfirmedTeamsFromCurrentSeason(n).subscribe({next:i=>{if(n!==this.coOrganizerSearch.trim())return;let d=new Set(this.adminCoOrganizers.map(u=>u.id));this.coOrganizerResults=(i.message||[]).filter(u=>u.id!==this.selectedMeet?.createdByTeamId&&!d.has(u.id)),this.isSearchingCoOrganizers=!1},error:()=>{this.coOrganizerResults=[],this.isSearchingCoOrganizers=!1}})}addCoOrganizer(e){this.adminCoOrganizers.length>=this.maxCoOrganizers||this.adminCoOrganizers.some(n=>n.id===e.id)||(this.adminCoOrganizers=[...this.adminCoOrganizers,e],this.coOrganizerSearch="",this.coOrganizerResults=[])}removeCoOrganizer(e){this.adminCoOrganizers=this.adminCoOrganizers.filter(n=>n.id!==e)}registrationsFor(e){let n=this.selectedMeet?.registrations||[];return e==="registered"?n.filter(i=>i.status==="registered"):e==="waitlisted"?n.filter(i=>i.status==="waitlisted"):n.filter(i=>["withdrawal_pending_admin","withdrawn_late_counts_toward_limit","late_drop_approved_without_penalty"].includes(i.status))}registrationStatusLabel(e){return{registered:"\xCEnscris\u0103",waitlisted:"Pe waitlist",withdrawn:"Retras\u0103",withdrawal_pending_admin:"Retragere \xEEn analiz\u0103",withdrawn_late_counts_toward_limit:"Retragere t\xE2rzie penalizat\u0103",late_drop_approved_without_penalty:"Retragere t\xE2rzie nepenalizat\u0103",removed_by_organizer_pending_admin:"Eliminare \xEEn analiz\u0103",removed_by_admin:"Eliminat\u0103 de admin",cancelled_due_to_meet_cancelled:"Anulat\u0103 odat\u0103 cu meetul"}[e]}searchRegistrationTeams(e){let n=e.trim();if(!n||!this.selectedMeet){this.registrationTeamResults=[];return}this.isSearchingRegistrationTeams=!0,this.teamsService.searchConfirmedTeamsFromCurrentSeason(n).subscribe({next:i=>{n===this.registrationTeamSearch.trim()&&(this.registrationTeamResults=i.message||[],this.isSearchingRegistrationTeams=!1)},error:()=>{this.registrationTeamResults=[],this.isSearchingRegistrationTeams=!1}})}setRegistrationList(e,n){!this.selectedMeet||this.isRegistrationActionInProgress||(this.isRegistrationActionInProgress=!0,this.meetsService.adminSetRegistration(this.selectedMeet.id,e.id,n).subscribe({next:i=>{this.isRegistrationActionInProgress=!1,this.applyRegistrationUpdate(i.message,`Lista echipei ${e.name} a fost actualizat\u0103.`)},error:i=>{this.isRegistrationActionInProgress=!1,this.showError(i.error?.message||"Nu am putut actualiza lista echipei.")}}))}removeRegistration(e){if(!this.selectedMeet||this.isRegistrationActionInProgress)return;let n=e.team?.name||"aceast\u0103 echip\u0103";confirm(`Elimini ${n} din aceast\u0103 list\u0103?`)&&(this.isRegistrationActionInProgress=!0,this.meetsService.adminRemoveRegistration(this.selectedMeet.id,e.teamId).subscribe({next:i=>{this.isRegistrationActionInProgress=!1,this.applyRegistrationUpdate(i.message,`Echipa ${n}
156 a fost eliminat\u0103 din list\u0103.`)},error:i=>{this.isRegistrationActionInProgress=!1,this.showError(i.error?.message||"Nu am putut elimina echipa din list\u0103.")}}))}applyRegistrationUpdate(e,n){this.selectedMeet=e,this.meets=this.meets.map(i=>i.id===e.id?e:i),this.meetActionFeedback=n,this.messageType="success",this.message=n,this.resetRegistrationTeamSearch()}resetRegistrationTeamSearch(){this.registrationTeamSearch="",this.registrationTeamResults=[],this.isSearchingRegistrationTeams=!1}get maxCoOrganizers(){return Math.max(0,(this.settings?.maxOrganizerTeams??3)-1)}completeMeetAction(e,n){this.isMeetActionInProgress=!1,this.selectedMeet=e,this.meets=this.meets.map(i=>i.id===e.id?e:i),this.meetActionFeedback=n,this.messageType="success",this.message=n,this.meetReviewReasons={},this.load()}failMeetAction(e="Nu am putut actualiza statusul meetului."){this.isMeetActionInProgress=!1,this.meetActionFeedback="",this.showError(e)}done(e){this.messageType="success",this.message=e,this.requestReviewReasons={},this.selectedTeamRequest=null,this.load()}showError(e="Opera\u021Biunea a e\u0219uat."){this.messageType="error",this.message=e}static{this.\u0275fac=function(n){return new(n||t)(T(kn),T(ki),T(Ne))}}static{this.\u0275cmp=V({type:t,selectors:[["app-meets-admin"]],standalone:!0,features:[B],decls:19,vars:3,consts:[["noPendingMeets",""],["noRequests",""],["noAllMeets",""],["noCoOrganizers",""],["noAdminUsers",""],["aria-labelledby","admin-meets-title",1,"meets-admin"],[1,"page-header"],[1,"eyebrow"],["id","admin-meets-title"],[1,"intro"],[1,"header-actions"],["type","button",1,"button","button-secondary",3,"click"],["class","message","role","status","aria-live","polite",3,"error",4,"ngIf"],["class","loading-state",4,"ngIf"],[4,"ngIf"],["role","status","aria-live","polite",1,"message"],[1,"loading-state"],["aria-hidden","true",1,"spinner"],[1,"summary-grid"],[1,"summary-card","attention"],[1,"summary-value"],[1,"summary-card"],["class","panel settings","aria-labelledby","settings-title",4,"ngIf"],[1,"work-grid"],["aria-labelledby","pending-title",1,"panel"],[1,"panel-heading"],["id","pending-title"],[1,"count"],["class","item-list",4,"ngIf","ngIfElse"],["class","pagination",4,"ngIf"],["aria-labelledby","requests-title",1,"panel"],["id","requests-title"],["type","button","class","button button-secondary history-button",3,"click",4,"ngIf"],["class","meet-modal","role","dialog","aria-modal","true","aria-labelledby","meet-detail-title",4,"ngIf"],["aria-labelledby","all-meets-title",1,"panel","all-meets"],["id","all-meets-title"],[1,"status-filter"],["placeholder","Denumire sau ora\u0219",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["value","all"],["value","draft"],["value","pending_approval"],["value","pending_changes"],["value","pending_changes_review"],["value","pending_first_approval"],["value","approved"],["value","rejected"],["value","cancelled"],["value","completed"],["class","all-meets-list",4,"ngIf","ngIfElse"],["class","season-admin-tools","aria-label","Administrare League Meets",4,"ngIf"],["class","request-history-modal","role","dialog","aria-modal","true","aria-labelledby","request-history-title",4,"ngIf"],["class","request-history-modal","role","dialog","aria-modal","true","aria-labelledby","team-request-title",4,"ngIf"],["aria-labelledby","settings-title",1,"panel","settings"],["id","settings-title"],[1,"settings-fields"],[1,"input-with-suffix"],["type","number","min","0","max","60",3,"ngModelChange","ngModel"],["type","number","min","1","max","20",3,"ngModelChange","ngModel"],["type","number","min","1","max","100",3,"ngModelChange","ngModel"],["type","number","min","1","max","10",3,"ngModelChange","ngModel"],[1,"field-help"],["type","number","min","1","max","720",3,"ngModelChange","ngModel"],["value","minimum_days"],["value","same_calendar_week"],["type","number","min","0","max","60",3,"ngModelChange","ngModel","disabled"],["class","field-help",4,"ngIf"],["type","button",1,"button","button-primary",3,"click"],[1,"item-list"],["type","button","class","review-item review-item-button",3,"click",4,"ngFor","ngForOf"],["type","button",1,"review-item","review-item-button",3,"click"],[1,"review-item-heading"],[1,"status-badge"],[1,"manage-hint"],["aria-hidden","true"],[1,"empty-state"],[1,"pagination"],["type","button",1,"button","button-secondary",3,"click","disabled"],[1,"status-badge","status-pending_approval"],["type","button",1,"button","button-secondary","history-button",3,"click"],["role","dialog","aria-modal","true","aria-labelledby","meet-detail-title",1,"meet-modal"],["type","button","aria-label","\xCEnchide detaliile meetului",1,"modal-backdrop",3,"click"],["aria-labelledby","meet-detail-title",1,"meet-detail","panel"],[1,"detail-header"],["id","meet-detail-title"],[1,"detail-header-actions"],[1,"status-overview"],["type","button","aria-label","\xCEnchide",1,"close-button",3,"click"],["class","action-feedback","role","status","aria-live","polite",4,"ngIf"],[1,"meet-stats"],["aria-labelledby","admin-registrations-title",1,"admin-registrations"],["id","admin-registrations-title"],[1,"registration-team-search"],["placeholder","De exemplu: RobotX sau 12345",3,"ngModelChange","ngModel","disabled"],["class","searching-teams",4,"ngIf"],["class","registration-team-results",4,"ngIf"],[1,"registration-lists"],["class","empty-registration-list",4,"ngIf"],["class","admin-registration-row",4,"ngFor","ngForOf"],[1,"private-details"],[1,"private-details-grid"],[4,"ngFor","ngForOf"],[1,"full-width"],[1,"meet-decisions"],[1,"decision-reason"],["rows","3","placeholder","Scrie motivul pentru echipele organizatoare.",3,"ngModelChange","ngModel"],[1,"detail-actions"],["type","button",1,"button","button-primary",3,"click","disabled"],["type","button",1,"button","button-danger",3,"click","disabled"],["type","button",1,"button","button-danger-outline",3,"click","disabled"],["class","action-in-progress","aria-live","polite",4,"ngIf"],["aria-labelledby","admin-edit-title",1,"admin-edit"],["id","admin-edit-title"],[1,"admin-edit-grid"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],["type","date",3,"ngModelChange","ngModel"],["type","number","min","12","max","20",3,"ngModelChange","ngModel"],["rows","4",3,"ngModelChange","ngModel"],["rows","3",3,"ngModelChange","ngModel"],["type","url","placeholder","https://\u2026",3,"ngModelChange","ngModel"],["placeholder","De exemplu: ROSM1",3,"ngModelChange","ngModel"],[1,"admin-organizers","full-width"],["class","selected-organizers",4,"ngIf","ngIfElse"],["placeholder","Nume sau num\u0103r interna\u021Bional",3,"ngModelChange","ngModel","disabled"],["class","co-organizer-results",4,"ngIf"],["class","history",4,"ngIf"],["role","status","aria-live","polite",1,"action-feedback"],[1,"searching-teams"],[1,"registration-team-results"],[1,"empty-registration-list"],[1,"admin-registration-row"],["aria-live","polite",1,"action-in-progress"],[1,"selected-organizers"],["type","button",3,"click"],[1,"co-organizer-results"],["type","button",3,"click",4,"ngFor","ngForOf"],[1,"history"],[1,"all-meets-list"],["class","meet-option",3,"active",4,"ngFor","ngForOf"],[1,"meet-option"],["type","button",1,"meet-option-main",3,"click"],[1,"ftc-publication-toggle"],["type","checkbox",3,"change","checked"],["aria-label","Administrare League Meets",1,"season-admin-tools"],[1,"season-admin-tool-content","league-meets-toggle"],["type","button",1,"button",3,"click"],[1,"season-admin-tool-content","alert-recipients"],["class","recipient-list",4,"ngIf","ngIfElse"],[1,"recipient-list"],[1,"recipient-empty"],["role","dialog","aria-modal","true","aria-labelledby","request-history-title",1,"request-history-modal"],["type","button","aria-label","\xCEnchide istoricul cererilor",1,"modal-backdrop",3,"click"],[1,"request-history-panel","panel"],["id","request-history-title"],["class","request-history-row",4,"ngFor","ngForOf"],[1,"request-history-row"],["role","dialog","aria-modal","true","aria-labelledby","team-request-title",1,"request-history-modal"],["type","button","aria-label","\xCEnchide cererea",1,"modal-backdrop",3,"click"],["aria-labelledby","team-request-title",1,"request-history-panel","panel","team-request-detail"],["id","team-request-title"],[1,"request-type"],[1,"request-context"],[1,"request-reason"],["class","request-notice",4,"ngIf"],["rows","4","placeholder","Explic\u0103 decizia transmis\u0103 echipei.",3,"ngModelChange","ngModel"],[1,"request-notice"]],template:function(n,i){n&1&&(r(0,"section",5)(1,"header",6)(2,"div")(3,"p",7),a(4,"ADMINISTRARE LIG\u0102"),o(),r(5,"h2",8),a(6,"Gestionare meeturi"),o(),r(7,"p",9),a(8,"Verific\u0103 meeturile \u0219i rezolv\u0103 cererile echipelor dintr-un singur loc."),o()(),r(9,"div",10)(10,"button",11),b("click",function(){return i.exportCurrentSeasonMeets()}),a(11,"Export\u0103 Excel"),o(),r(12,"button",11),b("click",function(){return i.exportMeetsForFtcEvents()}),a(13,"export meets for FTC-events"),o(),r(14,"button",11),b("click",function(){return i.load()}),a(15,"Re\xEEncarc\u0103 pagina"),o()()(),h(16,GT,2,3,"div",12)(17,ZT,3,0,"div",13)(18,Gk,90,22,"ng-container",14),o()),n&2&&(c(16),m("ngIf",i.message),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading))},dependencies:[H,X,$,mn,se,fe,he,re,lt,ue,ie,yt,ti,pe],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.meets-admin[_ngcontent-%COMP%]{box-sizing:border-box;color:#243041;display:grid;gap:1.5rem;margin:0 auto;max-width:1240px;padding:1.5rem 0 2rem;width:100%}.page-header[_ngcontent-%COMP%], .panel-heading[_ngcontent-%COMP%], .detail-header[_ngcontent-%COMP%], .item-actions[_ngcontent-%COMP%], .detail-actions[_ngcontent-%COMP%]{align-items:center;display:flex;gap:1rem;justify-content:space-between}.page-header[_ngcontent-%COMP%], .detail-header[_ngcontent-%COMP%], .panel-heading[_ngcontent-%COMP%]{align-items:flex-start}.page-header[_ngcontent-%COMP%]{background:linear-gradient(105deg,#f6f8ff,#fff 72%);border:1px solid #e1e7f8;border-radius:14px;padding:1.5rem 1.65rem}.eyebrow[_ngcontent-%COMP%]{color:#6b7280;font-size:.72rem;font-weight:800;letter-spacing:.09em;margin:0 0 .42rem}.page-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{color:#172033;margin:0}.page-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:clamp(1.65rem,3vw,2.1rem);line-height:1.15}.intro[_ngcontent-%COMP%]{color:#5f6b7a;line-height:1.55;margin:.55rem 0 0;max-width:650px}.header-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem}.button[_ngcontent-%COMP%]{align-items:center;border:1px solid transparent;border-radius:8px;box-sizing:border-box;
156cursor:pointer;display:inline-flex;font:inherit;font-size:.9rem;font-weight:700;justify-content:center;min-height:40px;padding:.55rem .9rem;transition:background .18s ease,border-color .18s ease,transform .18s ease;white-space:nowrap}.button[_ngcontent-%COMP%]:hover{transform:translateY(-1px)}.button[_ngcontent-%COMP%]:disabled{cursor:wait;opacity:.58;transform:none}.button[_ngcontent-%COMP%]:focus-visible, .item-title[_ngcontent-%COMP%]:focus-visible, .meet-option[_ngcontent-%COMP%]:focus-visible, input[_ngcontent-%COMP%]:focus-visible, textarea[_ngcontent-%COMP%]:focus-visible, summary[_ngcontent-%COMP%]:focus-visible{outline:3px solid rgba(89,110,213,.32);outline-offset:2px}.button-primary[_ngcontent-%COMP%]{background:#596ed5;color:#fff}.button-primary[_ngcontent-%COMP%]:hover{background:#465bc2}.button-secondary[_ngcontent-%COMP%]{background:#fff;border-color:#cbd5e1;color:#344054}.button-secondary[_ngcontent-%COMP%]:hover{background:#f8fafc}.button-danger[_ngcontent-%COMP%]{background:#b42318;color:#fff}.button-danger[_ngcontent-%COMP%]:hover{background:#8f1b13}.button-danger-outline[_ngcontent-%COMP%]{background:#fff;border-color:#f0bab4;color:#a61b15}.button-danger-outline[_ngcontent-%COMP%]:hover{background:#fff5f4}.message[_ngcontent-%COMP%]{background:#ecfdf3;border:1px solid #b7e8ca;border-radius:10px;color:#17633b;font-weight:600;padding:.85rem 1rem}.message.error[_ngcontent-%COMP%]{background:#fff1f0;border-color:#fecaca;color:#a61b15}.loading-state[_ngcontent-%COMP%]{align-items:center;color:#5f6b7a;display:flex;gap:.75rem;justify-content:center;min-height:220px}.spinner[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin .8s linear infinite;border:3px solid #dbe3f6;border-radius:50%;border-top-color:#596ed5;height:20px;width:20px}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}.summary-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.summary-card[_ngcontent-%COMP%]{background:#fff;border:1px solid #e1e7ef;border-radius:10px;display:grid;gap:.2rem;padding:1rem 1.15rem}.summary-card.attention[_ngcontent-%COMP%]{background:#fffaf0;border-color:#f1d68d}.summary-value[_ngcontent-%COMP%]{color:#596ed5;font-size:1.7rem;font-weight:800}.summary-card[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child{color:#687588;font-size:.86rem}.panel[_ngcontent-%COMP%], .review-note[_ngcontent-%COMP%]{background:#fff;border:1px solid #e1e7ef;border-radius:12px;box-shadow:0 2px 8px #1e293b0a;padding:1.25rem}.panel-heading[_ngcontent-%COMP%]{border-bottom:1px solid #edf0f4;padding-bottom:1rem}.panel-heading[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .review-note[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.1rem}.panel-heading[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .review-note[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#687588;font-size:.9rem;line-height:1.45;margin:.3rem 0 0}.count[_ngcontent-%COMP%]{align-items:center;background:#f0f3f8;border-radius:999px;color:#465569;display:inline-flex;font-size:.85rem;font-weight:800;height:28px;justify-content:center;min-width:28px}.settings[_ngcontent-%COMP%]{display:grid;gap:1rem}.settings-fields[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}label[_ngcontent-%COMP%]{color:#354154;display:grid;font-size:.88rem;font-weight:700;gap:.4rem}.field-help[_ngcontent-%COMP%]{color:#687588;font-size:.78rem;font-weight:500;line-height:1.35}.input-with-suffix[_ngcontent-%COMP%]{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:7px;display:flex;overflow:hidden}.input-with-suffix[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:0;border-radius:0;flex:1;min-width:0}.input-with-suffix[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{background:#f5f7fa;border-left:1px solid #dbe1e8;color:#687588;font-size:.84rem;padding:.68rem .75rem}input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{background:#fff;border:1px solid #cbd5e1;border-radius:7px;box-sizing:border-box;color:#243041;font:inherit;font-weight:400;padding:.65rem .7rem;resize:vertical;width:100%}.season-admin-tools[_ngcontent-%COMP%]{display:grid;gap:.75rem}.season-admin-tools[_ngcontent-%COMP%] details[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e4eaf1;border-radius:9px}.season-admin-tools[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{color:#354154;cursor:pointer;font-size:.95rem;font-weight:750;list-style:none;padding:1rem}.season-admin-tools[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::-webkit-details-marker{display:none}.season-admin-tools[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:after{color:#687588;content:"\\2304";float:right;font-size:1.2rem;line-height:.8}.season-admin-tools[_ngcontent-%COMP%] details[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{border-bottom:1px solid #e4eaf1}.season-admin-tools[_ngcontent-%COMP%] details[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:after{transform:rotate(180deg)}.season-admin-tool-content[_ngcontent-%COMP%]{display:grid;gap:.8rem;padding:1rem}.league-meets-toggle[_ngcontent-%COMP%]{align-items:center;grid-template-columns:minmax(0,1fr) auto}.league-meets-toggle[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .alert-recipients[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .recipient-empty[_ngcontent-%COMP%]{color:#687588;font-size:.86rem;line-height:1.4;margin:0}.recipient-list[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.recipient-list[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{align-items:center;background:#fff;border:1px solid #dbe3ee;border-radius:7px;cursor:pointer;display:flex;gap:.65rem;padding:.65rem .75rem}.recipient-list[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{height:18px;margin:0;width:18px}.recipient-list[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:grid;gap:.1rem}.recipient-list[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588;font-weight:500}.review-note[_ngcontent-%COMP%]{display:grid;gap:.8rem;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.2fr)}.review-note[_ngcontent-%COMP%] .penalty-toggle[_ngcontent-%COMP%]{align-items:center;color:#5f6b7a;font-size:.83rem;font-weight:500;grid-column:2;grid-template-columns:18px 1fr}.penalty-toggle[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{accent-color:#596ed5;height:17px;margin:0;width:17px}
156.work-grid[_ngcontent-%COMP%]{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.item-list[_ngcontent-%COMP%]{display:grid}.review-item[_ngcontent-%COMP%]{border-bottom:1px solid #edf0f4;display:grid;gap:.5rem;padding:1rem 0}.review-item[_ngcontent-%COMP%]:last-child{border-bottom:0;padding-bottom:0}.review-item[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#687588;font-size:.88rem;line-height:1.45;margin:0}.review-item-button[_ngcontent-%COMP%]{background:transparent;border-left:3px solid transparent;border-right:0;border-top:0;color:#243041;cursor:pointer;font:inherit;text-align:left;width:100%}.review-item-button[_ngcontent-%COMP%]:hover{background:#f6f8ff;border-left-color:#596ed5;padding-left:.7rem}.review-item-heading[_ngcontent-%COMP%]{align-items:center;display:flex;gap:.65rem;justify-content:space-between}.review-item-button[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-child(2){color:#687588;font-size:.88rem}.manage-hint[_ngcontent-%COMP%]{color:#596ed5;font-size:.8rem;font-weight:800}.review-item-button[_ngcontent-%COMP%]:hover .manage-hint[_ngcontent-%COMP%]{text-decoration:underline}.item-title[_ngcontent-%COMP%]{background:transparent;border:0;color:#243041;cursor:pointer;font:inherit;font-size:.97rem;font-weight:750;padding:0;text-align:left;width:fit-content}.item-title[_ngcontent-%COMP%]:hover{color:#465bc2;text-decoration:underline}.item-actions[_ngcontent-%COMP%], .detail-actions[_ngcontent-%COMP%]{flex-wrap:wrap;justify-content:flex-start}.decision-reason[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588;font-weight:500}.history-button[_ngcontent-%COMP%]{margin-top:1rem}.empty-state[_ngcontent-%COMP%]{align-items:flex-start;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#5f6b7a;display:grid;font-size:.9rem;gap:.3rem;margin-top:1rem;padding:1rem}.empty-state[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#354154}.meet-modal[_ngcontent-%COMP%], .request-history-modal[_ngcontent-%COMP%]{align-items:flex-start;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:1000}.modal-backdrop[_ngcontent-%COMP%]{background:#1720337a;border:0;inset:0;position:fixed;width:100%}.meet-detail[_ngcontent-%COMP%], .request-history-panel[_ngcontent-%COMP%]{display:grid;gap:1.4rem;margin:auto 0;max-width:1120px;position:relative;width:min(1120px,100%);z-index:1}.request-history-panel[_ngcontent-%COMP%]{max-width:760px}.detail-header[_ngcontent-%COMP%]{border-bottom:1px solid #e9edf3;padding-bottom:1.2rem}.detail-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.45rem}.detail-header[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:last-child{color:#687588;margin:.35rem 0 0}.detail-header-actions[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:.75rem}.close-button[_ngcontent-%COMP%]{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:50%;color:#344054;cursor:pointer;display:inline-flex;font-size:1.6rem;height:42px;justify-content:center;line-height:1;padding:0;width:42px}.close-button[_ngcontent-%COMP%]:hover{background:#f8fafc}.status-overview[_ngcontent-%COMP%]{align-items:flex-end;background:#f8fafc;border:1px solid #e4eaf1;border-radius:9px;display:grid;gap:.35rem;padding:.65rem .75rem}.status-overview[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#687588;font-size:.73rem;font-weight:700;text-transform:uppercase}.status-badge[_ngcontent-%COMP%]{border-radius:999px;font-size:.76rem;font-weight:750;line-height:1.2;padding:.3rem .58rem;text-align:center}.status-draft[_ngcontent-%COMP%], .status-pending_approval[_ngcontent-%COMP%], .status-changes_requested[_ngcontent-%COMP%]{background:#fff7df;color:#8a5a00}.status-approved[_ngcontent-%COMP%], .status-completed[_ngcontent-%COMP%]{background:#e8f8ee;color:#187342}.status-rejected[_ngcontent-%COMP%], .status-cancelled[_ngcontent-%COMP%]{background:#fff0ef;color:#ae261c}.action-feedback[_ngcontent-%COMP%]{align-items:center;background:#ecfdf3;border:1px solid #b7e8ca;border-radius:8px;color:#17633b;display:flex;font-size:.9rem;gap:.5rem;padding:.8rem .9rem}.action-feedback[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{align-items:center;background:#20884d;border-radius:50%;color:#fff;display:inline-flex;font-size:.72rem;font-weight:800;height:18px;justify-content:center;width:18px}.meet-stats[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr)}.meet-stats[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-right:1px solid #e6ebf1;display:grid;gap:.2rem;padding:0 1rem}.meet-stats[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{padding-left:0}.meet-stats[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border:0}.meet-stats[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#596ed5;font-size:1.45rem}.meet-stats[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#687588;font-size:.84rem}.meet-decisions[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e4eaf1;border-radius:9px;display:grid;gap:.85rem;padding:1rem}
156.meet-decisions[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{color:#354154;font-size:.96rem;margin:0}.meet-decisions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#687588;font-size:.85rem;line-height:1.45;margin:.25rem 0 0}.action-in-progress[_ngcontent-%COMP%]{color:#465bc2!important;font-weight:700}.history[_ngcontent-%COMP%]{border-top:1px solid #e9edf3;color:#5f6b7a;font-size:.88rem;padding-top:1rem}.history[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{color:#354154;cursor:pointer;font-weight:700}.history[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{display:grid;gap:.5rem;margin:.9rem 0 0;padding-left:1.2rem}.history[_ngcontent-%COMP%] time[_ngcontent-%COMP%]{color:#7b8797;display:inline-block;margin-right:.45rem}.private-details[_ngcontent-%COMP%]{border-top:1px solid #e9edf3;display:grid;gap:.75rem;padding-top:1.25rem}.private-details[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0}.private-details[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{color:#687588;font-size:.85rem;margin:.3rem 0 0}.private-details-grid[_ngcontent-%COMP%]{display:grid;gap:.6rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.private-details-grid[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}.private-details-grid[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{grid-column:1/-1}.all-meets-list[_ngcontent-%COMP%]{display:grid;margin-top:1rem}.meet-option[_ngcontent-%COMP%]{align-items:center;border-bottom:1px solid #edf0f4;display:flex;gap:1rem;justify-content:space-between;padding:.35rem .25rem}.meet-option[_ngcontent-%COMP%]:last-child{border-bottom:0}.meet-option[_ngcontent-%COMP%]:hover, .meet-option.active[_ngcontent-%COMP%]{background:#f6f8ff}.meet-option.active[_ngcontent-%COMP%]{box-shadow:inset 3px 0 #596ed5;padding-left:.75rem}.meet-option-main[_ngcontent-%COMP%]{align-items:center;background:transparent;border:0;color:#243041;cursor:pointer;display:flex;flex:1;font:inherit;gap:1rem;justify-content:space-between;padding:.45rem 0;text-align:left}.meet-option-main[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:first-child{display:grid;gap:.18rem}.meet-option[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588;font-size:.84rem}.ftc-publication-toggle[_ngcontent-%COMP%]{align-items:center;background:#fff0ef;border:1px solid #fecaca;border-radius:999px;color:#ae261c;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:750;gap:.4rem;padding:.35rem .55rem;white-space:nowrap}.ftc-publication-toggle.published[_ngcontent-%COMP%]{background:#e8f8ee;border-color:#b7e8ca;color:#187342}.ftc-publication-toggle[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{accent-color:currentColor;height:16px;margin:0;width:16px}.sr-only[_ngcontent-%COMP%]{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0)}@media (max-width: 850px){.work-grid[_ngcontent-%COMP%], .review-note[_ngcontent-%COMP%], .recipient-list[_ngcontent-%COMP%]{grid-template-columns:1fr}.review-note[_ngcontent-%COMP%] .penalty-toggle[_ngcontent-%COMP%]{grid-column:auto}.settings-fields[_ngcontent-%COMP%], .league-meets-toggle[_ngcontent-%COMP%]{grid-template-columns:1fr}.league-meets-toggle[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{width:100%}}@media (max-width: 600px){.meets-admin[_ngcontent-%COMP%]{padding:1rem 0 1.5rem}.page-header[_ngcontent-%COMP%], .detail-header[_ngcontent-%COMP%], .panel-heading[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column}.page-header[_ngcontent-%COMP%]{padding:1.2rem}.page-header[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{width:100%}.summary-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.meet-stats[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.8rem}.meet-stats[_ngcontent-%COMP%] > div[_ngcontent-%COMP%], .meet-stats[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{border-bottom:1px solid #e6ebf1;border-right:0;padding:0 0 .75rem}.meet-stats[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-bottom:0}.panel[_ngcontent-%COMP%], .review-note[_ngcontent-%COMP%]{padding:1rem}.item-actions[_ngcontent-%COMP%] .button[_ngcontent-%COMP%], .detail-actions[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{flex:1}}.status-pending_changes[_ngcontent-%COMP%], .status-pending_changes_review[_ngcontent-%COMP%], .status-pending_first_approval[_ngcontent-%COMP%]{background:#fff7df;color:#8a5a00}.admin-edit[_ngcontent-%COMP%]{border-top:1px solid #e9edf3;display:grid;gap:1rem;padding-top:1.25rem}
156.admin-edit[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0}.admin-edit[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#687588;font-size:.88rem;line-height:1.45;margin:.3rem 0 0}.admin-edit-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-edit-grid[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{grid-column:1/-1}.admin-organizers[_ngcontent-%COMP%]{display:grid;gap:.65rem}.admin-organizers[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .admin-organizers[_ngcontent-%COMP%] > small[_ngcontent-%COMP%]{color:#687588;font-size:.84rem;line-height:1.4;margin:0}.selected-organizers[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.45rem}.selected-organizers[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{align-items:center;background:#eef2ff;border-radius:999px;color:#354154;display:inline-flex;font-size:.82rem;gap:.25rem;padding:.35rem .45rem .35rem .65rem}.selected-organizers[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588}.selected-organizers[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:transparent;border:0;color:#a61b15;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .1rem}.co-organizer-results[_ngcontent-%COMP%]{border:1px solid #dbe3ee;border-radius:7px;display:grid;overflow:hidden}.co-organizer-results[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{align-items:center;background:#fff;border:0;border-bottom:1px solid #edf0f4;color:#354154;cursor:pointer;display:grid;font:inherit;gap:.2rem .7rem;grid-template-columns:1fr auto auto;padding:.65rem .75rem;text-align:left}.co-organizer-results[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{border-bottom:0}.co-organizer-results[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:#f6f8ff}.co-organizer-results[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588}.co-organizer-results[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#465bc2;font-size:.8rem}.admin-edit-grid[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .admin-edit-grid[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .admin-edit-grid[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .status-filter[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{background:#fff;border:1px solid #cbd5e1;border-radius:7px;box-sizing:border-box;color:#243041;font:inherit;padding:.65rem .7rem;width:100%}.all-meets[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;list-style:none}.all-meets[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::-webkit-details-marker{display:none}.status-filter[_ngcontent-%COMP%]{display:grid;gap:.4rem;margin-top:1rem;max-width:320px}.requests-history[_ngcontent-%COMP%]{margin-top:1rem}.request-history-row[_ngcontent-%COMP%]{border-top:1px solid #edf0f4;display:grid;gap:.25rem;padding:.75rem 0}.pagination[_ngcontent-%COMP%]{align-items:center;display:flex;gap:.8rem;justify-content:space-between;margin-top:.5rem}.team-request[_ngcontent-%COMP%]{gap:.8rem;padding:1.1rem 0}.request-type[_ngcontent-%COMP%]{background:#eef2ff;border-left:3px solid #596ed5;border-radius:6px;display:grid;gap:.18rem;padding:.7rem .8rem}.request-type[_ngcontent-%COMP%] > span[_ngcontent-%COMP%], .request-context[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .request-reason[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#687588;font-size:.68rem;font-weight:800;letter-spacing:.06em}.request-type[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#273a8f;font-size:1.04rem}.request-type[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#4d5d73;font-size:.84rem;margin:0}.request-context[_ngcontent-%COMP%]{display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}.request-context[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e4eaf1;border-radius:7px;display:grid;gap:.2rem;padding:.6rem .7rem}.request-context[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#354154;font-size:.92rem;overflow-wrap:anywhere}.request-reason[_ngcontent-%COMP%]{background:#fffaf0;border:1px solid #f1d68d;border-radius:7px;display:grid;gap:.3rem;padding:.75rem .8rem}.request-reason[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#5f4300;font-size:1rem;line-height:1.45}.request-reason[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#876b27}.request-notice[_ngcontent-%COMP%]{color:#187342!important;font-weight:750}.team-request-detail[_ngcontent-%COMP%]{max-width:760px}.admin-registrations[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e4eaf1;border-radius:9px;display:grid;gap:.9rem;padding:1rem}
156.admin-registrations[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .admin-registrations[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{color:#354154;margin:0}.admin-registrations[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], .searching-teams[_ngcontent-%COMP%], .empty-registration-list[_ngcontent-%COMP%]{color:#687588;font-size:.84rem;line-height:1.4;margin:.3rem 0 0}.registration-team-results[_ngcontent-%COMP%]{border:1px solid #dbe3ee;border-radius:8px;display:grid;overflow:hidden}.registration-team-results[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{align-items:center;background:#fff;border-bottom:1px solid #edf0f4;display:flex;gap:.8rem;justify-content:space-between;padding:.65rem .75rem}.registration-team-results[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-bottom:0}.registration-team-results[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .admin-registration-row[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{display:grid;gap:.12rem}.registration-team-results[_ngcontent-%COMP%] small[_ngcontent-%COMP%], .admin-registration-row[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588}.registration-team-results[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.45rem}.registration-team-results[_ngcontent-%COMP%] .button[_ngcontent-%COMP%], .admin-registration-row[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{min-height:33px;padding:.38rem .62rem}.registration-lists[_ngcontent-%COMP%]{display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.registration-lists[_ngcontent-%COMP%] > section[_ngcontent-%COMP%]{background:#fff;border:1px solid #dbe3ee;border-radius:8px;overflow:hidden}.registration-lists[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{align-items:center;background:#f3f6fb;display:flex;justify-content:space-between;padding:.65rem .75rem}.registration-lists[_ngcontent-%COMP%] header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-items:center;background:#e1e7f8;border-radius:999px;color:#465569;display:inline-flex;font-size:.78rem;font-weight:800;height:22px;justify-content:center;min-width:22px}.empty-registration-list[_ngcontent-%COMP%]{padding:0 .75rem .75rem}.admin-registration-row[_ngcontent-%COMP%]{align-items:center;border-top:1px solid #edf0f4;display:flex;gap:.5rem;justify-content:space-between;padding:.6rem .75rem}.admin-registration-row[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:.86rem}@media (max-width: 850px){.admin-edit-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.admin-edit-grid[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{grid-column:auto}.registration-lists[_ngcontent-%COMP%], .request-context[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})}}return t})();function Zk(t,s){if(t&1&&(r(0,"span",16),a(1),o()),t&2){let e=p(2);c(),O(e.totalPendingCount)}}function Yk(t,s){if(t&1){let e=E();r(0,"button",13),b("click",function(){v(e);let i=p();return M(i.setActiveTab("overview"))}),_(1,"i",14),r(2,"span"),a(3,"De rezolvat"),o(),h(4,Zk,2,1,"span",15),o()}if(t&2){let e=p();I("active",e.activeTab==="overview"),c(4),m("ngIf",e.totalPendingCount!==null)}}function Kk(t,s){if(t&1&&(r(0,"span",16),a(1),o()),t&2){let e=p().$implicit,n=p(2);c(),O(n.groupPendingCount(e))}}function Qk(t,s){if(t&1&&(r(0,"span",16),a(1),o()),t&2){let e=p().$implicit,n=p(4);c(),O(n.pendingCounts[e.id])}}function Jk(t,s){if(t&1){let e=E();r(0,"button",26),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.setActiveTab(i.id))}),_(1,"i",21),r(2,"span"),a(3),o(),h(4,Qk,2,1,"span",15),o()}if(t&2){let e=s.$implicit,n=p(4);I("active",n.activeTab===e.id),ot("aria-current",n.activeTab===e.id?"page":null),c(),m("ngClass",e.icon),c(2),O(e.label),c(),m("ngIf",n.pendingCounts[e.id]!==void 0&&n.pendingCounts[e.id]!==null)}}function Xk(t,s){if(t&1&&(r(0,"div",24),h(1,Jk,5,6,"button",25),o()),t&2){let e=p().$implicit;c(),m("ngForOf",e.items)}}function eI(t,s){if(t&1){let e=E();r(0,"section",19)(1,"button",20),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.expandedGroup=d.expandedGroup===i.id?"":i.id)}),_(2,"i",21),r(3,"span"),a(4),o(),h(5,Kk,2,1,"span",15),_(6,"i",22),o(),h(7,Xk,2,1,"div",23),o()}if(t&2){let e=s.$implicit,n=p(2);c(),ot("aria-expanded",n.searchTerm.trim()?!0:n.expandedGroup===e.id),c(),m("ngClass",e.icon),c(2),O(e.label),c(),m("ngIf",n.groupPendingCount(e)!==null),c(),I("open",n.searchTerm.trim()||n.expandedGroup===e.id),c(),m("ngIf",n.searchTerm.trim()||n.expandedGroup===e.id)}}function tI(t,s){if(t&1&&(r(0,"div",17),h(1,eI,8,7,"section",18),o()),t&2){let e=p();c(),m("ngForOf",e.visibleGroups)}}function nI(t,s){if(t&1&&(r(0,"p",27),a(1),o()),t&2){let e=p();c(),w("Nu am g\u0103sit sec\u021Biuni pentru \u201E",e.searchTerm,"\u201D.")}}function iI(t,s){if(t&1){let e=E();r(0,"button",30),b("click",function(){v(e);let i=p(2);
156return M(i.setActiveTab("roster-settings"))}),_(1,"i",31),a(2," Set\u0103ri loturi "),o()}}function oI(t,s){if(t&1){let e=E();r(0,"button",30),b("click",function(){v(e);let i=p(2);return M(i.setActiveTab("team-rosters"))}),_(1,"i",32),a(2," \xCEnapoi la loturi "),o()}}function rI(t,s){if(t&1&&(r(0,"div",28)(1,"h2"),a(2),o(),h(3,iI,3,0,"button",29)(4,oI,3,0,"button",29),o()),t&2){let e=p();c(2),O(e.activeLabel),c(),m("ngIf",e.activeTab==="team-rosters"),c(),m("ngIf",e.activeTab==="roster-settings")}}function aI(t,s){if(t&1){let e=E();r(0,"div",33)(1,"h2"),a(2,"De rezolvat"),o(),r(3,"p"),a(4,"Alege o solicitare pentru a o verifica."),o(),r(5,"div",34)(6,"button",35),b("click",function(){v(e);let i=p();return M(i.setActiveTab("confirm-new-teams"))}),_(7,"i",36),r(8,"span"),a(9,"Echipe noi"),o(),r(10,"strong"),a(11),o()(),r(12,"button",35),b("click",function(){v(e);let i=p();return M(i.setActiveTab("season-team-registration"))}),_(13,"i",37),r(14,"span"),a(15,"\xCEnscrieri de confirmat"),o(),r(16,"strong"),a(17),o()(),r(18,"button",35),b("click",function(){v(e);let i=p();return M(i.setActiveTab("certificate-requests"))}),_(19,"i",38),r(20,"span"),a(21,"Adeverin\u021Be solicitate"),o(),r(22,"strong"),a(23),o()()()()}if(t&2){let e=p();c(11),O(e.pendingCounts["confirm-new-teams"]===null?"\u2014":e.pendingCounts["confirm-new-teams"]),c(6),O(e.pendingCounts["season-team-registration"]===null?"\u2014":e.pendingCounts["season-team-registration"]),c(6),O(e.pendingCounts["certificate-requests"]===null?"\u2014":e.pendingCounts["certificate-requests"])}}function sI(t,s){t&1&&_(0,"app-data-export")}function cI(t,s){t&1&&_(0,"app-home-post-management")}function lI(t,s){t&1&&_(0,"app-resource-management")}function dI(t,s){t&1&&_(0,"app-event-admin")}function mI(t,s){t&1&&_(0,"app-meets-admin")}function gI(t,s){t&1&&_(0,"app-seasons-management")}function pI(t,s){t&1&&_(0,"app-regions-management")}function uI(t,s){t&1&&_(0,"app-teams-management")}function _I(t,s){t&1&&_(0,"app-team-administration")}function fI(t,s){t&1&&_(0,"app-confirm-new-teams")}function hI(t,s){t&1&&_(0,"app-season-team-registration")}function CI(t,s){t&1&&_(0,"app-season-registration-questions")}function vI(t,s){t&1&&_(0,"app-certificate-requests-admin")}function MI(t,s){t&1&&_(0,"app-user-management")}function xI(t,s){t&1&&_(0,"app-team-region-assignment")}function bI(t,s){t&1&&_(0,"app-team-rosters-view")}function PI(t,s){t&1&&_(0,"app-roster-settings")}function OI(t,s){t&1&&_(0,"app-team-diplomas-view")}function yI(t,s){t&1&&_(0,"app-awards-management")}function wI(t,s){t&1&&_(0,"app-sharepoint-management")}function SI(t,s){t&1&&_(0,"app-homepage-banner-management")}function EI(t,s){if(t&1&&(r(0,"div",39),h(1,sI,1,0,"app-data-export",40)(2,cI,1,0,"app-home-post-management",40)(3,lI,1,0,"app-resource-management",40)(4,dI,1,0,"app-event-admin",40)(5,mI,1,0,"app-meets-admin",40)(6,gI,1,0,"app-seasons-management",40)(7,pI,1,0,"app-regions-management",40)(8,uI,1,0,"app-teams-management",40)(9,_I,1,0,"app-team-administration",40)(10,fI,1,0,"app-confirm-new-teams",40)(11,hI,1,0,"app-season-team-registration",40)(12,CI,1,0,"app-season-registration-questions",40)(13,vI,1,0,"app-certificate-requests-admin",40)(14,MI,1,0,"app-user-management",40)(15,xI,1,0,"app-team-region-assignment",40)(16,bI,1,0,"app-team-rosters-view",40)(17,PI,1,0,"app-roster-settings",40)(18,OI,1,0,"app-team-diplomas-view",40)(19,yI,1,0,"app-awards-management",40)(20,wI,1,0,"app-sharepoint-management",40)(21,SI,1,0,"app-homepage-banner-management",40),o()),t&2){let e=p();c(),m("ngIf",e.activeTab==="exports"&&e.isAdmin),c(),m("ngIf",e.activeTab==="posts"),c(),m("ngIf",e.activeTab==="resources"),c(),m("ngIf",e.activeTab==="events"),c(),m("ngIf",e.activeTab==="league-meets"&&e.isAdmin),c(),m("ngIf",e.activeTab==="seasons"),c(),m("ngIf",e.activeTab==="regions"),c(),m("ngIf",e.activeTab==="teams"),c(),m("ngIf",e.activeTab==="team-admin"),c(),m("ngIf",e.activeTab==="confirm-new-teams"&&e.isAdmin),c(),m("ngIf",e.activeTab==="season-team-registration"&&e.isAdmin),c(),m("ngIf",e.activeTab==="season-registration-questions"&&e.isAdmin),c(),m("ngIf",e.activeTab==="certificate-requests"&&e.isAdmin),c(),m("ngIf",e.activeTab==="users"),c(),m("ngIf",e.activeTab==="team-regions"),c(),m("ngIf",e.activeTab==="team-rosters"),c(),m("ngIf",e.activeTab==="roster-sett
156ings"),c(),m("ngIf",e.activeTab==="team-diplomas"&&e.isAdmin),c(),m("ngIf",e.activeTab==="awards"),c(),m("ngIf",e.activeTab==="sharepoint"),c(),m("ngIf",e.activeTab==="homepage-banner")}}var Fu=(()=>{class t{constructor(e,n,i,d){this.route=e,this.teamsService=n,this.seasonsService=i,this.certificateRequestsService=d,this.isAdmin=!1,this.isEditor=!1,this.activeTab="overview",this.searchTerm="",this.expandedGroup="registrations",this.pendingCounts={"confirm-new-teams":null,"season-team-registration":null,"certificate-requests":null},this.groups=[{id:"registrations",label:"\xCEnscrieri",icon:"fa-clipboard-check",adminOnly:!0,items:[{id:"confirm-new-teams",label:"Echipe noi",icon:"fa-user-check",aliases:"Confirm new teams aprobare echipe"},{id:"season-team-registration",label:"Confirmare \xEEnscrieri",icon:"fa-clipboard-check",aliases:"\xEEnscrieri sezon aprob\u0103ri"},{id:"season-registration-questions",label:"\xCEntreb\u0103ri \xEEnscriere",icon:"fa-clipboard-list"}]},{id:"teams",label:"Echipe \u0219i utilizatori",icon:"fa-users",adminOnly:!0,items:[{id:"teams",label:"Echipe",icon:"fa-users",aliases:"Teams"},{id:"team-admin",label:"Administrare echipe",icon:"fa-cog",aliases:"Team Administration"},{id:"users",label:"Utilizatori",icon:"fa-user-cog",aliases:"User Management users"},{id:"team-rosters",label:"Loturi echipe",icon:"fa-users-cog",aliases:"Team Rosters Roster Settings set\u0103ri loturi"}]},{id:"competitions",label:"Competi\u021Bii \u0219i sezoane",icon:"fa-trophy",items:[{id:"seasons",label:"Sezoane",icon:"fa-calendar-alt",adminOnly:!0,aliases:"Seasons"},{id:"regions",label:"Regiuni",icon:"fa-map-marker-alt",adminOnly:!0,aliases:"Regions"},{id:"team-regions",label:"Alocare echipe \xEEn regiuni",icon:"fa-map-marked-alt",adminOnly:!0,aliases:"Team Regions"},{id:"events",label:"Evenimente",icon:"fa-calendar-alt",aliases:"Events"},{id:"league-meets",label:"\xCEnt\xE2lniri de lig\u0103",icon:"fa-calendar-check",adminOnly:!0,aliases:"League Meets"},{id:"awards",label:"Premii",icon:"fa-trophy",aliases:"Awards"}]},{id:"documents",label:"Documente \u0219i date",icon:"fa-file-alt",adminOnly:!0,items:[{id:"certificate-requests",label:"Solicit\u0103ri adeverin\u021Be",icon:"fa-file-signature"},{id:"team-diplomas",label:"Diplome pe echipe",icon:"fa-award"},{id:"exports",label:"Exporturi CSV",icon:"fa-file-csv"}]},{id:"content",label:"Con\u021Binut \u0219i fi\u0219iere",icon:"fa-folder-open",items:[{id:"posts",label:"Post\u0103ri principale",icon:"fa-newspaper",aliases:"Home Posts"},{id:"homepage-banner",label:"Banner principal\u0103",icon:"fa-image"},{id:"resources",label:"Resurse",icon:"fa-archive",aliases:"Resources"},{id:"sharepoint",label:"SharePoint",icon:"fa-share-alt"}]}]}ngOnInit(){this.isAdmin?this.refreshPendingCounts():(this.activeTab="posts",this.expandedGroup="content");let e=this.route.snapshot.queryParamMap.get("tab"),n=this.groups.find(i=>i.items.some(d=>d.id===e&&(!d.adminOnly||this.isAdmin)));n&&(!n.adminOnly||this.isAdmin)&&e&&(this.activeTab=e,this.expandedGroup=n.id)}setActiveTab(e){this.activeTab=e;let n=this.groups.find(i=>i.items.some(d=>d.id===e));n&&(this.expandedGroup=n.id),this.isAdmin&&["overview","confirm-new-teams","season-team-registration","certificate-requests"].includes(e)&&this.refreshPendingCounts()}get visibleGroups(){let e=this.normalize(this.searchTerm);return this.groups.filter(n=>!n.adminOnly||this.isAdmin).map(n=>ye(J({},n),{items:n.items.filter(i=>(!i.adminOnly||this.isAdmin)&&(!e||this.normalize(`${n.label} ${i.label} ${i.aliases||""}`).includes(e)))})).filter(n=>n.items.length>0)}get activeLabel(){return this.activeTab==="overview"?"De rezolvat":this.activeTab==="roster-settings"?"Set\u0103ri loturi":this.groups.flatMap(e=>e.items).find(e=>e.id===this.activeTab)?.label||""}get totalPendingCount(){let e=Object.values(this.pendingCounts);return e.some(n=>n===null)?null:e.reduce((n,i)=>n+(i||0),0)}groupPendingCount(e){let n=e.items.filter(i=>i.id in this.pendingCounts);return!n.length||n.some(i=>this.pendingCounts[i.id]===null)?null:n.reduce((i,d)=>i+(this.pendingCounts[d.id]||0),0)}normalize(e){return e.toLocaleLowerCase("ro-RO").normalize("NFD").replace(/[\u0300-\u036f]/g,"").trim()}refreshPendingCounts(){this.teamsService.getTeamRegistrationRequests("PENDING").subscribe({next:e=>this.pendingCounts["confirm-new-teams"]=e.message?.length??0,error:()=>this.pendingCounts["confirm-new-teams"]=null}),this.certificateRequestsService.list({page:1,pageSize:1,status:"PENDING"}).subscribe({next:e=>this.pendingCounts["certificate-requests"]=e.message?.total??0,error:()=>this.pendingCounts["certificate-requests"]=null}),this.seasonsService.getCurrentSeason().subscribe({next:e=>{let n=e.message?.id;if(!n){this.pendingCounts["season-team-registration"]=0;return}this.teamsService.getAllTeamsForAdmin(n).subscribe({next:i=>this.pendingCounts["season-team-registration"]=(i.message||[]).filter(d=>d.teamSeasonData?.some(u=>u.seasonId===n&&u.registrationStatus==="WAITLIST")).length,error:()=>this.pendingCounts["season-team-registration"]=null})},error:()=>this.pendingCounts["season-team-registration"]=null})}static{this.\u0275fac=function(n){return new(n||t)(T(Je),T(Ne),T(Ve),T(Go))}}static{this.\u0275cmp=V({type:t,selectors:[["app-admin-editor-dashboard"]],inputs:{isAdmin:"isAdmin",isEditor:"isEditor"},standalone:!0,features:[B],decls:15,vars:7,consts:[["noMenuResults",""],[1,"admin-layout"],["aria-label","Navigare administrare",1,"admin-sidebar"],["type","button","class","overview-link",3,"active","click",4,"ngIf"],["for","admin-menu-search",1,"menu-search"],[1,"search-field"],["aria-hidden","true",1,"fas","fa-search"],["id","admin-menu-search","type","search","placeholder","Ex. \xEEnscrieri, users, diplome","autocomplete","off",3,"ngModelChange","ngModel"],["class","menu-groups",4,"ngIf","ngIfElse"],[1,"admin-main"],["class","section-heading",4,"ngIf"],["class","overview",4,"ngIf"],["class","tab-content",4,"ngIf"],["type","button",1,"overview-link",3,"click"],["aria-hidden","true",1,"fas","fa-inbox"],["class","count",4,"ngIf"],[1,"count"],[1,"menu-groups"],["class","menu-group",4,"ngFor","ngForOf"],[1,"menu-group"],["type","button",1,"group-toggle",3,"click"],["aria-hidden","true",1,"fas",3,"ngClass"],["aria-hidden","true",1,"fas","fa-chevron-down","chevron"],["class","group-items",4,"ngIf"],[1,"group-items"],["type","button","class","menu-item",3,"active","click",4,"ngFor","ngForOf"],["type","button",1,"menu-item",3,"click"],[1,"n
156o-results"],[1,"section-heading"],["type","button","class","settings-button",3,"click",4,"ngIf"],["type","button",1,"settings-button",3,"click"],["aria-hidden","true",1,"fas","fa-lock"],["aria-hidden","true",1,"fas","fa-arrow-left"],[1,"overview"],[1,"overview-cards"],["type","button",3,"click"],["aria-hidden","true",1,"fas","fa-user-check"],["aria-hidden","true",1,"fas","fa-clipboard-check"],["aria-hidden","true",1,"fas","fa-file-signature"],[1,"tab-content"],[4,"ngIf"]],template:function(n,i){if(n&1){let d=E();r(0,"div",1)(1,"nav",2),h(2,Yk,5,3,"button",3),r(3,"label",4),a(4,"Caut\u0103 sec\u021Biune"),o(),r(5,"div",5),_(6,"i",6),r(7,"input",7),z("ngModelChange",function(x){return v(d),R(i.searchTerm,x)||(i.searchTerm=x),M(x)}),o()(),h(8,tI,2,1,"div",8)(9,nI,2,1,"ng-template",null,0,Se),o(),r(11,"main",9),h(12,rI,5,3,"div",10)(13,aI,24,3,"div",11)(14,EI,22,21,"div",12),o()()}if(n&2){let d=oe(10);c(2),m("ngIf",i.isAdmin),c(5),D("ngModel",i.searchTerm),c(),m("ngIf",i.visibleGroups.length)("ngIfElse",d),c(4),m("ngIf",i.activeTab!=="overview"),c(),m("ngIf",i.activeTab==="overview"&&i.isAdmin),c(),m("ngIf",i.activeTab!=="overview")}},dependencies:[H,xt,X,$,se,re,ie,pe,ou,ru,au,du,mu,gu,pu,uu,fu,hu,Cu,Mu,xu,bu,Pu,yu,wu,Eu,Tu,ku,Iu],styles:[".admin-layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(235px,275px) minmax(0,1fr);gap:1.25rem;align-items:start;margin-bottom:2rem}.admin-sidebar[_ngcontent-%COMP%], .admin-main[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;min-width:0}.admin-sidebar[_ngcontent-%COMP%]{padding:1rem;position:sticky;top:1rem}.overview-link[_ngcontent-%COMP%], .group-toggle[_ngcontent-%COMP%], .menu-item[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center;gap:.65rem;border:0;border-radius:8px;background:transparent;color:#343a40;text-align:left;cursor:pointer;font:inherit;padding:.7rem .75rem}.overview-link[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .group-toggle[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .menu-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){flex:1}.overview-link[_ngcontent-%COMP%]:hover, .group-toggle[_ngcontent-%COMP%]:hover, .menu-item[_ngcontent-%COMP%]:hover{background:#f0f2fa}.overview-link.active[_ngcontent-%COMP%], .menu-item.active[_ngcontent-%COMP%]{background:#e9edff;color:#384fb3;font-weight:600}.group-toggle[_ngcontent-%COMP%]{font-weight:600}.group-toggle[_ngcontent-%COMP%] > .fas[_ngcontent-%COMP%]:first-child, .menu-item[_ngcontent-%COMP%] > .fas[_ngcontent-%COMP%]:first-child, .overview-link[_ngcontent-%COMP%] > .fas[_ngcontent-%COMP%]:first-child{width:1.15rem;text-align:center}.group-items[_ngcontent-%COMP%]{padding-left:.65rem}.menu-group[_ngcontent-%COMP%]{margin-top:.35rem}.chevron[_ngcontent-%COMP%]{font-size:.7rem;transition:transform .2s}.chevron.open[_ngcontent-%COMP%]{transform:rotate(180deg)}.count[_ngcontent-%COMP%]{border-radius:999px;background:#e6eafd;color:#354aa4;min-width:1.5rem;padding:.1rem .4rem;font-size:.75rem;text-align:center}.menu-search[_ngcontent-%COMP%]{display:block;margin:1rem .25rem .35rem;font-size:.8rem;font-weight:600;color:#596270}.search-field[_ngcontent-%COMP%]{position:relative}.search-field[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:#697386}.search-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;border:1px solid #cbd2dc;border-radius:8px;padding:.7rem .65rem .7rem 2.25rem;font:inherit}.search-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:2px solid #667eea;outline-offset:1px}.no-results[_ngcontent-%COMP%]{color:#697386;font-size:.9rem;padding:.5rem}.admin-main[_ngcontent-%COMP%]{overflow:hidden}.section-heading[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem;border-bottom:1px solid #e8eaf0}.section-heading[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .overview[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.35rem}.settings-button[_ngcontent-%COMP%]{border:1px solid #cbd2dc;background:#fff;border-radius:8px;padding:.55rem .8rem;cursor:pointer;color:#384fb3;font:inherit}.settings-button[_ngcontent-%COMP%]:hover{background:#f0f2fa}.overview[_ngcontent-%COMP%]{padding:1.5rem}.overview[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#606a78;margin:.4rem 0 1.25rem}.overview-cards[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.overview-cards[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.15rem;border:1px solid #d9deeb;border-radius:10px;background:#f8f9ff;color:#27345d;cursor:pointer;text-align:left;font:inherit}.overview-cards[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{border-color:#667eea;background:#f0f2ff}.overview-cards[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:1.7rem}.tab-content[_ngcontent-%COMP%]{overflow-x:auto}@media (max-width: 900px){.admin-layout[_ngcontent-%COMP%]{grid-template-columns:1fr}.admin-sidebar[_ngcontent-%COMP%]{position:static}.overview-cards[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}@media (max-width: 480px){.section-heading[_ngcontent-%COMP%]{align-items:flex-start;flex-direction:column}.overview-cards[_ngcontent-%COMP%]{grid-template-columns:1fr}}"]})}}return t})();var Fi=Li(vi());function TI(t,s){if(t&1&&_(0,"img",68),t&2){let e=p();m("src",e.getCurrentPhotoUrl(),ae)}}
156function kI(t,s){t&1&&(r(0,"div",69),_(1,"i",70),r(2,"span"),a(3,"Nu a fost \xEEnc\u0103rcat\u0103 fotografie"),o()())}function II(t,s){t&1&&_(0,"i",74)}function FI(t,s){t&1&&_(0,"i",75)}function DI(t,s){if(t&1){let e=E();r(0,"button",71),b("click",function(){v(e);let i=p();return M(i.uploadTeamPhoto())}),h(1,II,1,0,"i",72)(2,FI,1,0,"i",73),a(3),o()}if(t&2){let e=p();m("disabled",e.isUploadingPhoto),c(),m("ngIf",!e.isUploadingPhoto),c(),m("ngIf",e.isUploadingPhoto),c(),w(" ",e.isUploadingPhoto?"Se \xEEncarc\u0103...":"Confirm\u0103 \xCEnc\u0103rcarea"," ")}}function RI(t,s){if(t&1&&_(0,"img",76),t&2){let e=p();m("src",e.getCurrentLogoUrl(),ae)}}function zI(t,s){t&1&&(r(0,"div",69),_(1,"i",77),r(2,"span"),a(3,"Nu a fost \xEEnc\u0103rcat logo"),o()())}function NI(t,s){t&1&&_(0,"i",74)}function AI(t,s){t&1&&_(0,"i",75)}function LI(t,s){if(t&1){let e=E();r(0,"button",71),b("click",function(){v(e);let i=p();return M(i.uploadTeamLogo())}),h(1,NI,1,0,"i",72)(2,AI,1,0,"i",73),a(3),o()}if(t&2){let e=p();m("disabled",e.isUploadingLogo),c(),m("ngIf",!e.isUploadingLogo),c(),m("ngIf",e.isUploadingLogo),c(),w(" ",e.isUploadingLogo?"Se \xEEncarc\u0103...":"Confirm\u0103 \xCEnc\u0103rcarea"," ")}}function VI(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 pentru YouTube, YouTube Shorts sau TikTok (ex: https://youtube.com/watch?v=... sau https://tiktok.com/@username/video/...) "),o())}function BI(t,s){if(t&1&&(r(0,"div",78),h(1,VI,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("registrationVideoLink"))==null||e.errors==null?null:e.errors.url)}}function UI(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 (ex: https://echipa.ro) "),o())}function jI(t,s){if(t&1&&(r(0,"div",78),h(1,UI,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("teamWebsiteLink"))==null||e.errors==null?null:e.errors.url)}}function qI(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 (ex: https://facebook.com/echipa) "),o())}function WI(t,s){if(t&1&&(r(0,"div",78),h(1,qI,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("facebookLink"))==null||e.errors==null?null:e.errors.url)}}function $I(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 (ex: https://instagram.com/echipa) "),o())}function HI(t,s){if(t&1&&(r(0,"div",78),h(1,$I,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("instagramLink"))==null||e.errors==null?null:e.errors.url)}}function GI(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 (ex: https://linkedin.com/company/echipa) "),o())}function ZI(t,s){if(t&1&&(r(0,"div",78),h(1,GI,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("linkedInLink"))==null||e.errors==null?null:e.errors.url)}}function YI(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 (ex: https://youtube.com/echipa) "),o())}function KI(t,s){if(t&1&&(r(0,"div",78),h(1,YI,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("youtubeLink"))==null||e.errors==null?null:e.errors.url)}}function QI(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 (ex: https://x.com/echipa) "),o())}function JI(t,s){if(t&1&&(r(0,"div",78),h(1,QI,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("xLink"))==null||e.errors==null?null:e.errors.url)}}function XI(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 (ex: https://tiktok.com/@echipa) "),o())}function e6(t,s){if(t&1&&(r(0,"div",78),h(1,XI,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("tiktokLink"))==null||e.errors==null?null:e.errors.url)}}function t6(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 de email valid\u0103 (ex: [email protected]) "),o())}function n6(t,s){if(t&1&&(r(0,"div",78),h(1,t6,2,0,"span",79),o()),t&2){let e,n=p();c(),m("ngIf",(e=n.teamSeasonDataForm.get("primaryEmailContact"))==null||e.errors==null?null:e.errors.email)}}function i6(t,s){if(t&1&&(r(0,"div",80),_(1,"i",81),a(2),o()),t&2){let e=p();c(2),w(" ",e.primaryColorError," ")}}function o6(t,s){if(t&1&&(r(0,"div",80),_(1,"i",81),a(2),o()),t&2){let e=p();c(2),w(" ",e.secondaryColorError," ")}}function r6(t,s){t&1&&(r(0,"div",57),a(1," Completa\u021Bi ID-ul FTC interna\u021Bional dup\u0103 ce \xEEl primi\u021Bi. "),o())}function a6(t,s){if(t&1&&(r(0,"div",78),_(1,"i",81),a(2),o()),t&2){let e=p();c(2),w(" ",e.rookieYearError," ")}}var Du=(()=>{class t{constructor(e,n,i){this.fb=e,this.teamsService=n,this.fileService=i,this.team=null,this.currentSeasonData=null,this.seasonDataUpdated=new it,this.isSaving=!1,this.primaryColor="#ff006a",this.secondaryColor="#0066ff",this.primaryColorError="",this.secondaryColorError="",this.selectedTeamPhoto=null,this.selectedTeamLogo=null,this.selectedTeamPhotoPreview=null,this.selectedTeamLogoPreview=null,this.isUploadingPhoto=!1,this.isUploadingLogo=!1,this.map=null,this.marker=null,this.searchControl=null,this.mapInitialized=!1,this.initializeForm()}ngOnInit(){this.currentSeasonData&&this.populateForm()}ngAfterViewInit(){this.currentSeasonData&&setTimeout(()=>this.initializeMap(),300)}ngOnDestroy(){this.map&&this.map.remove()}ngOnChanges(e){e.currentSeasonData&&this.currentSeasonData&&(this.populateForm(),this.mapInitialized&&setTimeout(()=>this.initializeMap(),300))}initializeForm(){this.teamSeasonDataForm=this.fb.group({motto:[""],teamDescription:[""],teamMainColor:[""],teamSecondaryColor:[""],teamWebsiteLink:["",this.urlValidator.bind(this)],facebookLink:["",this.urlValidator.bind(this)],instagramLink:["",this.urlValidator.bind(this)],linkedInLink:["",this.urlValidator.bind(this)],youtubeLink:["",this.urlValidator.bind(this)],xLink:["",this.urlValidator.bind(this)],tiktokLink:["",this.urlValidator.bind(this)],primaryEmailContact:["",this.emailValidator.bind(this)],otherSocial:["",this.urlValidator.bind(this)],registrationVideoLink:["",this.urlValidator.bind(this)],school:[""],city:[""],county:[""],country:[""],internationalNumber:[""],rookieYear:["",[this.yearValidator]],latitude:[null,[N.min(-90),N.max(90)]],longitude:[null,[N.min(-180),N.max(180)]]})}populateForm(){this.currentSeasonData&&(this.teamSeasonDataForm.patchValue({motto:this.currentSeasonData.motto||"",teamDescription:this.currentSeasonData.teamDescription||"",teamMainColor:this.currentSeasonData.teamMainColor||"",teamSecondaryColor:this.currentSeasonData.teamSecondaryColor||"",teamWebsiteLink:this.currentSeasonData.teamWebsiteLink||"",facebookLink:this.currentSeasonData.facebookLink||"",instagramLink:this.currentSeasonData.instagramLink||"",linkedInLink:this.currentSeasonData.linkedInLink||"",youtubeLink:this.currentSeasonData.youtubeLink||"",xLink:this.currentSeasonData.xLink||"",tiktokLink:this.currentSeasonData.tiktokLink||"",primaryEmailContact:this.currentSeasonData.primaryEmailContact||"",otherSocial:this.currentSeasonData.otherSocial||"",registrationVideoLink:this.currentSeasonData.registrationVideoLink||"",school:this.currentSeasonData.school||"",city:this.currentSeasonData.city||"",county:this.currentSeasonData.county||"",country:this.currentSeasonData.country||"",internationalNumber:this.displayInternationalNumber,rookieYear:this.team?.rookieYear||"",latitude:this.currentSeasonData.latitude||null,longitude:this.currentSeasonData.longitude||null}),this.primaryColor=this.currentSeasonData.teamMainColor||"#ff006a",this.secondaryColor=this.currentSeasonData.teamSecondaryColor||"#0066ff",this.updateTeamColorVariables(),setTimeout(()=>this.initializeMap(),300))}onPrimaryColorChange(e){let n=e.target.value;this.primaryColor=n,this.primaryColorError="",this.teamSeasonDataForm.patchValue({teamMainColor:n}),this.updateTeamColorVariables()}onSecondaryColorChange(e){let n=e.target.value;this.secondaryColor=n,this.secondaryColorError="",this.teamSeasonDataForm.patchValue({teamSecondaryColor:n}),this.updateTeamColorVariables()}onPrimaryHexChange(e){let n=e.target.value.trim().toUpperCase();this.primaryColorError="",n.length>0&&!n.startsWith("#")&&(n="#"+n),this.isValidHexColor(n)?(this.primaryColor=n,this.teamSeasonDataForm.patchValue({teamMainColor:n}),this.updateTeamColorVariables()):n.length>1&&(this.primaryColorError="Format invalid. Folosi\u021Bi formatul #RRGGBB (ex: #ff006a)")}onSecondaryHexChange(e){let n=e.target.value.trim().toUpperCase();this.secondaryColorError="",n.length>0&&!n.startsWith("#")&&(n="#"+n),this.isValidHexColor(n)?(this.secondaryColor=n,this.teamSeasonDataForm.patchValue({teamSecondaryColor:n}),this.updateTeamColorVariables()):n.length>1&&(this.secondaryColorError="Format invalid. Folosi\u021Bi formatul #RRGGBB (ex: #0066ff)")}isValidHexColor(e){if(!/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(e))return!1;let i=e.startsWith("#")?e:"#"+e;if(i.length===4){let d="#"+i[1]+i[1]+i[2]+i[2]+i[3]+i[3];return this.isValidHexColor(d)}return i.length===7}updateTeamColorVariables(){let e=document.documentElement;e.style.setProperty("--team-primary-color",this.primaryColor),e.style.setProperty("--team-secondary-color",this.secondaryColor);let n=this.hexToRgb(this.primaryColor);n&&(e.style.setProperty("--team-primary-color-alpha-5",`rgba(${n.r}, ${n.g}, ${n.b}, 0.05)`),e.style.setProperty("--team-primary-color-alpha-2",`rgba(${n.r}, ${n.g}, ${n.b}, 0.02)`));let i=this.hexToRgb(this.secondaryColor);i&&(e.style.setProperty("--team-secondary-color-alpha-5",`rgba(${i.r}, ${i.g}, ${i.b}, 0.05)`),e.style.setProperty("--team-secondary-color-alpha-2",`rgba(${i.r}, ${i.g}, ${i.b}, 0.02)`))}hexToRgb(e){let n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:null}onFileSelected(e,n){let i=e.target.files[0];if(i){if(!i.type.startsWith("image/")||i.size>5*1024*1024)return;n==="banner"?(this.selectedTeamPhoto=i,this.createFilePreview(i,"photo")):n==="logo"&&(this.selectedTeamLogo=i,this.createFilePreview(i,"logo"))}}createFilePreview(e,n){let i=new FileReader;i.onload=d=>{n==="photo"?this.selectedTeamPhotoPreview=d.target.result:this.selectedTeamLogoPreview=d.target.result},i.readAsDataURL(e)}uploadTeamPhoto(){return q(this,null,function*(){if(!(!this.selectedTeamPhoto||!this.team||!this.currentSeasonData)){this.isUploadingPhoto=!0;try{let e={quality:.8,maxWidth:1e3,maxHeight:300},n=yield Jt(this.selectedTeamPhoto,e);if(n.size>2*1024*1024){this.isUploadingPhoto=!1;return}let i=new Date().toISOString().replace(/[:.]/g,"-"),u=`banner_${this.team.name.replace(/[^a-zA-Z0-9]/g,"_")}_${i}.webp`;this.fileService.uploadFile(n,"team_banner",this.currentSeasonData.id,u).subscribe({next:x=>{let k={teamBannerId:x.message?.id||x.id};this.teamsService.updateTeamSeasonData(this.team.internationalNumber,k).subscribe({next:W=>{this.currentSeasonData=W.message,this.selectedTeamPhoto=null,this.selectedTeamPhotoPreview=null,this.isUploadingPhoto=!1,this.currentSeasonData&&this.seasonDataUpdated.emit(this.currentSeasonData)},error:W=>{this.isUploadingPhoto=!1}})},error:x=>{this.isUploadingPhoto=!1}})}catch{this.isUploadingPhoto=!1}}})}uploadTeamLogo(){return q(this,null,function*(){if(!(!this.selectedTeamLogo||!this.team||!this.currentSeasonData)){this.isUploadingLogo=!0;try{let e={quality:.9,maxWidth:160,maxHeight:160},n=yield Jt(this.selectedTeamLogo,e);if(n.size>2*1024*1024){this.isUploadingLogo=!1;return}let i=new Date().toISOString().replace(/[:.]/g,"-"),u=`logo_${this.team.name.replace(/[^a-zA-Z0-9]/g,"_")}_${i}.webp`;this.fileService.uploadFile(n,"team_logo",this.currentSeasonData.id,u).subscribe({next:x=>
156{let k={teamLogoId:x.message?.id||x.id};this.teamsService.updateTeamSeasonData(this.team.internationalNumber,k).subscribe({next:W=>{this.currentSeasonData=W.message,this.selectedTeamLogo=null,this.selectedTeamLogoPreview=null,this.isUploadingLogo=!1,this.currentSeasonData&&this.seasonDataUpdated.emit(this.currentSeasonData)},error:W=>{this.isUploadingLogo=!1}})},error:x=>{this.isUploadingLogo=!1}})}catch{this.isUploadingLogo=!1}}})}getCurrentPhotoUrl(){if(this.selectedTeamPhotoPreview)return this.selectedTeamPhotoPreview;if(this.currentSeasonData?.teamBanner?.id){let e=new Date().getTime();return`${ne.apiUrl}/files/public/${this.currentSeasonData.teamBanner.id}?t=${e}`}return null}getCurrentLogoUrl(){if(this.selectedTeamLogoPreview)return this.selectedTeamLogoPreview;if(this.currentSeasonData?.teamLogo?.id){let e=new Date().getTime();return`${ne.apiUrl}/files/public/${this.currentSeasonData.teamLogo.id}?t=${e}`}return null}yearValidator(e){let n=e.value;if(!n||n.trim()==="")return null;if(!/^\d{4}$/.test(n))return{invalidYear:{message:"Anul trebuie s\u0103 con\u021Bin\u0103 exact 4 cifre"}};let d=parseInt(n,10),u=new Date().getFullYear();return d<1990||d>u+1?{invalidYearRange:{message:`Anul trebuie s\u0103 fie \xEEntre 1990 \u0219i ${u+1}`}}:null}get rookieYearError(){let e=this.teamSeasonDataForm.get("rookieYear");if(e&&e.errors&&(e.touched||e.dirty)){if(e.errors.invalidYear)return e.errors.invalidYear.message;if(e.errors.invalidYearRange)return e.errors.invalidYearRange.message}return""}get isRookieYearInvalid(){let e=this.teamSeasonDataForm.get("rookieYear");return!!(e&&e.errors&&(e.touched||e.dirty))}get isFormValid(){return this.teamSeasonDataForm.valid}get canEditInternationalNumber(){let e=new Date().getFullYear().toString();return this.team?.rookieYear===e}get displayInternationalNumber(){let e=this.team?.internationalNumber||"";return e.startsWith("REQ-")||e.startsWith("TMP-")?"":e}onRookieYearInput(e){let i=e.target.value.replace(/[^0-9]/g,"");this.teamSeasonDataForm.get("rookieYear")?.setValue(i,{emitEvent:!1}),this.teamSeasonDataForm.get("rookieYear")?.markAsDirty()}onRookieYearBlur(){this.teamSeasonDataForm.get("rookieYear")?.markAsTouched()}saveTeamSeasonData(){if(!this.team||(this.teamSeasonDataForm.markAllAsTouched(),!this.teamSeasonDataForm.valid))return;this.isSaving=!0;let e=this.teamSeasonDataForm.value,n=e.rookieYear,i=e.internationalNumber?.trim();delete e.rookieYear,delete e.internationalNumber;let d=Object.fromEntries(Object.entries(e).map(([u,x])=>[u,x===""?void 0:x]));this.teamsService.updateTeamSeasonData(this.team.internationalNumber,d).subscribe({next:u=>{this.currentSeasonData=u.message;let x={};n!==this.team?.rookieYear&&n&&(x.rookieYear=n),this.canEditInternationalNumber&&i&&i!==this.displayInternationalNumber&&(x.internationalNumber=i),Object.keys(x).length>0&&this.team?this.teamsService.updateTeam(this.team.id,x).subscribe({next:y=>{this.team=y.message;let k=this.team.teamSeasonData?.find(W=>W.seasonId===this.currentSeasonData?.seasonId);k&&(this.currentSeasonData=k),this.populateForm(),this.isSaving=!1,this.currentSeasonData&&this.seasonDataUpdated.emit(this.currentSeasonData)},error:y=>{this.isSaving=!1}}):(this.populateForm(),this.isSaving=!1,this.currentSeasonData&&this.seasonDataUpdated.emit(this.currentSeasonData))},error:u=>{this.isSaving=!1}})}emailValidator(e){return!e.value||e.value.trim()===""||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.value)?null:{email:!0}}urlValidator(e){if(!e.value||e.value.trim()==="")return null;let n=e.value.trim();if(!/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.\-@?=&%#+~:;!*'(),]*)*\/?$/i.test(n))return{url:!0};let d=n.toLowerCase();return d.includes("tiktok.com")&&!d.includes("/@")&&!d.includes("/video/")&&!d.includes("/user/")?{url:!0}:d.includes("youtu.be")&&!/^(https?:\/\/)?(www\.)?youtu\.be\/[a-zA-Z0-9_-]{11}\/?([?#][^\s]*)?$/i.test(n)?{url:!0}:d.includes("youtube.com")&&!(d.includes("/watch?v=")||d.includes("/shorts/")||d.includes("/channel/")||d.includes("/c/")||d.includes("/user/")||d.includes("/@"))?{url:!0}:null}initializeMap(){this.mapInitialized||setTimeout(()=>{if(!document.getElementById("team-location-map"))return;this.map&&this.map.remove(),this.map=Fi.map("team-location-map").setView([44.4268,26.1025
156],10),Fi.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(this.map);let n=new Fs({params:{"accept-language":"ro",countrycodes:"ro"}}),i=Is({provider:n,position:"topright",style:"bar",autoComplete:!0,autoCompleteDelay:250,showMarker:!1,retainZoomLevel:!1,animateZoom:!0,autoClose:!0,searchLabel:"Introduce\u021Bi adresa sau numele loca\u021Biei...",keepResult:!0,showPopup:!1});this.map.addControl(i),this.searchControl=i,this.map.on("geosearch/showlocation",x=>{let{x:y,y:k}=x.location;this.setLocationFromMap(k,y)}),this.map.on("click",x=>{this.setLocationFromMap(x.latlng.lat,x.latlng.lng)});let d=this.teamSeasonDataForm.get("latitude")?.value,u=this.teamSeasonDataForm.get("longitude")?.value;d&&u&&d!==0&&u!==0&&this.setMarker(d,u),this.mapInitialized=!0},100)}setMarker(e,n){if(!this.map)return;this.marker&&this.map.removeLayer(this.marker);let i=Fi.divIcon({className:"custom-marker",html:'<div style="background-color: #e74c3c; width: 20px; height: 20px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); border: 2px solid #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.3);"></div>',iconSize:[20,20],iconAnchor:[10,20]});this.marker=Fi.marker([e,n],{icon:i}).addTo(this.map),this.map.setView([e,n],15)}setLocationFromMap(e,n){this.teamSeasonDataForm.patchValue({latitude:e,longitude:n}),this.setMarker(e,n)}clearLocation(){this.teamSeasonDataForm.patchValue({latitude:null,longitude:null}),this.marker&&this.map&&(this.map.removeLayer(this.marker),this.marker=null)}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ne),T(Dt))}}static{this.\u0275cmp=V({type:t,selectors:[["app-public-details"]],inputs:{team:"team",currentSeasonData:"currentSeasonData"},outputs:{seasonDataUpdated:"seasonDataUpdated"},standalone:!0,features:[Mt,B],decls:212,vars:64,consts:[[1,"tab-content"],[1,"section"],[1,"media-grid"],[1,"media-card"],[1,"media-preview"],["alt","Fotografie Echip\u0103",3,"src",4,"ngIf"],["class","placeholder",4,"ngIf"],[1,"media-hint"],[1,"fas","fa-info-circle"],[1,"media-actions"],["type","file","id","teamPhoto","accept","image/*","hidden","",3,"change"],["for","teamPhoto",1,"btn","btn-primary"],[1,"fas","fa-upload"],["class","btn btn-success",3,"disabled","click",4,"ngIf"],["alt","Logo Echip\u0103",3,"src",4,"ngIf"],["type","file","id","teamLogo","accept","image/*","hidden","",3,"change"],["for","teamLogo",1,"btn","btn-primary"],[3,"formGroup"],[1,"form-group"],["type","text","formControlName","motto","placeholder","Introduce\u021Bi motto-ul echipei"],["formControlName","teamDescription","placeholder","Descrie\u021Bi echipa voastr\u0103","rows","3"],["type","url","formControlName","registrationVideoLink","placeholder","https://youtube.com/watch?v=..."],["class","error-message",4,"ngIf"],[1,"form-text","text-muted"],[1,"form-grid",3,"formGroup"],[1,"fas","fa-globe"],["type","url","formControlName","teamWebsiteLink","placeholder","https://echipa.ro"],[1,"fab","fa-facebook"],["type","url","formControlName","facebookLink","placeholder","https://facebook.com/echipa"],[1,"fab","fa-instagram"],["type","url","formControlName","instagramLink","placeholder","https://instagram.com/echipa"],[1,"fab","fa-linkedin"],["type","url","formControlName","linkedInLink","placeholder","https://linkedin.com/company/echipa"],[1,"fab","fa-youtube"],["type","url","formControlName","youtubeLink","placeholder","https://youtube.com/echipa"],[1,"fab","fa-twitter"],["type","url","formControlName","xLink","placeholder","https://x.com/echipa"],[1,"fab","fa-tiktok"],["type","url","formControlName","tiktokLink","placeholder","https://tiktok.com/@echipa"],[1,"fas","fa-envelope"],["type","email","formControlName","primaryEmailContact","placeholder","[email protected]"],[1,"color-picker-grid"],[1,"color-picker"],[1,"color-input-group"],["type","color",3,"change","value"],["type","text","placeholder","#ff006a","maxlength","7",1,"hex-input",3,"input","value"],[1,"color-value"],["class","color-error",4,"ngIf"],["type","text","placeholder","#0066ff","maxlength","7",1,"hex-input",3,"input","value"],[1,"map-row"],[1,"map-container"],["id","team-location-map",1,"location-map"],[1,"map-instru
156ctions"],["type","button",1,"btn","btn-outline-danger","clear-location-btn",3,"click"],[1,"fas","fa-times"],["for","latitude"],["type","number","id","latitude","formControlName","latitude","step","0.000001","placeholder","ex: 44.4268","readonly","",1,"form-control"],[1,"help-text"],["for","longitude"],["type","number","id","longitude","formControlName","longitude","step","0.000001","placeholder","ex: 26.1025","readonly","",1,"form-control"],["type","text","readonly","",3,"value"],["type","text","formControlName","internationalNumber","placeholder","Ex: 19000",3,"readonly"],["class","help-text",4,"ngIf"],["type","text","formControlName","rookieYear","placeholder","Ex: 2024","maxlength","4","readonly",""],[1,"info-note"],[1,"floating-save-footer"],[1,"btn","btn-success","btn-large","floating-save-btn",3,"click","disabled"],[1,"fas","fa-save"],["alt","Fotografie Echip\u0103",3,"src"],[1,"placeholder"],[1,"fas","fa-camera"],[1,"btn","btn-success",3,"click","disabled"],["class","fas fa-cloud-upload-alt",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"fas","fa-cloud-upload-alt"],[1,"fas","fa-spinner","fa-spin"],["alt","Logo Echip\u0103",3,"src"],[1,"fas","fa-image"],[1,"error-message"],[4,"ngIf"],[1,"color-error"],[1,"fas","fa-exclamation-triangle"]],template:function(n,i){if(n&1&&(r(0,"div",0)(1,"div",1)(2,"h2"),a(3,"Date publice"),o(),r(4,"div",2)(5,"div",3)(6,"h3"),a(7,"Fotografie echip\u0103"),o(),r(8,"div",4),h(9,TI,1,1,"img",5)(10,kI,4,0,"div",6),o(),r(11,"div",7),_(12,"i",8),r(13,"span"),a(14,"Dimensiuni recomandate: 1000 x 300px"),o()(),r(15,"div",9)(16,"input",10),b("change",function(u){return i.onFileSelected(u,"banner")}),o(),r(17,"label",11),_(18,"i",12),a(19),o(),h(20,DI,4,4,"button",13),o()(),r(21,"div",3)(22,"h3"),a(23,"Logo Echip\u0103"),o(),r(24,"div",4),h(25,RI,1,1,"img",14)(26,zI,4,0,"div",6),o(),r(27,"div",7),_(28,"i",8),r(29,"span"),a(30,"Dimensiuni recomandate: 160 x 160px"),o()(),r(31,"div",9)(32,"input",15),b("change",function(u){return i.onFileSelected(u,"logo")}),o(),r(33,"label",16),_(34,"i",12),a(35),o(),h(36,LI,4,4,"button",13),o()()()(),r(37,"div",1)(38,"h2"),a(39,"Informa\u021Bii publice echip\u0103"),o(),r(40,"form",17)(41,"div",18)(42,"label"),a(43,"Motto"),o(),_(44,"input",19),o(),r(45,"div",18)(46,"label"),a(47,"Descriere"),o(),_(48,"textarea",20),o(),r(49,"div",18)(50,"label"),a(51,"Link Video"),o(),_(52,"input",21),h(53,BI,2,1,"div",22),r(54,"small",23),a(55,"Formate acceptate: YouTube, YouTube Shorts"),o(),r(56,"small",23),a(57,"Experimental: TikTok (folosind link-ul de pe un calculator)"),o()()()(),r(58,"div",1)(59,"h2"),a(60,"Re\u021Bele sociale"),o(),r(61,"div",7),_(62,"i",8),r(63,"span"),a(64,"Niciun c\xE2mp nu este obligatoriu. Dac\u0103 nu este completat, nu va fi vizibil pe pagina echipei."),o()(),r(65,"form",24)(66,"div",18)(67,"label"),_(68,"i",25),a(69," Website"),o(),_(70,"input",26),h(71,jI,2,1,"div",22),o(),r(72,"div",18)(73,"label"),_(74,"i",27),a(75," Facebook"),o(),_(76,"input",28),h(77,WI,2,1,"div",22),o(),r(78,"div",18)(79,"label"),_(80,"i",29),a(81," Instagram"),o(),_(82,"input",30),h(83,HI,2,1,"div",22),o(),r(84,"div",18)(85,"label"),_(86,"i",31),a(87," LinkedIn"),o(),_(88,"input",32),h(89,ZI,2,1,"div",22),o(),r(90,"div",18)(91,"label"),_(92,"i",33),a(93," YouTube"),o(),_(94,"input",34),h(95,KI,2,1,"div",22),o(),r(96,"div",18)(97,"label"),_(98,"i",35),a(99," X (Twitter)"),o(),_(100,"input",36),h(101,JI,2,1,"div",22),o(),r(102,"div",18)(103,"label"),_(104,"i",37),a(105," TikTok"),o(),_(106,"input",38),h(107,e6,2,1,"div",22),o(),r(108,"div",18)(109,"label"),_(110,"i",39),a(111," Email"),o(),_(112,"input",40),h(113,n6,2,1,"div",22),o()()(),r(114,"div",1)(115,"h2"),a(116,"Culori Echip\u0103"),o(),r(117,"div",41)(118,"div",42)(119,"label"),a(120,"Culoare principal\u0103"),o(),r(121,"div",43)(122,"input",44),b("change",function(u){return i.onPrimaryColorChange(u)}),o(),r(123,"input",45),b("input",function(u){return i.onPrimaryHexChange(u)}),o(),r(124,"span",46),a(125),o()(),h(126,i6,3,1,"div",47),o(),r(127,"div",42)(128,"label"),a(129,"Culoare secundar\u0103"),o(),r(130,"div",43)(131,"input",44),b("change",function(u){return i.onSecondaryColorChange(u)}),o(),r(132,"input",48),b("input",function(u){return i.onSecondaryHexChange(u)}),o(),r(133,"span",46),a(134),o()(),h(135,o6,3,1,"div",47),o()()(),r(136,"div",1)(137,"h2"),a(138,"Loca\u021Bia echipei"),o(),r(139,"div",7),_(140,"i",8),r(141,"span"),a(142,"Seta\u021Bi loca\u021Bia echipei voastre pentru a fi afi\u0219at\u0103 pe hart\u0103. Folosi\u021Bi bara de c\u0103utare de pe hart\u0103 pentru a g\u0103si o adres\u0103 (cu sugestii automate) sau da\u021Bi click direct pe hart\u0103 pentru a selecta loca\u021Bia exact\u0103."),o()(),r(143,"div",49)(144,"div",50),_(145,"div",51),r(146,"div",52)(147,"p"),_(148,"i",8),a(149," Folosi\u021Bi c\u0103utarea integrat\u0103 (cu sugestii automate) din col\u021Bul din dreapta sus al h\u0103r\u021Bii sau da\u021Bi click pe hart\u0103 pentru a seta loca\u021Bia exact\u0103."),o()(),r(150,"button",53),b("click",function(){return i.clearLocation()}),_(151,"i",54),a(152," \u0218terge Loca\u021Bia "),o()()(),r(153,"form",24)(154,"div",18)(155,"label",55),a(156,"Latitudine (auto-completat)"),o(),_(157,"input",56),r(158,"div",57),a(159,"Se seteaz\u0103 automat c\xE2nd selecta\u021Bi o loca\u021Bie pe hart\u0103"),o()(),r(160,"div",18)(161,"label",58),a(162,"Longitudine (auto-completat)"),o(),_(163,"input",59),r(164,"div",57),a(165,"Se seteaz\u0103 automat c\xE2nd selecta\u021Bi o loca\u021Bie pe hart\u0103"),o()()()(),r(166,"div",1)(167,"h2"),a(168,"Date echip\u0103"),o(),r(169,"form",24)(170,"div",18)(171,"label"),a(172,"Nume"),o(),_(173,"input",60),o(),r(174,"div",18)(175,"label"),a(176,"Afiliere"),o(),_(177,"input",60),o(),r(178,"div",18)(179,"label"),a(180,"ID"),o(),_(181,"input",61),h(182,r6,2,0,"div",62),o(),r(183,"div",18)(184,"label"),a(185,"ID Rom\xE2nia"),o(),_(186,"input",60),o(),r(187,"div",18)(188,"label"),a(189,"Ora\u0219"),o(),_(190,"input",60),o(),r(191,"div",18)(192,"label"),a(193,"Jude\u021B"),o(),_(194,"
156input",60),o(),r(195,"div",18)(196,"label"),a(197,"\u021Aar\u0103"),o(),_(198,"input",60),o(),r(199,"div",18)(200,"label"),a(201,"An rookie"),o(),_(202,"input",63),h(203,a6,3,1,"div",22),o()(),r(204,"div",64),_(205,"i",8),r(206,"span"),a(207,"Pentru a modifica datele echipei, va rug\u0103m s\u0103 contacta\u021Bi administratorul la [email protected]."),o()()(),r(208,"div",65)(209,"button",66),b("click",function(){return i.saveTeamSeasonData()}),_(210,"i",67),a(211),o()()()),n&2){let d,u,x,y,k,W,U,Y,le,ce,we,ee,Ue,Ht,nt,Bt,me,Mn;c(9),m("ngIf",i.getCurrentPhotoUrl()),c(),m("ngIf",!i.getCurrentPhotoUrl()),c(9),w(" ",i.selectedTeamPhoto?"Schimb\u0103 Fotografia":"\xCEncarc\u0103 Fotografia"," "),c(),m("ngIf",i.selectedTeamPhoto),c(5),m("ngIf",i.getCurrentLogoUrl()),c(),m("ngIf",!i.getCurrentLogoUrl()),c(9),w(" ",i.selectedTeamLogo?"Schimb\u0103 Logo-ul":"\xCEncarc\u0103 Logo-ul"," "),c(),m("ngIf",i.selectedTeamLogo),c(4),m("formGroup",i.teamSeasonDataForm),c(12),I("error",((d=i.teamSeasonDataForm.get("registrationVideoLink"))==null?null:d.invalid)&&((d=i.teamSeasonDataForm.get("registrationVideoLink"))==null?null:d.touched)),c(),m("ngIf",((u=i.teamSeasonDataForm.get("registrationVideoLink"))==null?null:u.invalid)&&((u=i.teamSeasonDataForm.get("registrationVideoLink"))==null?null:u.touched)),c(12),m("formGroup",i.teamSeasonDataForm),c(5),I("error",((x=i.teamSeasonDataForm.get("teamWebsiteLink"))==null?null:x.invalid)&&((x=i.teamSeasonDataForm.get("teamWebsiteLink"))==null?null:x.touched)),c(),m("ngIf",((y=i.teamSeasonDataForm.get("teamWebsiteLink"))==null?null:y.invalid)&&((y=i.teamSeasonDataForm.get("teamWebsiteLink"))==null?null:y.touched)),c(5),I("error",((k=i.teamSeasonDataForm.get("facebookLink"))==null?null:k.invalid)&&((k=i.teamSeasonDataForm.get("facebookLink"))==null?null:k.touched)),c(),m("ngIf",((W=i.teamSeasonDataForm.get("facebookLink"))==null?null:W.invalid)&&((W=i.teamSeasonDataForm.get("facebookLink"))==null?null:W.touched)),c(5),I("error",((U=i.teamSeasonDataForm.get("instagramLink"))==null?null:U.invalid)&&((U=i.teamSeasonDataForm.get("instagramLink"))==null?null:U.touched)),c(),m("ngIf",((Y=i.teamSeasonDataForm.get("instagramLink"))==null?null:Y.invalid)&&((Y=i.teamSeasonDataForm.get("instagramLink"))==null?null:Y.touched)),c(5),I("error",((le=i.teamSeasonDataForm.get("linkedInLink"))==null?null:le.invalid)&&((le=i.teamSeasonDataForm.get("linkedInLink"))==null?null:le.touched)),c(),m("ngIf",((ce=i.teamSeasonDataForm.get("linkedInLink"))==null?null:ce.invalid)&&((ce=i.teamSeasonDataForm.get("linkedInLink"))==null?null:ce.touched)),c(5),I("error",((we=i.teamSeasonDataForm.get("youtubeLink"))==null?null:we.invalid)&&((we=i.teamSeasonDataForm.get("youtubeLink"))==null?null:we.touched)),c(),m("ngIf",((ee=i.teamSeasonDataForm.get("youtubeLink"))==null?null:ee.invalid)&&((ee=i.teamSeasonDataForm.get("youtubeLink"))==null?null:ee.touched)),c(5),I("error",((Ue=i.teamSeasonDataForm.get("xLink"))==null?null:Ue.invalid)&&((Ue=i.teamSeasonDataForm.get("xLink"))==null?null:Ue.touched)),c(),m("ngIf",((Ht=i.teamSeasonDataForm.get("xLink"))==null?null:Ht.invalid)&&((Ht=i.teamSeasonDataForm.get("xLink"))==null?null:Ht.touched)),c(5),I("error",((nt=i.teamSeasonDataForm.get("tiktokLink"))==null?null:nt.invalid)&&((nt=i.teamSeasonDataForm.get("tiktokLink"))==null?null:nt.touched)),c(),m("ngIf",((Bt=i.teamSeasonDataForm.get("tiktokLink"))==null?null:Bt.invalid)&&((Bt=i.teamSeasonDataForm.get("tiktokLink"))==null?null:Bt.touched)),c(5),I("error",((me=i.teamSeasonDataForm.get("primaryEmailContact"))==null?null:me.invalid)&&((me=i.teamSeasonDataForm.get("primaryEmailContact"))==null?null:me.touched)),c(),m("ngIf",((Mn=i.teamSeasonDataForm.get("primaryEmailContact"))==null?null:Mn.invalid)&&((Mn=i.teamSeasonDataForm.get("primaryEmailContact"))==null?null:Mn.touched)),c(9),m("value",i.primaryColor),c(),I("error",i.primaryColorError),m("value",i.primaryColor),c(2),O(i.primaryColor),c(),m("ngIf",i.primaryColorError),c(5),m("value",i.secondaryColor),c(),I("error",i.secondaryColorError),m("value",i.secondaryColor),c(2),O(i.secondaryColor),c(),m("ngIf",i.secondaryColorError),c(18),m("formGroup",i.teamSeasonDataForm),c(16),m("formGroup",i.teamSeasonDataForm),c(4),m("value",(i.team==null?null:i.team.name)||""),c(4),m("value",(i.currentSeasonData==null?null:i.currentSeasonData.school)||""),c(4),m("readonly",!i.canEditInternationalNumber),c(),m("ngIf",i.canEditInternationalNumber),c(4),m("value",(i.team==null?null:i.team.romanianNumber)||""),c(4),m("value",(i.currentSeasonData==null?null:i.currentSeasonData.city)||""),c(4),m("value",(i.currentSeasonData==null?null:i.currentSeasonData.county)||""),c(4),m("value",(i.currentSeasonData==null?null:i.currentSeasonData.country)||""),c(4),I("error",i.isRookieYearInvalid),c(),m("ngIf",i.rookieYearError),c(6),m("disabled",i.isSaving),c(2),w(" ",i.isSaving?"Saving...":"Salva\u021Bi modific\u0103rile"," ")}},dependencies:[H,$,se,Oe,re,lt,ie,Pe,Cn,$e,We,Ge],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--primary-color: #667eea;--primary-hover: #5a6fd8;--secondary-color: #6c757d;--secondary-hover: #5a6268;--success-color: #28a745;--success-hover: #218838;--danger-color: #dc3545;--danger-hover: #c82333;--info-color: var(--natie-blue-accessible);--info-hover: #0056b3;--warning-color: #ffc107;--warning-hover: #e0a800;
156--light-bg: #f8f9fa;--border-color: #e1e5e9;--text-primary: #1a1a1a;--text-secondary: #6c757d;--text-muted: #adb5bd}.section[_ngcontent-%COMP%]{margin-bottom:3rem}.section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;border:none;padding:0}.media-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.media-card[_ngcontent-%COMP%]{background:var(--light-bg);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.media-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.media-preview[_ngcontent-%COMP%]{margin-bottom:1rem}.media-preview[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:200px;object-fit:cover;border-radius:6px;border:1px solid var(--border-color)}.media-preview[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%]{width:100%;height:200px;border:2px dashed var(--border-color);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--light-bg);color:var(--text-secondary)}.media-preview[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2rem;margin-bottom:.5rem;color:var(--text-muted)}.media-preview[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.9rem}.media-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-wrap:wrap}.media-hint[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:#007bff1a;border-radius:6px;border-left:3px solid var(--info-color)}.media-hint[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--info-color);font-size:.9rem}.media-hint[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--info-color);font-size:.875rem;font-weight:500}.form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;min-height:48px;box-sizing:border-box}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;min-height:80px}.map-row[_ngcontent-%COMP%]{margin-bottom:1.5rem}.map-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;width:100%}.map-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.map-container[_ngcontent-%COMP%] .location-map[_ngcontent-%COMP%]{width:100%;max-width:800px;height:400px;border-radius:8px;border:2px solid #e9ecef;box-shadow:0 2px 8px #0000001a;z-index:1;cursor:pointer}.map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%]{margin-top:10px;padding:12px 16px;background:#f8f9fa;border-radius:6px;border-left:4px solid #667eea;width:100%;max-width:800px}
156.map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#495057;font-size:14px;display:flex;align-items:center;gap:8px}.map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea;font-size:16px}.map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%]{margin-top:12px;background:#dc3545;border:1px solid #dc3545;color:#fff;padding:10px 20px;border-radius:6px;font-weight:500;transition:all .3s ease;cursor:pointer}.map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%]:hover{background:#c82333;border-color:#bd2130;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}[_nghost-%COMP%] .leaflet-control-geosearch{margin-top:10px!important;margin-right:10px!important}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;border:2px solid #667eea}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input{padding:8px 12px;font-size:14px;border:none;border-radius:4px;min-width:250px}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input:focus{outline:none}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input::placeholder{color:#999}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form button{background:#667eea;border:none}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form button:hover{background:#5a6fd8}[_nghost-%COMP%] .leaflet-control-geosearch .results{background:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px;max-height:300px;overflow-y:auto;border:1px solid #e9ecef}[_nghost-%COMP%] .leaflet-control-geosearch .results>*{padding:10px 12px;border-bottom:1px solid #e9ecef;cursor:pointer;transition:background .2s ease}[_nghost-%COMP%] .leaflet-control-geosearch .results>*:hover{background:#f8f9fa}[_nghost-%COMP%] .leaflet-control-geosearch .results>*:last-child{border-bottom:none}[_nghost-%COMP%] .leaflet-control-geosearch .results .active{background:#e7f3ff}[_nghost-%COMP%] .leaflet-top.leaflet-right{z-index:1000}.help-text[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.color-picker-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.color-picker[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:block}.color-input-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--border-color);border-radius:6px}.color-input-group[_ngcontent-%COMP%] input[type=color][_ngcontent-%COMP%]{width:50px;height:40px;border:none;border-radius:4px;cursor:pointer}.color-input-group[_ngcontent-%COMP%] .hex-input[_ngcontent-%COMP%]{width:100px;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;text-transform:uppercase;background:var(--light-bg);transition:background-color .2s ease}.color-input-group[_ngcontent-%COMP%] .hex-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #667eea33;background:#fff}.color-input-group[_ngcontent-%COMP%] .hex-input.error[_ngcontent-%COMP%]{border-color:var(--danger-color);box-shadow:0 0 0 2px #dc354533;background:#fff5f5}.color-input-group[_ngcontent-%COMP%] .hex-input[_ngcontent-%COMP%]::placeholder{color:var(--text-secondary);font-size:.8rem}.color-input-group[_ngcontent-%COMP%] .color-value[_ngcontent-%COMP%]{font-family:Courier New,monospace;font-weight:500;color:var(--text-secondary);background:var(--light-bg);padding:.5rem;border-radius:4px}.color-error[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;font-size:.85rem}
156.color-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--danger-color)}.form-group[_ngcontent-%COMP%] input[readonly][_ngcontent-%COMP%]{background:var(--light-bg);color:var(--text-secondary);cursor:not-allowed;border-color:#e9ecef}.info-note[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#007bff1a;border-radius:6px;color:var(--info-color);font-size:.9rem;margin-top:1rem}.info-note[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--info-color)}.form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;margin-top:1.5rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color, #dee2e6);flex-shrink:0;background:#fff!important;position:sticky;bottom:0;z-index:10;box-shadow:0 -2px 10px #0000001a}.form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px;font-weight:500;text-transform:none}.btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s;text-decoration:none;font-size:.9rem;min-height:48px;box-sizing:border-box}.btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[_ngcontent-%COMP%]{background:var(--primary-color);color:#fff}.btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-success[_ngcontent-%COMP%]{background:var(--success-color, #28a745);color:#fff!important;border:1px solid var(--success-color, #28a745)}.btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--success-hover, #218838);border-color:var(--success-hover, #218838)}.btn.btn-success[_ngcontent-%COMP%]:disabled{background:#6c757d;border-color:#6c757d;color:#fff!important}.btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color, #6c757d);color:#fff!important;border:1px solid var(--secondary-color, #6c757d)}.btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover, #5a6268);border-color:var(--secondary-hover, #5a6268)}.btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);color:#fff}.btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover)}.btn.btn-outline-danger[_ngcontent-%COMP%]{background:transparent;color:var(--danger-color);border:1px solid var(--danger-color)}.btn.btn-outline-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-color);color:#fff}.btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.8rem}
156.btn.btn-large[_ngcontent-%COMP%]{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.error-message[_ngcontent-%COMP%]:before{content:"\\26a0";font-size:.75rem}input.error[_ngcontent-%COMP%], select.error[_ngcontent-%COMP%], textarea.error[_ngcontent-%COMP%]{border-color:#dc3545!important;box-shadow:0 0 0 .2rem #dc354540!important}.floating-save-footer[_ngcontent-%COMP%]{position:fixed;bottom:2rem;right:2rem;z-index:1000}.floating-save-btn[_ngcontent-%COMP%]{box-shadow:0 4px 20px #00000026;border-radius:50px;padding:1rem 2rem;font-weight:600;transition:box-shadow .3s ease}.floating-save-btn[_ngcontent-%COMP%]:hover:not(:disabled){box-shadow:0 6px 25px #0003}.floating-save-btn[_ngcontent-%COMP%]:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){[_nghost-%COMP%]{padding:1rem}.form-grid[_ngcontent-%COMP%], .media-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.floating-save-footer[_ngcontent-%COMP%]{bottom:1rem;right:1rem}.floating-save-btn[_ngcontent-%COMP%]{padding:.8rem 1.5rem;font-size:.9rem}}@media (max-width: 480px){[_nghost-%COMP%]{padding:.5rem}.btn[_ngcontent-%COMP%]{padding:.6rem 1rem;font-size:.8rem}
156.btn-large[_ngcontent-%COMP%]{padding:.8rem 1.5rem;font-size:1rem}.floating-save-footer[_ngcontent-%COMP%]{bottom:.5rem;left:.5rem;right:.5rem}.floating-save-btn[_ngcontent-%COMP%]{width:100%;padding:.7rem 1rem;font-size:.85rem;border-radius:8px}}']})}}return t})();function s6(t,s){t&1&&(r(0,"span"),a(1," Numele sponsorului este obligatoriu "),o())}function c6(t,s){if(t&1&&(r(0,"div",36),h(1,s6,2,0,"span",37),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.sponsorForm.get("name"))==null||e.errors==null?null:e.errors.required)}}function l6(t,s){t&1&&(r(0,"span"),a(1," M\u0103rimea sponsorului este obligatorie "),o())}function d6(t,s){if(t&1&&(r(0,"div",36),h(1,l6,2,0,"span",37),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.sponsorForm.get("size"))==null||e.errors==null?null:e.errors.required)}}function m6(t,s){t&1&&(r(0,"span"),a(1," Numele legal al companiei este obligatoriu "),o())}function g6(t,s){if(t&1&&(r(0,"div",36),h(1,m6,2,0,"span",37),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.sponsorForm.get("legal_name"))==null||e.errors==null?null:e.errors.required)}}function p6(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 de email valid\u0103 "),o())}function u6(t,s){if(t&1&&(r(0,"div",36),h(1,p6,2,0,"span",37),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.sponsorForm.get("email"))==null||e.errors==null?null:e.errors.email)}}function _6(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 web valid\u0103 "),o())}function f6(t,s){if(t&1&&(r(0,"div",36),h(1,_6,2,0,"span",37),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.sponsorForm.get("link"))==null||e.errors==null?null:e.errors.url)}}function h6(t,s){t&1&&(r(0,"li"),a(1,"Numele sponsorului este obligatoriu"),o())}function C6(t,s){t&1&&(r(0,"li"),a(1,"M\u0103rimea sponsorului este obligatorie"),o())}function v6(t,s){t&1&&(r(0,"li"),a(1,"Numele legal al companiei este obligatoriu"),o())}function M6(t,s){t&1&&(r(0,"li"),a(1,"Adresa de email nu este valid\u0103"),o())}function x6(t,s){t&1&&(r(0,"li"),a(1,"Adresa web nu este valid\u0103"),o())}function b6(t,s){if(t&1&&(r(0,"div",38)(1,"div",39),_(2,"i",40),r(3,"strong"),a(4,"V\u0103 rug\u0103m s\u0103 completa\u021Bi toate c\xE2mpurile obligatorii:"),o(),r(5,"ul"),h(6,h6,2,0,"li",37)(7,C6,2,0,"li",37)(8,v6,2,0,"li",37)(9,M6,2,0,"li",37)(10,x6,2,0,"li",37),o()()()),t&2){let e,n,i,d,u,x=p(2);c(6),m("ngIf",(e=x.sponsorForm.get("name"))==null?null:e.invalid),c(),m("ngIf",(n=x.sponsorForm.get("size"))==null?null:n.invalid),c(),m("ngIf",(i=x.sponsorForm.get("legal_name"))==null?null:i.invalid),c(),m("ngIf",(d=x.sponsorForm.get("email"))==null?null:d.invalid),c(),m("ngIf",(u=x.sponsorForm.get("link"))==null?null:u.invalid)}}function P6(t,s){if(t&1){let e=E();r(0,"div",8),b("click",function(){v(e);let i=p();return M(i.cancelSponsorForm())}),r(1,"div",9),b("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",10)(3,"h3"),a(4),o(),r(5,"button",11),b("click",function(){v(e);let i=p();return M(i.cancelSponsorForm())}),_(6,"i",12),o()(),r(7,"div",13)(8,"form",14),b("ngSubmit",function(){v(e);let i=p();return M(i.createSponsor())}),r(9,"div",15)(10,"div",16)(11,"label"),a(12,"Nume sponsor *"),o(),_(13,"input",17),h(14,c6,2,1,"div",18),o(),r(15,"div",16)(16,"label"),a(17,"Dimensiune *"),o(),r(18,"select",19)(19,"option",20),a(20,"Alege dimensiunea"),o(),r(21,"option",21),a(22,"Mic"),o(),r(23,"option",22),a(24,"Mediu"),o(),r(25,"option",23),a(26,"Mare"),o(),r(27,"option",24),a(28,"Platinum"),o()(),h(29,d6,2,1,"div",18),o(),r(30,"div",16)(31,"label"),a(32,"Nume legal *"),o(),_(33,"input",25),h(34,g6,2,1,"div",18),o(),r(35,"div",16)(36,"label"),a(37,"Email"),o(),_(38,"input",26),h(39,u6,2,1,"div",18),o(),r(40,"div",16)(41,"label"),a(42,"Website"),o(),_(43,"input",27),h(44,f6,2,1,"div",18),o(),r(45,"div",16)(46,"label"),a(47,"Logo"),o(),r(48,"input",28),b("change",function(i){v(e);let d=p();return M(d.onSponsorLogoSelected(i))}),o(),r(49,"label",29),_(50,"i",30),a(51),o()()(),h(52,b6,11,5,"div",31),r(53,"div",32)(54,"button",33),_(55,"i",34),a(56),o(),r(57,"button",35),b("click",function(){v(e);let i=p();return M(i.cancelSponsorForm())}),_(58,"i",12),a(59," Anulare "),o()()()()()()}if(t&2){let e,n,i,d,u,x,y,k,W,U,Y=p();c(4),O(Y.isEditingSponsor?"Editare sponsor":"Adaug\u0103 sponsor"),c(4),m("formGroup",Y.sponsorForm),c(5),I("error",((e=Y.sponsorForm.get("name"))==null?null:e.invalid)&&
156((e=Y.sponsorForm.get("name"))==null?null:e.touched)),c(),m("ngIf",((n=Y.sponsorForm.get("name"))==null?null:n.invalid)&&((n=Y.sponsorForm.get("name"))==null?null:n.touched)),c(4),I("error",((i=Y.sponsorForm.get("size"))==null?null:i.invalid)&&((i=Y.sponsorForm.get("size"))==null?null:i.touched)),c(11),m("ngIf",((d=Y.sponsorForm.get("size"))==null?null:d.invalid)&&((d=Y.sponsorForm.get("size"))==null?null:d.touched)),c(4),I("error",((u=Y.sponsorForm.get("legal_name"))==null?null:u.invalid)&&((u=Y.sponsorForm.get("legal_name"))==null?null:u.touched)),c(),m("ngIf",((x=Y.sponsorForm.get("legal_name"))==null?null:x.invalid)&&((x=Y.sponsorForm.get("legal_name"))==null?null:x.touched)),c(4),I("error",((y=Y.sponsorForm.get("email"))==null?null:y.invalid)&&((y=Y.sponsorForm.get("email"))==null?null:y.touched)),c(),m("ngIf",((k=Y.sponsorForm.get("email"))==null?null:k.invalid)&&((k=Y.sponsorForm.get("email"))==null?null:k.touched)),c(4),I("error",((W=Y.sponsorForm.get("link"))==null?null:W.invalid)&&((W=Y.sponsorForm.get("link"))==null?null:W.touched)),c(),m("ngIf",((U=Y.sponsorForm.get("link"))==null?null:U.invalid)&&((U=Y.sponsorForm.get("link"))==null?null:U.touched)),c(7),w(" ",Y.selectedSponsorLogo?"Schimb\u0103 logo-ul":"Selecteaz\u0103 logo"," "),c(),m("ngIf",Y.sponsorForm.invalid&&Y.sponsorForm.touched),c(2),m("disabled",Y.isCreatingSponsor),c(2),w(" ",Y.isCreatingSponsor?"Se salveaz\u0103...":Y.isEditingSponsor?"Actualizare":"Ad\u0103ugare"," ")}}function O6(t,s){if(t&1&&(r(0,"div",52)(1,"p")(2,"strong"),a(3,"Nume:"),o(),a(4),o(),r(5,"p")(6,"strong"),a(7,"Nume legal:"),o(),a(8),o(),r(9,"p")(10,"strong"),a(11,"Email:"),o(),a(12),o()()),t&2){let e=p(2);c(4),w(" ",e.sponsorToDelete.name,""),c(4),w(" ",e.sponsorToDelete.legal_name,""),c(4),w(" ",e.sponsorToDelete.email||"Nu este specificat","")}}function y6(t,s){t&1&&_(0,"i",53)}function w6(t,s){t&1&&_(0,"i",54)}function S6(t,s){if(t&1){let e=E();r(0,"div",8),b("click",function(){v(e);let i=p();return M(i.cancelDeleteSponsorConfirmation())}),r(1,"div",41),b("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",10)(3,"h3"),a(4,"Confirmare \u0219tergere sponsor"),o(),r(5,"button",11),b("click",function(){v(e);let i=p();return M(i.cancelDeleteSponsorConfirmation())}),_(6,"i",12),o()(),r(7,"div",13)(8,"div",42)(9,"div",43),_(10,"i",40),o(),r(11,"h4"),a(12,"Sunte\u021Bi sigur c\u0103 dori\u021Bi s\u0103 \u0219terge\u021Bi acest sponsor?"),o(),h(13,O6,13,3,"div",44),r(14,"div",45)(15,"p"),_(16,"i",46),a(17," Aceast\u0103 ac\u021Biune nu poate fi anulat\u0103. Toate datele asociate cu acest sponsor vor fi \u0219terse permanent."),o()()()(),r(18,"div",47)(19,"button",48),b("click",function(){v(e);let i=p();return M(i.cancelDeleteSponsorConfirmation())}),_(20,"i",12),a(21," Anulare "),o(),r(22,"button",49),b("click",function(){v(e);let i=p();return M(i.confirmDeleteSponsor())}),h(23,y6,1,0,"i",50)(24,w6,1,0,"i",51),a(25),o()()()()}if(t&2){let e=p();c(13),m("ngIf",e.sponsorToDelete),c(6),m("disabled",e.isDeletingSponsor),c(3),m("disabled",e.isDeletingSponsor),c(),m("ngIf",!e.isDeletingSponsor),c(),m("ngIf",e.isDeletingSponsor),c(),w(" ",e.isDeletingSponsor?"Se \u0219terge...":"\u0218terge sponsor"," ")}}function E6(t,s){if(t&1&&(r(0,"div",67),_(1,"img",68),o()),t&2){let e=p().$implicit,n=p(2);c(),m("src",n.getSponsorLogoUrl(e),ae)("alt",e.name)}}function T6(t,s){if(t&1&&(r(0,"div",69)(1,"div",70),_(2,"i",71),r(3,"span",72),a(4),o()()()),t&2){let e=p().$implicit,n=p(2);c(4),O(n.getSponsorInitials(e.name))}}function k6(t,s){if(t&1&&(r(0,"p"),a(1),o()),t&2){let e=p().$implicit;c(),O(e.email)}}function I6(t,s){if(t&1&&(r(0,"a",73),_(1,"i",74),a(2," Viziteaz\u0103 website-ul "),o()),t&2){let e=p().$implicit;m("href",e.link,ae)}}function F6(t,s){if(t&1){let e=E();r(0,"div",57),h(1,E6,2,2,"div",58)(2,T6,5,1,"div",59),r(3,"div",60)(4,"h4"),a(5),o(),r(6,"p"),a(7),o(),r(8,"span",61),a(9),o(),h(10,k6,2,1,"p",37)(11,I6,3,1,"a",62),o(),r(12,"div",63)(13,"button",64),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.editSponsor(i))}),_(14,"i",65),r(15,"strong"),a(16,"Editare"),o()(),r(17,"button",66),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.showDeleteSponsorConfirmationModal(i))}),_(18,"i",53),r(19,"strong"),a(20,"\u0218tergere"),o()()()()}if(t&2){let e=s.$implicit,n=p(2);c(),m("ngIf",n.getSponsorLogoUrl(e)),c(),m("ngIf",!n.getSponsorLogoUrl(e)),c(3),O(e.name),c(2),O(e.legal_name),c(2),O(e.size),c(),m("ngIf",e.email),c(),m("ngIf",e.link)}}function D6(t,s){if(t&1&&(r(0,"div",55),h(1,F6,21,7,"div",56),o()),t&2){let e=p();c(),m("ngForOf",e.teamSponsors)}}function R6(t,s){t&1&&(r(0,"div",75),_(1,"i",76),r(2,"h3"),a(3,"Nu exist\u0103 sponsorii, \xEEnc\u0103"),o(),r(4,"p"),a(5,"Adaug\u0103 primul sponsor pentru a \xEEncepe!"),o()())}var Ru=(()=>{class t{constructor(e,n){this.fb=e,this.sponsorService=n,this.currentSeasonData=null,this.teamSponsors=[],this.showSponsorForm=!1,this.selectedSponsorLogo=null,this.isCreatingSponsor=!1,this.editingSponsor=null,this.isEditingSponsor=!1,this.showDeleteSponsorConfirmation=!1,this.sponsorToDelete=null,this.isDeletingSponsor=!1,this.initializeForm()}ngOnInit(){this.currentSeasonData?.id&&this.loadTeamSponsors()}ngOnChanges(e){e.currentSeasonData&&this.currentSeasonData?.id&&this.loadTeamSponsors()}initializeForm(){this.sponsorForm=this.fb.group({name:["",N.required],size:["",N.required],legal_name:["",N.required],email:["",this.emailValidator.bind(this)],link:["",this.urlValidator.bind(this)]})}loadTeamSponsors(){return q(this,null,function*(){if(this.currentSeasonData?.id)try{let e=yield this.sponsorService.getSponsorsByTeamSeason(this.currentSeasonData.id).toPromise();e?.message&&(this.teamSponsors=e.message)}catch(e){console.error("Error loading team sponsors:",e)}})}showSponsorFormForTeam(){this.showSponsorForm=!0,this.sponsorForm.reset(),this.sponsorForm.patchValue({size:""}),this.selectedSponsorLogo=null,this.editingSponsor=null,this.isEditingSponsor=!1,this.moveModalToBody()}onSponsorLogoSelected(e){let n=e.target.files[0];n&&(this.selectedSponsorLogo=n)}createSponsor(){return q(this,null,function*(){this.validateSponsorForm()&&(this.isEditingSponsor?yield this.updateSponsor():yield this.createNewSponsor())})}createNewSponsor(){return q(this,null,function*(){if(this.sponsorForm.valid&&this.currentSeasonData?.id){this.isCreatingSponsor=!0;try{let e=this.sponsorForm.value,n={name:e.name,size:e.size,legal_name:e.legal_name,email:e.email,link:e.link,teamSeasonDataId:this.currentSeasonData.id},i;if(this.selectedSponsorLogo){let d={quality:.9,maxWidth:200,maxHeight:200};if(i=yield Jt(this.selectedSponsorLogo,d),i.size>2*1024*1024){this.isCreatingSponsor=!1;return}}yield this.sponsorService.createSponsor(n,i).toPromise(),this.showSponsorForm=!1,this.sponsorForm.reset(),this.selectedSponsorLogo=null,yield this.loadTeamSponsors()}catch(e){console.error("Error creating sponsor:",e)}finally{this.isCreatingSponsor=!1}}})}showDeleteSponsorConfirmationModal(e){this.sponsorToDelete=e,this.showDeleteSponsorConfirmation=!0}confirmDeleteSponsor(){return q(this,null,function*(){if(this.sponsorToDelete){this.isDeletingSponsor=!0;try{yield this.sponsorService.deleteSponsor(this.sponsorToDelete.id).toPromise(),yield this.loadTeamSponsors(),this.cancelDeleteSponsorConfirmation()}catch(e){console.error("Error deleting sponsor:",e)}finally{this.isDeletingSponsor=!1}}})}cancelDeleteSponsorConfirmation(){this.showDeleteSponsorConfirmation=!1,this.sponsorToDelete=null,this.isDeletingSponsor=!1}cancelSponsorForm(){this.showSponsorForm=!1,this.sponsorForm.reset(),this.sponsorForm.patchValue({size:""}),this.selectedSponsorLogo=null,this.editingSponsor=null,this.isEditingSponsor=!1}editSponsor(e){this.editingSponsor=e,this.isEditingSponsor=!0,this.showSponsorForm=!0,this.selectedSponsorLogo=null,this.moveModalToBody(),this.sponsorForm.patchValue({name:e.name,size:e.size,legal_name:e.legal_name,email:e.email||"",link:e.link||""})}updateSponsor(){return q(this,null,function*(){if(this.sponsorForm.valid&&this.editingSponsor&&this.currentSeasonData?.id){this.isCreatingSponsor=!0;try{let e=this.sponsorForm.value,n={name:e.name,size:e.size,legal_name:e.legal_name,email:e.email,link:e.link,teamSeasonDataId:this.currentSeasonData.id},i;if(this.selectedSponsorLogo){let d={quality:.9,maxWidth:200,maxHeight:200};if(i=yield Jt(this.selectedSponsorLogo,d),i.size>2*1024*1024){this.isCreatingSponsor=!1;return}}yield this.sponsorService.updateSponsor(this.editingSponsor.id,n,i).toPromise(),this.showSponsorForm=!1,this.sponsorForm.reset(),this.selectedSponsorLogo=null,this.editingSponsor=null,this.isEditingSponsor=!1,yield this.loadTeamSponsors()}catch(e){console.error("Error updating sponsor:",e)}finally{this.isCreatingSponsor=!1}}})}getSponsorLogoUrl(e){return this.sponsorService.getSponsorLogoUrl(e)}getSponsorInitials(e){if(!e)return"SP";let n=e.trim().split(" ");return n.length===1?n[0].substring(0,2).toUpperCase():(n[0].charAt(0)+n[n.length-1].charAt(0)).toUpperCase()}
156moveModalToBody(){setTimeout(()=>{let e=document.querySelector(".modal-overlay");e&&e.parentNode!==document.body&&document.body.appendChild(e)},50)}markFormGroupTouched(e){Object.keys(e.controls).forEach(n=>{let i=e.get(n);i&&(i.markAsTouched(),i instanceof Oi&&this.markFormGroupTouched(i))})}validateSponsorForm(){return this.sponsorForm.invalid?(this.markFormGroupTouched(this.sponsorForm),!1):!0}emailValidator(e){return!e.value||e.value.trim()===""||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.value)?null:{email:!0}}urlValidator(e){if(!e.value||e.value.trim()==="")return null;let n=e.value.trim();return/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.\-@?=&%#+~:;!*'(),]*)*\/?$/i.test(n)?null:{url:!0}}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ho))}}static{this.\u0275cmp=V({type:t,selectors:[["app-sponsors"]],inputs:{currentSeasonData:"currentSeasonData"},standalone:!0,features:[Mt,B],decls:12,vars:4,consts:[[1,"tab-content"],[1,"section"],[1,"section-header"],[1,"btn","btn-primary",3,"click"],[1,"fas","fa-plus"],["class","modal-overlay",3,"click",4,"ngIf"],["class","sponsors-grid",4,"ngIf"],["class","empty-state",4,"ngIf"],[1,"modal-overlay",3,"click"],[1,"modal-content",3,"click"],[1,"modal-header"],["type","button",1,"modal-close",3,"click"],[1,"fas","fa-times"],[1,"modal-body"],[3,"ngSubmit","formGroup"],[1,"form-grid"],[1,"form-group"],["type","text","formControlName","name","placeholder","Nume sponsor"],["class","error-message",4,"ngIf"],["formControlName","size"],["value","","selected","","disabled",""],["value","SMALL"],["value","MEDIUM"],["value","LARGE"],["value","PLATINUM"],["type","text","formControlName","legal_name","placeholder","Numele legal al companiei"],["type","email","formControlName","email","placeholder","[email protected]"],["type","url","formControlName","link","placeholder","https://company.com"],["type","file","id","sponsorLogo","accept","image/*",1,"file-input",3,"change"],["for","sponsorLogo",1,"file-label"],[1,"fas","fa-upload"],["class","form-validation-message",4,"ngIf"],[1,"form-actions"],["type","submit",1,"btn","btn-success",3,"disabled"],[1,"fas","fa-save"],["type","button",1,"btn","btn-secondary",3,"click"],[1,"error-message"],[4,"ngIf"],[1,"form-validation-message"],[1,"alert","alert-warning"],[1,"fas","fa-exclamation-triangle"],[1,"modal-content","delete-confirmation-modal",3,"click"],[1,"delete-confirmation-content"],[1,"warning-icon"],["class","member-info",4,"ngIf"],[1,"warning-message"],[1,"fas","fa-info-circle"],[1,"modal-footer"],["type","button",1,"btn","btn-secondary",3,"click","disabled"],["type","button",1,"btn","btn-danger",3,"click","disabled"],["class","fas fa-trash",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"member-info"],[1,"fas","fa-trash"],[1,"fas","fa-spinner","fa-spin"],[1,"sponsors-grid"],["class","sponsor-card",4,"ngFor","ngForOf"],[1,"sponsor-card"],["class","sponsor-logo",4,"ngIf"],["class","sponsor-logo-placeholder",4,"ngIf"],[1,"sponsor-info"],[1,"sponsor-size"],["target","_blank","class","sponsor-link",3,"href",4,"ngIf"],[1,"sponsor-actions"],[1,"btn","btn-sm","btn-primary",3,"click"],[1,"fas","fa-edit"],[1,"btn","btn-sm","btn-danger",3,"click"],[1,"sponsor-logo"],[3,"src","alt"],[1,"sponsor-logo-placeholder"],[1,"logo-placeholder-content"],[1,"fas","fa-building"],[1,"sponsor-name-initials"],["target","_blank",1,"sponsor-link",3,"href"],[1,"fas","fa-external-link-alt"],[1,"empty-state"],[1,"fas","fa-handshake"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"h2"),a(4,"Sponsorii echipei"),o(),r(5,"button",3),b("click",function(){return i.showSponsorFormForTeam()}),_(6,"i",4),a(7," Adaug\u0103 sponsor "),o()(),h(8,P6,60,21,"div",5)(9,S6,26,6,"div",5)(10,D6,2,1,"div",6)(11,R6,6,0,"div",7),o()()),n&2&&(c(8),m("ngIf",i.showSponsorForm),c(),m("ngIf",i.showDeleteSponsorConfirmation),c(),m("ngIf",i.teamSponsors.length>0),c(),m("ngIf",i.teamSponsors.length===0&&!i.showSponsorForm))},dependencies:[H,X,$,se,Oe,fe,he,re,ue,ie,Pe,$e,We,Ge],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--primary-color: #667eea;--primary-hover: #5a6fd8;--secondary-color: #6c757d;--secondary-hover: #5a6268;--success-color: #28a745;--success-hover: #218838;--danger-color: #dc3545;--danger-hover: #c82333;--info-color: var(--natie-blue-accessible);--info-hover: #0056b3;--warning-color: #ffc107;--warning-hover: #e0a800;
156--light-bg: #f8f9fa;--border-color: #e1e5e9;--text-primary: #1a1a1a;--text-secondary: #6c757d;--text-muted: #adb5bd}.tab-content[_ngcontent-%COMP%]{padding:2rem}.section[_ngcontent-%COMP%]{margin-bottom:3rem}.section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;border:none;padding:0}.form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;min-height:48px;box-sizing:border-box}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;min-height:80px}.form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;margin-top:1.5rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color, #dee2e6);flex-shrink:0;background:#fff!important;position:sticky;bottom:0;z-index:10;box-shadow:0 -2px 10px #0000001a}.form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px;font-weight:500;text-transform:none}.sponsors-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.sponsor-card[_ngcontent-%COMP%]{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:box-shadow .2s;display:flex;flex-direction:column}.sponsor-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #0000001a}.sponsor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%]{flex:1;margin:1rem 0}.sponsor-logo[_ngcontent-%COMP%], .sponsor-logo-placeholder[_ngcontent-%COMP%]{width:100%;height:120px;margin-bottom:1rem;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:1px solid var(--border-color);position:relative}.sponsor-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.sponsor-logo-placeholder[_ngcontent-%COMP%]{background:var(--team-primary-color, #667eea);border-color:var(--team-primary-color, #667eea)}.sponsor-logo-placeholder[_ngcontent-%COMP%] .logo-placeholder-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;z-index:1}.sponsor-logo-placeholder[_ngcontent-%COMP%] .logo-placeholder-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2rem;margin-bottom:.5rem;opacity:.9}.sponsor-logo-placeholder[_ngcontent-%COMP%] .logo-placeholder-content[_ngcontent-%COMP%] .sponsor-name-initials[_ngcontent-%COMP%]{font-size:1.4rem;font-weight:700;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.sponsor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%]{margin:1rem 0}.sponsor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.sponsor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);margin:.25rem 0}.sponsor-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;margin-top:auto;padding-top:1rem;flex-shrink:0}.sponsor-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1;justify-content:center}.btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s;text-decoration:none;font-size:.9rem;min-height:48px;box-sizing:border-box}.btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[_ngcontent-%COMP%]{background:var(--primary-color);color:#fff}.btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-success[_ngcontent-%COMP%]{background:var(--success-color, #28a745);color:#fff!important;border:1px solid var(--success-color, #28a745)}.btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--success-hover, #218838);border-color:var(--success-hover, #218838)}.btn.btn-success[_ngcontent-%COMP%]:disabled{background:#6c757d;border-color:#6c757d;color:#fff!important}.btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color, #6c757d);color:#fff!important;border:1px solid var(--secondary-color, #6c757d)}.btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover, #5a6268);border-color:var(--secondary-hover, #5a6268)}.btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);color:#fff}.btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover)}.btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.8rem}
156.btn.btn-large[_ngcontent-%COMP%]{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.error-message[_ngcontent-%COMP%]:before{content:"\\26a0";font-size:.75rem}.form-validation-message[_ngcontent-%COMP%]{margin:1rem 0}.form-validation-message[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{padding:1rem;border-radius:.5rem;border:1px solid}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%]{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem;color:#f39c12}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:.5rem 0 0;padding-left:1.5rem}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.25rem 0}input.error[_ngcontent-%COMP%], select.error[_ngcontent-%COMP%], textarea.error[_ngcontent-%COMP%]{border-color:#dc3545!important;box-shadow:0 0 0 .2rem #dc354540!important}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:3rem 2rem;color:#6c757d}.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;color:#dee2e6}.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#495057}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.file-input[_ngcontent-%COMP%]{display:none}.file-label[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;color:var(--text-primary);border:1px solid #ced4da;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s;text-decoration:none;min-height:48px;box-sizing:border-box}.file-label[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.file-label[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.file-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem;color:var(--primary-color)}.sponsor-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;color:#667eea;text-decoration:none;font-size:.9rem;transition:color .2s}.sponsor-link[_ngcontent-%COMP%]:hover{color:#5a6fd8;text-decoration:underline}.modal-overlay[_ngcontent-%COMP%]{position:fixed!important;inset:0!important;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:999999!important;animation:_ngcontent-%COMP%_fadeIn .3s ease!important;padding:1rem!important;overflow-y:auto!important;overflow-x:hidden!important;isolation:isolate!important;transform:translateZ(0)!important;will-change:transform!important}.modal-content[_ngcontent-%COMP%]{background:#fff;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:_ngcontent-%COMP%_modalSlideIn .3s ease;position:relative;overflow:hidden;z-index:1000000!important}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:900px}.modal-header[_ngcontent-%COMP%]{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#667eea;flex-shrink:0;position:relative;z-index:2}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.modal-close[_ngcontent-%COMP%]{background:#fff3;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;color:#fff;font-size:1.2rem}.modal-close[_ngcontent-%COMP%]:hover{background:#ffffff4d}.modal-body[_ngcontent-%COMP%]{padding:2rem;overflow-y:auto;flex:1;min-height:0;background:#fff;margin-top:0;position:relative;z-index:1}.modal-body[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.delete-confirmation-modal[_ngcontent-%COMP%]{max-width:500px}
156.delete-confirmation-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:2rem;text-align:center}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#ee5a52);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.5rem;color:#fff}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#1a1a1a;line-height:1.4}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;width:100%;text-align:left}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.5rem 0;color:#495057}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1a1a1a;font-weight:600}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%]{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1rem;width:100%}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#856404;font-size:.9rem;line-height:1.5;display:flex;align-items:flex-start;gap:.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#f39c12;margin-top:.1rem;flex-shrink:0}.modal-footer[_ngcontent-%COMP%]{padding:1.5rem 2rem;display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid var(--border-color);background:#f8f9fa}.modal-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);border-color:var(--danger-color)}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.modal-footer[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color);border-color:var(--secondary-color)}.modal-footer[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover);border-color:var(--secondary-hover)}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_modalSlideIn{0%{transform:translateY(-50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media (max-width: 768px){[_nghost-%COMP%]{padding:1rem}.form-grid[_ngcontent-%COMP%], .sponsors-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.sponsor-logo[_ngcontent-%COMP%], .sponsor-logo-placeholder[_ngcontent-%COMP%]{height:100px}.section-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.form-actions[_ngcontent-%COMP%]{flex-direction:column}.modal-content[_ngcontent-%COMP%]{max-width:95%;max-height:85vh}
156.modal-content.modal-large[_ngcontent-%COMP%]{max-width:95%}.modal-body[_ngcontent-%COMP%]{padding:1rem}.modal-header[_ngcontent-%COMP%]{padding:1rem 1.5rem}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.25rem}}@media (max-width: 480px){[_nghost-%COMP%]{padding:.5rem}.tab-content[_ngcontent-%COMP%]{padding:1rem}.btn[_ngcontent-%COMP%]{padding:.6rem 1rem;font-size:.8rem}.btn-large[_ngcontent-%COMP%]{padding:.8rem 1.5rem;font-size:1rem}.modal-overlay[_ngcontent-%COMP%]{padding:.5rem}.modal-content[_ngcontent-%COMP%]{max-width:100%;max-height:95vh;border-radius:12px}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:100%}.modal-header[_ngcontent-%COMP%]{padding:1rem 1.25rem}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.1rem}.modal-body[_ngcontent-%COMP%]{padding:1.25rem}.modal-close[_ngcontent-%COMP%]{width:32px;height:32px;font-size:1rem}}']})}}return t})();function As(t){return!t.value||t.value.trim()===""||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t.value)?null:{email:!0}}function Ls(t){if(!t.value)return null;let s=t.value.toString().replace(/\D/g,"");return s.length!==10?{phoneInvalid:{value:s.length,required:10}}:null}function Vs(t){if(!t.value)return null;let s=t.value.toString().replace(/\D/g,"");return s.length!==13?{cnpInvalid:{value:s.length,required:13}}:null}function Bs(t,s){t.markAllAsTouched(),requestAnimationFrame(()=>{document.getElementById(s)?.querySelector("input.ng-invalid, select.ng-invalid")?.focus()})}var sd;try{sd=typeof Intl<"u"&&Intl.v8BreakIterator}catch{sd=!1}var eo=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?Mg(this._platformId):typeof document=="object"&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!!(window.chrome||sd)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static{this.\u0275fac=function(n){return new(n||t)(Q(Qn))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function zu(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){let s=t.shadowRoot.activeElement;if(s===t)break;t=s}return t}function cd(t){return Array.isArray(t)?t:[t]}var z6=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Au=(()=>{class t{static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275mod=nn({type:t})}static{this.\u0275inj=tn({providers:[z6]})}}return t})();var Lu=new Set,to,N6=(()=>{class t{constructor(e,n){this._platform=e,this._nonce=n,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):L6}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&A6(e,this._nonce),this._matchMedia(e)}static{this.\u0275fac=function(n){return new(n||t)(Q(eo),Q(pr,8))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function A6(t,s){if(!Lu.has(t))try{to||(to=document.createElement("style"),s&&to.setAttribute("nonce",s),to.setAttribute("type","text/css"),document.head.appendChild(to)),to.sheet&&(to.sheet.insertRule(`@media ${t} {body{ }}`,0),Lu.add(t))}catch(e){console.error(e)}}function L6(t){return{matches:t==="all"||t==="",media:t,addListener:()=>{},removeListener:()=>{}}}var Bu=(()=>{class t{constructor(e,n){this._mediaMatcher=e,this._zone=n,this._queries=new Map,this._destroySubject=new yn}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return Vu(cd(e)).some(i=>this._registerQuery(i).mql.matches)}observe(e){let i=Vu(cd(e)).map(u=>this._registerQuery(u).observable),d=_o(i);return d=ha(d.pipe(wn(1)),d.pipe(Dc(1),kc(0))),d.pipe(_e(u=>{let x={matches:!1,breakpoints:{}};return u.forEach(({matches:y,query:k})=>{x.matches=x.matches||y,x.breakpoints[k]=y}),x}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);let n=this._mediaMatcher.matchMedia(e),d={observable:new uo(u=>{let x=y=>this._zone.run(()=>u.next(y));return n.addListener(x),()=>{n.removeListener(x)}}).pipe(Ca(n),_e(({matches:u})=>({query:e,matches:u})),mi(this._destroySubject)),mql:n};return this._queries.set(e,d),d}static{this.\u0275fac=function(n){return new(n||t)(Q(N6),Q(It))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Vu(t){return t.map(s=>s.split(",")).reduce((s,e)=>s.concat(e)).map(s=>s.trim())}var V6=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return U6(e)&&getComputedStyle(e).visibility==="visible"}isTabbable(e){if(!this._platform.isBrowser)return!1;let n=B6(Y6(e));if(n&&(Uu(n)===-1||!this.isVisible(n)))return!1;let i=e.nodeName.toLowerCase(),d=Uu(e);return e.hasAttribute("contenteditable")?d!==-1:i==="iframe"||i==="object"||this._platform.WEBKIT&&this._platform.IOS&&!G6(e)?!1:i==="audio"?e.hasAttribute("controls")?d!==-1:!1:i==="video"?d===-1?!1:d!==null?!0:this._platform.FIRE
156FOX||e.hasAttribute("controls"):e.tabIndex>=0}isFocusable(e,n){return Z6(e)&&!this.isDisabled(e)&&(n?.ignoreVisibility||this.isVisible(e))}static{this.\u0275fac=function(n){return new(n||t)(Q(eo))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function B6(t){try{return t.frameElement}catch{return null}}function U6(t){return!!(t.offsetWidth||t.offsetHeight||typeof t.getClientRects=="function"&&t.getClientRects().length)}function j6(t){let s=t.nodeName.toLowerCase();return s==="input"||s==="select"||s==="button"||s==="textarea"}function q6(t){return $6(t)&&t.type=="hidden"}function W6(t){return H6(t)&&t.hasAttribute("href")}function $6(t){return t.nodeName.toLowerCase()=="input"}function H6(t){return t.nodeName.toLowerCase()=="a"}function Wu(t){if(!t.hasAttribute("tabindex")||t.tabIndex===void 0)return!1;let s=t.getAttribute("tabindex");return!!(s&&!isNaN(parseInt(s,10)))}function Uu(t){if(!Wu(t))return null;let s=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(s)?-1:s}function G6(t){let s=t.nodeName.toLowerCase(),e=s==="input"&&t.type;return e==="text"||e==="password"||s==="select"||s==="textarea"}function Z6(t){return q6(t)?!1:j6(t)||W6(t)||t.hasAttribute("contenteditable")||Wu(t)}function Y6(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}var dd=class{get enabled(){return this._enabled}set enabled(s){this._enabled=s,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(s,this._startAnchor),this._toggleAnchorTabIndex(s,this._endAnchor))}constructor(s,e,n,i,d=!1){this._element=s,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,d||this.attachAnchors()}destroy(){let s=this._startAnchor,e=this._endAnchor;s&&(s.removeEventListener("focus",this.startAnchorListener),s.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(s){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(s)))})}focusFirstTabbableElementWhenReady(s){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(s)))})}focusLastTabbableElementWhenReady(s){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(s)))})}_getRegionBoundary(s){let e=this._element.querySelectorAll(`[cdk-focus-region-${s}], [cdkFocusRegion${s}], [cdk-focus-${s}]`);return s=="start"?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(s){let e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){let n=this._getFirstTabbableElement(e);return n?.focus(s),!!n}return e.focus(s),!0}return this.focusFirstTabbableElement(s)}focusFirstTabbableElement(s){let e=this._getRegionBoundary("start");return e&&e.focus(s),!!e}focusLastTabbableElement(s){let e=this._getRegionBoundary("end");return e&&e.focus(s),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(s){if(this._checker.isFocusable(s)&&this._checker.isTabbable(s))return s;let e=s.children;for(let n=0;n<e.length;n++){let i=e[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(e[n]):null;if(i)return i}return null}_getLastTabbableElement(s){if(this._checker.isFocusable(s)&&this._checker.isTabbable(s))return s;let e=s.children;for(let n=e.length-1;n>=0;n--){let i=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(i)return i}return null}_createAnchor(){let s=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,s),s.classList.add("cdk-visually-hidden"),s.classList.add("cdk-focus-trap-anchor"),s.setAttribute("aria-hidden","true"),s}_toggleAnchorTabIndex(s,e){s?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(s){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(s,this._startAnchor),this._toggleAnchorTabIndex(s,this._endAnchor))}_executeOnStable(s){this._ngZone.isStable?s():this._ngZone.onStable.pipe(wn(1)).subscribe(s)}},K6=(()=>{class t{constructor(e,n,i){this._checker=e,this._ngZone=n,this._document=i}create(e,n=!1){return new dd(e,this._checker,this._ngZone,this._document,n)}static{this.\u0275fac=function(n){return new(n||t)(Q(V6),Q(It),Q(_t))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Us=(()=>{class t{get enabled(){return this.focusTrap?.enabled||!1}set enabled(e){this.focusTrap&&(this.focusTrap.enabled=e)}constructor(e,n,i){this._elementRef=e,this._focusTrapFactory=n,this._previouslyFocusedElement=null,ge(eo).isBrowser&&(this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0))}ngOnDestroy(){this.focusTrap?.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap?.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap&&!this.focusTrap.hasAttached()&&this.focusTrap.attachAnchors()}ngOnChanges(e){let n=e.autoCapture;n&&!n.firstChange&&this.autoCapture&&this.focusTrap?.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=zu(),this.focusTrap?.focusInitialElementWhenReady()}static{this.\u0275fac=function(n){return new(n||t)(T(Ze),T(K6),T(_t))}}static{this.\u0275dir=qe({type:t,selectors:[["","cdkTrapFocus",""]],inputs:{enabled:[Lt.HasDecoratorInputTransform,"cdkTrapFocus","enabled",Rn],autoCapture:[Lt.HasDecoratorInputTransform,"cdkTrapFocusAutoCapture","autoCapture",Rn]},exportAs:["cdkTrapFocus"],standalone:!0,features:[_r,Mt]})}}return t})();var no=function(t){return t[t.NONE=0]="NONE",t[t.BLACK_ON_WHITE=1]="BLACK_ON_WHITE",t[t.WHITE_ON_BLACK=2]="WHITE_ON_BLACK",t}(no||{}),ju="cdk-high-contrast-black-on-white",qu="cdk-high-contrast-white-on-black",ld="cdk-high-contrast-active",Q6=(()=>{class t{constructor(e,n){this._platform=e,this._document=n,this._breakpointSubscription=ge(Bu).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasse
156s())})}getHighContrastMode(){if(!this._platform.isBrowser)return no.NONE;let e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);let n=this._document.defaultView||window,i=n&&n.getComputedStyle?n.getComputedStyle(e):null,d=(i&&i.backgroundColor||"").replace(/ /g,"");switch(e.remove(),d){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return no.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return no.BLACK_ON_WHITE}return no.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){let e=this._document.body.classList;e.remove(ld,ju,qu),this._hasCheckedHighContrastMode=!0;let n=this.getHighContrastMode();n===no.BLACK_ON_WHITE?e.add(ld,ju):n===no.WHITE_ON_BLACK&&e.add(ld,qu)}}static{this.\u0275fac=function(n){return new(n||t)(Q(eo),Q(_t))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),js=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}static{this.\u0275fac=function(n){return new(n||t)(Q(Q6))}}static{this.\u0275mod=nn({type:t})}static{this.\u0275inj=tn({imports:[Au]})}}return t})();var qs=(()=>{class t{static{this.openCount=0}static{this.previousOverflow=""}constructor(e){this.element=e,this.mounted=!1}ngAfterViewInit(){let e=this.element.nativeElement,n=e.ownerDocument,i=n.defaultView?.getComputedStyle(e);if(i)for(let d=0;d<i.length;d++){let u=i.item(d);u.startsWith("--")&&e.style.setProperty(u,i.getPropertyValue(u))}t.openCount++===0&&(t.previousOverflow=n.body.style.overflow,n.body.style.overflow="hidden"),n.body.appendChild(e),this.mounted=!0}ngOnDestroy(){if(!this.mounted)return;let e=this.element.nativeElement;e.remove(),--t.openCount===0&&(e.ownerDocument.body.style.overflow=t.previousOverflow)}static{this.\u0275fac=function(n){return new(n||t)(T(Ze))}}static{this.\u0275dir=qe({type:t,selectors:[["","rosterModal",""]],standalone:!0})}}return t})();function Hu(e){return q(this,arguments,function*(t,s={}){let{quality:n=.8,maxSizeMB:i=2,enableCompression:d=!0}=s;if(!d)return t;let u=i*1024*1024;if(t.size<=u)return console.log("PDF is already within size limit, no compression needed"),t;try{let x=yield J6(t,n);return x.size>u&&n>.3?(console.log("First compression attempt not sufficient, trying with lower quality"),yield Hu(t,ye(J({},s),{quality:n*.7}))):x}catch(x){return console.error("PDF compression failed:",x),t}})}function J6(t,s){return q(this,null,function*(){return new Promise((e,n)=>{let i=new FileReader;i.onload=d=>q(this,null,function*(){try{let u=d.target?.result;if("CompressionStream"in window)try{let ce=new CompressionStream("deflate"),we=ce.writable.getWriter(),ee=ce.readable.getReader();yield we.write(new Uint8Array(u)),yield we.close();let Ue=[],Ht=!1;for(;!Ht;){let{value:In,done:io}=yield ee.read();Ht=io,In&&Ue.push(In)}let nt=Ue.reduce((In,io)=>In+io.length,0),Bt=new Uint8Array(nt),me=0;for(let In of Ue)Bt.set(In,me),me+=In.length;let Mn=new File([Bt],t.name.replace(".pdf","_compressed.pdf"),{type:"application/pdf",lastModified:Date.now()});console.log(`PDF compression: ${Ws(t.size)} -> ${Ws(Mn.size)}`),e(Mn);return}catch(ce){console.warn("Browser compression failed, falling back to basic compression:",ce)}let x=Math.max(.4,s),y=Math.floor(u.byteLength*x),k=new ArrayBuffer(y),W=new Uint8Array(u),U=new Uint8Array(k),Y=Math.min(W.length,y);if(U.set(W.slice(0,Y)),Y<y){let ce=y-Y,we=Math.min(Y,ce);U.set(W.slice(0,we),Y)}let le=new File([k],t.name.replace(".pdf","_compressed.pdf"),{type:"application/pdf",lastModified:Date.now()});console.log(`PDF compression (fallback): ${Ws(t.size)} -> ${Ws(le.size)}`),e(le)}catch(u){n(u)}}),i.onerror=()=>{n(new Error("Failed to read PDF file"))},i.readAsArrayBuffer(t)})})}function X6(t){return t.type.toLowerCase()==="application/pdf"||t.name.toLowerCase().endsWith(".pdf")}function $s(e){return q(this,arguments,function*(t,s={}){return X6(t)?Hu(t,s):t})}function Ws(t){if(t===0)return"0 Bytes";let s=1024,e=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(t)/Math.log(s));return parseFloat((t/Math.pow(s,n)).toFixed(2))+" "+e[n]}function e8(t,s){t&1&&(r(0,"div",16)(1,"div",4),_(2,"i",17),r(3,"div",6)(4,"span",7),a(5,"Important"),o(),a(6," Exist\u0103 mentori cu date incomplete. Diplomele se acord\u0103 numai mentorilor cu statusul \u201ECompletat\u201D: toate datele corecte \u0219i acordurile \xEEnc\u0103rcate \xEEn format PDF. "),o()()())}function t8(t,s){t&1&&(r(0,"div",18)(1,"div",4),_(2,"i",19),r(3,"div",6)(4,"span",7),a(5,"Completat"),o(),a(6," To\u021Bi mentorii introdu\u0219i au date complete \u0219i sunt eligibili pentru diplome, dac\u0103 informa\u021Biile r\u0103m\xE2n complete p\xE2n\u0103 la \xEEnchiderea componen\u021Bei finale. "),o()()())}function n8(t,s){t&1&&(r(0,"div",20),_(1,"i",21),r(2,"p")(3,"strong"),a(4,"Componen\u021B\u0103 final\u0103:"),o(),a(5," Nu pute\u021Bi ad\u0103uga, edita sau \u0219terge mentori. Componen\u021B
156a echipelor a fost blocat\u0103 de administrator. Pentru urgen\u021Be: [email protected]"),o()())}function i8(t,s){t&1&&(r(0,"span"),a(1," Prenumele este obligatoriu "),o())}function o8(t,s){if(t&1&&(r(0,"div",89),h(1,i8,2,0,"span",67),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.mentorForm.get("firstName"))==null||e.errors==null?null:e.errors.required)}}function r8(t,s){t&1&&(r(0,"span"),a(1," Numele este obligatoriu "),o())}function a8(t,s){if(t&1&&(r(0,"div",89),h(1,r8,2,0,"span",67),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.mentorForm.get("lastName"))==null||e.errors==null?null:e.errors.required)}}function s8(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 de email valid\u0103 "),o())}function c8(t,s){if(t&1&&(r(0,"div",89),h(1,s8,2,0,"span",67),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.mentorForm.get("email"))==null||e.errors==null?null:e.errors.email)}}function l8(t,s){t&1&&(r(0,"span"),a(1," Num\u0103rul de telefon trebuie s\u0103 aib\u0103 exact 10 cifre "),o())}function d8(t,s){if(t&1&&(r(0,"div",89),h(1,l8,2,0,"span",67),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.mentorForm.get("phone"))==null||e.errors==null?null:e.errors.phoneInvalid)}}function m8(t,s){t&1&&(r(0,"span"),a(1," CNP-ul trebuie s\u0103 aib\u0103 exact 13 cifre "),o())}function g8(t,s){if(t&1&&(r(0,"div",89),h(1,m8,2,0,"span",67),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.mentorForm.get("personalNumericalCode"))==null||e.errors==null?null:e.errors.cnpInvalid)}}function p8(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o dat\u0103 valid\u0103 "),o())}function u8(t,s){t&1&&(r(0,"span"),a(1,"Data na\u0219terii este obligatorie."),o())}function _8(t,s){t&1&&(r(0,"span"),a(1,"Anul sezonului nu este configurat."),o())}function f8(t,s){t&1&&(r(0,"span"),a(1," Mentorul trebuie s\u0103 aib\u0103 minimum 18 ani la 1 octombrie din anul de \xEEnceput al sezonului "),o())}function h8(t,s){if(t&1&&(r(0,"div",89),h(1,p8,2,0,"span",67)(2,u8,2,0,"span",67)(3,_8,2,0,"span",67)(4,f8,2,0,"span",67),o()),t&2){let e,n,i,d,u=p(2);c(),m("ngIf",(e=u.mentorForm.get("dateOfBirth"))==null||e.errors==null?null:e.errors.invalidDate),c(),m("ngIf",(n=u.mentorForm.get("dateOfBirth"))==null||n.errors==null?null:n.errors.required),c(),m("ngIf",(i=u.mentorForm.get("dateOfBirth"))==null||i.errors==null?null:i.errors.seasonYearMissing),c(),m("ngIf",(d=u.mentorForm.get("dateOfBirth"))==null||d.errors==null?null:d.errors.ageTooYoung)}}function C8(t,s){t&1&&(r(0,"div",89),a(1,"Introduce\u021Bi un num\u0103r \xEEntreg de sezoane, minimum 0."),o())}function v8(t,s){t&1&&(r(0,"div",89),a(1,"Selecta\u021Bi rolul tehnic sau nontehnic."),o())}function M8(t,s){t&1&&(r(0,"span"),a(1," Tipul de mentor este obligatoriu "),o())}function x8(t,s){if(t&1&&(r(0,"div",89),h(1,M8,2,0,"span",67),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.mentorForm.get("mentorRole"))==null||e.errors==null?null:e.errors.required)}}function b8(t,s){t&1&&(r(0,"fieldset",90)(1,"legend"),a(2,"Categorii mentor extern"),o(),r(3,"p",30),a(4,"Po\u021Bi selecta mai multe categorii."),o(),r(5,"label"),_(6,"input",91),a(7," Peer mentor (sub 21 de ani la 1 octombrie)"),o(),r(8,"label"),_(9,"input",92),a(10," Mentor din industrie"),o(),r(11,"label"),_(12,"input",93),a(13," Mentor p\u0103rinte"),o()())}function P8(t,s){t&1&&(r(0,"strong"),a(1,"Mentor principal"),o())}function O8(t,s){t&1&&(r(0,"label"),_(1,"input",94),a(2," Desemneaz\u0103 ca mentor principal"),o())}function y8(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(3);c(),O(e.selectedMentorFiles.gdpr.name)}}function w8(t,s){t&1&&(r(0,"span"),_(1,"i",99),a(2," Fi\u0219ier deja \xEEnc\u0103rcat "),o())}function S8(t,s){if(t&1){let e=E();r(0,"button",100),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedMentorFile("gdpr"))}),_(1,"i",27),o()}}function E8(t,s){if(t&1&&(r(0,"div",95)(1,"div",96),_(2,"i",97),h(3,y8,2,1,"span",67)(4,w8,3,0,"span",67)(5,S8,2,0,"button",98),o()()),t&2){let e=p(2);c(3),m("ngIf",e.selectedMentorFiles.gdpr),c(),m("ngIf",!e.selectedMentorFiles.gdpr&&e.selectedMentorFilePreviews.gdpr==="existing"),c(),m("ngIf",e.selectedMentorFiles.gdpr)}}function T8(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(3);c(),O(e.selectedMentorFiles.image.name)}}function k8(t,s){t&1&&(r(0,"span"),_(1,"i",99),a(2," Fi\u0219ier deja \xEEnc\u0103rcat "),o())}function I8(t,s){if(t&1){let e=E();r(0,"button",100),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedMentorFile("image"))}),_(1,"i",27),o()}}function F8(t,s){if(t&1&&(r(0,"div",95)(1,"div",96),_(2,"i",97),h(3,T8,2,1,"span",67)(4,k8,3,0,"span",67)(5,I8,2,0,"button",98),o()()),t&2){let e=p(2);c(3),m("ngIf",e.selectedMentorFiles.image),c(),m("ngIf",!e.selectedMentorFiles.image&&e.selectedMentorFilePreviews.image==="existing"),c(),m("ngIf",e.selectedMentorFiles.image)}}function D8(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(3);
156c(),O(e.selectedMentorFiles.first.name)}}function R8(t,s){t&1&&(r(0,"span"),_(1,"i",99),a(2," Fi\u0219ier deja \xEEnc\u0103rcat "),o())}function z8(t,s){if(t&1){let e=E();r(0,"button",100),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedMentorFile("first"))}),_(1,"i",27),o()}}function N8(t,s){if(t&1&&(r(0,"div",95)(1,"div",96),_(2,"i",97),h(3,D8,2,1,"span",67)(4,R8,3,0,"span",67)(5,z8,2,0,"button",98),o()()),t&2){let e=p(2);c(3),m("ngIf",e.selectedMentorFiles.first),c(),m("ngIf",!e.selectedMentorFiles.first&&e.selectedMentorFilePreviews.first==="existing"),c(),m("ngIf",e.selectedMentorFiles.first)}}function A8(t,s){t&1&&(r(0,"div",101)(1,"div",102),_(2,"i",103),r(3,"strong"),a(4,"Verifica\u021Bi c\xE2mpurile marcate mai sus."),o()()())}function L8(t,s){if(t&1&&(r(0,"div",101)(1,"div",104),_(2,"i",17),r(3,"strong"),a(4,"Eroare:"),o(),a(5),o()()),t&2){let e=p(2);c(5),w(" ",e.errorMessage," ")}}function V8(t,s){if(t&1){let e=E();r(0,"div",22),b("click",function(){v(e);let i=p();return M(i.cancelMentorForm())}),r(1,"div",23),b("keydown.escape",function(){v(e);let i=p();return M(i.cancelMentorForm())})("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",24)(3,"h3",25),a(4),o(),r(5,"button",26),b("click",function(){v(e);let i=p();return M(i.cancelMentorForm())}),_(6,"i",27),o()(),r(7,"div",28)(8,"form",29),b("ngSubmit",function(){v(e);let i=p();return M(i.createMentor())}),r(9,"p",30),a(10,"C\xE2mpurile marcate cu * sunt obligatorii pentru salvare."),o(),r(11,"div",31)(12,"div",32)(13,"label",33),a(14,"Prenume *"),o(),_(15,"input",34),h(16,o8,2,1,"div",35),o(),r(17,"div",32)(18,"label",36),a(19,"Nume *"),o(),_(20,"input",37),h(21,a8,2,1,"div",35),o(),r(22,"div",32)(23,"label",38),a(24,"Email"),o(),_(25,"input",39),h(26,c8,2,1,"div",35),o(),r(27,"div",32)(28,"label",40),a(29,"Nr. Telefon"),o(),_(30,"input",41),h(31,d8,2,1,"div",35),o(),r(32,"div",32)(33,"label",42),a(34,"CNP"),o(),_(35,"input",43),h(36,g8,2,1,"div",35),o(),r(37,"div",32)(38,"label",44),a(39,"Data na\u0219terii *"),o(),_(40,"input",45),h(41,h8,5,4,"div",35),o(),r(42,"div",32)(43,"label",46),a(44,"Profesie (op\u021Bional)"),o(),_(45,"input",47),o(),r(46,"div",32)(47,"label",48),a(48,"Experien\u021Ba FTC (sezoane)"),o(),_(49,"input",49),h(50,C8,2,0,"div",35),o(),r(51,"div",32)(52,"label",50),a(53,"Rol \xEEn echip\u0103 *"),o(),r(54,"select",51)(55,"option",52),a(56,"Selecteaz\u0103 rolul"),o(),r(57,"option",53),a(58,"Nontehnic"),o(),r(59,"option",54),a(60,"Tehnic"),o()(),h(61,v8,2,0,"div",35),o()(),r(62,"div",55)(63,"label",56),a(64,"Tip asociere mentor *"),o(),r(65,"div",57)(66,"label",58),_(67,"input",59),r(68,"div",60)(69,"div",61),_(70,"i",62),o(),r(71,"div",63)(72,"h4"),a(73,"Mentor extern"),o(),r(74,"p"),a(75,"Peer mentor, mentor din industrie sau p\u0103rinte"),o()()()(),r(76,"label",58),_(77,"input",64),r(78,"div",60)(79,"div",61),_(80,"i",65),o(),r(81,"div",63)(82,"h4"),a(83,"Mentor profesor"),o(),r(84,"p"),a(85,"Profesor din liceul echipei"),o()()()()(),h(86,x8,2,1,"div",35),o(),h(87,b8,14,0,"fieldset",66),r(88,"div",32),h(89,P8,2,0,"strong",67)(90,O8,3,0,"label",67),r(91,"small"),a(92,"Primul mentor devine automat principal. Selectarea altui mentor transfer\u0103 acest rol. Mentorul principal nu poate fi \u0219ters \xEEnainte de transfer."),o()(),r(93,"div",68)(94,"h5"),a(95,"Acordurile se semneaz\u0103 \u0219i se \xEEncarc\u0103:"),o(),r(96,"div",69)(97,"div",70)(98,"span",71),a(99,"Acord utilizare date personale (Personal Data Usage Agreement)"),o()(),r(100,"div",72)(101,"button",73),b("click",function(){v(e);let i=p();return M(i.downloadModelGdprMinori())}),_(102,"i",74),a(103," Descarc\u0103 model minori "),o(),r(104,"button",73),b("click",function(){v(e);let i=p();return M(i.downloadModelGdprMajori())}),_(105,"i",74),a(106," Descarc\u0103 model majori "),o()(),r(107,"div",75),h(108,E8,6,3,"div",76),r(109,"input",77),b("change",function(i){v(e);let d=p();return M(d.onMentorFileSelected(i,"gdpr"))}),o(),r(110,"label",78),_(111,"i",79),a(112),o()()(),r(113,"div",69)(114,"div",70)(115,"span",71),a(116,"Acord utilizare imagine (Image Usage Agreement)"),o()(),r(117,"div",72)(118,"button",73),b("click",function(){v(e);let i=p();return M(i.downloadModelImageMinori())}),_(119,"i",74),a(120," Descarc\u0103 model minori "),o(),r(121,"button",73),b("click",function(){v(e);let i=p();return M(i.downloadModelImageMajori())}),_(122,"i",74),a(123," Descarc\u0103 model majori "),o()(),r(124,"div",75),h(125,F8,6,3,"div",76),r(126,"input",80),b("change",function(i){v(e);let d=p();return M(d.onMentorFileSelected(i,"image"))}),o(),r(127,"label",81),_(128,"i",79),a(129),o()()(),r(130,"div",69)(131,"div",70)(132,"span",71),a(133,"Acord FIRST policies (FIRST Policies Agreement)"),o()(),r(134,"div",72)(135,"button",73),b("click",function(){v(e);let i=p();return M(i.downloadModelFirst())}),_(136,"i",74),a(137," Descarc\u0103 model "),o()(),r(138,"div",75),h(139,N8,6,3,"div",76),r(140,"input",82),b("change",function(i){v(e);let d=p();return M(d.onMentorFileSelected(i,"first"))}),o(),r(141,"label",83),_(142,"i",79),a(143),o()()()(),h(144,A8,5,0,"div",84)(145,L8,6,1,"div",84),o()(),r(146,"div",85)(147,"button",86),_(148,"i",87),a(149),o(),r(150,"button",88),b("click",function(){v(e);let i=p();return M(i.cancelMentorForm())}),_(151,"i",27),a(152," Anulare "),o()()()()}if(t&2){let e,n,i,d,u,x,y,k,W,U,Y,le,ce,we,ee,Ue,Ht,nt,Bt,me=p();c(),m("cdkTrapFocusAutoCapture",!0),c(3),O(me.isEditingMentor?"Editare mentor":"Ad\u0103ugare mentor nou"),c(),m("disabled",me.isCreatingMentor),c(3),m("formGroup",me.mentorForm),
156c(7),I("error",((e=me.mentorForm.get("firstName"))==null?null:e.invalid)&&((e=me.mentorForm.get("firstName"))==null?null:e.touched)),c(),m("ngIf",((n=me.mentorForm.get("firstName"))==null?null:n.invalid)&&((n=me.mentorForm.get("firstName"))==null?null:n.touched)),c(4),I("error",((i=me.mentorForm.get("lastName"))==null?null:i.invalid)&&((i=me.mentorForm.get("lastName"))==null?null:i.touched)),c(),m("ngIf",((d=me.mentorForm.get("lastName"))==null?null:d.invalid)&&((d=me.mentorForm.get("lastName"))==null?null:d.touched)),c(4),I("error",((u=me.mentorForm.get("email"))==null?null:u.invalid)&&((u=me.mentorForm.get("email"))==null?null:u.touched)),c(),m("ngIf",((x=me.mentorForm.get("email"))==null?null:x.invalid)&&((x=me.mentorForm.get("email"))==null?null:x.touched)),c(4),I("error",((y=me.mentorForm.get("phone"))==null?null:y.invalid)&&((y=me.mentorForm.get("phone"))==null?null:y.touched)),c(),m("ngIf",((k=me.mentorForm.get("phone"))==null?null:k.invalid)&&((k=me.mentorForm.get("phone"))==null?null:k.touched)),c(4),I("error",((W=me.mentorForm.get("personalNumericalCode"))==null?null:W.invalid)&&((W=me.mentorForm.get("personalNumericalCode"))==null?null:W.touched)),c(),m("ngIf",((U=me.mentorForm.get("personalNumericalCode"))==null?null:U.invalid)&&((U=me.mentorForm.get("personalNumericalCode"))==null?null:U.touched)),c(4),I("error",((Y=me.mentorForm.get("dateOfBirth"))==null?null:Y.invalid)&&((Y=me.mentorForm.get("dateOfBirth"))==null?null:Y.touched)),c(),m("ngIf",((le=me.mentorForm.get("dateOfBirth"))==null?null:le.invalid)&&((le=me.mentorForm.get("dateOfBirth"))==null?null:le.touched)),c(9),m("ngIf",((ce=me.mentorForm.get("ftcExperience"))==null?null:ce.invalid)&&((ce=me.mentorForm.get("ftcExperience"))==null?null:ce.touched)),c(4),I("error",((we=me.mentorForm.get("mentorType"))==null?null:we.invalid)&&((we=me.mentorForm.get("mentorType"))==null?null:we.touched)),c(7),m("ngIf",((ee=me.mentorForm.get("mentorType"))==null?null:ee.invalid)&&((ee=me.mentorForm.get("mentorType"))==null?null:ee.touched)),c(5),I("selected",((Ue=me.mentorForm.get("mentorRole"))==null?null:Ue.value)==="external"),c(10),I("selected",((Ht=me.mentorForm.get("mentorRole"))==null?null:Ht.value)==="teacher"),c(10),m("ngIf",((nt=me.mentorForm.get("mentorRole"))==null?null:nt.invalid)&&((nt=me.mentorForm.get("mentorRole"))==null?null:nt.touched)),c(),m("ngIf",((Bt=me.mentorForm.get("mentorRole"))==null?null:Bt.value)==="external"),c(2),m("ngIf",me.isPrimaryFixed),c(),m("ngIf",!me.isPrimaryFixed),c(18),m("ngIf",me.selectedMentorFilePreviews.gdpr),c(4),w(" ",me.selectedMentorFiles.gdpr?"Schimb\u0103 fi\u0219ierul":me.selectedMentorFilePreviews.gdpr==="existing"?"\xCEnlocuie\u0219te fi\u0219ierul":"Selecteaz\u0103 fi\u0219ier"," "),c(13),m("ngIf",me.selectedMentorFilePreviews.image),c(4),w(" ",me.selectedMentorFiles.image?"Schimb\u0103 fi\u0219ierul":me.selectedMentorFilePreviews.image==="existing"?"\xCEnlocuie\u0219te fi\u0219ierul":"Selecteaz\u0103 fi\u0219ier"," "),c(10),m("ngIf",me.selectedMentorFilePreviews.first),c(4),w(" ",me.selectedMentorFiles.first?"Schimb\u0103 fi\u0219ierul":me.selectedMentorFilePreviews.first==="existing"?"\xCEnlocuie\u0219te fi\u0219ierul":"Selecteaz\u0103 fi\u0219ier"," "),c(),m("ngIf",me.mentorForm.invalid&&me.mentorForm.touched),c(),m("ngIf",me.errorMessage),c(2),m("disabled",me.isCreatingMentor),c(2),w(" ",me.isCreatingMentor?"Se salveaz\u0103...":me.isEditingMentor?"Actualizare":"Ad\u0103ugare"," "),c(),m("disabled",me.isCreatingMentor)}}function B8(t,s){if(t&1&&(r(0,"div",117)(1,"p")(2,"strong"),a(3,"Nume:"),o(),a(4),o(),r(5,"p")(6,"strong"),a(7,"Email:"),o(),a(8),o(),r(9,"p")(10,"strong"),a(11,"Ocupa\u021Bie:"),o(),a(12),o()()),t&2){let e=p(2);c(4),G(" ",e.mentorToDelete.firstName," ",e.mentorToDelete.lastName,""),c(4),w(" ",e.mentorToDelete.email||"Nu este specificat",""),c(4),w(" ",(e.mentorToDelete.mentorData==null?null:e.mentorToDelete.mentorData.occupation)||"Nu este specificat","")}}function U8(t,s){if(t&1&&(r(0,"div",118)(1,"div",104),_(2,"i",17),r(3,"strong"),a(4,"Eroare:"),o(),a(5),o()()),t&2){let e=p(2);c(5),w(" ",e.deleteErrorMessage," ")}}function j8(t,s){t&1&&_(0,"i",119)}function q8(t,s){t&1&&_(0,"i",120)}function W8(t,s){if(t&1){let e=E();r(0,"div",22),b("click",function(){v(e);let i=p();return M(i.cancelDeleteMentorConfirmation())}),r(1,"div",105),b("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",24)(3,"h3"),a(4,"Confirmare \u0219tergere mentor"),o(),r(5,"button",106),b("click",function(){v(e);let i=p();return M(i.cancelDeleteMentorConfirmation())}),_(6,"i",27),o()(),r(7,"div",28)(8,"div",107)(9,"div",108),_(10,"i",103),o(),r(11,"h4"),a(12,"Sunte\u021Bi sigur c\u0103 dori\u021Bi s\u0103 \u0219terge\u021Bi acest mentor?"),o(),h(13,B8,13,4,"div",109),r(14,"div",110)(15,"p"),_(16,"i",111),a(17," Aceast\u0103 ac\u021Biune nu poate fi anulat\u0103. Toate datele asociate cu acest mentor vor fi \u0219terse permanent."),o()(),h(18,U8,6,1,"div",112),o()(),r(19,"div",113)(20,"button",88),b("click",function(){v(e);let i=p();return M(i.cancelDeleteMentorConfirmation())}),_(21,"i",27),a(22," Anulare "),o(),r(23,"button",114),b("click",function(){v(e);let i=p();return M(i.confirmDeleteMentor())}),h(24,j8,1,0,"i",115)(25,q8,1,0,"i",116),a(26),o()()()()}if(t&2){let e=p();c(13),m("ngIf",e.mentorToDelete),c(5),m("ngIf",e.deleteErrorMessage),c(2),m("disabled",e.isDeletingMentor),c(3),m("disabled",e.isDeletingMentor),c(),m("ngIf",!e.isDeletingMentor),c(),m("ngIf",e.isDeletingMentor),c(),w(" ",e.isDeletingMentor?"Se \u0219terge...":"\u0218terge mentor"," ")}}function $8(t,s){t&1&&(r(0,"span",128),a(1,"Peer mentor"),o())}function H8(t,s){t&1&&(r(0,"span",128),a(1,"Industrie"),o())}function G8(t,s){t&1&&(r(0,"span",128),a(1,"P\u0103rinte"),o())}function Z8(t,s){if(t&1){let e=E();r(0,"div",148)(1,"div",149),_(2,"i",97),r(3,"span",150),a(4),o(),r(5,"span",151),a(6),o()(),r(7,"div",152)(8,"button",153),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.downloadMentorFile(i))}),_(9,"i",74),o(),r(10,"button",154),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.viewMentorFile(i))}),_(11,"i",155),o()()()}if(t&2){let e=s.$implicit,n=p(5);c(4),O(n.getDisplayFileName(e.name)),c(2),O(n.formatFileSize(e.size))}}function Y8(t,s){if(t&1&&(r(0,"div",144)(1,"div",145),a(2,"Acord utilizare date personale (GDPR Agreement)"),o(),r(3,"div",146),h(4,Z8,12,2,"div",147),o()()),t&2){let e=p(2).$implicit,n=p(2);c(4),m("ngForOf",n.getMentorFilesByType(e,"gdpr"))}}function K8(t,s){if(t&1){let e=E();r(0,"div",148)(1,"div",149),_(2,"i",97),r(3,"span",150),a(4),o(),r(5,"span",151),a(6),o()(),r(7,"div",152)(8,"button",153),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.downloadMentorFile(i))}),_(9,"i",74),o(),r(10,"button",154),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.viewMentorFile(i))}),_(11,"i",155),o()()()}if(t&2){let e=s.$implicit,n=p(5);c(4),O(n.getDisplayFileName(e.name)),c(2),O(n.formatFileSize(e.size))}}function Q8(t,s){if(t&1&&(r(0,"div",144)(1,"div",145),a(2,"Acord utilizare imagine (Image Agreement)"),o(),r(3,"div",146),h(4,K8,12,2,"div",147),o()()),t&2){let e=p(2).$implicit,n=p(2);c(4),m("ngForOf",n.getMentorFilesByType(e,"image"))}}function J8(t,s){if(t&1){let e=E();r(0,"div",148)(1,"div",149),_(2,"i",97),r(3,"span",150),a(4),o(),r(5,"span",151),a(6),o()(),r(7,"div",152)(8,"button",153),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.downloadMentorFile(i))}),_(9,"i",74),o(),r(10,"button",154),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.viewMentorFile(i))}),_(11,"i",155),o()()()}if(t&2){let e=s.$implicit,n=p(5);c(4),O(n.getDisplayFileName(e.name)),c(2),O(n.formatFileSize(e.size))}}function X8(t,s){if(t&1&&(r(0,"div",144)(1,"div",145),a(2,"Acord FIRST policies (FIRST Agreement)"),o(),r(3,"div",146),h(4,J8,12,2,"div",147),o()()),t&2){let e=p(2).$implicit,n=p(2);c(4),m("ngForOf",n.getMentorFilesByType(e,"first"))}}function e7(t,s){if(t&1){let e=E();r(0,"div",139)(1,"div",140),b("click",function(){v(e);let i=p().$implicit,d=p(2);return M(d.toggleMentorFilesAccordion(i.id))}),r(2,"h6"),a(3,"Fi\u0219iere \xEEnc\u0103rcate"),o(),_(4,"i",141),o(),r(5,"div",142),h(6,Y8,5,1,"div",143)(7,Q8,5,1,"div",143)(8,X8,5,1,"div",143),o()()}if(t&2){let e=p().$implicit,n=p(2);
156c(4),I("rotated",n.isMentorFilesExpanded(e.id)),c(),I("expanded",n.isMentorFilesExpanded(e.id))("collapsed",!n.isMentorFilesExpanded(e.id)),c(),m("ngIf",n.getMentorFilesByType(e,"gdpr").length>0),c(),m("ngIf",n.getMentorFilesByType(e,"image").length>0),c(),m("ngIf",n.getMentorFilesByType(e,"first").length>0)}}function t7(t,s){t&1&&(r(0,"div",156)(1,"p"),_(2,"i",111),a(3," Nu sunt fi\u0219iere \xEEnc\u0103rcate pentru acest mentor"),o()())}function n7(t,s){if(t&1){let e=E();r(0,"div",123)(1,"div",124)(2,"div",125)(3,"h4"),a(4),o(),r(5,"span",126),a(6),o()(),r(7,"div",127)(8,"span",128),_(9,"i",129),a(10),o(),r(11,"span",128),_(12,"i",129),a(13),o(),h(14,$8,2,0,"span",130)(15,H8,2,0,"span",130)(16,G8,2,0,"span",130),o()(),r(17,"div",131)(18,"div",132)(19,"label"),a(20,"Nume"),o(),r(21,"span"),a(22),o()(),r(23,"div",132)(24,"label",38),a(25,"Email"),o(),r(26,"span"),a(27),o()(),r(28,"div",132)(29,"label",40),a(30,"Nr. Telefon"),o(),r(31,"span"),a(32),o()(),r(33,"div",132)(34,"label"),a(35,"Ocupa\u021Bie"),o(),r(36,"span"),a(37),o()()(),h(38,e7,9,9,"div",133)(39,t7,4,0,"div",134),r(40,"div",135)(41,"button",136),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.editMentor(i))}),_(42,"i",137),r(43,"strong"),a(44,"Editare"),o()(),r(45,"button",138),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.showDeleteMentorConfirmationModal(i))}),_(46,"i",119),r(47,"strong"),a(48,"\u0218tergere"),o()()()()}if(t&2){let e=s.$implicit,n=s.index,i=p(2);c(4),O(e.mentorData!=null&&e.mentorData.isPrimary?"Mentor principal":"Mentor "+(n+1)),c(),m("ngClass",i.getMentorStatusClass(e)),c(),w(" ",i.getMentorStatus(e)," "),c(3),m("ngClass",e.mentorData!=null&&e.mentorData.isTeacherMentor?"fa-chalkboard-teacher":"fa-users"),c(),w(" ",e.mentorData!=null&&e.mentorData.isTeacherMentor?"Profesor din liceul echipei":"Mentor extern"," "),c(2),m("ngClass",(e.mentorData==null?null:e.mentorData.mentorType)==="TECH"?"fa-cogs":"fa-comments"),c(),w(" ",(e.mentorData==null?null:e.mentorData.mentorType)==="TECH"?"Tehnic":"Nontehnic"," "),c(),m("ngIf",e.mentorData==null?null:e.mentorData.isPeerMentor),c(),m("ngIf",e.mentorData==null?null:e.mentorData.isIndustryMentor),c(),m("ngIf",e.mentorData==null?null:e.mentorData.isParentMentor),c(6),G("",e.firstName," ",e.lastName,""),c(5),O(e.email||"Not provided"),c(5),O(e.phone||"Not provided"),c(5),O((e.mentorData==null?null:e.mentorData.occupation)||"Not specified"),c(),m("ngIf",e.files&&e.files.length>0),c(),m("ngIf",!e.files||e.files.length===0),c(2),m("disabled",i.isRosterLocked),c(4),m("disabled",i.isRosterLocked)}}function i7(t,s){if(t&1&&(r(0,"div",121),h(1,n7,49,19,"div",122),o()),t&2){let e=p();c(),m("ngForOf",e.teamMentors)}}function o7(t,s){t&1&&(r(0,"div",157),_(1,"i",158),r(2,"h3"),a(3,"Nu exist\u0103 mentori \xEEn baza de date, \xEEnc\u0103"),o(),r(4,"p"),a(5,"Adauga\u021Bi primul mentor pentru a \xEEncepe!"),o()())}var Gu=(()=>{class t{constructor(e,n,i){this.fb=e,this.teamsService=n,this.fileService=i,this.currentSeasonData=null,this.isRosterLocked=!1,this.seasonDataUpdated=new it,this.teamMentors=[],this.showMentorForm=!1,this.selectedMentorFiles={},this.selectedMentorFilePreviews={},this.isCreatingMentor=!1,this.editingMentor=null,this.isEditingMentor=!1,this.isUploadingMentorFiles={},this.showDeleteMentorConfirmation=!1,this.mentorToDelete=null,this.isDeletingMentor=!1,this.errorMessage=null,this.deleteErrorMessage=null,this.expandedMentorFiles=new Set,this.initializeForm()}ngOnChanges(e){e.currentSeasonData&&this.currentSeasonData?.id&&this.loadTeamMentors()}getFormPayload(){let e=this.mentorForm.getRawValue();return{firstName:e.firstName,lastName:e.lastName,email:e.email||"",phone:e.phone||"",personalNumericalCode:e.personalNumericalCode||"",dateOfBirth:e.dateOfBirth||"",ftcExperience:e.ftcExperience||0,occupation:e.occupation||"",isPrimary:this.isPrimaryFixed||!!e.isPrimary,isPeerMentor:e.mentorRole==="external"&&!!e.isPeerMentor,isIndustryMentor:e.mentorRole==="external"&&!!e.isIndustryMentor,isParentMentor:e.mentorRole==="external"&&!!e.isParentMentor,isTeacherMentor:e.mentorRole==="teacher",mentorType:e.mentorType||"NON_TECH"}}resetForm(){this.mentorForm.reset({ftcExperience:0,mentorRole:"",mentorType:"",isPrimary:this.teamMentors.length===0,isPeerMentor:!1,isIndustryMentor:!1,isParentMentor:!1})}initializeForm(){this.mentorForm=this.fb.group({firstName:["",N.required],lastName:["",N.required],email:["",As],phone:["",Ls],personalNumericalCode:["",Vs],dateOfBirth:["",[N.required,this.ageValidator.bind(this)]],ftcExperience:[0,[N.min(0),N.pattern(/^\d+$/)]],occupation:[""],mentorRole:["",N.required],mentorType:["",N.required],isPrimary:[!1],isPeerMentor:[!1],isIndustryMentor:[!1],isParentMentor:[!1]})}loadTeamMentors(){return q(this,null,function*(){if(this.currentSeasonData?.id)try{let e=yield this.teamsService.getMentorsByTeamSeason(this.currentSeasonData.id).toPromise();e?.message&&(this.teamMentors=e.message)}catch(e){console.error("Error loading team mentors:",e)}})}showMentorFormForTeam(){this.isRosterLocked||(this.showMentorForm=!0,this.errorMessage=null,this.resetForm(),this.selectedMentorFiles={},this.selectedMentorFilePreviews={},this.editingMentor=null,this.isEditingMentor=!1)}onMentorFileSelected(e,n){return q(this,null,function*(){let i=e.target.files[0];if(i){if(this.errorMessage=null,!i.type.includes("pdf")){this.errorMessage="Selecta\u021Bi un document PDF.";return}try{let u=yield $s(i,{quality:.8,maxSizeMB:2,enableCompression:!0});if(u.size>2*1024*1024){this.errorMessage="Documentul trebuie s\u0103 aib\u0103 maximum 2 MB dup\u0103 comprimare.";return}this.selectedMentorFiles[n]=u,this.createMentorFilePreview(u,n)}catch(d){console.error("PDF compression failed:",d),this.errorMessage="Documentul nu a putut fi preg\u0103tit. \xCEncerca\u021Bi un alt PDF."}}})}createMentorFilePreview(e,n){let i=new FileReader;i.onload=d=>{this.selectedMentorFilePreviews[n]=d.target.result},i.readAsDataURL(e)}removeSelectedMentorFile(e){this.selectedMentorFiles[e]=null,this.selectedMentorFilePreviews[e]=this.editingMentor?.files?.some(n=>this.determineFileType(n.name)===e)?"existing":null}formatFileSize(e){if(e===0)return"0 Bytes";let n=1024,i=["Bytes","KB","MB","GB"],d=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,d)).toFixed(2))+" "+i[d]}triggerFileDownload(e,n){let i=window.URL.createObjectURL(e),d=document.createElement("a");d.href=i,d.download=n||"download",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(i),1e3)}openBlobInNewTab(e){let n=window.URL.createObjectURL(e);window.open(n,"_blank"),setTimeout(()=>URL.revokeObjectURL(n),1e3)}downloadMentorFile(e){this.fileService.getFileDownloadBlob(e.id).subscribe({next:n=>{this.triggerFileDownload(n,e.name)},error:n=>{console.error("Error downloading mentor file:",n)}})}viewMentorFile(e){this.fileService.getFilePreviewBlob(e.id).subscribe({next:n=>{this.openBlobInNewTab(n)},error:n=>{console.error("Error previewing mentor file:",n)}})}createMentor(){return q(this,null,function*(){this.isCreatingMentor||this.isRosterLocked||(this.errorMessage=null,this.validateMentorForm()&&(this.isEditingMentor?yield this.updateMentor():yield this.createNewMentor()))})}createNewMentor(){return q(this,null,function*(){if(this.mentorForm.valid&&this.currentSeasonData?.id){this.isCreatingMentor=!0,this.errorMessage=null;try{let e=this.getFormPayload(),n=yield this.teamsService.createMentor(this.currentSeasonData.id,e).toProm
156ise(),i=n?.message?.mentor||n?.message,d=n?.message?.teamSeasonData;i&&(yield this.uploadMentorFilesAfterCreation(i.id)),d&&this.seasonDataUpdated.emit(d),this.showMentorForm=!1,this.errorMessage=null,this.resetForm(),this.selectedMentorFiles={},this.selectedMentorFilePreviews={},yield this.loadTeamMentors()}catch(e){console.error("Error creating mentor:",e),this.errorMessage=this.extractErrorMessage(e)}finally{this.isCreatingMentor=!1}}})}uploadMentorFilesAfterCreation(e){return q(this,null,function*(){let n=["gdpr","image","first"],i=this.editingMentor?.firstName||this.mentorForm.get("firstName")?.value||"Mentor",d=this.editingMentor?.lastName||this.mentorForm.get("lastName")?.value||"",u=`${i}_${d}`.replace(/[^a-zA-Z0-9_]/g,"_");for(let x of n){let y=this.selectedMentorFiles[x];if(y)try{let k=new Date().toISOString().replace(/[:.]/g,"-"),W=y.name.split(".").pop(),U="";switch(x){case"gdpr":U="GDPRAgreement";break;case"image":U="ImageAgreement";break;case"first":U="FIRSTAgreement";break}let Y=`${x}_${u}_${U}_${k}.${W}`,le=new File([y],Y,{type:y.type});yield this.fileService.uploadFile(le,"person_files",e).toPromise()}catch(k){console.error(`Error uploading ${x} file:`,k)}}})}showDeleteMentorConfirmationModal(e){this.isRosterLocked||(this.mentorToDelete=e,this.showDeleteMentorConfirmation=!0)}confirmDeleteMentor(){return q(this,null,function*(){if(this.mentorToDelete){this.isDeletingMentor=!0,this.deleteErrorMessage=null;try{let e=yield this.teamsService.deleteMentor(this.mentorToDelete.id).toPromise();e?.message&&this.seasonDataUpdated.emit(e.message),yield this.loadTeamMentors(),this.cancelDeleteMentorConfirmation()}catch(e){console.error("Error deleting mentor:",e),this.deleteErrorMessage=this.extractErrorMessage(e)}finally{this.isDeletingMentor=!1}}})}cancelDeleteMentorConfirmation(){this.showDeleteMentorConfirmation=!1,this.mentorToDelete=null,this.isDeletingMentor=!1,this.deleteErrorMessage=null}cancelMentorForm(){this.isCreatingMentor||(this.showMentorForm=!1,this.errorMessage=null,this.resetForm(),this.selectedMentorFiles={},this.selectedMentorFilePreviews={},this.editingMentor=null,this.isEditingMentor=!1)}editMentor(e){if(this.isRosterLocked)return;this.editingMentor=e,this.isEditingMentor=!0,this.showMentorForm=!0,this.errorMessage=null,this.selectedMentorFiles={},this.selectedMentorFilePreviews={},this.loadExistingMentorFiles(e);let n="";if(e.dateOfBirth){let d=e.dateOfBirth.split("T")[0];d!=="1900-01-01"&&(n=d)}let i=e.mentorData?.isTeacherMentor?"teacher":"external";this.mentorForm.patchValue({firstName:e.firstName,lastName:e.lastName,email:e.email,phone:e.phone,personalNumericalCode:e.personalNumericalCode,dateOfBirth:n,ftcExperience:e.ftcExperience,occupation:e.mentorData?.occupation||"",mentorRole:i,isPrimary:!!e.mentorData?.isPrimary,isPeerMentor:!!e.mentorData?.isPeerMentor,isIndustryMentor:!!e.mentorData?.isIndustryMentor,isParentMentor:!!e.mentorData?.isParentMentor,mentorType:e.mentorData?.mentorType||"NON_TECH"})}loadExistingMentorFiles(e){e.files&&e.files.length>0&&e.files.forEach(n=>{let i=this.determineFileType(n.name);i&&(this.selectedMentorFiles[i]=null,this.selectedMentorFilePreviews[i]="existing")})}updateMentor(){return q(this,null,function*(){if(this.mentorForm.valid&&this.editingMentor&&this.currentSeasonData?.id){this.isCreatingMentor=!0,this.errorMessage=null;try{let e=this.getFormPayload();yield this.teamsService.updateMentor(this.editingMentor.id,e).toPromise(),yield this.uploadMentorFilesAfterCreation(this.editingMentor.id),this.showMentorForm=!1,this.errorMessage=null,this.resetForm(),this.selectedMentorFiles={},this.selectedMentorFilePreviews={},this.editingMentor=null,this.isEditingMentor=!1,yield this.loadTeamMentors()}catch(e){console.error("Error updating mentor:",e),this.errorMessage=this.extractErrorMessage(e)}finally{this.isCreatingMentor=!1}}})}getMentorStatus(e){let n=this.hasAllRequiredMentorFields(e),i=this.hasAllRequiredMentorFiles(e),d=this.hasAllOptionalMentorFields(e);return n&&i&&d?"Completat":"Incomplet"}get hasIncompleteMentors(){return this.teamMentors.some(e=>this.getMentorStatus(e)!=="Completat")}get hasOnlyCompleteMentors(){return this.teamMentors.length>0&&!this.hasIncompleteMentors}hasAllRequiredMentorFields(e){let n=!!(e.firstName&&e.firstName.trim()!==""),i=!!(e.lastName&&e.lastName.trim()!=="");return n&&i}hasAllOptionalMentorFields(e){let n=!!(e.email&&e.email.trim()!==""),i=!!(e.phone&&e.phone.trim()!==""),d=!!(e.personalNumericalCode&&e.personalNumericalCode.trim()!==""),u=this.hasValidDateOfBirth(e);return n&&i&&d&&u}hasValidDateOfBirth(e){return!e.dateOfBirth||e.dateOfBirth===""?!1:e.dateOfBirth.split("T")[0]!=="1900-01-01"}hasAllRequiredMentorFiles(e){if(!e.files||e.files.length<3)return!1;let n=this.getMentorFileTypes(e);return["gdpr","image","first"].every(d=>n.includes(d))}getMentorFileTypes(e){if(!e.files||e.files.length===0)return[];let n=[];
156return e.files.forEach(i=>{let d=this.determineFileType(i.name);d&&!n.includes(d)&&n.push(d)}),n}getMentorStatusClass(e){switch(this.getMentorStatus(e)){case"Completat":return"status-complete";case"Incomplet":return"status-missing";default:return"status-empty"}}canAddMoreMentors(){return!0}getMentorLimitStatus(){return`${this.teamMentors.length}`}getMentorFilesByType(e,n){return!e.files||e.files.length===0?[]:e.files.filter(i=>this.determineFileType(i.name)===n)}getDisplayFileName(e){return e.startsWith("gdpr_")?e.substring(5):e.startsWith("image_")||e.startsWith("first_")?e.substring(6):e}toggleMentorFilesAccordion(e){let n=String(e);this.expandedMentorFiles.has(n)?this.expandedMentorFiles.delete(n):this.expandedMentorFiles.add(n)}isMentorFilesExpanded(e){return this.expandedMentorFiles.has(String(e))}validateMentorForm(){let e=this.ageAtSeasonCutoff(this.mentorForm.value.dateOfBirth);return this.mentorForm.value.mentorRole==="external"&&this.mentorForm.value.isPeerMentor&&e!==null&&e>=21?(this.errorMessage="Un peer mentor trebuie s\u0103 aib\u0103 sub 21 de ani la 1 octombrie \xEEn sezonul respectiv.",!1):this.mentorForm.invalid?(Bs(this.mentorForm,"mentor-roster-form"),!1):!0}downloadModelGdprMinori(){this.downloadModelFile("Declaratie-consimtamant-GDPR-participanti-minori.pdf")}downloadModelGdprMajori(){this.downloadModelFile("Declaratie-consimtamant-GDPR-participanti-majori.pdf")}downloadModelImageMinori(){this.downloadModelFile("Declaratie-consimtamant-IMAGINE-minori.pdf")}downloadModelImageMajori(){this.downloadModelFile("Declaratie-consimtamant-IMAGINE-majori.pdf")}downloadModelFirst(){this.downloadModelFile("Declaratie-FIRST-POLICIES.pdf")}downloadModelFile(e){let n=document.createElement("a");n.href=`assets/team-dashboard/person_files/${e}`,n.download=e,document.body.appendChild(n),n.click(),document.body.removeChild(n)}determineFileType(e){let n=e.toLowerCase();return n.includes("gdpr")?"gdpr":n.includes("image")?"image":n.includes("first")?"first":null}ageValidator(e){if(!e.value)return null;let n=new Date(e.value);if(isNaN(n.getTime()))return{invalidDate:!0};let i=this.ageAtSeasonCutoff(e.value);return i===null?{seasonYearMissing:!0}:i<18?{ageTooYoung:!0}:null}get isPrimaryFixed(){return!!this.editingMentor?.mentorData?.isPrimary||!this.isEditingMentor&&this.teamMentors.length===0}ageAtSeasonCutoff(e){let n=this.currentSeasonData?.season,i=Number(n?.seasonName.match(/(?:19|20)\d{2}/)?.[0])||n?.ftcEventsApiYear,d=new Date(e);return!i||!Number.isFinite(d.getTime())?null:i-d.getUTCFullYear()-(d.getUTCMonth()>9||d.getUTCMonth()===9&&d.getUTCDate()>1?1:0)}extractErrorMessage(e){if(!e)return"A ap\u0103rut o eroare. V\u0103 rug\u0103m s\u0103 \xEEncerca\u021Bi din nou.";let n=e?.error;if(typeof n=="string")return n;let i=n?.message||e?.message||n?.error||n?.detail;if(typeof i=="string")return i;if(Array.isArray(i)){let d=i.filter(u=>typeof u=="string").join(" ");if(d)return d}return"A ap\u0103rut o eroare. V\u0103 rug\u0103m s\u0103 \xEEncerca\u021Bi din nou."}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ne),T(Dt))}}static{this.\u0275cmp=V({type:t,selectors:[["app-mentors"]],inputs:{currentSeasonData:"currentSeasonData",isRosterLocked:"isRosterLocked"},outputs:{seasonDataUpdated:"seasonDataUpdated"},standalone:!0,features:[Mt,B],decls:22,vars:9,consts:[[1,"tab-content"],["class","announcement-banner","role","status",4,"ngIf"],["class","announcement-banner announcement-success","role","status",4,"ngIf"],["role","status",1,"announcement-banner","announcement-deadline"],[1,"announcement-content"],[1,"fas","fa-calendar-alt"],[1,"announcement-text"],[1,"announcement-label"],[1,"section"],[1,"section-header"],[1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-plus"],["class","roster-locked-message",4,"ngIf"],["rosterModal","","class","modal-overlay",3,"click",4,"ngIf"],["class","mentors-grid",4,"ngIf"],["class","empty-state",4,"ngIf"],["role","status",1,"announcement-banner"],[1,"fas","fa-exclamation-circle"],["role","status",1,"announcement-banner","announcement-success"],[1,"fas","fa-check-circle"],[1,"roster-locked-message"],[1,"fas","fa-lock"],["rosterModal","",1,"modal-overlay",3,"click"],["role","dialog","aria-modal","true","aria-labelledby","mentor-form-title","cdkTrapFocus","",1,"modal-content","modal
156-large",3,"keydown.escape","click","cdkTrapFocusAutoCapture"],[1,"modal-header"],["id","mentor-form-title"],["type","button","aria-label","\xCEnchide fereastra",1,"modal-close",3,"click","disabled"],[1,"fas","fa-times"],[1,"modal-body"],["id","mentor-roster-form",3,"ngSubmit","formGroup"],[1,"form-hint"],[1,"form-grid"],[1,"form-group"],["for","mentor-firstName"],["type","text","id","mentor-firstName","formControlName","firstName","placeholder","Prenume"],["class","error-message",4,"ngIf"],["for","mentor-lastName"],["type","text","id","mentor-lastName","formControlName","lastName","placeholder","Nume"],["for","mentor-email"],["type","email","id","mentor-email","formControlName","email","placeholder","[email protected]"],["for","mentor-phone"],["type","tel","id","mentor-phone","formControlName","phone","placeholder","0734 234 234"],["for","mentor-personalNumericalCode"],["type","text","id","mentor-personalNumericalCode","formControlName","personalNumericalCode","placeholder","13 cifre","inputmode","numeric","maxlength","13"],["for","mentor-dateOfBirth"],["type","date","id","mentor-dateOfBirth","formControlName","dateOfBirth"],["for","mentor-occupation"],["type","text","id","mentor-occupation","formControlName","occupation","placeholder","Ex.: inginer software, profesor de fizic\u0103"],["for","mentor-ftcExperience"],["type","number","id","mentor-ftcExperience","formControlName","ftcExperience","min","0","placeholder","0"],["for","mentor-mentorType"],["id","mentor-mentorType","formControlName","mentorType"],["value","","disabled",""],["value","NON_TECH"],["value","TECH"],[1,"mentor-type-section"],[1,"mentor-type-label"],[1,"mentor-type-selector"],[1,"mentor-type-option"],["type","radio","formControlName","mentorRole","value","external"],[1,"mentor-type-content"],[1,"mentor-type-icon"],[1,"fas","fa-users"],[1,"mentor-type-text"],["type","radio","formControlName","mentorRole","value","teacher"],[1,"fas","fa-chalkboard-teacher"],["class","form-group roster-options",4,"ngIf"],[4,"ngIf"],[1,"agreements-section"],[1,"agreement-item"],[1,"agreement-header"],[1,"agreement-title"],[1,"download-buttons"],["type","button",1,"download-btn",3,"click"],[1,"fas","fa-download"],[1,"file-upload"],["class","file-preview",4,"ngIf"],["type","file","id","gdprAgreement","accept",".pdf",1,"file-input",3,"change"],["for","gdprAgreement",1,"file-label"],[1,"fas","fa-upload"],["type","file","id","imageAgreement","accept",".pdf",1,"file-input",3,"change"],["for","imageAgreement",1,"file-label"],["type","file","id","firstAgreement","accept",".pdf",1,"file-input",3,"change"],["for","firstAgreement",1,"file-label"],["class","form-validation-message",4,"ngIf"],[1,"form-actions"],["type","submit","form","mentor-roster-form",1,"btn","btn-success",3,"disabled"],[1,"fas","fa-save"],["type","button",1,"btn","btn-secondary",3,"click","disabled"],[1,"error-message"],[1,"form-group","roster-options"],["type","checkbox","formControlName","isPeerMentor"],["type","checkbox","formControlName","isIndustryMentor"],["type","checkbox","formControlName","isParentMentor"],["type","checkbox","formControlName","isPrimary"],[1,"file-preview"],[1,"preview-content"],[1,"fas","fa-file-pdf"],["type","button","class","remove-file-btn",3,"click",4,"ngIf"],[1,"fas","fa-check-circle",2,"color","green"],["type","button",1,"remove-file-btn",3,"click"],[1,"form-validation-message"],[1,"alert","alert-warning"],[1,"fas","fa-exclamation-triangle"],["role","alert",1,"alert","alert-danger"],[1,"modal-content","delete-confirmation-modal",3,"click"],["type","button","aria-label","\xCEnchide fereastra",1,"modal-close",3,"click"],[1,"delete-confirmation-content"],[1,"warning-icon"],["class","member-info",4,"ngIf"],[1,"warning-message"],[1,"fas","fa-info-circle"],["class","form-validation-message","style","margin-top: 1rem;",4,"ngIf"],[1,"modal-footer"],["type","button",1,"btn","btn-danger",3,"click","disabled"],["class","fas fa-trash",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"member-info"],[1,"form-validation-message",2,"margin-top","1rem"],[1,"fas","fa-trash"],[1,"fas","fa-spinner","fa-spin"],[1,"mentors-grid"],["class","mentor-card",4,"ngFor","ngForOf"],[1,"mentor-card"],[1,"mentor-header"],[1,"mentor-title-row"],[1,"mentor-status",3,"ngClass"],["aria-label","Roluri mentor",1,"mentor-role-tags"],[1,"mentor-role-tag"],[1,"fas",3,"ngClass"],["class","mentor-role-tag",4,"ngIf"],[1,"mentor-info"],[1,"info-item"],["class","mentor-files",4,"ngIf"],["class","no-files",4,"ngIf"],[1,"mentor-actions"],[1,"btn","btn-sm","btn-primary",3,"click","disabled"],[1,"fas","fa-edit"],[1,"btn","btn-sm","btn-danger",3,"click","disabled"],[1,"mentor-files"],[1,"files-header",3,"click"],[1,"fas","fa-chevron-down","accordion-icon"],[1,"files-content"],["class","file-section",4,"ngIf"],[1,"file-section"],[1,"file-section-title"],[1,"files-list"],["class","file-item",4,"ngFor","ngForOf"],[1,"file-item"],[1,"file-info"],[1,"file-name"],[1,"file-size"],[1,"file-actions"],["type","button","title","Descarc\u0103 fi\u0219ierul",1,"download-file-btn",3,"click"],["type","button","title","Vizualizeaz\u0103 fi\u0219ierul",1,"view-file-btn",3,"click"],[1,"fas","fa-eye"],[1,"no-files"],[1,"empty-state"],[1,"fas","fa-user-tie"]],template:function(n,i){n&1&&(r(0,"div",0),h(1,e8,7,0,"div",1)(2,t8,7,0,"div",2),r(3,"div",3)(4,"div",4),_(5,"i",5),r(6,"div",6)(7,"span",7),a(8,"Termen-limit\u0103: 17 ianuarie 2027"),o(),a(9," Dup\u0103 aceast\u0103 dat\u0103 nu se mai pot ad\u0103uga sau modifica mentori. Vor primi diplome numai mentorii introdu\u0219i p\xE2n\u0103 la termen, cu statusul \u201ECompletat\u201D, date corecte \u0219i acorduri PDF. "),o()()(),r(10,"div",8)(11,"div",9)(12,"h2"),a(13,"Mentorii echipei"),o(),r(14,"button",10),b("click",function(){return i.showMentorFormForTeam()}),_(15,"i",11),a(16),o()(),h(17,n8,6,0,"div",12)(18,V8,153,45,"div",13)(19,W8,27,7,"div",13)(20,i7,2,1,"div",14)(21,o7,6,0,"div",15),o()()),n&2&&(c(),m("ngIf",i.hasIncompleteMentors),c(),m("ngIf",i.hasOnlyCompleteMentors),c(12),m("disabled",i.isRosterLocked||!i.canAddMoreMentors()),c(2),w(" ",i.isRosterLocked?"Componen\u021B\u0103 final\u0103":"Ad\u0103ugare mentor"," "),c(),m("ngIf",i.isRosterLocked),c(),m("ngIf",i.showMentorForm),
156c(),m("ngIf",i.showDeleteMentorConfirmation),c(),m("ngIf",i.teamMentors.length>0),c(),m("ngIf",i.teamMentors.length===0&&!i.showMentorForm))},dependencies:[H,xt,X,$,js,Us,qs,se,Oe,fe,he,re,lt,Pt,ue,Kr,ie,Pe,Cn,yt,$e,We,Ge],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--primary-color: #667eea;--primary-hover: #5a6fd8;--secondary-color: #6c757d;--secondary-hover: #5a6268;--success-color: #28a745;--success-hover: #218838;--danger-color: #dc3545;--danger-hover: #c82333;--info-color: var(--natie-blue-accessible);--info-hover: #0056b3;--warning-color: #ffc107;--warning-hover: #e0a800;--light-bg: #f8f9fa;--border-color: #e1e5e9;--text-primary: #1a1a1a;--text-secondary: #6c757d;--text-muted: #adb5bd}.announcement-banner[_ngcontent-%COMP%]{background:#f8d7da;border:1px solid #f1aeb5;border-left:4px solid #721c24;border-radius:8px;margin-bottom:1rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.875rem 1rem;gap:.75rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.125rem;color:#721c24;flex-shrink:0}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{color:#721c24;font-size:.9rem;line-height:1.45;font-weight:600}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%] .announcement-label[_ngcontent-%COMP%]{display:inline-block;margin-right:.5rem;padding:.2rem .55rem;border-radius:12px;background:#721c24;color:#fff;font-size:.75rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.025em}.announcement-banner.announcement-success[_ngcontent-%COMP%]{background:#d4edda;border-color:#b7dfc2;border-left-color:#155724}.announcement-banner.announcement-success[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .announcement-banner.announcement-success[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{color:#155724}.announcement-banner.announcement-success[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-label[_ngcontent-%COMP%]{background:#155724}.announcement-banner.announcement-deadline[_ngcontent-%COMP%]{background:#fff3cd;border-color:#ffe69c;border-left-color:#856404}.announcement-banner.announcement-deadline[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .announcement-banner.announcement-deadline[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{color:#856404}.announcement-banner.announcement-deadline[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-label[_ngcontent-%COMP%]{background:#856404}.roster-locked-message[_ngcontent-%COMP%]{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.roster-locked-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:#f39c12;flex-shrink:0}.roster-locked-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#856404;font-size:1rem;line-height:1.5}.roster-locked-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600}.tab-content[_ngcontent-%COMP%]{padding:2rem}.section[_ngcontent-%COMP%]{margin-bottom:3rem}.section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;border:none;padding:0}.form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;min-height:48px;box-sizing:border-box}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;min-height:80px}.checkbox-group[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.checkbox-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{margin:0}.mentor-type-section[_ngcontent-%COMP%]{margin:2rem 0;padding:1.5rem;background:var(--light-bg);border-radius:12px;border:1px solid var(--border-color)}.mentor-type-label[_ngcontent-%COMP%]{display:block;font-weight:600;color:var(--text-primary);margin-bottom:1rem;font-size:1.1rem}.mentor-type-selector[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mentor-type-option[_ngcontent-%COMP%]{display:block;cursor:pointer;border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;background:#fff;transition:all .3s ease;position:relative;overflow:hidden}.mentor-type-option[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.mentor-type-option.selected[_ngcontent-%COMP%]{border-color:var(--primary-color);background:linear-gradient(135deg,#667eea0d,#667eea1a);box-shadow:0 6px 20px #667eea33;transform:translateY(-2px)}.mentor-type-option.selected[_ngcontent-%COMP%] .mentor-type-icon[_ngcontent-%COMP%]{background:var(--primary-color);transform:scale(1.1)}.mentor-type-option.selected[_ngcontent-%COMP%] .mentor-type-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#fff}.mentor-type-option.selected[_ngcontent-%COMP%] .mentor-type-text[_ngcontent-%COMP%] h4[_ng
156content-%COMP%]{color:var(--primary-color)}.mentor-type-option[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{position:absolute;opacity:0;pointer-events:none}.mentor-type-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;text-align:left}.mentor-type-icon[_ngcontent-%COMP%]{width:60px;height:60px;border-radius:12px;background:var(--light-bg);display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.mentor-type-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:var(--text-secondary);transition:all .3s ease}.mentor-type-text[_ngcontent-%COMP%]{flex:1;min-width:0}.mentor-type-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary);transition:color .3s ease}.mentor-type-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;margin-top:1.5rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color, #dee2e6);flex-shrink:0;background:#fff!important;position:sticky;bottom:0;z-index:10;box-shadow:0 -2px 10px #0000001a}.form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px;font-weight:500;text-transform:none}.mentors-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.mentor-card[_ngcontent-%COMP%]{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:box-shadow .2s;display:flex;flex-direction:column}.mentor-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #0000001a}.mentor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%]{margin:1rem 0}.mentor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.mentor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);margin:.25rem 0}.mentor-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.mentor-header[_ngcontent-%COMP%] .mentor-title-row[_ngcontent-%COMP%]{margin:0;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.mentor-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;min-width:0;color:var(--text-primary);font-size:1.25rem;line-height:1.25}.mentor-header[_ngcontent-%COMP%] .mentor-role-tags[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem}.mentor-header[_ngcontent-%COMP%] .mentor-role-tag[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;padding:.35rem .55rem;border:1px solid #dce2ea;border-radius:6px;background:#f6f8fb;color:#4e5b6b;font-size:.8rem;font-weight:600;line-height:1.25}.mentor-header[_ngcontent-%COMP%] .mentor-role-tag[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color);flex-shrink:0}.mentor-status[_ngcontent-%COMP%]{display:inline-flex;align-items:center;flex-shrink:0;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase;white-space:nowrap}.mentor-status.status-complete[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.mentor-status.status-missing[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.mentor-status.status-empty[_ngcontent-%COMP%]{background:#e2e3e5;color:#6c757d}.info-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.info-item[_ngcontent-%COMP%]:last-child{border-bottom:none}.info-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin:0}.info-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-primary)}.mentor-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;margin-top:auto;padding-top:1rem;flex-shrink:0}.mentor-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1;justify-content:center}.btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s;text-decoration:none;font-size:.9rem;min-height:48px;box-sizing:border-box}.btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[_ngcontent-%COMP%]{background:var(--primary-color);color:#fff}.btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-success[_ngcontent-%COMP%]{background:var(--success-color, #28a745);color:#fff!important;border:1px solid var(--success-color, #28a745)}.btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--success-hover, #218838);border-color:var(--success-hover, #218838)}.btn.btn-success[_ngcontent-%COMP%]:disabled{background:#6c757d;border-color:#6c757d;color:#fff!important}.btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color, #6c757d);color:#fff!important;border:1px solid var(--secondary-color, #6c757d)}.btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover, #5a6268);border-color:var(--secondary-hover, #5a6268)}.btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);color:#fff}.btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover)}.btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.8rem}
156.btn.btn-large[_ngcontent-%COMP%]{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.error-message[_ngcontent-%COMP%]:before{content:"\\26a0";font-size:.75rem}.form-validation-message[_ngcontent-%COMP%]{margin:1rem 0}.form-validation-message[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{padding:1rem;border-radius:.5rem;border:1px solid}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%]{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem;color:#f39c12}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:.5rem 0 0;padding-left:1.5rem}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.25rem 0}.form-validation-message[_ngcontent-%COMP%] .alert.alert-danger[_ngcontent-%COMP%]{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.form-validation-message[_ngcontent-%COMP%] .alert.alert-danger[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem;color:#dc3545}.form-validation-message[_ngcontent-%COMP%] .alert.alert-danger[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:.5rem 0 0;padding-left:1.5rem}.form-validation-message[_ngcontent-%COMP%] .alert.alert-danger[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.25rem 0}input.error[_ngcontent-%COMP%], select.error[_ngcontent-%COMP%], textarea.error[_ngcontent-%COMP%]{border-color:#dc3545!important;box-shadow:0 0 0 .2rem #dc354540!important}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:3rem 2rem;color:#6c757d}.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;color:#dee2e6}.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#495057}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.file-input[_ngcontent-%COMP%]{display:none}.delete-confirmation-modal[_ngcontent-%COMP%]{max-width:500px}.delete-confirmation-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:2rem;text-align:center}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#ee5a52);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.5rem;color:#fff}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#1a1a1a;line-height:1.4}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;width:100%;text-align:left}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.5rem 0;color:#495057}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1
156a1a1a;font-weight:600}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%]{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1rem;width:100%}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#856404;font-size:.9rem;line-height:1.5;display:flex;align-items:flex-start;gap:.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#f39c12;margin-top:.1rem;flex-shrink:0}.modal-footer[_ngcontent-%COMP%]{padding:1.5rem 2rem;display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid var(--border-color);background:#f8f9fa}.modal-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);border-color:var(--danger-color)}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.modal-footer[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color);border-color:var(--secondary-color)}.modal-footer[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover);border-color:var(--secondary-hover)}@keyframes _ngcontent-%COMP%_modalSlideIn{0%{transform:translateY(-50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.agreements-section[_ngcontent-%COMP%]{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:1px solid #dee2e6}.agreements-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem}.agreements-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]:before{content:"\\1f4c4";font-size:1.3rem}.agreement-item[_ngcontent-%COMP%]{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid var(--border-color);transition:background-color .3s ease}.agreement-item[_ngcontent-%COMP%]:last-child{margin-bottom:0}.agreement-item[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #00000014;border-color:#667eea}.agreement-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.agreement-title[_ngcontent-%COMP%]{font-weight:600;color:#2c3e50;font-size:.95rem}.download-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-wrap:wrap;padding-bottom:.75rem}.download-btn[_ngcontent-%COMP%]{padding:.4rem .8rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background-color .3s ease;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.download-btn[_ngcontent-%COMP%]:hover{background:#5a6fd8}.download-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9rem}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.file-preview[_ngcontent-%COMP%]{background:#f8f9fa;padding:.75rem;border-radius:6px;border:1px dashed #ced4da}.preview-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.preview-content[_ngcontent-%COMP%] i.fas[_ngcontent-%COMP%]{font-size:1.5rem;color:#667eea}.preview-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1;font-size:.9rem;color:#495057;display:flex;align-items:center;gap:.5rem}.remove-file-btn[_ngcontent-%COMP%]{padding:.3rem .6rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.remove-file-btn[_ngcontent-%COMP%]:hover{background:#c82333}.remove-file-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#fff!important}.file-label[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;color:var(--text-primary);border:1px solid #ced4da;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s;text-decoration:none;min-height:48px;box-sizing:border-box}.file-label[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.file-label[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.file-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem;color:var(--primary-color)}.mentor-files[_ngcontent-%COMP%]{margin-top:1.5rem;background:#f8f9fa;border-radius:10px;border:1px solid #dee2e6}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]:hover{background-color:#e9ecef}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{margin:0;font-size:1.05rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]:before{content:"\\1f4ce";font-size:1.2rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%]{font-size:.9rem;color:#6c757d;transition:transform .3s ease}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.mentor-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%]{overflow:hidden;transition:max-height .3s ease,opacity .3s ease;padding:0 1.5rem 1.5rem}.mentor-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%]{max-height:0;opacity:0;padding:0 1.5rem}.mentor-files[_ngcontent-%COMP%] .files-content.expanded[_ngcontent-%COMP%]{max-height:1000px;opacity:1}.file-section[_ngcontent-%COMP%]{margin-bottom:1.5rem}.file-section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.file-section-title[_ngcontent-%COMP%]{font-weight:600;color:#667eea;font-size:.95rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.files-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.file-item[_ngcontent-%COMP%]{background:#fff;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background-color .2s ease}.file-item[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #00000014;border-color:#667eea}.file-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.file-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:#dc3545;flex-shrink:0}
156.file-info[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{font-weight:500;color:#2c3e50;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info[_ngcontent-%COMP%] .file-size[_ngcontent-%COMP%]{color:#6c757d;font-size:.85rem;flex-shrink:0}.file-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-shrink:0}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:.4rem .7rem;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease;display:inline-flex;align-items:center;justify-content:center}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9rem}.download-file-btn[_ngcontent-%COMP%]{background:var(--natie-blue);color:#fff}.download-file-btn[_ngcontent-%COMP%]:hover{background:#0056b3}.view-file-btn[_ngcontent-%COMP%]{background:#28a745;color:#fff}.view-file-btn[_ngcontent-%COMP%]:hover{background:#218838}.no-files[_ngcontent-%COMP%]{background:#fff;padding:2rem;border-radius:8px;text-align:center;border:2px dashed #dee2e6}.no-files[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#6c757d;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.no-files[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ffc107;font-size:1.1rem}@media (max-width: 768px){[_nghost-%COMP%]{padding:1rem}.announcement-banner[_ngcontent-%COMP%]{margin-bottom:.875rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%]{padding:.75rem;gap:.625rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{font-size:.85rem}.form-grid[_ngcontent-%COMP%], .mentors-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.section-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.form-actions[_ngcontent-%COMP%], .checkbox-group[_ngcontent-%COMP%]{flex-direction:column}.mentor-type-section[_ngcontent-%COMP%]{margin:1.5rem 0;padding:1rem}.mentor-type-selector[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.75rem}.mentor-type-option[_ngcontent-%COMP%]{padding:1rem}.mentor-type-content[_ngcontent-%COMP%]{gap:.75rem}.mentor-type-icon[_ngcontent-%COMP%]{width:50px;height:50px}.mentor-type-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.25rem}.mentor-type-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:1rem}.mentor-type-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.85rem}.agreement-header[_ngcontent-%COMP%], .file-item[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.file-info[_ngcontent-%COMP%]{width:100%}.file-info[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{white-space:normal;word-break:break-word}.file-actions[_ngcontent-%COMP%]{width:100%;justify-content:flex-end}.modal-content[_ngcontent-%COMP%]{max-width:95%;max-height:85vh}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:95%}.modal-body[_ngcontent-%COMP%]{padding:1rem}.modal-header[_ngcontent-%COMP%]{padding:1rem 1.5rem}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.25rem}.modal-body[_ngcontent-%COMP%]{padding:1.5rem}}@media (max-width: 480px){[_nghost-%COMP%]{padding:.5rem}.tab-content[_ngcontent-%COMP%]{padding:1rem}.btn[_ngcontent-%COMP%]{padding:.6rem 1rem;font-size:.8rem}
156.btn-large[_ngcontent-%COMP%]{padding:.8rem 1.5rem;font-size:1rem}.agreements-section[_ngcontent-%COMP%], .mentor-files[_ngcontent-%COMP%]{padding:1rem}.mentor-type-section[_ngcontent-%COMP%]{margin:1rem 0;padding:.75rem}.file-actions[_ngcontent-%COMP%]{gap:.25rem}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:.35rem .6rem;font-size:.8rem}.modal-overlay[_ngcontent-%COMP%]{padding:.5rem}.modal-content[_ngcontent-%COMP%]{max-width:100%;max-height:95vh;border-radius:12px}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:100%}.modal-header[_ngcontent-%COMP%]{padding:1rem 1.25rem}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.1rem}.modal-body[_ngcontent-%COMP%]{padding:1.25rem}.modal-close[_ngcontent-%COMP%]{width:32px;height:32px;font-size:1rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]{padding:1rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{font-size:.95rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%]{font-size:.8rem}.mentor-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%]{padding:0 1rem 1rem}.mentor-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%]{padding:0 1rem}}.form-group[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{min-height:auto;width:1rem;height:1rem;padding:0;flex:0 0 auto}',".modal-overlay[_ngcontent-%COMP%]{position:fixed!important;inset:0!important;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:var(--z-modal)!important;animation:fadeIn .3s ease!important;padding:1rem!important;overflow-y:auto!important;overflow-x:hidden!important}.modal-content[_ngcontent-%COMP%]{background:#fff;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:modalSlideIn .3s ease;position:relative;overflow:hidden;z-index:1}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:900px}.modal-header[_ngcontent-%COMP%]{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#667eea;flex-shrink:0;position:relative;z-index:2}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.modal-close[_ngcontent-%COMP%]{background:#fff3;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;color:#fff;font-size:1.2rem}.modal-close[_ngcontent-%COMP%]:hover{background:#ffffff4d}.modal-body[_ngcontent-%COMP%]{padding:2rem;overflow-y:auto;flex:1;min-height:0;background:#fff;margin-top:0;position:relative;z-index:1}.modal-body[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.modal-overlay[_ngcontent-%COMP%]{box-sizing:border-box;overscroll-behavior:contain}.modal-content[_ngcontent-%COMP%]{border-radius:16px;max-height:calc(100dvh - 2rem);min-width:0}.modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%]{gap:1rem}.modal-close[_ngcontent-%COMP%]{flex:0 0 auto}.modal-body[_ngcontent-%COMP%]{overscroll-behavior:contain}.modal-body[_ngcontent-%COMP%] .form-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{min-width:0}.modal-body[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not([type=checkbox]):not([type=radio]):not([type=file]), .modal-body[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;min-width:0}.modal-body[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%], .modal
156-body[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{display:inline-block;width:18px;height:18px;min-height:0;padding:0;flex:0 0 auto;accent-color:#5366cf}.modal-body[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{line-height:1.5}.modal-body[_ngcontent-%COMP%] .form-hint[_ngcontent-%COMP%], .modal-body[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#59616c;font-size:.875rem;line-height:1.5;margin:0}.modal-body[_ngcontent-%COMP%] .roster-options[_ngcontent-%COMP%]{border:1px solid #d9dee7;border-radius:10px;padding:1rem;margin:0;gap:.75rem}.modal-body[_ngcontent-%COMP%] .roster-options[_ngcontent-%COMP%] legend[_ngcontent-%COMP%]{font-weight:600;font-size:1rem;padding:0 .35rem}.modal-body[_ngcontent-%COMP%] .roster-options[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .modal-body[_ngcontent-%COMP%] .roster-choice[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;cursor:pointer;margin:0}.modal-body[_ngcontent-%COMP%] .mentor-type-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.modal-body[_ngcontent-%COMP%] .mentor-type-content[_ngcontent-%COMP%]{min-width:0}.modal-body[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%], .modal
156-body[_ngcontent-%COMP%] .file-preview[_ngcontent-%COMP%], .modal-body[_ngcontent-%COMP%] .agreement-title[_ngcontent-%COMP%]{overflow-wrap:anywhere;min-width:0}.modal-body[_ngcontent-%COMP%] .download-buttons[_ngcontent-%COMP%], .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{flex-wrap:wrap}.modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{border-top:1px solid #e1e5e9;padding-top:1rem}.modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:focus-visible, .modal-body[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus-visible, .modal-body[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus-visible{outline:3px solid #5366cf;outline-offset:3px}.modal-body[_ngcontent-%COMP%] .mentor-type-option[_ngcontent-%COMP%]:focus-within{outline:3px solid #5366cf;outline-offset:3px}@media (max-width: 600px){.modal-content.modal-large[_ngcontent-%COMP%]{width:100%;max-width:100%}.modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%]{padding:1rem}.modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.125rem}.modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:1rem}.modal-body[_ngcontent-%COMP%] .form-grid[_ngcontent-%COMP%], .modal
156-body[_ngcontent-%COMP%] .mentor-type-selector[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}.modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1 1 100%}}.modal-content[_ngcontent-%COMP%] > .form-actions[_ngcontent-%COMP%]{position:static;flex-shrink:0;flex-wrap:wrap;margin:0;padding:1rem 2rem;border-top:1px solid #e1e5e9;box-shadow:none;background:#fff}@media (max-width: 600px){.modal-content[_ngcontent-%COMP%] > .form-actions[_ngcontent-%COMP%]{padding:.75rem 1rem;gap:.75rem}.modal-content[_ngcontent-%COMP%] > .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1;min-width:0}}"]})}}return t})();function r7(t,s){if(t&1&&(r(0,"div",17)(1,"div",5),_(2,"i",18),r(3,"div",7)(4,"span",8),a(5,"Important"),o(),a(6),o()()()),t&2){let e=p();c(6),w(" Exist\u0103 ",e.volunteer?"elevi voluntari":"membri"," cu date incomplete. Diplomele se acord\u0103 numai persoanelor cu statusul \u201ECompletat\u201D: toate datele corecte \u0219i acordurile \xEEnc\u0103rcate \xEEn format PDF. ")}}function a7(t,s){if(t&1&&(r(0,"div",19)(1,"div",5),_(2,"i",20),r(3,"div",7)(4,"span",8),a(5,"Completat"),o(),a(6),o()()()),t&2){let e=p();c(6),w(" To\u021Bi ",e.volunteer?"elevii voluntari":"membrii"," introdu\u0219i au date complete \u0219i sunt eligibili pentru diplome, dac\u0103 informa\u021Biile r\u0103m\xE2n complete p\xE2n\u0103 la \xEEnchiderea componen\u021Bei finale. ")}}function s7(t,s){t&1&&(r(0,"div",21)(1,"div",5),_(2,"i",22),r(3,"div",7)(4,"span",8),a(5,"Diplome de voluntar"),o(),a(6," Elevii voluntari ai echipelor pot primi diplome de voluntar, nu diplome de membri. "),o()()())}function c7(t,s){if(t&1&&(r(0,"div",23),_(1,"i",24),r(2,"p")(3,"strong"),a(4,"Componen\u021B\u0103 final\u0103:"),o(),a(5),o()()),t&2){let e=p();c(5),w(" Nu pute\u021Bi ad\u0103uga, edita sau \u0219terge ",e.volunteer?"elevi voluntari":"membri",". Componen\u021Ba echipelor a fost blocat\u0103 de administrator. Pentru urgen\u021Be: [email protected]")}}function l7(t,s){t&1&&(r(0,"span"),a(1," Prenumele este obligatoriu "),o())}function d7(t,s){if(t&1&&(r(0,"div",88),h(1,l7,2,0,"span",89),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.memberForm.get("firstName"))==null||e.errors==null?null:e.errors.required)}}function m7(t,s){t&1&&(r(0,"span"),a(1," Numele este obligatoriu "),o())}function g7(t,s){if(t&1&&(r(0,"div",88),h(1,m7,2,0,"span",89),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.memberForm.get("lastName"))==null||e.errors==null?null:e.errors.required)}}function p7(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o adres\u0103 de email valid\u0103 "),o())}function u7(t,s){if(t&1&&(r(0,"div",88),h(1,p7,2,0,"span",89),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.memberForm.get("email"))==null||e.errors==null?null:e.errors.email)}}function _7(t,s){t&1&&(r(0,"span"),a(1," Num\u0103rul de telefon trebuie s\u0103 aib\u0103 exact 10 cifre "),o())}function f7(t,s){if(t&1&&(r(0,"div",88),h(1,_7,2,0,"span",89),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.memberForm.get("phone"))==null||e.errors==null?null:e.errors.phoneInvalid)}}function h7(t,s){t&1&&(r(0,"span"),a(1," CNP-ul trebuie s\u0103 aib\u0103 exact 13 cifre "),o())}function C7(t,s){if(t&1&&(r(0,"div",88),h(1,h7,2,0,"span",89),o()),t&2){let e,n=p(2);c(),m("ngIf",(e=n.memberForm.get("personalNumericalCode"))==null||e.errors==null?null:e.errors.cnpInvalid)}}function v7(t,s){t&1&&(r(0,"span"),a(1," Data na\u0219terii este obligatorie pentru elevi "),o())}function M7(t,s){t&1&&(r(0,"span"),a(1," V\u0103 rug\u0103m s\u0103 introduce\u021Bi o dat\u0103 valid\u0103 "),o())}function x7(t,s){t&1&&(r(0,"span"),a(1," V\xE2rsta minim\u0103 pentru elevi este de 12 ani "),o())}function b7(t,s){if(t&1&&(r(0,"div",88),h(1,v7,2,0,"span",89)(2,M7,2,0,"span",89)(3,x7,2,0,"span",89),o()),t&2){let e,n,i,d=p(2);c(),m("ngIf",(e=d.memberForm.get("dateOfBirth"))==null||e.errors==null?null:e.errors.required),c(),m("ngIf",(n=d.memberForm.get("dateOfBirth"))==null||n.errors==null?null:n.errors.invalidDate),c(),m("ngIf",(i=d.memberForm.get("dateOfBirth"))==null||i.errors==null?null:i.errors.ageTooYoung)}}function P7(t,s){t&1&&(r(0,"div",88),a(1,"Introduce\u021Bi un num\u0103r \xEEntreg de sezoane, minimum 0."),o())}function O7(t,s){t&1&&(r(0,"div",35)(1,"label"),a(2,"Lider echip\u0103"),o(),r(3,"label",90),_(4,"input",91),a(5," Este liderul echipei"),o()())}function y7(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(3);c(),O(e.selectedMemberFiles.gdpr.name)}}function w7(t,s){t&1&&(r(0,"span"),_(1,"i",96),a(2," Fi\u0219ier deja \xEEnc\u0103rcat "),o())}function S7(t,s){if(t&1){let e=E();r(0,"button",97),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedMemberFile("gdpr"))}),_(1,"i",30),o()}}function E7(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),_(2,"i",94),h(3,y7,2,1,"span",89)(4,w7,3,0,"span",89)(5,S7,2,0,"button",95),o()()),t&2){let e=p(2);c(3),m("ngIf",e.selectedMemberFiles.gdpr),c(),m("ngIf",!e.selectedMemberFiles.gdpr&&e.selectedMemberFilePreviews.gdpr==="existing"),c(),m("ngIf",e.selectedMemberFiles.gdpr)}}function T7(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(3);c(),O(e.selectedMemberFiles.image.name)}}function k7(t,s){t&1&&(r(0,"span"),_(1,"i",96),a(2," Fi\u0219ier deja \xEEnc\u0103rcat "),o())}function I7(t,s){if(t&1){let e=E();r(0,"button",97),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedMemberFile("image"))}),_(1,"i",30),o()}}function F7(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),_(2,"i",94),h(3,T7,2,1,"span",89)(4,k7,3,0,"span",89)(5,I7,2,0,"button",95),o()()),t&2){let e=p(2);c(3),m("ngIf",e.selectedMemberFiles.image),c(),m("ngIf",!e.selectedMemberFiles.image&&e.selectedMemberFilePreviews.image==="existing"),c(),m("ngIf",e.selectedMemberFiles.image)}}
156function D7(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(3);c(),O(e.selectedMemberFiles.first.name)}}function R7(t,s){t&1&&(r(0,"span"),_(1,"i",96),a(2," Fi\u0219ier deja \xEEnc\u0103rcat "),o())}function z7(t,s){if(t&1){let e=E();r(0,"button",97),b("click",function(){v(e);let i=p(3);return M(i.removeSelectedMemberFile("first"))}),_(1,"i",30),o()}}function N7(t,s){if(t&1&&(r(0,"div",92)(1,"div",93),_(2,"i",94),h(3,D7,2,1,"span",89)(4,R7,3,0,"span",89)(5,z7,2,0,"button",95),o()()),t&2){let e=p(2);c(3),m("ngIf",e.selectedMemberFiles.first),c(),m("ngIf",!e.selectedMemberFiles.first&&e.selectedMemberFilePreviews.first==="existing"),c(),m("ngIf",e.selectedMemberFiles.first)}}function A7(t,s){t&1&&(r(0,"div",98)(1,"div",99),_(2,"i",100),r(3,"strong"),a(4,"Verifica\u021Bi c\xE2mpurile marcate mai sus."),o()()())}function L7(t,s){if(t&1&&(r(0,"div",98)(1,"div",101),_(2,"i",18),r(3,"strong"),a(4,"Eroare:"),o(),a(5),o()()),t&2){let e=p(2);c(5),w(" ",e.errorMessage," ")}}function V7(t,s){if(t&1){let e=E();r(0,"div",25),b("click",function(){v(e);let i=p();return M(i.cancelMemberForm())}),r(1,"div",26),b("keydown.escape",function(){v(e);let i=p();return M(i.cancelMemberForm())})("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",27)(3,"h3",28),a(4),o(),r(5,"button",29),b("click",function(){v(e);let i=p();return M(i.cancelMemberForm())}),_(6,"i",30),o()(),r(7,"div",31)(8,"form",32),b("ngSubmit",function(){v(e);let i=p();return M(i.createMember())}),r(9,"p",33),a(10,"C\xE2mpurile marcate cu * sunt obligatorii pentru salvare."),o(),r(11,"div",34)(12,"div",35)(13,"label",36),a(14,"Prenume *"),o(),_(15,"input",37),h(16,d7,2,1,"div",38),o(),r(17,"div",35)(18,"label",39),a(19,"Nume *"),o(),_(20,"input",40),h(21,g7,2,1,"div",38),o(),r(22,"div",35)(23,"label",41),a(24,"Email"),o(),_(25,"input",42),h(26,u7,2,1,"div",38),o(),r(27,"div",35)(28,"label",43),a(29,"Nr. Telefon"),o(),_(30,"input",44),h(31,f7,2,1,"div",38),o(),r(32,"div",35)(33,"label",45),a(34,"CNP"),o(),_(35,"input",46),h(36,C7,2,1,"div",38),o(),r(37,"div",35)(38,"label",47),a(39,"Data na\u0219terii *"),o(),_(40,"input",48),h(41,b7,4,3,"div",38),o(),r(42,"div",35)(43,"label",49),a(44,"Experien\u021Ba FTC (sezoane) *"),o(),_(45,"input",50),h(46,P7,2,0,"div",38),o(),r(47,"div",35)(48,"label",51),a(49,"Departament principal"),o(),r(50,"select",52)(51,"option",53),a(52,"Selectare departament"),o(),r(53,"option",54),a(54,"Programare"),o(),r(55,"option",55),a(56,"Mecanic\u0103"),o(),r(57,"option",56),a(58,"Electronic\u0103"),o(),r(59,"option",57),a(60,"Design"),o(),r(61,"option",58),a(62,"Strategie"),o(),r(63,"option",59),a(64,"Comunicare"),o(),r(65,"option",60),a(66,"Marketing"),o(),r(67,"option",61),a(68,"Design grafic"),o(),r(69,"option",62),a(70,"Social media"),o(),r(71,"option",63),a(72,"Fund raising"),o(),r(73,"option",64),a(74,"3D/CAD"),o(),r(75,"option",65),a(76,"Asamblare/Mecanic\u0103"),o()()(),h(77,O7,6,0,"div",66),o(),r(78,"div",67)(79,"h5"),a(80,"Acordurile se semneaz\u0103 \u0219i se \xEEncarc\u0103:"),o(),r(81,"div",68)(82,"div",69)(83,"span",70),a(84,"Acord utilizare date personale (Personal Data Usage Agreement)"),o()(),r(85,"div",71)(86,"button",72),b("click",function(){v(e);let i=p();return M(i.downloadModelGdprMinori())}),_(87,"i",73),a(88," Descarc\u0103 model minori "),o(),r(89,"button",72),b("click",function(){v(e);let i=p();return M(i.downloadModelGdprMajori())}),_(90,"i",73),a(91," Descarc\u0103 model majori "),o()(),r(92,"div",74),h(93,E7,6,3,"div",75),r(94,"input",76),b("change",function(i){v(e);let d=p();return M(d.onMemberFileSelected(i,"gdpr"))}),o(),r(95,"label",77),_(96,"i",78),a(97),o()()(),r(98,"div",68)(99,"div",69)(100,"span",70),a(101,"Acord utilizare imagine (Image Usage Agreement)"),o()(),r(102,"div",71)(103,"button",72),b("click",function(){v(e);let i=p();return M(i.downloadModelImageMinori())}),_(104,"i",73),a(105," Descarc\u0103 model minori "),o(),r(106,"button",72),b("click",function(){v(e);let i=p();return M(i.downloadModelImageMajori())}),_(107,"i",73),a(108," Descarc\u0103 model majori "),o()(),r(109,"div",74),h(110,F7,6,3,"div",75),r(111,"input",79),b("change",function(i){v(e);let d=p();return M(d.onMemberFileSelected(i,"image"))}),o(),r(112,"label",80),_(113,"i",78),a(114),o()()(),r(115,"div",68)(116,"div",69)(117,"span",70),a(118,"Acord FIRST policies (FIRST Policies Agreement)"),o()(),r(119,"div",71)(120,"button",72),b("click",function(){v(e);let i=p();return M(i.downloadModelFirst())}),_(121,"i",73),a(122," Descarc\u0103 model "),o()(),r(123,"div",74),h(124,N7,6,3,"div",75),r(125,"input",81),b("change",function(i){v(e);let d=p();return M(d.onMemberFileSelected(i,"first"))}),o(),r(126,"label",82),_(127,"i",78),a(128),o()()()(),h(129,A7,5,0,"div",83)(130,L7,6,1,"div",83),o()(),r(131,"div",84)(132,"button",85),_(133,"i",86),a(134),o(),r(135,"button",87),b("click",function(){v(e);let i=p();return M(i.cancelMemberForm())}),_(136,"i",30),a(137," Anulare "),o()()()()}if(t&2){let e,n,i,d,u,x,y,k,W,U,Y,le,ce,we,ee=p();c(),m("cdkTrapFocusAutoCapture",!0),c(3),G("",ee.isEditingMember?"Editare":"Ad\u0103ugare"," ",ee.volunteer?"elev voluntar":"membru",""),c(),m("disabled",ee.isCreatingMember),c(3),m("formGroup",ee.memberForm),c(7),I("error",((e=ee.memberForm.get("firstName"))==null?null:e.invalid)&&
156((e=ee.memberForm.get("firstName"))==null?null:e.touched)),c(),m("ngIf",((n=ee.memberForm.get("firstName"))==null?null:n.invalid)&&((n=ee.memberForm.get("firstName"))==null?null:n.touched)),c(4),I("error",((i=ee.memberForm.get("lastName"))==null?null:i.invalid)&&((i=ee.memberForm.get("lastName"))==null?null:i.touched)),c(),m("ngIf",((d=ee.memberForm.get("lastName"))==null?null:d.invalid)&&((d=ee.memberForm.get("lastName"))==null?null:d.touched)),c(4),I("error",((u=ee.memberForm.get("email"))==null?null:u.invalid)&&((u=ee.memberForm.get("email"))==null?null:u.touched)),c(),m("ngIf",((x=ee.memberForm.get("email"))==null?null:x.invalid)&&((x=ee.memberForm.get("email"))==null?null:x.touched)),c(4),I("error",((y=ee.memberForm.get("phone"))==null?null:y.invalid)&&((y=ee.memberForm.get("phone"))==null?null:y.touched)),c(),m("ngIf",((k=ee.memberForm.get("phone"))==null?null:k.invalid)&&((k=ee.memberForm.get("phone"))==null?null:k.touched)),c(4),I("error",((W=ee.memberForm.get("personalNumericalCode"))==null?null:W.invalid)&&((W=ee.memberForm.get("personalNumericalCode"))==null?null:W.touched)),c(),m("ngIf",((U=ee.memberForm.get("personalNumericalCode"))==null?null:U.invalid)&&((U=ee.memberForm.get("personalNumericalCode"))==null?null:U.touched)),c(4),I("error",((Y=ee.memberForm.get("dateOfBirth"))==null?null:Y.invalid)&&((Y=ee.memberForm.get("dateOfBirth"))==null?null:Y.touched)),c(),m("ngIf",((le=ee.memberForm.get("dateOfBirth"))==null?null:le.invalid)&&((le=ee.memberForm.get("dateOfBirth"))==null?null:le.touched)),c(4),I("error",((ce=ee.memberForm.get("ftcExperience"))==null?null:ce.invalid)&&((ce=ee.memberForm.get("ftcExperience"))==null?null:ce.touched)),c(),m("ngIf",((we=ee.memberForm.get("ftcExperience"))==null?null:we.invalid)&&((we=ee.memberForm.get("ftcExperience"))==null?null:we.touched)),c(31),m("ngIf",!ee.volunteer),c(16),m("ngIf",ee.selectedMemberFilePreviews.gdpr),c(4),w(" ",ee.selectedMemberFiles.gdpr?"Schimb\u0103 fi\u0219ierul":ee.selectedMemberFilePreviews.gdpr==="existing"?"\xCEnlocuie\u0219te fi\u0219ierul":"Selecteaz\u0103 fi\u0219ier"," "),c(13),m("ngIf",ee.selectedMemberFilePreviews.image),c(4),w(" ",ee.selectedMemberFiles.image?"Schimb\u0103 fi\u0219ierul":ee.selectedMemberFilePreviews.image==="existing"?"\xCEnlocuie\u0219te fi\u0219ierul":"Selecteaz\u0103 fi\u0219ier"," "),c(10),m("ngIf",ee.selectedMemberFilePreviews.first),c(4),w(" ",ee.selectedMemberFiles.first?"Schimb\u0103 fi\u0219ierul":ee.selectedMemberFilePreviews.first==="existing"?"\xCEnlocuie\u0219te fi\u0219ierul":"Selecteaz\u0103 fi\u0219ier"," "),c(),m("ngIf",ee.memberForm.invali
156d&&ee.memberForm.touched),c(),m("ngIf",ee.errorMessage),c(2),m("disabled",ee.isCreatingMember),c(2),w(" ",ee.isCreatingMember?"Se salveaz\u0103...":ee.isEditingMember?"Actualizare":"Ad\u0103ugare"," "),c(),m("disabled",ee.isCreatingMember)}}function B7(t,s){if(t&1&&(r(0,"div",113)(1,"p")(2,"strong"),a(3,"Nume:"),o(),a(4),o(),r(5,"p")(6,"strong"),a(7,"Email:"),o(),a(8),o()()),t&2){let e=p(2);c(4),G(" ",e.memberToDelete.firstName," ",e.memberToDelete.lastName,""),c(4),w(" ",e.memberToDelete.email||"Nu este specificat","")}}function U7(t,s){if(t&1&&(r(0,"div",114)(1,"div",101),_(2,"i",18),r(3,"strong"),a(4,"Eroare:"),o(),a(5),o()()),t&2){let e=p(2);c(5),w(" ",e.deleteErrorMessage," ")}}function j7(t,s){t&1&&_(0,"i",115)}function q7(t,s){t&1&&_(0,"i",116)}function W7(t,s){if(t&1){let e=E();r(0,"div",25),b("click",function(){v(e);let i=p();return M(i.cancelDeleteConfirmation())}),r(1,"div",102),b("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",27)(3,"h3"),a(4),o(),r(5,"button",103),b("click",function(){v(e);let i=p();return M(i.cancelDeleteConfirmation())}),_(6,"i",30),o()(),r(7,"div",31)(8,"div",104)(9,"div",105),_(10,"i",100),o(),r(11,"h4"),a(12),o(),h(13,B7,9,3,"div",106),r(14,"div",107)(15,"p"),_(16,"i",22),a(17),o()(),h(18,U7,6,1,"div",108),o()(),r(19,"div",109)(20,"button",87),b("click",function(){v(e);let i=p();return M(i.cancelDeleteConfirmation())}),_(21,"i",30),a(22," Anulare "),o(),r(23,"button",110),b("click",function(){v(e);let i=p();return M(i.confirmDeleteMember())}),h(24,j7,1,0,"i",111)(25,q7,1,0,"i",112),a(26),o()()()()}if(t&2){let e=p();c(4),w("Confirmare \u0219tergere ",e.volunteer?"elev voluntar":"membru",""),c(8),w("Sunte\u021Bi sigur c\u0103 dori\u021Bi s\u0103 \u0219terge\u021Bi acest ",e.volunteer?"elev voluntar":"membru","?"),c(),m("ngIf",e.memberToDelete),c(4),w(" Aceast\u0103 ac\u021Biune nu poate fi anulat\u0103. Toate datele asociate cu acest ",e.volunteer?"elev voluntar":"membru"," vor fi \u0219terse permanent."),c(),m("ngIf",e.deleteErrorMessage),c(2),m("disabled",e.isDeletingMember),c(3),m("disabled",e.isDeletingMember),c(),m("ngIf",!e.isDeletingMember),c(),m("ngIf",e.isDeletingMember),c(),w(" ",e.isDeletingMember?"Se \u0219terge...":e.volunteer?"\u0218terge elev voluntar":"\u0218terge membru"," ")}}function $7(t,s){t&1&&(r(0,"span",130),_(1,"i",131),a(2," Lider echip\u0103 "),o())}function H7(t,s){if(t&1){let e=E();r(0,"div",141)(1,"div",142),_(2,"i",94),r(3,"span",143),a(4),o(),r(5,"span",144),a(6),o()(),r(7,"div",145)(8,"button",146),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.downloadMemberFile(i))}),_(9,"i",73),o(),r(10,"button",147),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.viewMemberFile(i))}),_(11,"i",148),o()()()}if(t&2){let e=s.$implicit,n=p(5);c(4),O(n.getDisplayFileName(e.name)),c(2),O(n.formatFileSize(e.size))}}function G7(t,s){if(t&1&&(r(0,"div",137)(1,"div",138),a(2,"Acord utilizare date personale (GDPR Agreement)"),o(),r(3,"div",139),h(4,H7,12,2,"div",140),o()()),t&2){let e=p(2).$implicit,n=p(2);c(4),m("ngForOf",n.getMemberFilesByType(e,"gdpr"))}}function Z7(t,s){if(t&1){let e=E();r(0,"div",141)(1,"div",142),_(2,"i",94),r(3,"span",143),a(4),o(),r(5,"span",144),a(6),o()(),r(7,"div",145)(8,"button",146),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.downloadMemberFile(i))}),_(9,"i",73),o(),r(10,"button",147),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.viewMemberFile(i))}),_(11,"i",148),o()()()}if(t&2){let e=s.$implicit,n=p(5);c(4),O(n.getDisplayFileName(e.name)),c(2),O(n.formatFileSize(e.size))}}function Y7(t,s){if(t&1&&(r(0,"div",137)(1,"div",138),a(2,"Acord utilizare imagine (Image Agreement)"),o(),r(3,"div",139),h(4,Z7,12,2,"div",140),o()()),t&2){let e=p(2).$implicit,n=p(2);c(4),m("ngForOf",n.getMemberFilesByType(e,"image"))}}function K7(t,s){if(t&1){let e=E();r(0,"div",141)(1,"div",142),_(2,"i",94),r(3,"span",143),a(4),o(),r(5,"span",144),a(6),o()(),r(7,"div",145)(8,"button",146),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.downloadMemberFile(i))}),_(9,"i",73),o(),r(10,"button",147),b("click",function(){let i=v(e).$implicit,d=p(5);return M(d.viewMemberFile(i))}),_(11,"i",148),o()()()}if(t&2){let e=s.$implicit,n=p(5);c(4),O(n.getDisplayFileName(e.name)),c(2),O(n.formatFileSize(e.size))}}function Q7(t,s){if(t&1&&(r(0,"div",137)(1,"div",138),a(2,"Acord FIRST policies (FIRST Agreement)"),o(),r(3,"div",139),h(4,K7,12,2,"div",140),o()()),t&2){let e=p(2).$implicit,n=p(2);c(4),m("ngForOf",n.getMemberFilesByType(e,"first"))}}function J7(t,s){if(t&1){let e=E();r(0,"div",132)(1,"div",133),b("click",function(){v(e);let i=p().$implicit,d=p(2);return M(d.toggleMemberFilesAccordion(i.id))}),r(2,"h6"),a(3,"Fi\u0219iere \xEEnc\u0103rcate"),o(),_(4,"i",134),o(),r(5,"div",135),h(6,G7,5,1,"div",136)(7,Y7,5,1,"div",136)(8,Q7,5,1,"div",136),o()()}if(t&2){let e=p().$implicit,n=p(2);
156c(4),I("rotated",n.isMemberFilesExpanded(e.id)),c(),I("expanded",n.isMemberFilesExpanded(e.id))("collapsed",!n.isMemberFilesExpanded(e.id)),c(),m("ngIf",n.getMemberFilesByType(e,"gdpr").length>0),c(),m("ngIf",n.getMemberFilesByType(e,"image").length>0),c(),m("ngIf",n.getMemberFilesByType(e,"first").length>0)}}function X7(t,s){if(t&1&&(r(0,"div",149)(1,"p"),_(2,"i",22),a(3),o()()),t&2){let e=p(3);c(3),w(" Nu sunt fi\u0219iere \xEEnc\u0103rcate pentru acest ",e.volunteer?"elev voluntar":"membru","")}}function eF(t,s){if(t&1){let e=E();r(0,"div",119)(1,"div",120)(2,"h4"),a(3),h(4,$7,3,0,"span",121),o(),r(5,"span",122),a(6),o()(),r(7,"div",113)(8,"div",123)(9,"label"),a(10,"Nume"),o(),r(11,"span"),a(12),o()(),r(13,"div",123)(14,"label",41),a(15,"Email"),o(),r(16,"span"),a(17),o()(),r(18,"div",123)(19,"label",43),a(20,"Nr. Telefon"),o(),r(21,"span"),a(22),o()(),r(23,"div",123)(24,"label"),a(25,"Departament"),o(),r(26,"span"),a(27),o()()(),h(28,J7,9,9,"div",124)(29,X7,4,1,"div",125),r(30,"div",126)(31,"button",127),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.editMember(i))}),_(32,"i",128),r(33,"strong"),a(34,"Editare"),o()(),r(35,"button",129),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.showDeleteMemberConfirmation(i))}),_(36,"i",115),r(37,"strong"),a(38,"\u0218tergere"),o()()()()}if(t&2){let e=s.$implicit,n=s.index,i=p(2);I("team-leader",e.memberData==null?null:e.memberData.isTeamLeader),c(3),w(" Member ",n+1," "),c(),m("ngIf",!i.volunteer&&(e.memberData==null?null:e.memberData.isTeamLeader)),c(),m("ngClass",i.getMemberStatusClass(e)),c(),w(" ",i.getMemberStatus(e)," "),c(6),G("",e.firstName," ",e.lastName,""),c(5),O(e.email||"Nu este specificat"),c(5),O(e.phone||"Nu este specificat"),c(5),O(((i.volunteer?e.volunteerData:e.memberData)==null?null:(i.volunteer?e.volunteerData:e.memberData).mainDepartment)||"Nu este specificat"),c(),m("ngIf",e.files&&e.files.length>0),c(),m("ngIf",!e.files||e.files.length===0),c(2),m("disabled",i.isRosterLocked),c(4),m("disabled",i.isRosterLocked)}}function tF(t,s){if(t&1&&(r(0,"div",117),h(1,eF,39,15,"div",118),o()),t&2){let e=p();c(),m("ngForOf",e.teamMembers)}}function nF(t,s){if(t&1&&(r(0,"div",150),_(1,"i",151),r(2,"h3"),a(3),o(),r(4,"p"),a(5),o()()),t&2){let e=p();c(3),w("Nu exist\u0103 ",e.volunteer?"elevi voluntari":"membri"," \xEEn baza de date, \xEEnc\u0103"),c(2),w("Ad\u0103uga\u021Bi primul ",e.volunteer?"elev voluntar":"membru"," pentru a \xEEncepe!")}}var Zu=(()=>{class t{constructor(e,n,i){this.fb=e,this.teamsService=n,this.fileService=i,this.currentSeasonData=null,this.volunteer=!1,this.isRosterLocked=!1,this.seasonDataUpdated=new it,this.teamMembers=[],this.showMemberForm=!1,this.selectedMemberFiles={},this.selectedMemberFilePreviews={},this.isCreatingMember=!1,this.editingMember=null,this.isEditingMember=!1,this.isUploadingMemberFiles={},this.showDeleteConfirmation=!1,this.memberToDelete=null,this.isDeletingMember=!1,this.errorMessage=null,this.deleteErrorMessage=null,this.expandedMemberFiles=new Set,this.initializeForm()}ngOnChanges(e){e.currentSeasonData&&this.currentSeasonData?.id&&this.loadTeamMembers()}getFormPayload(){let e=this.memberForm.getRawValue();return J({firstName:e.firstName,lastName:e.lastName,email:e.email||"",phone:e.phone||"",personalNumericalCode:e.personalNumericalCode||"",dateOfBirth:e.dateOfBirth||"",ftcExperience:e.ftcExperience||0,mainDepartment:e.mainDepartment||""},!this.volunteer&&{isTeamLeader:!!e.isTeamLeader})}resetForm(){this.memberForm.reset({ftcExperience:0,mainDepartment:"",isTeamLeader:!1})}initializeForm(){this.memberForm=this.fb.group({firstName:["",N.required],lastName:["",N.required],email:["",As],phone:["",Ls],personalNumericalCode:["",Vs],dateOfBirth:["",[N.required,this.memberAgeValidator.bind(this)]],ftcExperience:[0,[N.required,N.min(0),N.pattern(/^\d+$/)]],mainDepartment:[""],isTeamLeader:[!1]})}loadTeamMembers(){return q(this,null,function*(){if(this.currentSeasonData?.id)try{let e=yield this.teamsService.getMembersByTeamSeason(this.currentSeasonData.id,this.volunteer).toPromise();e?.message&&(this.teamMembers=e.message)}catch(e){console.error("Error loading team members:",e)}})}showMemberFormForTeam(){this.isRosterLocked||!this.volunteer&&this.teamMembers.length>=15||(this.showMemberForm=!0,this.errorMessage=null,this.resetForm(),this.selectedMemberFiles={},this.selectedMemberFilePreviews={},this.editingMember=null,this.isEditingMember=!1)}onMemberFileSelected(e,n){return q(this,null,function*(){let i=e.target.files[0];if(i){if(this.errorMessage=null,!i.type.includes("pdf")){this.errorMessage="Selecta\u021Bi un document PDF.";return}try{let u=yield $s(i,{quality:.8,maxSizeMB:2,enableCompression:!0});if(u.size>2*1024*1024){this.errorMessage="Documentul trebuie s\u0103 aib\u0103 maximum 2 MB dup\u0103 comprimare.";return}this.selectedMemberFiles[n]=u,this.createMemberFilePreview(u,n)}catch(d){console.error("PDF compression failed:",d),this.errorMessage="Documentul nu a putut fi preg\u0103tit. \xCEncerca\u021Bi un alt PDF."}}})}createMemberFilePreview(e,n){let i=new FileReader;i.onload=d=>{this.selectedMemberFilePreviews[n]=d.target.result},i.readAsDataURL(e)}removeSelectedMemberFile(e){this.selectedMemberFiles[e]=null,this.selectedMemberFilePreviews[e]=this.editingMember?.files?.some(n=>this.determineFileType(n.name)===e)?"existing":null}formatFileSize(e){if(e===0)return"0 Bytes";let n=1024,i=["Bytes","KB","MB","GB"],d=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,d)).toFixed(2))+" "+i[d]}triggerFileDownload(e,n){let i=window.URL.createObjectURL(e),d=document.createElement("a");d.href=i,d.download=n||"download",document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(i),1e3)}openBlobInNewTab(e){let n=window.URL.createObjectURL(e);window.open(n,"_blank"),setTimeout(()=>URL.revokeObjectURL(n),1e3)}createMember(){return q(this,null,function*(){this.isCreatingMember||this.isRosterLocked||(this.errorMessage=null,this.validateMemberForm()&&(this.isEditingMember?yield this.updateMember():yield this.createNewMember()))})}createNewMember(){return q(this,null,function*(){if(this.memberForm.valid&&this.currentSeasonData?.id){this.isCreatingMember=!0,this.errorMessage=null;try{let e=this.getFormPayload(),n=yield this.teamsService.createMember(this.currentSeasonData.id,e,this.volunteer).toProm
156ise(),i=n?.message?.member||n?.message,d=n?.message?.teamSeasonData;i&&(yield this.uploadMemberFilesAfterCreation(i.id)),d&&this.seasonDataUpdated.emit(d),this.showMemberForm=!1,this.errorMessage=null,this.resetForm(),this.selectedMemberFiles={},this.selectedMemberFilePreviews={},yield this.loadTeamMembers()}catch(e){console.error("Error creating member:",e),this.errorMessage=this.extractErrorMessage(e)}finally{this.isCreatingMember=!1}}})}uploadMemberFilesAfterCreation(e){return q(this,null,function*(){let n=["gdpr","image","first"],i=this.editingMember?.firstName||this.memberForm.get("firstName")?.value||"Member",d=this.editingMember?.lastName||this.memberForm.get("lastName")?.value||"",u=`${i}_${d}`.replace(/[^a-zA-Z0-9_]/g,"_");for(let x of n){let y=this.selectedMemberFiles[x];if(y)try{let k=new Date().toISOString().replace(/[:.]/g,"-"),W=y.name.split(".").pop(),U="";switch(x){case"gdpr":U="GDPRAgreement";break;case"image":U="ImageAgreement";break;case"first":U="FIRSTAgreement";break}let Y=`${x}_${u}_${U}_${k}.${W}`,le=new File([y],Y,{type:y.type});yield this.fileService.uploadFile(le,"person_files",e).toPromise()}catch(k){console.error(`Error uploading ${x} file:`,k)}}})}showDeleteMemberConfirmation(e){this.isRosterLocked||(this.memberToDelete=e,this.showDeleteConfirmation=!0)}confirmDeleteMember(){return q(this,null,function*(){if(this.memberToDelete){this.isDeletingMember=!0,this.deleteErrorMessage=null;try{let e=yield this.teamsService.deleteMember(this.memberToDelete.id,this.volunteer).toPromise();e?.message&&this.seasonDataUpdated.emit(e.message),yield this.loadTeamMembers(),this.cancelDeleteConfirmation()}catch(e){console.error("Error deleting member:",e),this.deleteErrorMessage=this.extractErrorMessage(e)}finally{this.isDeletingMember=!1}}})}cancelDeleteConfirmation(){this.showDeleteConfirmation=!1,this.memberToDelete=null,this.isDeletingMember=!1,this.deleteErrorMessage=null}cancelMemberForm(){this.isCreatingMember||(this.showMemberForm=!1,this.errorMessage=null,this.resetForm(),this.selectedMemberFiles={},this.selectedMemberFilePreviews={},this.editingMember=null,this.isEditingMember=!1)}editMember(e){this.isRosterLocked||(this.editingMember=e,this.isEditingMember=!0,this.showMemberForm=!0,this.errorMessage=null,this.selectedMemberFiles={},this.selectedMemberFilePreviews={},this.loadExistingMemberFiles(e),this.memberForm.patchValue({firstName:e.firstName,lastName:e.lastName,email:e.email,phone:e.phone,personalNumericalCode:e.personalNumericalCode,dateOfBirth:e.dateOfBirth.split("T")[0],ftcExperience:e.ftcExperience,mainDepartment:(this.volunteer?e.volunteerData:e.memberData)?.mainDepartment||"",isTeamLeader:e.memberData?.isTeamLeader||!1}))}loadExistingMemberFiles(e){e.files&&e.files.length>0&&e.files.forEach(n=>{let i=this.determineFileType(n.name);i&&(this.selectedMemberFiles[i]=null,this.selectedMemberFilePreviews[i]="existing")})}updateMember(){return q(this,null,function*(){if(this.memberForm.valid&&this.editingMember&&this.currentSeasonData?.id){this.isCreatingMember=!0,this.errorMessage=null;try{let e=this.getFormPayload();yield this.teamsService.updateMember(this.editingMember.id,e,this.volunteer).toPromise(),yield this.uploadMemberFilesAfterCreation(this.editingMember.id),this.showMemberForm=!1,this.errorMessage=null,this.resetForm(),this.selectedMemberFiles={},this.selectedMemberFilePreviews={},this.editingMember=null,this.isEditingMember=!1,yield this.loadTeamMembers()}catch(e){console.error("Error updating member:",e),this.errorMessage=this.extractErrorMessage(e)}finally{this.isCreatingMember=!1}}})}getMemberStatus(e){let n=this.hasAllRequiredMemberFields(e),i=this.hasAllRequiredMemberFiles(e);return n&&i?"complet":"date lipsa"}get hasIncompleteMembers(){return this.teamMembers.some(e=>this.getMemberStatus(e)!=="complet")}get hasOnlyCompleteMembers(){return this.teamMembers.length>0&&!this.hasIncompleteMembers}hasAllRequiredMemberFields(e){let n=!!(e.firstName&&e.firstName.trim()!==""),i=!!(e.lastName&&e.lastName.trim()!==""),d=e.ftcExperience!==null&&e.ftcExperience!==void 0,u=!!(e.dateOfBirth&&e.dateOfBirth!==""&&e.dateOfBirth!=="1970-01-01");return n&&i&&d&&u}hasAllRequiredMemberFiles(e){if(!e.files||e.files.length<3)return!1;let n=this.getMemberFileTypes(e);return["gdpr","image","first"].every(d=>n.includes(d))}getMemberFileTypes(e){if(!e.files||e.files.length===0)return[];let n=[];
156return e.files.forEach(i=>{let d=this.determineFileType(i.name);d&&!n.includes(d)&&n.push(d)}),n}getMemberFilesByType(e,n){return!e.files||e.files.length===0?[]:e.files.filter(i=>this.determineFileType(i.name)===n)}getMemberStatusClass(e){switch(this.getMemberStatus(e)){case"complet":return"status-complete";case"date lipsa":return"status-missing";default:return"status-empty"}}downloadMemberFile(e){this.fileService.getFileDownloadBlob(e.id).subscribe({next:n=>{this.triggerFileDownload(n,e.name)},error:n=>{console.error("Error downloading member file:",n)}})}viewMemberFile(e){this.fileService.getFilePreviewBlob(e.id).subscribe({next:n=>{this.openBlobInNewTab(n)},error:n=>{console.error("Error previewing member file:",n)}})}canAddMoreMembers(){return this.volunteer||this.teamMembers.length<15}getMemberLimitStatus(){return this.volunteer?`${this.teamMembers.length}`:`${this.teamMembers.length}/15`}getDisplayFileName(e){return e.startsWith("gdpr_")?e.substring(5):e.startsWith("image_")||e.startsWith("first_")?e.substring(6):e}toggleMemberFilesAccordion(e){let n=String(e);this.expandedMemberFiles.has(n)?this.expandedMemberFiles.delete(n):this.expandedMemberFiles.add(n)}isMemberFilesExpanded(e){return this.expandedMemberFiles.has(String(e))}
156validateMemberForm(){return this.memberForm.invalid?(Bs(this.memberForm,"member-roster-form"),!1):!0}downloadModelGdprMinori(){this.downloadModelFile("Declaratie-consimtamant-GDPR-participanti-minori.pdf")}downloadModelGdprMajori(){this.downloadModelFile("Declaratie-consimtamant-GDPR-participanti-majori.pdf")}downloadModelImageMinori(){this.downloadModelFile("Declaratie-consimtamant-IMAGINE-minori.pdf")}downloadModelImageMajori(){this.downloadModelFile("Declaratie-consimtamant-IMAGINE-majori.pdf")}downloadModelFirst(){this.downloadModelFile("Declaratie-FIRST-POLICIES.pdf")}downloadModelFile(e){let n=document.createElement("a");n.href=`assets/team-dashboard/person_files/${e}`,n.download=e,document.body.appendChild(n),n.click(),document.body.removeChild(n)}determineFileType(e){let n=e.toLowerCase();return n.includes("gdpr")?"gdpr":n.includes("image")?"image":n.includes("first")?"first":null}memberAgeValidator(e){if(!e.value)return null;let n=new Date(e.value);if(isNaN(n.getTime()))return{invalidDate:!0};let i=new Date,d=i.getFullYear()-n.getFullYear(),u=i.getMonth()-n.getMonth(),x=u<0||u===0&&i.getDate()<n.getDate()?d-1:d;return x<12?{ageTooYoung:{value:x,required:12}}:null}extractErrorMessage(e){if(!e)return"A ap\u0103rut o eroare. V\u0103 rug\u0103m s\u0103 \xEEncerca\u021Bi din nou.";let n=e?.error;if(typeof n=="string")return n;let i=n?.message||e?.message||n?.error||n?.detail;if(typeof i=="string")return i;if(Array.isArray(i)){let d=i.filter(u=>typeof u=="string").join(" ");if(d)return d}return"A ap\u0103rut o eroare. V\u0103 rug\u0103m s\u0103 \xEEncerca\u021Bi din nou."}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ne),T(Dt))}}static{this.\u0275cmp=V({type:t,selectors:[["app-members"]],inputs:{currentSeasonData:"currentSeasonData",volunteer:"volunteer",isRosterLocked:"isRosterLocked"},outputs:{seasonDataUpdated:"seasonDataUpdated"},standalone:!0,features:[Mt,B],decls:23,vars:12,consts:[[1,"tab-content"],["class","announcement-banner","role","status",4,"ngIf"],["class","announcement-banner announcement-success","role","status",4,"ngIf"],["class","announcement-banner announcement-volunteer","role","status",4,"ngIf"],["role","status",1,"announcement-banner","announcement-deadline"],[1,"announcement-content"],[1,"fas","fa-calendar-alt"],[1,"announcement-text"],[1,"announcement-label"],[1,"section"],[1,"section-header"],[1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-plus"],["class","roster-locked-message",4,"ngIf"],["rosterModal","","class","modal-overlay",3,"click",4,"ngIf"],["class","members-grid",4,"ngIf"],["class","empty-state",4,"ngIf"],["role","status",1,"announcement-banner"],[1,"fas","fa-exclamation-circle"],["role","status",1,"announcement-banner","announcement-success"],[1,"fas","fa-check-circle"],["role","status",1,"announcement-banner","announcement-volunteer"],[1,"fas","fa-info-circle"],[1,"roster-locked-message"],[1,"fas","fa-lock"],["rosterModal","",1,"modal-overlay",3,"click"],["role","dialog","aria-modal","true","aria-labelledby","member-form-title","cdkTrapFocus","",1,"modal-content","modal-large",3,"keydown.escape","click","cdkTrapFocusAutoCapture"],[1,"modal-header"],["id","member-form-title"],["type","button","aria-label","\xCEnchide fereastra",1,"modal-close",3,"click","disabled"],[1,"fas","fa-times"],[1,"modal-body"],["id","member-roster-form",3,"ngSubmit","formGroup"],[1,"form-hint"],[1,"form-grid"],[1,"form-group"],["for","member-firstName"],["type","text","id","member-firstName","formControlName","firstName","placeholder","Prenume"],["class","error-message",4,"ngIf"],["for","member-lastName"],["type","text","id","member-lastName","formControlName","lastName","placeholder","Nume"],["for","member-email"],["type","email","id","member-email","formControlName","email","placeholder","[email protected]"],["for","member-phone"],["type","tel","id","member-phone","formControlName","phone","placeholder","0734 234 234"],["for","member-personalNumericalCode"],["type","text","id","member-personalNumericalCode","formControlName","personalNumericalCode","placeholder","13 cifre","inputmode","numeric","maxlength","13"],["for","member-dateOfBirth"],["type","date","id","member-dateOfBirth","formControlName","dateOfBirth"],["for","member-ftcExperience"],["type","number","id","member-ftcExperience","formControlName","ftcExperience","min","0","placeholder","0"],["for","member-mainDepartment"],["id","member-mainDepartment","formControlName","mainDepartment"],["value",""],["value","PROGRAMMING"],["value","MECHANICAL"],["value","ELECTRONICS"],["value","DESIGN"],["value","STRATEGY"],["value","COMMUNICATION"],["value","MARKETING"],["value","GRAPHIC_DESIGN"],["value","SOCIAL_MEDIA"],["value","FUNDRAISING"],["value","CAD_3D"],["value","ASSEMBLY_MECHANICAL"],["class","form-group",4,"ngIf"],[1,"agreements-section"],[1,"agreement-item"],[1,"agreement-header"],[1,"agreement-title"],[1,"download-buttons"],["type","button",1,"download-btn",3,"click"],[1,"fas","fa-download"],[1,"file-upload"],["class","file-preview",4,"ngIf"],["type","file","id","memberGdprAgreement","accept",".pdf",1,"file-input",3,"change"],["for","memberGdprAgreement",1,"file-label"],[1,"fas","fa-upload"],["type","file","id","memberImageAgreement","accept",".pdf",1,"file-input",3,"change"],["for","memberImageAgreement",1,"file-label"],["type","file","id","memberFirstAgreement","accept",".pdf",1,"file-input",3,"change"],["for","memberFirstAgreement",1,"file-label"],["class","form-validation-message",4,"ngIf"],[1,"form-actions"],["type","submit","form","member-roster-form",1,"btn","btn-success",3,"disabled"],[1,"fas","fa-save"],["type","button",1,"btn","btn-secondary",3,"click","disabled"],[1,"error-message"],[4,"ngIf"],[1,"roster-choice"],["type","checkbox","formControlName","isTeamLeader"],[1,"file-preview"],[1,"preview-content"],[1,"fas","fa-file-pdf"],["type","button","class","remove-file-btn",3,"click",4,"ngIf"],[1,"fas","fa-check-circle",2,"color","green"],["type","button",1,"remove-file-btn",3,"click"],[1,"form-validation-message"],[1,"alert","alert-warning"],[1,"fas","fa-exclamation-triangle"],["role","alert",1,"alert","alert-danger"],[1,"modal-content","delete-confirmation-modal",3,"click"],["type","button","aria-label","\xCEnchide fereastra",1,"modal-close",3,"click"],[1,"delete-confirmation-content"],[1,"warning-icon"],["class","member-info",4,"ngIf"],[1,"warning-message"],["class","form-validation-message","style","margin-top: 1rem;",4,"ngIf"],[1,"modal-footer"],["type","button",1,"btn","btn-danger",3,"click","disabled"],["class","fas fa-tras
156h",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"member-info"],[1,"form-validation-message",2,"margin-top","1rem"],[1,"fas","fa-trash"],[1,"fas","fa-spinner","fa-spin"],[1,"members-grid"],["class","member-card",3,"team-leader",4,"ngFor","ngForOf"],[1,"member-card"],[1,"member-header"],["class","team-leader-badge",4,"ngIf"],[1,"member-status",3,"ngClass"],[1,"info-item"],["class","member-files",4,"ngIf"],["class","no-files",4,"ngIf"],[1,"member-actions"],[1,"btn","btn-sm","btn-primary",3,"click","disabled"],[1,"fas","fa-edit"],[1,"btn","btn-sm","btn-danger",3,"click","disabled"],[1,"team-leader-badge"],[1,"fas","fa-crown"],[1,"member-files"],[1,"files-header",3,"click"],[1,"fas","fa-chevron-down","accordion-icon"],[1,"files-content"],["class","file-section",4,"ngIf"],[1,"file-section"],[1,"file-section-title"],[1,"files-list"],["class","file-item",4,"ngFor","ngForOf"],[1,"file-item"],[1,"file-info"],[1,"file-name"],[1,"file-size"],[1,"file-actions"],["type","button","title","Descarc\u0103 fi\u0219ierul",1,"download-file-btn",3,"click"],["type","button","title","Vizualizeaz\u0103 fi\u0219ierul",1,"view-file-btn",3,"click"],[1,"fas","fa-eye"],[1,"no-files"],[1,"empty-state"],[1,"fas","fa-user-graduate"]],template:function(n,i){n&1&&(r(0,"div",0),h(1,r7,7,1,"div",1)(2,a7,7,1,"div",2)(3,s7,7,0,"div",3),r(4,"div",4)(5,"div",5),_(6,"i",6),r(7,"div",7)(8,"span",8),a(9,"Termen-limit\u0103: 17 ianuarie 2027"),o(),a(10),o()()(),r(11,"div",9)(12,"div",10)(13,"h2"),a(14),o(),r(15,"button",11),b("click",function(){return i.showMemberFormForTeam()}),_(16,"i",12),a(17),o()(),h(18,c7,6,1,"div",13)(19,V7,138,38,"div",14)(20,W7,27,10,"div",14)(21,tF,2,1,"div",15)(22,nF,6,2,"div",16),o()()),n&2&&(c(),m("ngIf",i.hasIncompleteMembers),c(),m("ngIf",i.hasOnlyCompleteMembers),c(),m("ngIf",i.volunteer),c(7),w(" Dup\u0103 aceast\u0103 dat\u0103 nu se mai pot ad\u0103uga sau modifica ",i.volunteer?"elevi voluntari":"membri",". Vor primi diplome numai persoanele introduse p\xE2n\u0103 la termen, cu statusul \u201ECompletat\u201D, date corecte \u0219i acorduri PDF. "),c(4),O(i.volunteer?"Elevi voluntari":"Membrii echipei"),c(),m("disabled",i.isRosterLocked||!i.canAddMoreMembers()),c(2),w(" ",i.isRosterLocked?"Componen\u021B\u0103 final\u0103":i.canAddMoreMembers()?i.volunteer?"Ad\u0103ugare elev voluntar":"Ad\u0103ugare membru":"Max 15 membri"," "),c(),m("ngIf",i.isRosterLocked),c(),m("ngIf",i.showMemberForm),c(),m("ngIf",i.showDeleteConfirmation),c(),m("ngIf",i.teamMembers.length>0),c(),m("ngIf",i.teamMembers.length===0&&!i.showMemberForm))},dependencies:[H,xt,X,$,js,Us,qs,se,Oe,fe,he,re,lt,Pt,ue,ie,Pe,Cn,yt,$e,We,Ge],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--primary-color: #667eea;--primary-hover: #5a6fd8;--secondary-color: #6c757d;--secondary-hover: #5a6268;--success-color: #28a745;--success-hover: #218838;--danger-color: #dc3545;--danger-hover: #c82333;--info-color: var(--natie-blue-accessible);--info-hover: #0056b3;--warning-color: #ffc107;--warning-hover: #e0a800;--light-bg: #f8f9fa;--border-color: #e1e5e9;--text-primary: #1a1a1a;--text-secondary: #6c757d;--text-muted: #adb5bd}.announcement-banner[_ngcontent-%COMP%]{background:#f8d7da;border:1px solid #f1aeb5;border-left:4px solid #721c24;border-radius:8px;margin-bottom:1rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.875rem 1rem;gap:.75rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.125rem;color:#721c24;flex-shrink:0}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{color:#721c24;font-size:.9rem;line-height:1.45;font-weight:600}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%] .announcement-label[_ngcontent-%COMP%]{display:inline-block;margin-right:.5rem;padding:.2rem .55rem;border-radius:12px;background:#721c24;color:#fff;font-size:.75rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.025em}.announcement-banner.announcement-success[_ngcontent-%COMP%]{background:#d4edda;border-color:#b7dfc2;border-left-color:#155724}.announcement-banner.announcement-success[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .announcement-banner.announcement-success[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{color:#155724}.announcement-banner.announcement-success[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-label[_ngcontent-%COMP%]{background:#155724}.announcement-banner.announcement-volunteer[_ngcontent-%COMP%]{background:#dbeafe;border-color:#bfdbfe;border-left-color:#1d4ed8}.announcement-banner.announcement-volunteer[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .announcement-banner.announcement-volunteer[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{color:#1e3a8a}.announcement-banner.announcement-volunteer[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-label[_ngcontent-%COMP%]{background:#1d4ed8}.announcement-banner.announcement-deadline[_ngcontent-%COMP%]{background:#fff3cd;border-color:#ffe69c;border-left-color:#856404}.announcement-banner.announcement-deadline[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .announcement-banner.announcement-deadline[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{color:#856404}.announcement-banner.announcement-deadline[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-label[_ngcontent-%COMP%]{background:#856404}.roster-locked-message[_ngcontent-%COMP%]{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.roster-locked-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:#f39c12;flex-shrink:0}.roster-locked-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#856404;font-size:1rem;line-height:1.5}.roster-locked-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600}.tab-content[_ngcontent-%COMP%]{padding:2rem}.section[_ngcontent-%COMP%]{margin-bottom:3rem}.section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;border:none;padding:0}.form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;min-height:48px;box-sizing:border-box}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;min-height:80px}.team-leader-checkbox[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;height:48px;box-sizing:border-box;background:#fff}.team-leader-checkbox[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.team-leader-checkbox[_ngcontent-%COMP%]:focus-within{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.team-leader-checkbox.checked[_ngcontent-%COMP%]{border-color:var(--primary-color);background-color:#667eea0d}.team-leader-checkbox.checked[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.team-leader-checkbox.checked[_ngcontent-%COMP%] .checkbox-text[_ngcontent-%COMP%]{color:var(--primary-color);font-weight:500}.team-leader-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.team-leader-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.75rem;font-size:1rem;color:#6c757d;transition:color .2s ease}.team-leader-checkbox[_ngcontent-%COMP%] .checkbox-text[_ngcontent-%COMP%]{flex:1;color:var(--text-primary);-webkit-user-select:none;user-select:none;transition:color .2s ease,font-weight .2s ease}.form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;margin-top:1.5rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color, #dee2e6);flex-shrink:0;background:#fff!important;position:sticky;bottom:0;z-index:10;box-shadow:0 -2px 10px #0000001a}.form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px;font-weight:500;text-transform:none}
156.members-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.member-card[_ngcontent-%COMP%]{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:box-shadow .2s;display:flex;flex-direction:column}.member-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #0000001a}.member-card.team-leader[_ngcontent-%COMP%]{border:2px solid var(--team-primary-color, #667eea);background:var(--team-primary-color-alpha-5, rgba(102, 126, 234, .05))}.member-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%]{margin:1rem 0}.member-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.member-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);margin:.25rem 0}.member-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.member-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;display:flex;align-items:center;gap:.5rem}.team-leader-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;background:var(--team-primary-color, #667eea);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.team-leader-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.7rem}.member-status[_ngcontent-%COMP%]{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase}.member-status.status-complete[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.member-status.status-missing[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.member-status.status-empty[_ngcontent-%COMP%]{background:#e2e3e5;color:#6c757d}.info-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.info-item[_ngcontent-%COMP%]:last-child{border-bottom:none}.info-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin:0}.info-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-primary)}.member-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;margin-top:auto;padding-top:1rem;flex-shrink:0}.member-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1;justify-content:center}.btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s;text-decoration:none;font-size:.9rem;min-height:48px;box-sizing:border-box}.btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[_ngcontent-%COMP%]{background:var(--primary-color);color:#fff}.btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-success[_ngcontent-%COMP%]{background:var(--success-color, #28a745);color:#fff!important;border:1px solid var(--success-color, #28a745)}.btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--success-hover, #218838);border-color:var(--success-hover, #218838)}.btn.btn-success[_ngcontent-%COMP%]:disabled{background:#6c757d;border-color:#6c757d;color:#fff!important}.btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color, #6c757d);color:#fff!important;border:1px solid var(--secondary-color, #6c757d)}.btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover, #5a6268);border-color:var(--secondary-hover, #5a6268)}.btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);color:#fff}.btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover)}.btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.8rem}
156.btn.btn-large[_ngcontent-%COMP%]{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.error-message[_ngcontent-%COMP%]:before{content:"\\26a0";font-size:.75rem}.form-validation-message[_ngcontent-%COMP%]{margin:1rem 0}.form-validation-message[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{padding:1rem;border-radius:.5rem;border:1px solid}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%]{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem;color:#f39c12}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:.5rem 0 0;padding-left:1.5rem}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.25rem 0}.form-validation-message[_ngcontent-%COMP%] .alert.alert-danger[_ngcontent-%COMP%]{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.form-validation-message[_ngcontent-%COMP%] .alert.alert-danger[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem;color:#dc3545}.form-validation-message[_ngcontent-%COMP%] .alert.alert-danger[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:.5rem 0 0;padding-left:1.5rem}.form-validation-message[_ngcontent-%COMP%] .alert.alert-danger[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.25rem 0}input.error[_ngcontent-%COMP%], select.error[_ngcontent-%COMP%], textarea.error[_ngcontent-%COMP%]{border-color:#dc3545!important;box-shadow:0 0 0 .2rem #dc354540!important}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:3rem 2rem;color:#6c757d}.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;color:#dee2e6}.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#495057}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.file-input[_ngcontent-%COMP%]{display:none}.delete-confirmation-modal[_ngcontent-%COMP%]{max-width:500px}.delete-confirmation-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:2rem;text-align:center}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#ee5a52);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.5rem;color:#fff}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#1a1a1a;line-height:1.4}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;width:100%;text-align:left}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.5rem 0;color:#495057}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1
156a1a1a;font-weight:600}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%]{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1rem;width:100%}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#856404;font-size:.9rem;line-height:1.5;display:flex;align-items:flex-start;gap:.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#f39c12;margin-top:.1rem;flex-shrink:0}.modal-footer[_ngcontent-%COMP%]{padding:1.5rem 2rem;display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid var(--border-color);background:#f8f9fa}.modal-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);border-color:var(--danger-color)}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.modal-footer[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color);border-color:var(--secondary-color)}.modal-footer[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover);border-color:var(--secondary-hover)}@keyframes _ngcontent-%COMP%_modalSlideIn{0%{transform:translateY(-50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.agreements-section[_ngcontent-%COMP%]{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:1px solid #dee2e6}.agreements-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem}.agreements-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]:before{content:"\\1f4c4";font-size:1.3rem}.agreement-item[_ngcontent-%COMP%]{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid var(--border-color);transition:background-color .3s ease}.agreement-item[_ngcontent-%COMP%]:last-child{margin-bottom:0}.agreement-item[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #00000014;border-color:#667eea}.agreement-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.agreement-title[_ngcontent-%COMP%]{font-weight:600;color:#2c3e50;font-size:.95rem}.download-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-wrap:wrap;padding-bottom:.75rem}.download-btn[_ngcontent-%COMP%]{padding:.4rem .8rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background-color .3s ease;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.download-btn[_ngcontent-%COMP%]:hover{background:#5a6fd8}.download-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9rem}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.file-preview[_ngcontent-%COMP%]{background:#f8f9fa;padding:.75rem;border-radius:6px;border:1px dashed #ced4da}.preview-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.preview-content[_ngcontent-%COMP%] i.fas[_ngcontent-%COMP%]{font-size:1.5rem;color:#667eea}.preview-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1;font-size:.9rem;color:#495057;display:flex;align-items:center;gap:.5rem}.remove-file-btn[_ngcontent-%COMP%]{padding:.3rem .6rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.remove-file-btn[_ngcontent-%COMP%]:hover{background:#c82333}.remove-file-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#fff!important}.file-label[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;color:var(--text-primary);border:1px solid #ced4da;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s;text-decoration:none;min-height:48px;box-sizing:border-box}.file-label[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.file-label[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.file-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem;color:var(--primary-color)}.mentor-files[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%]{margin-top:1.5rem;background:#f8f9fa;border-radius:10px;border:1px solid #dee2e6}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]:hover, .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]:hover{background-color:#e9ecef}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{margin:0;font-size:1.05rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]:before, .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]:before{content:"\\1f4ce";font-size:1.2rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%]{font-size:.9rem;color:#6c757d;transition:transform .3s ease}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon.rotated[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.mentor-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%]{overflow:hidden;transition:max-height .3s ease,opacity .3s ease;padding:0 1.5rem 1.5rem}.mentor-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%]{max-height:0;opacity:0;padding:0 1.5rem}.mentor-files[_ngcontent-%COMP%] .files-content.expanded[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-content.expanded[_ngcontent-%COMP%]{max-height:1000px;opacity:1}.file-section[_ngcontent-%COMP%]{margin-bottom:1.5rem}.file-section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.file-section-title[_ngcontent-%COMP%]{font-weight:600;color:#667eea;font-size:.95rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.files-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.file-item[_ngcontent-%COMP%]{background:#fff;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background-color .2s ease}.file-item[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #00000014;border-color:#667eea}.file-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.file-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:#dc3545;flex-shrink:0}
156.file-info[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{font-weight:500;color:#2c3e50;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info[_ngcontent-%COMP%] .file-size[_ngcontent-%COMP%]{color:#6c757d;font-size:.85rem;flex-shrink:0}.file-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-shrink:0}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:.4rem .7rem;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease;display:inline-flex;align-items:center;justify-content:center}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9rem}.download-file-btn[_ngcontent-%COMP%]{background:var(--natie-blue);color:#fff}.download-file-btn[_ngcontent-%COMP%]:hover{background:#0056b3}.view-file-btn[_ngcontent-%COMP%]{background:#28a745;color:#fff}.view-file-btn[_ngcontent-%COMP%]:hover{background:#218838}.no-files[_ngcontent-%COMP%]{background:#fff;padding:2rem;border-radius:8px;text-align:center;border:2px dashed #dee2e6}.no-files[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#6c757d;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.no-files[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ffc107;font-size:1.1rem}@media (max-width: 768px){[_nghost-%COMP%]{padding:1rem}.announcement-banner[_ngcontent-%COMP%]{margin-bottom:.875rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%]{padding:.75rem;gap:.625rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem}.announcement-banner[_ngcontent-%COMP%] .announcement-content[_ngcontent-%COMP%] .announcement-text[_ngcontent-%COMP%]{font-size:.85rem}.form-grid[_ngcontent-%COMP%], .members-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.section-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.form-actions[_ngcontent-%COMP%]{flex-direction:column}.agreement-header[_ngcontent-%COMP%], .file-item[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.file-info[_ngcontent-%COMP%]{width:100%}.file-info[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{white-space:normal;word-break:break-word}.file-actions[_ngcontent-%COMP%]{width:100%;justify-content:flex-end}.modal-content[_ngcontent-%COMP%]{max-width:95%;max-height:85vh}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:95%}.modal-body[_ngcontent-%COMP%]{padding:1rem}.modal-header[_ngcontent-%COMP%]{padding:1rem 1.5rem}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.25rem}.modal-body[_ngcontent-%COMP%]{padding:1.5rem}}@media (max-width: 480px){[_nghost-%COMP%]{padding:.5rem}.tab-content[_ngcontent-%COMP%]{padding:1rem}.btn[_ngcontent-%COMP%]{padding:.6rem 1rem;font-size:.8rem}
156.btn-large[_ngcontent-%COMP%]{padding:.8rem 1.5rem;font-size:1rem}.agreements-section[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%]{padding:1rem}.file-actions[_ngcontent-%COMP%]{gap:.25rem}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:.35rem .6rem;font-size:.8rem}.modal-overlay[_ngcontent-%COMP%]{padding:.5rem}.modal-content[_ngcontent-%COMP%]{max-width:100%;max-height:95vh;border-radius:12px}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:100%}.modal-header[_ngcontent-%COMP%]{padding:1rem 1.25rem}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.1rem}.modal-body[_ngcontent-%COMP%]{padding:1.25rem}.modal-close[_ngcontent-%COMP%]{width:32px;height:32px;font-size:1rem}.member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]{padding:1rem}.member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{font-size:.95rem}.member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%]{font-size:.8rem}.member-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%]{padding:0 1rem 1rem}.member-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%]{padding:0 1rem}}',".modal-overlay[_ngcontent-%COMP%]{position:fixed!important;inset:0!important;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:var(--z-modal)!important;animation:fadeIn .3s ease!important;padding:1rem!important;overflow-y:auto!important;overflow-x:hidden!important}.modal-content[_ngcontent-%COMP%]{background:#fff;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:modalSlideIn .3s ease;position:relative;overflow:hidden;z-index:1}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:900px}.modal-header[_ngcontent-%COMP%]{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#667eea;flex-shrink:0;position:relative;z-index:2}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.modal-close[_ngcontent-%COMP%]{background:#fff3;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;color:#fff;font-size:1.2rem}.modal-close[_ngcontent-%COMP%]:hover{background:#ffffff4d}.modal-body[_ngcontent-%COMP%]{padding:2rem;overflow-y:auto;flex:1;min-height:0;background:#fff;margin-top:0;position:relative;z-index:1}.modal-body[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.modal-overlay[_ngcontent-%COMP%]{box-sizing:border-box;overscroll-behavior:contain}.modal-content[_ngcontent-%COMP%]{border-radius:16px;max-height:calc(100dvh - 2rem);min-width:0}.modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%]{gap:1rem}.modal-close[_ngcontent-%COMP%]{flex:0 0 auto}.modal-body[_ngcontent-%COMP%]{overscroll-behavior:contain}.modal-body[_ngcontent-%COMP%] .form-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-body[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{min-width:0}.modal-body[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not([type=checkbox]):not([type=radio]):not([type=file]), .modal-body[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;min-width:0}.modal-body[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%], .modal
156-body[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{display:inline-block;width:18px;height:18px;min-height:0;padding:0;flex:0 0 auto;accent-color:#5366cf}.modal-body[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{line-height:1.5}.modal-body[_ngcontent-%COMP%] .form-hint[_ngcontent-%COMP%], .modal-body[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#59616c;font-size:.875rem;line-height:1.5;margin:0}.modal-body[_ngcontent-%COMP%] .roster-options[_ngcontent-%COMP%]{border:1px solid #d9dee7;border-radius:10px;padding:1rem;margin:0;gap:.75rem}.modal-body[_ngcontent-%COMP%] .roster-options[_ngcontent-%COMP%] legend[_ngcontent-%COMP%]{font-weight:600;font-size:1rem;padding:0 .35rem}.modal-body[_ngcontent-%COMP%] .roster-options[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .modal-body[_ngcontent-%COMP%] .roster-choice[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;cursor:pointer;margin:0}.modal-body[_ngcontent-%COMP%] .mentor-type-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.modal-body[_ngcontent-%COMP%] .mentor-type-content[_ngcontent-%COMP%]{min-width:0}.modal-body[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%], .modal
156-body[_ngcontent-%COMP%] .file-preview[_ngcontent-%COMP%], .modal-body[_ngcontent-%COMP%] .agreement-title[_ngcontent-%COMP%]{overflow-wrap:anywhere;min-width:0}.modal-body[_ngcontent-%COMP%] .download-buttons[_ngcontent-%COMP%], .modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{flex-wrap:wrap}.modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{border-top:1px solid #e1e5e9;padding-top:1rem}.modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:focus-visible, .modal-body[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus-visible, .modal-body[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus-visible{outline:3px solid #5366cf;outline-offset:3px}.modal-body[_ngcontent-%COMP%] .mentor-type-option[_ngcontent-%COMP%]:focus-within{outline:3px solid #5366cf;outline-offset:3px}@media (max-width: 600px){.modal-content.modal-large[_ngcontent-%COMP%]{width:100%;max-width:100%}.modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%]{padding:1rem}.modal-content[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.125rem}.modal-content[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:1rem}.modal-body[_ngcontent-%COMP%] .form-grid[_ngcontent-%COMP%], .modal
156-body[_ngcontent-%COMP%] .mentor-type-selector[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}.modal-body[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1 1 100%}}.modal-content[_ngcontent-%COMP%] > .form-actions[_ngcontent-%COMP%]{position:static;flex-shrink:0;flex-wrap:wrap;margin:0;padding:1rem 2rem;border-top:1px solid #e1e5e9;box-shadow:none;background:#fff}@media (max-width: 600px){.modal-content[_ngcontent-%COMP%] > .form-actions[_ngcontent-%COMP%]{padding:.75rem 1rem;gap:.75rem}.modal-content[_ngcontent-%COMP%] > .form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1;min-width:0}}"]})}}return t})();var Yu=()=>[];function iF(t,s){if(t&1&&(r(0,"div",10),a(1),o()),t&2){let e=p();I("error",e.messageType==="error")("success",e.messageType==="success"),c(),w(" ",e.message," ")}}function oF(t,s){if(t&1&&(r(0,"div",11),a(1),o()),t&2){let e=p();c(),w(" ",e.readOnlyMessage," ")}}function rF(t,s){t&1&&(r(0,"div",12),a(1," Se \xEEncarc\u0103 formularul... "),o())}function aF(t,s){t&1&&(r(0,"div",13),a(1," Nu exist\u0103 \xEEntreb\u0103ri configurate pentru sezonul curent. "),o())}function sF(t,s){if(t&1&&(r(0,"p",37),a(1),o()),t&2){let e=p().$implicit;c(),O(e.description)}}function cF(t,s){if(t&1&&(r(0,"div",38),_(1,"input",39),o()),t&2){let e=p().$implicit,n=p(2);c(),I("error",n.isInvalid(e)),m("id",n.fieldName(e))("formControlName",n.fieldName(e))}}function lF(t,s){if(t&1&&(r(0,"div",38)(1,"textarea",40),a(2," "),o()()),t&2){let e=p().$implicit,n=p(2);c(),I("error",n.isInvalid(e)),m("id",n.fieldName(e))("formControlName",n.fieldName(e))}}function dF(t,s){if(t&1&&(r(0,"div",41),_(1,"input",42),o()),t&2){let e=p().$implicit,n=p(2);c(),I("error",n.isInvalid(e)),m("id",n.fieldName(e))("formControlName",n.fieldName(e))}}function mF(t,s){if(t&1&&(r(0,"div",43)(1,"label"),_(2,"input",44),r(3,"span"),a(4,"Da"),o()(),r(5,"label"),_(6,"input",45),r(7,"span"),a(8,"Nu"),o()()()),t&2){let e,n,i=p().$implicit,d=p(2);c(),I("active",((e=d.form.get(d.fieldName(i)))==null?null:e.value)==="true"),c(),m("formControlName",d.fieldName(i)),c(3),I("active",((n=d.form.get(d.fieldName(i)))==null?null:n.value)==="false"),c(),m("formControlName",d.fieldName(i))}}function gF(t,s){if(t&1&&(r(0,"option",49),a(1),o()),t&2){let e=s.$implicit;m("value",e),c(),O(e)}}function pF(t,s){if(t&1&&(r(0,"div",41)(1,"select",46)(2,"option",47),a(3,"Alege"),o(),h(4,gF,2,2,"option",48),o()()),t&2){let e=p().$implicit,n=p(2);c(),I("error",n.isInvalid(e)),m("id",n.fieldName(e))("formControlName",n.fieldName(e)),c(3),m("ngForOf",e.options||un(5,Yu))}}function uF(t,s){if(t&1){let e=E();r(0,"label",52)(1,"input",53),b("change",function(i){let d=v(e).$implicit,u=p(2).$implicit,x=p(2);return M(x.toggleMultiOption(u,d,i.target.checked))}),o(),r(2,"span"),a(3),o()()}if(t&2){let e=s.$implicit,n=p(2).$implicit,i=p(2);c(),m("disabled",!i.answersEditable)("checked",i.isMultiOptionSelected(n,e)),c(2),O(e)}}function _F(t,s){if(t&1&&(r(0,"div",50),h(1,uF,4,3,"label",51),o()),t&2){let e=p().$implicit;c(),m("ngForOf",e.options||un(1,Yu))}}function fF(t,s){if(t&1&&(r(0,"div",54)(1,"label",55)(2,"span"),a(3,"S \xB7 Strengths"),o(),_(4,"textarea",56),o(),r(5,"label",57)(6,"span"),a(7,"W \xB7 Weaknesses"),o(),_(8,"textarea",58),o(),r(9,"label",55)(10,"span"),a(11,"O \xB7 Opportunities"),o(),_(12,"textarea",59),o(),r(13,"label",57)(14,"span"),a(15,"T \xB7 Threats"),o(),_(16,"textarea",60),o()()),t&2){let e=p().$implicit,n=p(2);m("formGroupName",n.fieldName(e))}}function hF(t,s){t&1&&(r(0,"div",61),a(1," Acest c\xE2mp este obligatoriu. "),o())}function CF(t,s){if(t&1&&(r(0,"section",21)(1,"div",22)(2,"div",23),a(3),o(),r(4,"div",24)(5,"label",25),a(6),o(),h(7,sF,2,1,"p",26),o(),r(8,"div",27)(9,"span",28),a(10),o(),r(11,"span",29),a(12),o()()(),Me(13,30),h(14,cF,2,4,"div",31)(15,lF,3,4,"div",31)(16,dF,2,4,"div",32)(17,mF,9,6,"div",33)(18,pF,5,6,"div",32)(19,_F,2,2,"div",34)(20,fF,17,1,"div",35),xe(),h(21,hF,2,0,"div",36),o()),t&2){let e=s.$implicit,n=s.index,i=p(2);I("complete",i.isQuestionComplete(e))("invalid",i.isInvalid(e)),c(3),O(n+1),c(2),ot("for",i.fieldName(e)),c(),w(" ",e.label," "),c(),m("ngIf",e.de
156scription),c(3),O(i.questionTypeLabel(e)),c(),I("optional",!e.isRequired),c(),w(" ",e.isRequired?"Obligatoriu":"Op\u021Bional"," "),c(),m("ngSwitch",e.questionType),c(),m("ngSwitchCase","SHORT_TEXT"),c(),m("ngSwitchCase","LONG_TEXT"),c(),m("ngSwitchCase","NUMBER"),c(),m("ngSwitchCase","BOOLEAN"),c(),m("ngSwitchCase","SINGLE_SELECT"),c(),m("ngSwitchCase","MULTI_SELECT"),c(),m("ngSwitchCase","SWOT"),c(),m("ngIf",i.isInvalid(e))}}function vF(t,s){t&1&&_(0,"i",66)}function MF(t,s){t&1&&_(0,"i",67)}function xF(t,s){if(t&1&&(r(0,"div",62)(1,"span"),a(2),o(),r(3,"button",63),h(4,vF,1,0,"i",64)(5,MF,1,0,"i",65),a(6),o()()),t&2){let e=p(2);c(2),w("",e.completionPercent,"% completat"),c(),m("disabled",e.isSaving),c(),m("ngIf",!e.isSaving),c(),m("ngIf",e.isSaving),c(),w(" ",e.isSaving?"Se salveaz\u0103...":"Salveaz\u0103 r\u0103spunsurile"," ")}}function bF(t,s){if(t&1){let e=E();r(0,"form",14),b("ngSubmit",function(){v(e);let i=p();return M(i.submit())}),r(1,"div",15)(2,"div")(3,"span"),a(4,"\xCEntreb\u0103ri obligatorii completate"),o(),r(5,"strong"),a(6),o()(),r(7,"div",16),_(8,"div",17),o()(),r(9,"div",18),h(10,CF,22,21,"section",19),o(),h(11,xF,7,5,"div",20),o()}if(t&2){let e=p();m("formGroup",e.form),c(6),G("",e.completedRequiredQuestionsCount," / ",e.requiredQuestionsCount,""),c(2),vo("width",e.completionPercent,"%"),c(2),m("ngForOf",e.questions),c(),m("ngIf",e.answersEditable)}}var Ku=(()=>{class t{constructor(e,n){this.fb=e,this.seasonRegistrationService=n,this.currentSeasonData=null,this.answersEditable=!1,this.readOnlyMessage="",this.answersSaved=new it,this.questions=[],this.answers=[],this.form=this.fb.group({}),this.isLoading=!1,this.isSaving=!1,this.message="",this.messageType="success"}ngOnChanges(e){e.currentSeasonData&&this.currentSeasonData?this.loadFormData():e.answersEditable&&this.updateFormEditability()}loadFormData(){this.currentSeasonData&&(this.isLoading=!0,this.message="",this.seasonRegistrationService.getCurrentSeasonQuestions().subscribe({next:e=>{this.questions=e.message||[],this.seasonRegistrationService.getTeamSeasonAnswers(this.currentSeasonData.id).subscribe({next:n=>{this.answers=n.message||[],this.buildForm(),this.isLoading=!1},error:n=>{console.error("Error loading registration answers:",n),this.message="Nu am putut \xEEnc\u0103rca r\u0103spunsurile formularului.",this.messageType="error",this.isLoading=!1}})},error:e=>{console.error("Error loading registration questions:",e),this.message="Nu am putut \xEEnc\u0103rca \xEEntreb\u0103rile formularului.",this.messageType="error",this.isLoading=!1}}))}submit(){if(!this.currentSeasonData||!this.answersEditable||this.isSaving)return;if(this.form.markAllAsTouched(),this.form.invalid){this.message="Completeaz\u0103 toate c\xE2mpurile obligatorii \xEEnainte de salvare.",this.messageType="error";return}let e={answers:this.questions.map(n=>({questionId:n.id,value:this.normalizeAnswerValue(n)}))};this.isSaving=!0,this.message="",this.seasonRegistrationService.submitTeamSeasonAnswers(this.currentSeasonData.id,e).subscribe({next:n=>{this.answers=n.message||[],this.buildForm(),this.isSaving=!1,this.message="R\u0103spunsurile au fost salvate.",this.messageType="success",this.answersSaved.emit()},error:n=>{console.error("Error saving registration answers:",n),this.isSaving=!1,this.message=n?.error?.message?.message||n?.error?.message||"Nu am putut salva r\u0103spunsurile.",this.messageType="error"}})}fieldName(e){return`question_${e.id}`}isInvalid(e){let n=this.form.get(this.fieldName(e));return!!n&&n.invalid&&(n.touched||n.dirty)}isQuestionComplete(e){let n=this.form.get(this.fieldName(e))?.value;return e.isRequired?e.questionType==="SWOT"?this.hasText(n?.weaknesses)&&this.hasText(n?.threats):Array.isArray(n)?n.length>0:this.hasText(n):!0}get requiredQuestionsCount(){return this.questions.filter(e=>e.isRequired).length}get completedRequiredQuestionsCount(){return this.questions.filter(e=>e.isRequired&&this.isQuestionComplete(e)).length}get completionPercent(){return this.requiredQuestionsCount===0?100:Math.round(this.completedRequiredQuestionsCount/this.requiredQuestionsCount*100)}questionTypeLabel(e){switch(e.questionType){case"SHORT_TEXT":return"Text scurt";case"LONG_TEXT":return"Text lung";case"NUMBER":return"Num\u0103r";case"BOOLEAN":return"Da/Nu";case"SINGLE_SELECT":return"Alegere unic\u0103";case"MULTI_SELECT":return"Alegere multipl\u0103";case"SWOT":return"SWOT";default:return e.questionType}}toggleMultiOption(e,n,i){let d=this.form.get(this.fieldName(e)),u=Array.isArray(d?.value)?[...d.value]:[],x=i?Array.from(new Set([...u,n])):u.filter(y=>y!==n);d?.setValue(x),d?.markAsDirty(),d?.markAsTouched()}isMultiOptionSelected(e,n){let i=this.form.get(this.fieldName(e))?.value;return Array.isArray(i)&&i.includes(n)}buildForm(){let e=new Map(this.answers.map(i=>[i.questionId,i.value])),n={};for(let i of this.questions){let d=e.get(i.id),u=i.isRequired?[N.required]:[];i.questionType==="SWOT"?n[this.fieldName(i)]=this.fb.group({strengths:[d?.strengths||""],weaknesses:[d?.weaknesses||"",i.isRequired?N.required:[]],opportunities:[d?.opportunities||""],threats:[d?.threats||"",i.isRequired?N.required:[]]}):i.questionType==="BOOLEAN"?n[this.fieldName(i)]=[typeof d=="boolean"?String(d):"",u]:i.questionType==="MULTI_SELECT"?n[this.fieldName(i)]=[Array.isArray(d)?d:[],i.isRequired?[this.requiredArrayValidator]:[]]:n[this.fieldName(i)]=[d??"",u]}this.form=this.fb.group(n),this.updateFormEditability()}updateFormEditability(){this.answersEditable?this.form.enable({emitEvent:!1}):this.form.disable({emitEvent:!1})}normalizeAnswerValue(e){let n=this.form.get(this.fieldName(e))?.value;return e.questionType==="NUMBER"?n===""||n===null||n===void 0?null:Number(n):e.questionType==="BOOLEAN"?n===""||n===null||n===void 0?null:n==="true":e.questionType==="SWOT"?{strengths:n?.strengths||"",weaknesses:n?.weaknesses||"",opportunities:n?.opportunities||"",threats:n?.threats||""}:n}requiredArrayValidator(e){return Array.isArray(e.value)&&e.value.length>0?null:{required:!0}}hasText(e){return e!=null&&String(e).trim().length>0}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Ii))}}static{this.\u0275cmp=V({type:t,selectors:[["app-season-registration-form"]],inputs:{currentSeasonData:"currentSeasonData",answersEditable:"answersEditable",readOnlyMessage:"readOnlyMessage"},outputs:{answersSaved:"answersSaved"},standalone:!0,features:[Mt,B],decls:16,vars:6,consts:[[1,"season-registration-form"],[1,"form-hero"],[1,"eyebrow"],["type","button","title","Re\xEEncarc\u0103",1,"icon-button",3,"click","disabled"],[1,"fas","fa-sync-alt"],["class","message",3,"error","success",4,"ngIf"],["class","closed-notice",4,"ngIf"],["class","loading-state",4,"ngIf"],["class","empty-state",4,"ngIf"],[3,"formGroup","ngSubmit",4,"ngIf"],[1,"message"],[1,"closed-notice"],[1,"loading-state"],[1,"empty-state"],[3,"ngSubmit","formGroup"],[1,"progress-panel"],["aria-hidden","true",1,"progress-track"],[1,"progress-fill"],[1,"question-list"],["class","question-card",3,"complete","
156invalid",4,"ngFor","ngForOf"],["class","form-footer",4,"ngIf"],[1,"question-card"],[1,"question-top"],[1,"question-index"],[1,"question-copy"],[1,"question-label"],["class","question-description",4,"ngIf"],[1,"question-badges"],[1,"type-badge"],[1,"required-badge"],[3,"ngSwitch"],["class","control-shell",4,"ngSwitchCase"],["class","control-shell compact-control",4,"ngSwitchCase"],["class","segmented-control",4,"ngSwitchCase"],["class","multi-options",4,"ngSwitchCase"],["class","swot-grid",3,"formGroupName",4,"ngSwitchCase"],["class","error-message",4,"ngIf"],[1,"question-description"],[1,"control-shell"],["type","text",3,"id","formControlName"],["rows","4",3,"id","formControlName"],[1,"control-shell","compact-control"],["type","number",3,"id","formControlName"],[1,"segmented-control"],["type","radio","value","true",3,"formControlName"],["type","radio","value","false",3,"formControlName"],[3,"id","formControlName"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"multi-options"],["class","checkbox-option",4,"ngFor","ngForOf"],[1,"checkbox-option"],["type","checkbox",3,"change","disabled","checked"],[1,"swot-grid",3,"formGroupName"],[1,"swot-field"],["rows","3","formControlName","strengths"],[1,"swot-field","required"],["rows","3","formControlName","weaknesses"],["rows","3","formControlName","opportunities"],["rows","3","formControlName","threats"],[1,"error-message"],[1,"form-footer"],["type","submit",1,"btn","btn-primary","save-btn",3,"disabled"],["class","fas fa-save",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"fas","fa-save"],[1,"fas","fa-spinner","fa-spin"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"div")(3,"span",2),a(4,"\xCEnscriere sezon"),o(),r(5,"h2"),a(6,"\xCEntreb\u0103ri pentru \xEEnscriere"),o(),r(7,"p"),a(8,"R\u0103spunsurile ajut\u0103 la identificarea din timp a nevoilor comune ale echipelor."),o()(),r(9,"button",3),b("click",function(){return i.loadFormData()}),_(10,"i",4),o()(),h(11,iF,2,5,"div",5)(12,oF,2,1,"div",6)(13,rF,2,0,"div",7)(14,aF,2,0,"div",8)(15,bF,12,7,"form",9),o()),n&2&&(c(9),m("disabled",i.isLoading||i.isSaving),c(2),m("ngIf",i.message),c(),m("ngIf",!i.answersEditable),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading&&i.questions.length===0),c(),m("ngIf",!i.isLoading&&i.questions.length>0))},dependencies:[H,X,$,ka,Ia,se,Oe,fe,he,re,lt,ue,Kr,ie,Pe,$e,We,Ge,qo],styles:[".season-registration-form[_ngcontent-%COMP%]{display:grid;gap:1rem}.form-hero[_ngcontent-%COMP%], .progress-panel[_ngcontent-%COMP%], .form-footer[_ngcontent-%COMP%]{background:#fff;border:1px solid #e1e5e9;border-radius:8px}.form-hero[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;padding:1.1rem 1.2rem}.form-hero[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#1a1a1a;font-size:1.35rem;margin:.15rem 0 .35rem}.form-hero[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#6c757d;margin:0;max-width:720px}.eyebrow[_ngcontent-%COMP%]{color:#667eea;display:block;font-size:.78rem;font-weight:800;text-transform:uppercase}.icon-button[_ngcontent-%COMP%]{align-items:center;background:#eef2ff;border:0;border-radius:8px;color:#4f46e5;cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.icon-button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.65}.message[_ngcontent-%COMP%], .closed-notice[_ngcontent-%COMP%], .loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{border-radius:8px;padding:.85rem 1rem}.message.success[_ngcontent-%COMP%]{background:#e8f7ef;color:#176a3a}.message.error[_ngcontent-%COMP%], .closed-notice[_ngcontent-%COMP%]{background:#fff2f0;color:#a12a1f}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{background:#f4f6fa;color:#4a5363}.progress-panel[_ngcontent-%COMP%]{display:grid;gap:.75rem;margin-bottom:1rem;padding:1rem}.progress-panel[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child{align-items:center;display:flex;justify-content:space-between;gap:1rem}.progress-panel[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#6c757d;font-size:.92rem}.progress-panel[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1
156a1a1a;font-size:1.05rem}.progress-track[_ngcontent-%COMP%]{background:#edf0f5;border-radius:999px;height:8px;overflow:hidden}.progress-fill[_ngcontent-%COMP%]{background:#28a745;border-radius:inherit;height:100%;transition:width .2s ease}.question-list[_ngcontent-%COMP%]{display:grid;gap:.9rem}.question-card[_ngcontent-%COMP%]{background:#fff;border:1px solid #e1e5e9;border-left:4px solid #d7dce4;border-radius:8px;display:grid;gap:.9rem;padding:1rem}.question-card.complete[_ngcontent-%COMP%]{border-left-color:#28a745}.question-card.invalid[_ngcontent-%COMP%]{border-left-color:#dc3545}.question-top[_ngcontent-%COMP%]{align-items:flex-start;display:grid;gap:.85rem;grid-template-columns:36px minmax(0,1fr) auto}.question-index[_ngcontent-%COMP%]{align-items:center;background:#f4f6fa;border-radius:8px;color:#667eea;display:inline-flex;font-weight:800;height:36px;justify-content:center;width:36px}.question-label[_ngcontent-%COMP%]{color:#1a1a1a;display:block;font-size:1rem;font-weight:800;line-height:1.35}.question-description[_ngcontent-%COMP%]{color:#6c757d;margin:.25rem 0 0}.question-badges[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.type-badge[_ngcontent-%COMP%], .required-badge[_ngcontent-%COMP%]{border-radius:999px;font-size:.76rem;font-weight:800;padding:.25rem .55rem;white-space:nowrap}.type-badge[_ngcontent-%COMP%]{background:#eef2ff;color:#4f46e5}.required-badge[_ngcontent-%COMP%]{background:#fff2f0;color:#a12a1f}.required-badge.optional[_ngcontent-%COMP%]{background:#f4f6fa;color:#6c757d}.control-shell[_ngcontent-%COMP%]{max-width:760px}.compact-control[_ngcontent-%COMP%]{max-width:360px}input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{background:#fff;border:1px solid #cfd6e3;border-radius:8px;color:#1a1a1a;font:inherit;padding:.75rem .85rem;width:100%}input[_ngcontent-%COMP%]:focus, textarea[_ngcontent-%COMP%]:focus, select[_ngcontent-%COMP%]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea24;outline:none}input.error[_ngcontent-%COMP%], textarea.error[_ngcontent-%COMP%], select.error[_ngcontent-%COMP%]{border-color:#dc3545}textarea[_ngcontent-%COMP%]{resize:vertical}.segmented-control[_ngcontent-%COMP%]{display:inline-grid;gap:.45rem;grid-template-columns:repeat(2,minmax(92px,1fr))}.segmented-control[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{cursor:pointer}.segmented-control[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{position:absolute;opacity:0;pointer-events:none}.segmented-control[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-items:center;background:#f4f6fa;border:1px solid #dfe4ee;border-radius:8px;color:#4a5363;display:inline-flex;font-weight:800;justify-content:center;min-height:42px;padding:.65rem 1.1rem;width:100%}.segmented-control[_ngcontent-%COMP%] .active[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{background:#eef2ff;border-color:#667eea;color:#4f46e5}.multi-options[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.55rem}.checkbox-option[_ngcontent-%COMP%]{align-items:center;background:#f8f9fa;border:1px solid #dfe4ee;border-radius:999px;cursor:pointer;display:inline-flex;gap:.5rem;padding:.5rem .75rem}.checkbox-option[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:auto}.checkbox-option[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#1a1a1a;font-weight:700}.swot-grid[_ngcontent-%COMP%]{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.swot-field[_ngcontent-%COMP%]{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;display:grid;gap:.45rem;padding:.75rem}.swot-field[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#4a5363;font-weight:800}.swot-field.required[_ngcontent-%COMP%]{background:#fffdf5;border-color:#f1d48f}.error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:.9rem;font-weight:700}.form-footer[_ngcontent-%COMP%]{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:1rem;padding:.85rem 1rem}.form-footer[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#6c757d;font-weight:800}.btn[_ngcontent-%COMP%]{align-items:center;border:0;border-radius:8px;
156cursor:pointer;display:inline-flex;font-weight:800;gap:.5rem;min-height:42px;padding:.75rem 1rem}.btn[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.65}.btn-primary[_ngcontent-%COMP%]{background:#667eea;color:#fff}@media (max-width: 760px){.form-hero[_ngcontent-%COMP%], .form-footer[_ngcontent-%COMP%], .progress-panel[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child{align-items:stretch;flex-direction:column}.question-top[_ngcontent-%COMP%], .swot-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.question-badges[_ngcontent-%COMP%]{justify-content:flex-start}.segmented-control[_ngcontent-%COMP%]{width:100%}.save-btn[_ngcontent-%COMP%]{justify-content:center;width:100%}}"]})}}return t})();var Qu=t=>["/meets",t];function PF(t,s){if(t&1&&(r(0,"div",14)(1,"span",15),a(2,"i"),o(),r(3,"p")(4,"strong"),a(5),o(),a(6," particip\u0103ri ale echipei conteaz\u0103 pentru acest turneul de lig\u0103."),o()()),t&2){let e=p();c(5),G("",e.seasonLimit.used," din ",e.seasonLimit.max,"")}}function OF(t,s){if(t&1&&(r(0,"div",16),a(1),o()),t&2){let e=p();I("error",e.messageType==="error"),c(),w(" ",e.message," ")}}function yF(t,s){t&1&&(r(0,"div",17),_(1,"span",18),a(2," Se \xEEncarc\u0103 meeturile echipei\u2026 "),o())}function wF(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p().$implicit;c(),w("\xB7 ",e.city,"")}}function SF(t,s){t&1&&(r(0,"span",37),a(1,"Invita\u021Bie co-organizator"),o())}function EF(t,s){if(t&1){let e=E();r(0,"button",30),b("click",function(){let i=v(e).$implicit,d=p(3);return M(d.selectMeet(i))}),r(1,"span",31)(2,"strong"),a(3),o(),r(4,"span"),a(5),ze(6,"date"),h(7,wF,2,1,"span",32),o()(),r(8,"span",33),a(9),o(),h(10,SF,2,0,"span",34),r(11,"span",35),a(12),r(13,"span",36),a(14,"\u2192"),o()()()}if(t&2){let e=s.$implicit,n=p(3);I("active",(n.selectedMeet==null?null:n.selectedMeet.id)===e.id),ot("aria-pressed",(n.selectedMeet==null?null:n.selectedMeet.id)===e.id)("aria-label",(n.isPendingOrganizerInvitation(e)?"R\u0103spunde la invita\u021Bia pentru ":"Gestioneaz\u0103 meetul ")+e.name),c(3),O(e.name),c(2),w("",Xe(6,12,e.date,"d MMMM y")," "),c(2),m("ngIf",e.city),c(),ct("status-"+e.status),c(),O(n.meetStatusLabel(e.status)),c(),m("ngIf",n.isPendingOrganizerInvitation(e)),c(2),w("",n.isPendingOrganizerInvitation(e)?"R\u0103spunde invita\u021Biei":"Gestioneaz\u0103"," ")}}function TF(t,s){if(t&1&&(r(0,"div",28),h(1,EF,15,15,"button",29),o()),t&2){let e=p(2);c(),m("ngForOf",e.organizing)}}function kF(t,s){t&1&&(r(0,"div",38)(1,"strong"),a(2,"Nu organizezi niciun meet momentan."),o(),r(3,"span"),a(4,"Po\u021Bi \xEEncepe prin a crea un meet pentru comunitatea ta."),o()())}function IF(t,s){if(t&1&&(r(0,"a",41)(1,"span")(2,"strong"),a(3),o()(),r(4,"span",33),a(5),o()()),t&2){let e=s.$implicit,n=p(3);m("routerLink",qi(5,Qu,e.meetId)),c(3),O((e.meet==null?null:e.meet.name)||"Meet"),c(),ct("registration-"+e.status),c(),O(n.registrationStatusLabel(e.status))}}function FF(t,s){if(t&1&&(r(0,"div",39),h(1,IF,6,7,"a",40),o()),t&2){let e=p(2);c(),m("ngForOf",e.participating)}}function DF(t,s){t&1&&(r(0,"div",38)(1,"strong"),a(2,"Echipa nu este \xEEnscris\u0103 la niciun meet."),o(),r(3,"span"),a(4,"C\xE2nd v\u0103 \xEEnscrie\u021Bi, informa\u021Biile vor ap\u0103rea aici."),o()())}function RF(t,s){if(t&1&&(r(0,"div",19)(1,"section",20)(2,"div",21)(3,"div")(4,"h3",22),a(5,"Meeturi organizate"),o(),r(6,"p"),a(7,"Meeturi gestionate de echipa ta \u0219i invita\u021Bii de co-organizare. Apas\u0103 pe o invita\u021Bie pentru a r\u0103spunde."),o()(),r(8,"span",23),a(9),o()(),h(10,TF,2,1,"div",24)(11,kF,5,0,"ng-template",null,0,Se),o(),r(13,"section",25)(14,"div",21)(15,"div")(16,"h3",26),a(17,"\xCEnscrierile echipei"),o(),r(18,"p"),a(19,"Meeturi la care echipa ta particip\u0103 \xEEn acest sezon."),o()(),r(20,"span",23),a(21),o()(),h(22,FF,2,1,"div",27)(23,DF,5,0,"ng-template",null,1,Se),o()()),t&2){let e=oe(12),n=oe(24),i=p();c(9),O(i.organizing.length),c(),m("ngIf",i.organizing.length)("ngIfElse",e),c(11),O(i.participating.length),c(),m("ngIf",i.participating.length)("ngIfElse",n)}}function zF(t,s){if(t&1&&(r(0,"p",47)(1,"b"),a(2),o(),a(3),o()),t&2){let e=p().$implicit;c(2),w("Decizia administratorului",e.reviewedByAdmin!=null&&e.reviewedByAdmin.name?" \xB7 "+(e.reviewedByAdmin==null?null:e.reviewedByAdmin.name):"",":"),c(),w(" ",e.reviewReason,"")}}function NF(t,s){if(t&1&&(r(0,"article")(1,"header")(2,"div")(3,"span",45),a(4),o(),r(5,"strong"),a(6),o(),r(7,"small"),a(8),ze(9,"date"),o()(),r(10,"span",33),a(11),o()(),r(12,"p")(13,"b"),a(14,"Motivul transmis:"),o(),a(15),o(),h(16,zF,4,2,"p",46),r(17,"small"),a(18),ze(19,"date"),o()()),t&2){let e=s.$implicit,n=p(2);c(4),O(n.adminRequestTypeLabel(e.type)),c(2),O(e.meetName),c(2),O(Xe(9,9,e.meetDate,"d MMMM y")),c(2),ct("request-"+e.status),c(),O(n.adminRequestStatusLabel(e.status)),c(4),w(" ",e.reason||"\u2014",""),c(),m("ngIf",e.reviewReason),c(2),w("Trimis\u0103 la ",Xe(19,12,e.createdAt,"d MMMM y, HH:mm"),"")}}function AF(t,s){if(t&1&&(r(0,"details",42)(1,"summary"),a(2,"Istoric cereri c\u0103tre administratori "),r(3,"span"),a(4),o()(),r(5,"p"),a(6,"Vezi toate cererile de aprobare legate de meeturile organizate de echipa ta \u0219i deciziile primite."),o(),r(7,"div",43),h(8,NF,20,15,"article",44),o()()),t&2){let e=p();c(4),O(e.organizerRequestHistory.length),c(4),m("ngForOf",e.organizerRequestHistory)}}function LF(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(2);c(),w("\xB7 ",e.selectedMeet.city,"")}}function VF(t,s){if(t&1&&(r(0,"a",57),a(1,"Vezi pagina meetului"),o()),t&2){let e=p(2);m("routerLink",qi(1,Qu,e.selectedMeet.id))}}function BF(t,s){if(t&1){let e=E();r(0,"div",58)(1,"div")(2,"strong"),a(3,"Ai fost invitat s\u0103 organizezi acest meet."),o(),r(4,"p"),a(5,"Confirm\u0103 doar dac\u0103 echipa ta va participa la organizare."),o()(),r(6,"div",59)(7,"button",60),b("click",function(){v(e);let i=p(2);return M(i.accept(i.selectedMeet))}),a(8,"Accept invita\u021Bia"),o(),r(9,"button",61),b("click",function(){v(e);let i=p(2);return M(i.decline(i.selectedMeet))}),a(10,"Refuz"),o()()()}}function UF(t,s){if(t&1&&(r(0,"div",14)(1,"span",15),a(2,"!"),o(),r(3,"p")(4,"strong"),a(5,"Mesaj de la administratori."),o(),_(6,"br"),a(7),o()()),t&2){let e=s.ngIf;c(7),w("Motiv: ",e,"")}}function jF(t,s){if(t&1&&(r(0,"p",95),a(1),o()),t&2){let e=s.ngIf;c(),O(e)}}function qF(t,s){if(t&1&&(r(0,"p",96),a(1),o()),t&2){let e=s.ngIf;c(),O(e)}}function WF(t,s){if(t&1){let e=E();Me(0),r(1,"label")(2,"span"),a(3,"Denumire loca\u021Bie"),o(),r(4,"input",74),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.safeEdit.venueName,i)||(d.safeEdit.venueName=i),M(i)}),o()(),r(5,"label")(6,"span"),a(7,"Cod po\u0219tal loca\u021Bie"),o(),r(8,"
156input",74),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.safeEdit.venuePostalCode,i)||(d.safeEdit.venuePostalCode=i),M(i)}),o()(),r(9,"label")(10,"span"),a(11,"Adres\u0103 loca\u021Bie"),o(),r(12,"textarea",81),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.safeEdit.venueAddress,i)||(d.safeEdit.venueAddress=i),M(i)}),o()(),r(13,"label")(14,"span"),a(15,"Website loca\u021Bie "),r(16,"small"),a(17,"(op\u021Bional)"),o()(),r(18,"input",97),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.safeEdit.venueWebsite,i)||(d.safeEdit.venueWebsite=i),M(i)}),o()(),xe()}if(t&2){let e=p(3);c(4),D("ngModel",e.safeEdit.venueName),c(4),D("ngModel",e.safeEdit.venuePostalCode),c(4),D("ngModel",e.safeEdit.venueAddress),c(6),D("ngModel",e.safeEdit.venueWebsite)}}function $F(t,s){if(t&1&&(r(0,"li")(1,"time"),a(2),ze(3,"date"),o(),a(4),o()),t&2){let e=s.$implicit;c(2),O(Xe(3,2,e.createdAt,"d MMMM y, HH:mm")),c(2),O(e.action)}}function HF(t,s){if(t&1&&(r(0,"details",98)(1,"summary"),a(2,"Vezi istoricul meetului"),o(),r(3,"ul"),h(4,$F,5,5,"li",44),o()()),t&2){let e=p(3);c(4),m("ngForOf",e.selectedMeet.auditLogs)}}function GF(t,s){t&1&&(r(0,"p",109),a(1,"Nu sunt echipe \xEEnscrise."),o())}function ZF(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Note"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p().$implicit;c(4),O(e.organizerNotes)}}function YF(t,s){if(t&1){let e=E();r(0,"article",110)(1,"div")(2,"strong"),a(3),o(),r(4,"small"),a(5),o()(),r(6,"dl")(7,"div")(8,"dt"),a(9,"Contact"),o(),r(10,"dd"),a(11),o()(),r(12,"div")(13,"dt"),a(14,"Email"),o(),r(15,"dd"),a(16),o()(),r(17,"div")(18,"dt"),a(19,"Telefon"),o(),r(20,"dd"),a(21),o()(),h(22,ZF,5,1,"div",32),o(),r(23,"button",111),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.removeTeamId=i.teamId)}),a(24,"Solicit\u0103 eliminarea"),o()()}if(t&2){let e=s.$implicit,n=p(4);c(3),O((e.team==null?null:e.team.name)||"Echip\u0103"),c(2),O(e.team==null?null:e.team.internationalNumber),c(6),G("",e.contactName||"\u2014"," \xB7 ",n.contactRoleLabel(e.contactRole),""),c(5),O(e.contactEmail||"\u2014"),c(5),O(e.contactPhone||"\u2014"),c(),m("ngIf",e.organizerNotes)}}function KF(t,s){t&1&&(r(0,"p",109),a(1,"Nu sunt echipe pe waitlist."),o())}function QF(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Note"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p().$implicit;c(4),O(e.organizerNotes)}}function JF(t,s){if(t&1){let e=E();r(0,"article",112)(1,"div")(2,"strong"),a(3),o(),r(4,"small"),a(5),ze(6,"date"),o()(),r(7,"dl")(8,"div")(9,"dt"),a(10,"Contact"),o(),r(11,"dd"),a(12),o()(),r(13,"div")(14,"dt"),a(15,"Email"),o(),r(16,"dd"),a(17),o()(),r(18,"div")(19,"dt"),a(20,"Telefon"),o(),r(21,"dd"),a(22),o()(),h(23,QF,5,1,"div",32),o(),r(24,"button",113),b("click",function(){let i=v(e).$implicit,d=p(4);return M(d.promoteWaitlistedTeam(i))}),a(25,"Promoveaz\u0103 manual"),o()()}if(t&2){let e=s.$implicit,n=p(4);c(3),G("#",e.waitlistPosition," \xB7 ",(e.team==null?null:e.team.name)||"Echip\u0103",""),c(2),G("\xCEnscris\u0103 la ",Xe(6,10,e.createdAt,"d MMMM y, HH:mm")," \xB7 ",e.team==null?null:e.team.internationalNumber,""),c(7),G("",e.contactName||"\u2014"," \xB7 ",n.contactRoleLabel(e.contactRole),""),c(5),O(e.contactEmail||"\u2014"),c(5),O(e.contactPhone||"\u2014"),c(),m("ngIf",e.organizerNotes),c(),m("disabled",n.selectedMeet.availableSpots<1||n.isPromotingWaitlistedTeam)}}function XF(t,s){if(t&1){let e=E();r(0,"div",114)(1,"label")(2,"span"),a(3,"De ce solici\u021Bi eliminarea acestei echipe?"),o(),r(4,"textarea",115),z("ngModelChange",function(i){v(e);let d=p(4);return R(d.removeReason,i)||(d.removeReason=i),M(i)}),o()(),r(5,"div",59)(6,"button",86),b("click",function(){v(e);let i=p(4);return M(i.cancelRemove())}),a(7,"Renun\u021B\u0103"),o(),r(8,"button",116),b("click",function(){v(e);let i=p(4);return M(i.requestRemove())}),a(9,"Trimite solicitarea"),o()()()}if(t&2){let e=p(4);c(4),D("ngModel",e.removeReason),c(4),m("disabled",!e.removeReason.trim())}}function e9(t,s){if(t&1){let e=E();r(0,"div",99)(1,"button",100),b("click",function(){v(e);let i=p(3);return M(i.closeParticipantLists())}),o(),r(2,"section",101)(3,"div",51)(4,"div")(5,"p",4),a(6,"GESTIONARE PARTICIPAN\u021AI"),o(),r(7,"h3",102),a(8),o(),r(9,"p"),a(10,"Contacteaz\u0103 echipele de pe waitlist \xEEnainte de promovare. Ordinea \xEEnscrierii este afi\u02
15619at\u0103 mai jos."),o()(),r(11,"button",55),b("click",function(){v(e);let i=p(3);return M(i.closeParticipantLists())}),a(12,"\xD7"),o()(),r(13,"div",103)(14,"section")(15,"header")(16,"h4"),a(17,"Echipe \xEEnscrise"),o(),r(18,"span"),a(19),o()(),h(20,GF,2,0,"p",104)(21,YF,25,7,"article",105),o(),r(22,"section")(23,"header")(24,"h4"),a(25,"Waitlist"),o(),r(26,"span"),a(27),o()(),r(28,"p",106),a(29,"Ordinea este dup\u0103 momentul \xEEnscrierii. Promovarea este manual\u0103 \u0219i poate viza orice echip\u0103 din list\u0103."),o(),h(30,KF,2,0,"p",104)(31,JF,26,13,"article",107),o()(),h(32,XF,10,2,"div",108),o()()}if(t&2){let e=p(3);c(8),O(e.selectedMeet.name),c(11),G("",e.registeredMeetRegistrations(e.selectedMeet).length,"/",e.selectedMeet.capacityTeams,""),c(),m("ngIf",!e.registeredMeetRegistrations(e.selectedMeet).length),c(),m("ngForOf",e.registeredMeetRegistrations(e.selectedMeet)),c(6),O(e.waitlistedMeetRegistrations(e.selectedMeet).length),c(3),m("ngIf",!e.waitlistedMeetRegistrations(e.selectedMeet).length),c(),m("ngForOf",e.waitlistedMeetRegistrations(e.selectedMeet)),c(),m("ngIf",e.removeTeamId)}}function t9(t,s){if(t&1){let e=E();Me(0),r(1,"div",62)(2,"div")(3,"strong"),a(4),o(),r(5,"span"),a(6,"echipe confirmate"),o()(),r(7,"div")(8,"strong"),a(9),o(),r(10,"span"),a(11,"locuri disponibile"),o()(),r(12,"div")(13,"strong"),a(14),o(),r(15,"span"),a(16,"echipe pe lista de a\u0219teptare"),o()()(),h(17,UF,8,1,"div",8),r(18,"div",63)(19,"section",64)(20,"div",65)(21,"h4",66),a(22,"Informa\u021Bii pentru participan\u021Bi"),o(),r(23,"p"),a(24,"Completeaz\u0103 doar informa\u021Biile pe care vrei s\u0103 le comunici public."),o()(),r(25,"div",67)(26,"label",68)(27,"span"),a(28,"Descrierea meetului"),o(),r(29,"textarea",69),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.description,i)||(d.safeEdit.description=i),M(i)}),o()(),r(30,"label")(31,"span"),a(32,"Num\u0103r maxim de echipe "),r(33,"small"),a(34,"(poate fi doar m\u0103rit)"),o()(),r(35,"input",70),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.capacityTeams,i)||(d.safeEdit.capacityTeams=i),M(i)}),o()(),h(36,jF,2,1,"p",71),r(37,"label")(38,"span"),a(39,"Mesaj pentru participan\u021Bi"),o(),r(40,"textarea",72),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.participantMessage,i)||(d.safeEdit.participantMessage=i),M(i)}),o()(),r(41,"label")(42,"span"),a(43,"Ora de \xEEnceput"),o(),r(44,"input",73),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.startTime,i)||(d.safeEdit.startTime=i),M(i)}),o()(),r(45,"label")(46,"span"),a(47,"Ora de finalizare"),o(),r(48,"input",73),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.completionTime,i)||(d.safeEdit.completionTime=i),M(i)}),o()(),r(49,"label")(50,"span"),a(51,"Jude\u021B"),o(),r(52,"input",74),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.county,i)||(d.safeEdit.county=i),M(i)}),o()(),r(53,"label")(54,"span"),a(55,"Nume persoan\u0103 care completeaz\u0103 formularul"),o(),r(56,"input",74),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.submissionContactName,i)||(d.safeEdit.submissionContactName=i),M(i)}),o()(),r(57,"label")(58,"span"),a(59,"Email persoan\u0103 care completeaz\u0103 formularul"),o(),r(60,"input",75),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.submissionContactEmail,i)||(d.safeEdit.submissionContactEmail=i),M(i)}),o()(),r(61,"section",76)(62,"div")(63,"strong"),a(64,"Loca\u021Bie \u0219i detalii logistice"),o(),r(65,"p"),a(66,"Orice modificare a loca\u021Biei este trimis\u0103 administratorului NPE spre aprobare."),o()(),h(67,qF,2,1,"p",77),r(68,"label",68)(69,"span"),a(70,"Loca\u021Bie \u0219i alte detalii logistice"),o(),r(71,"textarea",78),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.logisticsDetails,i)||(d.safeEdit.logisticsDetails=i),M(i)}),o()(),r(72,"label",79)(73,"input",80),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.venueConfirmed,i)||(d.safeEdit.venueConfirmed=i),M(i)}),o(),r(74,"span"),a(75,"Loca\u021Bia este stabilit\u0103"),o()(),h(76,WF,19,4,"ng-container",32),o(),r(77,"label")(78,"span"),a(79,"Nume, prenume contact principal"),o(),r(80,"input",74),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.primaryContactName,i)||(d.safeEdit.primaryContactName=i),M(i)}),o()(),r(81,"label")(82,"span"),a(83,"Rol contact principal"),o(),r(84,"input",74),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.primaryContactRole,i)||(d.safeEdit.primaryContactRole=i),M(i)}),o()(),r(85,"label")(86,"span"),a(87,"Telefon contact principal"),o(),r(88,"input",74),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.primaryContactPhone,i)||(d.safeEdit.primaryContactPhone=i),M(i)}),o()(),r(89,"label")(90,"span"),a(91,"Email contact principal"),o(),r(92,"input",75),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.primaryContactEmail,i)||(d.safeEdit.primaryContactEmail=i),M(i)}
156),o()(),r(93,"label",68)(94,"span"),a(95,"Alte men\u021Biuni"),o(),r(96,"textarea",81),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.safeEdit.additionalNotes,i)||(d.safeEdit.additionalNotes=i),M(i)}),o()()(),r(97,"button",82),b("click",function(){v(e);let i=p(2);return M(i.saveSafeEdit())}),a(98,"Salveaz\u0103 informa\u021Biile"),o()(),r(99,"section",83)(100,"div",65)(101,"h4",84),a(102,"Participan\u021Bi \u0219i waitlist"),o(),r(103,"p"),a(104,"Vezi datele de contact \u0219i gestioneaz\u0103 manual promov\u0103rile din waitlist."),o()(),r(105,"div",85)(106,"span")(107,"strong"),a(108),o(),a(109," \xEEnscrise"),o(),r(110,"span")(111,"strong"),a(112),o(),a(113," pe waitlist"),o()(),r(114,"button",86),b("click",function(){v(e);let i=p(2);return M(i.openParticipantLists())}),a(115,"Gestioneaz\u0103 participan\u021Bii \u0219i waitlistul"),o()(),r(116,"section",87)(117,"div",65)(118,"h4",88),a(119,"Cereri c\u0103tre administratori"),o(),r(120,"p"),a(121,"Trimite cereri pentru situa\u021Bii care necesit\u0103 aprobare administrativ\u0103."),o()(),r(122,"label")(123,"span"),a(124,"Motiv desf\u0103\u0219urare cu mai pu\u021Bine echipe"),o(),r(125,"textarea",89),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.reducedCapacityReason,i)||(d.reducedCapacityReason=i),M(i)}),o()(),r(126,"button",90),b("click",function(){v(e);let i=p(2);return M(i.requestReducedCapacity())}),a(127,"Cere aprobarea efectivului redus"),o(),r(128,"label")(129,"span"),a(130,"Data propus\u0103"),o(),r(131,"input",91),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.requestedDate,i)||(d.requestedDate=i),M(i)}),o()(),r(132,"label")(133,"span"),a(134,"Motiv schimbare dat\u0103"),o(),r(135,"textarea",92),z("ngModelChange",function(i){v(e);let d=p(2);return R(d.dateChangeReason,i)||(d.dateChangeReason=i),M(i)}),o()(),r(136,"button",90),b("click",function(){v(e);let i=p(2);return M(i.requestDateChange())}),a(137,"Cere schimbarea datei"),o()()(),h(138,HF,5,1,"details",93)(139,e9,33,9,"div",94),xe()}if(t&2){let e=p(2);c(4),O(e.selectedMeet.registeredTeamsCount),c(5),O(e.selectedMeet.availableSpots),c(5),O(e.selectedMeet.waitlistTeamsCount),c(3),m("ngIf",e.adminDecisionReason(e.selectedMeet)),c(12),D("ngModel",e.safeEdit.description),c(6),m("min",e.selectedMeet.capacityTeams),D("ngModel",e.safeEdit.capacityTeams),c(),m("ngIf",e.capacityChangeStatus(e.selectedMeet)),c(4),D("ngModel",e.safeEdit.participantMessage),c(4),D("ngModel",e.safeEdit.startTime),c(4),D("ngModel",e.safeEdit.completionTime),c(4),D("ngModel",e.safeEdit.county),c(4),D("ngModel",e.safeEdit.submissionContactName),c(4),D("ngModel",e.safeEdit.submissionContactEmail),c(7),m("ngIf",e.locationChangeStatus(e.selectedMeet)),c(4),D("ngModel",e.safeEdit.logisticsDetails),c(2),D("ngModel",e.safeEdit.venueConfirmed),c(3),m("ngIf",e.safeEdit.venueConfirmed),c(4),D("ngModel",e.safeEdit.primaryContactName),c(4),D("ngModel",e.safeEdit.primaryContactRole),c(4),D("ngModel",e.safeEdit.primaryContactPhone),c(4),D("ngModel",e.safeEdit.primaryContactEmail),c(4),D("ngModel",e.safeEdit.additionalNotes),c(12),O(e.registeredMeetRegistrations(e.selectedMeet).length),c(4),O(e.waitlistedMeetRegistrations(e.selectedMeet).length),c(13),D("ngModel",e.reducedCapacityReason),c(),m("disabled",!e.reducedCapacityReason.trim()),c(5),D("ngModel",e.requestedDate),
156c(4),D("ngModel",e.dateChangeReason),c(),m("disabled",!e.requestedDate||!e.dateChangeReason.trim()),c(2),m("ngIf",e.selectedMeet.auditLogs==null?null:e.selectedMeet.auditLogs.length),c(),m("ngIf",e.isParticipantListsOpen)}}function n9(t,s){if(t&1){let e=E();r(0,"div",48)(1,"button",49),b("click",function(){v(e);let i=p();return M(i.closeMeetManagement())}),o(),r(2,"section",50)(3,"div",51)(4,"div")(5,"p",4),a(6),o(),r(7,"h3",52),a(8),o(),r(9,"p"),a(10),ze(11,"date"),h(12,LF,2,1,"span",32),o()(),r(13,"div",53),h(14,VF,2,3,"a",54),r(15,"button",55),b("click",function(){v(e);let i=p();return M(i.closeMeetManagement())}),a(16,"\xD7"),o()()(),h(17,BF,11,0,"div",56)(18,t9,140,32,"ng-container",32),o()()}if(t&2){let e=p();c(6),O(e.isPendingOrganizerInvitation(e.selectedMeet)?"INVITA\u021AIE CO-ORGANIZATOR":"GESTIONEZI MEETUL"),c(2),O(e.selectedMeet.name),c(2),w("",Xe(11,7,e.selectedMeet.date,"d MMMM y")," "),c(2),m("ngIf",e.selectedMeet.city),c(2),m("ngIf",!e.isPendingOrganizerInvitation(e.selectedMeet)&&e.isPublicMeet(e.selectedMeet)),c(3),m("ngIf",e.isPendingOrganizerInvitation(e.selectedMeet)),c(),m("ngIf",!e.isPendingOrganizerInvitation(e.selectedMeet))}}var Ju=(()=>{class t{constructor(e){this.meetsService=e,this.organizing=[],this.organizerRequestHistory=[],this.participating=[],this.seasonLimit={used:0,max:0},this.selectedMeet=null,this.isParticipantListsOpen=!1,this.isPromotingWaitlistedTeam=!1,this.safeEdit={},this.removeTeamId="",this.removeReason="",this.reducedCapacityReason="",this.requestedDate="",this.dateChangeReason="",this.message="",this.messageType="success",this.isLoading=!1}ngOnInit(){this.load()}load(){this.isLoading=!0,this.meetsService.listOrganizerMeets().subscribe({next:e=>{this.organizing=e.message||[],this.organizerRequestHistory=this.organizing.flatMap(n=>(n.adminRequests||[]).map(i=>ye(J({},i),{meetName:n.name,meetDate:n.date}))).sort((n,i)=>new Date(i.createdAt).getTime()-new Date(n.createdAt).getTime()),this.selectedMeet=null,this.isLoading=!1},error:()=>{this.isLoading=!1,this.messageType="error",this.message="Nu am putut \xEEnc\u0103rca meeturile organizate. \xCEncearc\u0103 din nou pu\u021Bin mai t\xE2rziu."}}),this.meetsService.listParticipatingMeets().subscribe({next:e=>{this.seasonLimit=e.message?.seasonLimit||{used:0,max:0},this.participating=e.message?.registrations||[]}})}selectMeet(e){this.selectedMeet=e,this.resetSafeEdit()}closeMeetManagement(){this.selectedMeet=null,this.isParticipantListsOpen=!1,this.removeTeamId="",this.removeReason=""}openParticipantLists(){this.isParticipantListsOpen=!0}closeParticipantLists(){this.isParticipantListsOpen=!1,this.removeTeamId="",this.removeReason=""}registeredMeetRegistrations(e){return(e.registrations||[]).filter(n=>n.status==="registered")}waitlistedMeetRegistrations(e){return(e.registrations||[]).filter(n=>n.status==="waitlisted").sort((n,i)=>(n.waitlistPosition||0)-(i.waitlistPosition||0))}promoteWaitlistedTeam(e){if(!this.selectedMeet||this.isPromotingWaitlistedTeam)return;let n=e.team?.name||"aceast\u0103 echip\u0103";confirm(`Confirmi promovarea echipei ${n} din waitlist \xEEn lista echipelor \xEEnscrise?`)&&(this.isPromotingWaitlistedTeam=!0,this.meetsService.promoteWaitlistedTeam(this.selectedMeet.id,e.teamId).subscribe({next:i=>{this.isPromotingWaitlistedTeam=!1,this.selectedMeet=i.message,this.organizing=this.organizing.map(d=>d.id===i.message.id?i.message:d),this.messageType="success",this.message=`Echipa ${n} a fost promovat\u0103 din waitlist.`},error:i=>{this.isPromotingWaitlistedTeam=!1,this.messageType="error",this.message=i.error?.message||"Nu am putut promova echipa din waitlist."}}))}contactRoleLabel(e){return e==="mentor"?"Mentor":e==="elev"?"Elev":"\u2014"}isPublicMeet(e){return e.status==="approved"||e.status==="cancelled"}isPendingOrganizerInvitation(e){return e.myOrganizerStatus==="invited"}locationChangeStatus(e){let n=e.adminRequests?.find(i=>i.type==="location_change");return n?.status==="pending"?"Informare trimis\u0103 c\u0103tre admin. Modificarea loca\u021Biei a\u0219teapt\u0103 aprobarea.":n?.status==="approved"?"Loca\u021Bie actualizat\u0103 \xEEn FTC Events.":null}capacityChangeStatus(e){let n=e.adminRequests?.find(i=>i.type==="capacity_change");return n?.status==="pending"?"Cerere trimis\u0103 c\u0103tre admin.":n?.status==="approved"?e.ftcEventsPublicationStatus==="published_on_first"?"Cerere aprobat\u0103.":"Cerere aprobat\u0103 \u2014 actualizarea \xEEn FTC Events este \xEEn a\u0219teptare.":null}resetSafeEdit(){this.selectedMeet&&(this.safeEdit={description:this.selectedMeet.description,capacityTeams:this.selectedMeet.capacityTeams,startTime:this.selectedMeet.startTime,completionTime:this.selectedMeet.completionTime,county:this.selectedMeet.county,submissionContactName:this.selectedMeet.submissionContactName,submissionContactEmail:this.selectedMeet.submissionContactEmail,logisticsDetails:this.selectedMeet.logisticsDetails,participantMessage:this.selectedMeet.participantMessage,externalRegistrationLink:this.selectedMeet.externalRegistrationLink,eventCode:this.selectedMeet.eventCode,venueConfirmed:this.selectedMeet.venueConfirmed,venueName:this.selectedMeet.venueName,venueAddress:this.selectedMeet.venueAddress,venueWebsite:this.selectedMeet.venueWebsite,venuePostalCode:this.selectedMeet.venuePostalCode,primaryContactName:this.selectedMeet.primaryContactName,primaryContactRole:this.selectedMeet.primaryContactRole,primaryContactPhone:this.selectedMeet.primaryContactPhone,primaryContactEmail:this.selectedMeet.primaryContactEmail,additionalNotes:this.selectedMeet.additionalNotes})}adminDecisionReason(e){return e.status==="cancelled"?e.cancellationReason||null:["pending_changes","pen
156ding_changes_review","rejected"].includes(e.status)&&e.adminRequests?.find(n=>n.type==="meet_approval"&&n.reviewReason)?.reviewReason||null}saveSafeEdit(){this.selectedMeet&&this.meetsService.updateMeetAsOrganizer(this.selectedMeet.id,this.safeEdit).subscribe({next:e=>{this.messageType="success",this.message="Modific\u0103rile au fost salvate sau trimise spre aprobare.",this.selectedMeet=e.message,this.load()},error:e=>{this.messageType="error",this.message=e.error?.message||"Nu am putut salva modific\u0103rile."}})}accept(e){this.meetsService.acceptOrganizerInvite(e.id).subscribe(()=>this.load())}decline(e){this.meetsService.declineOrganizerInvite(e.id).subscribe(()=>this.load())}requestRemove(){!this.selectedMeet||!this.removeTeamId||!this.removeReason.trim()||this.meetsService.requestRemoveTeam(this.selectedMeet.id,this.removeTeamId,this.removeReason).subscribe({next:()=>{this.messageType="success",this.message="Cererea de eliminare a fost trimis\u0103 adminilor.",this.removeTeamId="",this.removeReason="",this.load()},error:e=>{this.messageType="error",this.message=e.error?.message||"Nu am putut trimite cererea."}})}cancelRemove(){this.removeTeamId="",this.removeReason=""}requestReducedCapacity(){!this.selectedMeet||!this.reducedCapacityReason.trim()||this.meetsService.requestReducedCapacity(this.selectedMeet.id,this.reducedCapacityReason).subscribe({next:()=>{this.messageType="success",this.message="Cererea pentru desf\u0103\u0219urare cu efectiv redus a fost trimis\u0103 administratorilor.",this.reducedCapacityReason="",this.load()},error:e=>{this.messageType="error",this.message=e.error?.message||"Nu am putut trimite cererea."}})}requestDateChange(){!this.selectedMeet||!this.requestedDate||!this.dateChangeReason.trim()||this.meetsService.requestDateChange(this.selectedMeet.id,this.requestedDate,this.dateChangeReason).subscribe({next:()=>{this.messageType="success",this.message="Cererea de schimbare a datei a fost trimis\u0103 administratorilor.",this.requestedDate="",this.dateChangeReason="",this.load()},error:e=>{this.messageType="error",this.message=e.error?.message||"Nu am putut trimite cererea."}})}meetStatusLabel(e){return{draft:"\xCEn preg\u0103tire",pending_approval:"\xCEn a\u0219teptarea aprob\u0103rii",pending_changes:"Necesit\u0103 modific\u0103ri",pending_changes_review:"Modific\u0103ri trimise spre reverificare",pending_first_approval:"A\u0219teapt\u0103 aprobare FIRST",approved:"Aprobat",rejected:"Respins",cancelled:"Anulat",completed:"Finalizat"}[e]}registrationStatusLabel(e){return{registered:"\xCEnscris\u0103",waitlisted:"Pe lista de a\u0219teptare",withdrawn:"Retras\u0103",withdrawal_pending_admin:"Retragere \xEEn verificare",withdrawn_late_counts_toward_limit:"Retras\u0103 dup\u0103 termen",late_drop_approved_without_penalty:"Retragere aprobat\u0103",removed_by_organizer_pending_admin:"Eliminare \xEEn verificare",removed_by_admin:"Eliminat\u0103",cancelled_due_to_meet_cancelled:"Anulat\u0103"}[e]}adminRequestTypeLabel(e){return{meet_approval:"Aprobare meet nou",critical_edit:"Modificare important\u0103 a meetului",late_withdrawal:"Retragere t\xE2rzie",reduced_capacity:"Desf\u0103\u0219urare cu efectiv redus",date_change:"Schimbare dat\u0103",location_change:"Modificare loca\u021Bie",capacity_change:"Modificare capacitate maxim\u0103",remove_team_request:"Eliminare echip\u0103 participant\u0103",cancel_meet_request:"Anulare meet"}[e]||e.replace(/_/g," ")}adminRequestStatusLabel(e){return{pending:"\xCEn a\u0219teptarea deciziei",approved:"Aprobat\u0103",rejected:"Respins\u0103",cancelled:"Anulat\u0103"}[e]}static{this.\u0275fac=function(n){return new(n||t)(T(kn))}}static{this.\u0275cmp=V({type:t,selectors:[["app-team-meets"]],standalone:!0,features:[B],decls:17,vars:6,consts:[["noOrganizing",""],["noParticipating",""],["aria-labelledby","meets-title",1,"team-meets"],[1,"page-header"],[1,"eyebrow"],["id","meets-title"],[1,"intro"],["routerLink","/meets/create",1,"button","button-primary"],["class","notice notice-info",4,"ngIf"],["class","message","role","status","aria-live","polite",3,"error",4,"ngIf"],["class","loading-state",4,"ngIf"],["class","overview",4,"ngIf"],["class","admin-request-history",4,"ngIf"],["class","meet-management-modal","role","dialog","aria-modal","true","aria-labelledby","selected-meet-title",4,"ngIf"],[1,"notice","notice-info"],["aria-hidden","true",1,"notice-icon"],["role","status","aria-live","polite",1,"message"],[1,"loading-state"],["aria-hidden","true",1,"spinner"],[1,"overview"],["aria-labelledby","organized-title",1,"panel","organizer-panel"],[1,"panel-heading"],["id","organized-title"],[1,"count"],["class","meet-list",4,"ngIf","ngIfElse"],["aria-labelledby","participation-title",1,"panel","participation-panel"],["id","participation-title"],["class","participation-list",4,"ngIf","ngIfElse"],[1,"meet-list"],["type","button","class","meet-card",3,"active","click",4,"ngFor","ngForOf"],["type","button",1,"meet-card",3,"click"],[1,"meet-card-main"],[4,"ngIf"],[1,"status-badge"],["class","invite-badge",4,"ngIf"],[1,"manage-hint"],["aria-hidden","true"],[1,"invite-badge"],[1,"empty-state"],[1,"participation-list"],["class","participation-row",3,"routerLink",4,"ngFor","ngForOf"],[1,"participation-row",3,"routerLink"],[1,"admin-request-history"],[1,"admin-request-history-list"],[4,"ngFor","ngForOf"],[1,"request-type"],["class","admin-response",4,"ngIf"],[1,"admin-response"],["role","dialog","aria-modal","true","aria-labelledby","selected-meet-title",1,"meet-management-modal"],["type","button","aria-label","\xCEnchide gestionarea meetului",1,"modal-backdrop",3,"click"],["aria-labelledby","selected-meet-title",1,"details"],[1,"details-header"],["id","selected-meet-title"],[1,"details-actions"],["class","button button-secondary",3,"routerLink",4,"ngIf"],["type","button","aria-label","\xCEnchide",1,"close-button",3,"click"],["class","invite-actions",4,"ngIf"],[1,"button","button-secondary",3,"routerLink"],[1,"invite-actions"],[1,"action-buttons"],["type","button",1,"button","button-primary",3,"click"],["type","button",1,"button","button-danger",3,"click"],[1,"meet-summary"],[1,"content-grid"],["aria-labelledby","information-title",1,"subsection","edit-section"],[1,"subsection-heading"],["id","information-title"],[1,"edit-grid"],[1,"full-width"],["rows","4","placeholder","Spune pe scurt ce vor g\u0103si participan\u021Bii la acest meet.",3,"ngModelChange","ngModel"],["type","number",3,"ngModelChange","min","ngModel"],["class","capacity-request-status",4,"ngIf"],["rows","4","placeholder","De exemplu: ce trebuie s\u0103 aduc\u0103 echipele.",3,"ngModelChange","ngModel"],["type","time",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["type","email",3,"ngModelChange","ngModel"],[1,"location-edit","full-width"],["class","location-request-status",4,"ngIf"],["rows","4","placeholder","Adres\u0103, interval orar, acces, parcare\u2026",3,"ngModelChange","ngModel"],[1,"venue-choice","full-width"],["type","checkbox",3,"ngModelChange","ngModel"],["rows","3",3,"ngModelChange","ngModel"],["type","button",1,"button","button-primary","save-button",3,"click"],["aria-labelledby","registered-teams-title",1,"subsection","registrations-section"],["id","registered-teams-title"],[1,"participant-list-summary"],["type","button",1,"button","button-secondary",3,"click"],["aria-labelledby","admin-requests-title",1,"subsection"],["id","admin-requests-title"],["rows","3","placeholder","Explic\u0103 de ce meetul trebuie s\u0103 se desf\u0103\u0219oare cu efectiv redus.",3,"ngModelChange","ngModel"],["type","button",1,"button","button-secondary",3,"click","disabled"],["type","date",3,"ngModelChange","ngModel"],["rows","3","placeholder","Explic\u0103 motivul schimb\u0103rii datei.",3,"ngModelChange","ngModel"],["class","history",4,"ngIf"],["class","participant-lists-modal","role","dialog","aria-modal","true","aria-labelledby","participant-lists-title",4,"ngIf"],[1,"capacity-request-status"],[1,"location-request-status"],["type","url",3,"ngModelChange","ngModel"],[1,"history"],["role","dialog","aria-modal","true","aria-labelledby","participant-lists-title",1,"participant-lists-modal"],["type","button","aria-label","\xCEnchide listele participan\u021Bilor",1,"modal-backdrop",3,"click"],[1,"participant-lists-panel"],["id","participant-lists-title"],[1,"participant-lists-grid"],["class","empty-state compact",4,"ngIf"],["class","participant-card",4,"ngFor","ngForOf"],[1,"waitlist-help"],["class","participant-card waitlist-card",4,"ngFor","ngForOf"],["class","remove-panel",4,"ngIf"],[1,"empty-state","compact"],[1,"participant-card"],["type","button",1,"text-button",3,"click"],[1,"participant-card","waitlist-card"],["type","button",1,"button","button-primary",3,"click","disabled"],[1,"remove-panel"],["rows","3","placeholder","Explic\u0103 pe scurt motivul pentru administratori.",3,"ngModelChange","ngModel"],["type","button",1,"button","button-danger",3,"click","disabled"]],template:function(n,i){n&1&&(r(0,"section",2)(1,"header",3)(2,"div")(3,"p",4),a(4,"ACTIVITATEA ECHIPEI"),o(),r(5,"h2",5),a(6,"Meeturile echipei"),o(),r(7,"p",6),a(8,"Aici po\u021Bi organiza un meet, urm\u0103ri \xEEnscrierile \u0219i transmite informa\u021Biile importante participan\u021Bilor."),o()(),r(9,"a",7),a(10,"Organizeaz\u0103 un meet"),o()(),h(11,PF,7,2,"div",8)(12,OF,2,3,"div",9)(13,yF,3,0,"div",10)(14,RF,25,6,"div",11)(15,AF,9,2,"details",12)(16,n9,19,10,"div",13),o()),n&2&&(c(11),m("ngIf",i.seasonLimit.max>0),c(),m("ngIf",i.message),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading),c(),m("ngIf",!i.isLoading&&i.organizerRequestHistory.length),c(),m("ngIf",i.selectedMeet&&!i.isLoading))},dependencies:[H,X,$,mn,se,re,lt,Pt,ie,yt,pe,Te],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.team-meets[_ngcontent-%COMP%]{box-sizing:border-box;color:#243041;display:grid;gap:1.5rem;margin:0 auto;max-width:1240px;padding:1.5rem 0 2rem;width:100%}.page-header[_ngcontent-%COMP%], .details-header[_ngcontent-%COMP%], .panel-heading[_ngcontent-%COMP%], .invite-actions[_ngcontent-%COMP%], .registration-row[_ngcontent-%COMP%], .action-buttons[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-header[_ngcontent-%COMP%]{align-items:flex-start;background:linear-gradient(105deg,#f6f8ff,#fff 72%);border:1px solid #e1e7f8;border-radius:14px;margin:.25rem 0 .35rem;padding:1.5rem 1.65rem}.page-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ng
156content-%COMP%]{color:#172033;margin:0}.page-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:clamp(1.65rem,3vw,2.1rem);line-height:1.15}.intro[_ngcontent-%COMP%]{color:#5f6b7a;line-height:1.55;margin:.55rem 0 0;max-width:650px}.eyebrow[_ngcontent-%COMP%]{color:#6b7280;font-size:.72rem;font-weight:800;letter-spacing:.09em;margin:0 0 .42rem}.button[_ngcontent-%COMP%]{align-items:center;border:1px solid transparent;border-radius:8px;box-sizing:border-box;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;min-height:42px;padding:.6rem 1rem;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease;white-space:nowrap}.button[_ngcontent-%COMP%]:hover{transform:translateY(-1px)}.button[_ngcontent-%COMP%]:focus-visible, .meet-card[_ngcontent-%COMP%]:focus-visible, .text-button[_ngcontent-%COMP%]:focus-visible, input[_ngcontent-%COMP%]:focus-visible, textarea[_ngcontent-%COMP%]:focus-visible, summary[_ngcontent-%COMP%]:focus-visible{outline:3px solid rgba(102,126,234,.35);outline-offset:2px}.button-primary[_ngcontent-%COMP%]{background:#596ed5;color:#fff}.button-primary[_ngcontent-%COMP%]:hover{background:#465bc2}.button-secondary[_ngcontent-%COMP%]{background:#fff;border-color:#cbd5e1;color:#344054}.button-secondary[_ngcontent-%COMP%]:hover{background:#f8fafc}.button-danger[_ngcontent-%COMP%]{background:#b42318;color:#fff}.button-danger[_ngcontent-%COMP%]:hover{background:#8f1b13}.button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.55;transform:none}.notice[_ngcontent-%COMP%], .message[_ngcontent-%COMP%]{align-items:center;border-radius:10px;display:flex;gap:.75rem;padding:.85rem 1rem}.notice-info[_ngcontent-%COMP%]{background:#eef3ff;border:1px solid #d8e2ff;color:#344a93}.notice[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.notice-icon[_ngcontent-%COMP%]{align-items:center;background:#596ed5;border-radius:50%;color:#fff;display:inline-flex;font-family:Georgia,serif;font-weight:700;height:20px;justify-content:center;width:20px}.message[_ngcontent-%COMP%]{background:#ecfdf3;border:1px solid #b7e8ca;color:#17633b;font-weight:600}.message.error[_ngcontent-%COMP%]{background:#fff1f0;border-color:#fecaca;color:#a61b15}.loading-state[_ngcontent-%COMP%]{align-items:center;color:#5f6b7a;display:flex;gap:.75rem;justify-content:center;min-height:170px}.spinner[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin .8s linear infinite;border:3px solid #dbe3f6;border-radius:50%;border-top-color:#596ed5;height:20px;width:20px}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}.overview[_ngcontent-%COMP%]{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.panel[_ngcontent-%COMP%], .details[_ngcontent-%COMP%]{background:#fff;border:1px solid #e1e7ef;border-radius:12px;box-shadow:0 2px 8px #1e293b0a}.panel[_ngcontent-%COMP%]{padding:1.25rem}.panel-heading[_ngcontent-%COMP%]{align-items:flex-start;border-bottom:1px solid #edf0f4;padding-bottom:1rem}.panel-heading[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.12rem}.panel-heading[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .subsection-heading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#687588;font-size:.9rem;line-height:1.45;margin:.3rem 0 0}.count[_ngcontent-%COMP%]{align-items:center;background:#f0f3f8;border-radius:999px;color:#465569;display:inline-flex;font-size:.85rem;font-weight:800;height:28px;justify-content:center;min-width:28px}.meet-list[_ngcontent-%COMP%], .participation-list[_ngcontent-%COMP%]{display:grid;margin-top:1rem}.meet-card[_ngcontent-%COMP%], .participation-row[_ngcontent-%COMP%]{align-items:center;background:transparent;border:0;border-bottom:1px solid #edf0f4;color:#243041;display:flex;font:inherit;gap:.75rem;justify-content:space-between;padding:.85rem .2rem;text-align:left;text-decoration:none;width:100%}.meet-card[_ngcontent-%COMP%]{cursor:pointer}.meet-card[_ngcontent-%COMP%]:last-child, .participation-row[_ngcontent-%COMP%]:last-child{border-bottom:0}.meet-card[_ngcontent-%COMP%]:hover, .meet-card.active[_ngcontent-%COMP%], .participation-row[_ngcontent-%COMP%]:hover{background:#f6f8ff}.meet-card.active[_ngcontent-%COMP%]{box-shadow:inset 3px 0 #596ed5;padding-left:.7rem}.meet-card-main[_ngcontent-%COMP%], .participation-row[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:first-child{display:grid;gap:.2rem;min-width:0}.meet-card[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], .participation-row[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meet-card-main[_ngcontent-%COMP%] > span[_ngcontent-%COMP%], .participation-row[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588;font-size:.84rem}.manage-hint[_ngcontent-%COMP%]{color:#596ed5;font-size:.8rem;font-weight:800;white-space:nowrap}.meet-card[_ngcontent-%COMP%]:hover .manage-hint[_ngcontent-%COMP%]{text-decoration:underline}.status-badge[_ngcontent-%COMP%]{border-radius:999px;font-size:.76rem;font-weight:750;line-height:1.2;padding:.3rem .58rem;text-align:center}.status-draft[_ngcontent-%COMP%], .status-pending_approval[_ngcontent-%COMP%], .status-pending_changes[_ngcontent-%COMP%], .status-pending_changes_review[_ngcontent-%COMP%], .status-pending_first_approval[_ngcontent-%COMP%], .registration-waitlisted[_ngcontent-%COMP%], .registration-withdrawal_pending_admin[_ngcontent-%COMP%], .registration-removed_by_organizer_pending_admin[_ngcontent-%COMP%]{background:#fff7df;color:#8a5a00}.status-approved[_ngcontent-%COMP%], .status-completed[_ngcontent-%COMP%], .registration-registered[_ngcontent-%COMP%], .registration-late_drop_approved_without_penalty[_ngcontent-%COMP%]{background:#e8f8ee;color:#187342}.status-rejected[_ngcontent-%COMP%], .status-cancelled[_ngcontent-%COMP%], .registration-withdrawn[_ngcontent-%COMP%], .registration-withdrawn_late_counts_toward_limit[_ngcontent-%COMP%], .registration-removed_by_admin[_ngcontent-%COMP%], .registration-cancelled_due_to_meet_cancelled[_ngcontent-%COMP%]{background:#fff0ef;color:#ae261c}.invite-badge[_ngcontent-%COMP%]{background:#eef2ff;border-radius:999px;color:#465bc2;font-size:.76rem;font-weight:750;padding:.3rem .58rem;text-align:center}.empty-state[_ngcontent-%COMP%]{align-items:flex-start;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#5f6b7a;display:grid;gap:.3rem;margin-top:1rem;padding:1rem}.empty-state[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#354154}.empty-state.compact[_ngcontent-%COMP%]{margin:0}.meet-management-modal[_ngcontent-%COMP%]{align-items:flex-start;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:var(--z-modal)}.modal-backdrop[_ngcontent-%COMP%]{background:#1720337a;border:0;inset:0;position:fixed;width:100%}.details[_ngcontent-%COMP%]{display:grid;gap:1.5rem;margin:auto 0;max-width:1120px;padding:1.5rem;position:relative;width:min(1120px,100%);z-index:1}.details-header[_ngcontent-%COMP%]{align-items:flex-start;border-bottom:1px solid #e9edf3;padding-bottom:1.25rem}.details-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.45rem}.details-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#687588;margin:.35rem 0 0}.details-actions[_ngcontent-%COMP%]{align-items:center;display:flex;gap:.75rem}.close-button[_ngcontent-%COMP%]{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:50%;color:#344054;cursor:pointer;display:inline-flex;font-size:1.6rem;height:42px;justify-content:center;line-height:1;padding:0;width:42px}.close-button[_ngcontent-%COMP%]:hover{background:#f8fafc}.invite-actions[_ngcontent-%COMP%]{background:#fff7df;border:1px solid #f2d684;border-radius:10px;padding:1rem}.invite-actions[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#674c0a}.invite-actions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#755c1d;margin:.25rem 0 0}.meet-summary[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr)}.meet-summary[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-right:1px solid #e6ebf1;display:grid;gap:.2rem;padding:0 1rem}.meet-summary[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{padding-left:0}.meet-summary[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border:0}.meet-summary[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#596ed5;font-size:1.65rem}.meet-summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#687588;font-size:.86rem}.content-grid[_ngcontent-%COMP%]{display:grid;gap:1.75rem;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr)}.subsection[_ngcontent-%COMP%]{min-width:0}.subsection-heading[_ngcontent-%COMP%]{margin-bottom:1rem}
156.subsection-heading[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:1.08rem}.edit-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.edit-grid[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{grid-column:1/-1}label[_ngcontent-%COMP%]{color:#354154;display:grid;font-size:.88rem;font-weight:700;gap:.4rem}label[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#788497;font-weight:500}input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{background:#fff;border:1px solid #cbd5e1;border-radius:7px;box-sizing:border-box;color:#243041;font:inherit;font-weight:400;padding:.65rem .7rem;resize:vertical;width:100%}input[_ngcontent-%COMP%]::placeholder, textarea[_ngcontent-%COMP%]::placeholder{color:#99a3b1}.save-button[_ngcontent-%COMP%]{margin-top:1rem}.location-edit[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e4eaf1;border-radius:9px;display:grid;gap:1rem;padding:1rem}.location-edit[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#687588;font-size:.84rem;line-height:1.4;margin:.25rem 0 0}.location-edit[_ngcontent-%COMP%] > .venue-choice[_ngcontent-%COMP%]{align-items:center;display:flex;gap:.6rem}.location-edit[_ngcontent-%COMP%] > .venue-choice[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{height:18px;margin:0;width:18px}.location-edit[_ngcontent-%COMP%] > .venue-choice[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{width:auto}.location-edit[_ngcontent-%COMP%] > ng-container[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.location-edit[_ngcontent-%COMP%] > ng-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]:nth-child(3){grid-column:1/-1}.location-request-status[_ngcontent-%COMP%]{background:#fff7df;border:1px solid #f2d684;border-radius:7px;color:#755c1d;font-size:.85rem;line-height:1.4;margin:0;padding:.7rem .8rem}.capacity-request-status[_ngcontent-%COMP%]{align-self:end;background:#eef2ff;border:1px solid #d7defa;border-radius:7px;color:#4054ad;font-size:.85rem;line-height:1.4;margin:0;padding:.7rem .8rem}.registrations-section[_ngcontent-%COMP%]{border-left:1px solid #e9edf3;padding-left:1.75rem}.registration-list[_ngcontent-%COMP%]{border-top:1px solid #edf0f4}.registration-row[_ngcontent-%COMP%]{align-items:center;border-bottom:1px solid #edf0f4;padding:.75rem 0}.registration-row[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:grid;gap:.2rem}.registration-row[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:.92rem}.registration-row[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#687588;font-size:.82rem}.text-button[_ngcontent-%COMP%]{background:transparent;border:0;color:#a61b15;cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;padding:.35rem;text-align:right}.text-button[_ngcontent-%COMP%]:hover{text-decoration:underline}.remove-panel[_ngcontent-%COMP%]{background:#fff7f6;border:1px solid #f4cfcb;border-radius:8px;display:grid;gap:.8rem;margin-top:1rem;padding:1rem}.history[_ngcontent-%COMP%]{border-top:1px solid #e9edf3;color:#5f6b7a;font-size:.9rem;padding-top:1rem}.history[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{color:#354154;cursor:pointer;font-weight:700}.history[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{display:grid;gap:.5rem;margin:.9rem 0 0;padding-left:1.2rem}.history[_ngcontent-%COMP%] time[_ngcontent-%COMP%]{color:#7b8797;display:inline-block;margin-right:.45rem}.participant-list-summary[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e4eaf1;border-radius:8px;display:grid;gap:.45rem;margin-bottom:.9rem;padding:.8rem}.participant-list-summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#687588;font-size:.88rem}.participant-list-summary[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#465bc2;font-size:1rem}.participant-lists-modal[_ngcontent-%COMP%]{align-items:flex-start;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:2}.participant-lists-panel[_ngcontent-%COMP%]{background:#fff;border:1px solid #e1e7ef;border-radius:12px;box-shadow:0 12px 36px #0f172a47;display:grid;gap:1.2rem;margin:auto 0;max-width:1100px;padding:1.5rem;position:relative;width:min(1100px,100%);z-index:1}.participant-lists-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.participant-lists-grid[_ngcontent-%COMP%] > section[_ngcontent-%COMP%]{background:#f8fafc;border:1px solid #e4eaf1;border-radius:9px;overflow:hidden}.participant-lists-grid[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{align-items:center;background:#eef2ff;display:flex;justify-content:space-between;padding:.75rem .85rem}
156.participant-lists-grid[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0}.participant-lists-grid[_ngcontent-%COMP%] header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-items:center;background:#fff;border-radius:999px;color:#465569;display:inline-flex;font-size:.8rem;font-weight:800;min-height:24px;padding:0 .55rem}.waitlist-help[_ngcontent-%COMP%]{color:#687588;font-size:.84rem;line-height:1.4;margin:.8rem}.participant-card[_ngcontent-%COMP%]{background:#fff;border-top:1px solid #e4eaf1;display:grid;gap:.65rem;padding:.85rem}.participant-card[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:grid;gap:.18rem}.participant-card[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588}.participant-card[_ngcontent-%COMP%] dl[_ngcontent-%COMP%]{display:grid;gap:.4rem;margin:0}.participant-card[_ngcontent-%COMP%] dl[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:grid;gap:.1rem}.participant-card[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{color:#687588;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.participant-card[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{color:#354154;font-size:.88rem;margin:0;overflow-wrap:anywhere}.participant-card[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{margin:0}.waitlist-card[_ngcontent-%COMP%]{border-left:3px solid #e8b33a}.admin-request-history[_ngcontent-%COMP%]{background:#fff;border:1px solid #e1e7ef;border-radius:12px;box-shadow:0 2px 8px #1e293b0a;padding:1.1rem 1.25rem}.admin-request-history[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{align-items:center;color:#243041;cursor:pointer;display:flex;font-size:1.04rem;font-weight:800;justify-content:space-between;list-style:none}.admin-request-history[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::-webkit-details-marker{display:none}.admin-request-history[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:after{color:#687588;content:"\\2304";font-size:1.2rem;margin-left:.55rem}.admin-request-history[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-items:center;background:#f0f3f8;border-radius:999px;color:#465569;display:inline-flex;font-size:.78rem;height:24px;justify-content:center;margin-left:auto;min-width:24px}.admin-request-history[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{border-bottom:1px solid #edf0f4;padding-bottom:.9rem}.admin-request-history[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:after{transform:rotate(180deg)}.admin-request-history[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{color:#687588;font-size:.88rem;line-height:1.45;margin:.85rem 0}.admin-request-history-list[_ngcontent-%COMP%]{display:grid}.admin-request-history-list[_ngcontent-%COMP%] article[_ngcontent-%COMP%]{border-top:1px solid #edf0f4;display:grid;gap:.45rem;padding:.85rem 0}.admin-request-history-list[_ngcontent-%COMP%] article[_ngcontent-%COMP%]:first-child{border-top:0}.admin-request-history-list[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:.8rem;justify-content:space-between}.admin-request-history-list[_ngcontent-%COMP%] header[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:grid;gap:.18rem}.admin-request-history-list[_ngcontent-%COMP%] header[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#354154}.admin-request-history-list[_ngcontent-%COMP%] header[_ngcontent-%COMP%] small[_ngcontent-%COMP%], .admin-request-history-list[_ngcontent-%COMP%] > small[_ngcontent-%COMP%]{color:#687588}.request-type[_ngcontent-%COMP%]{color:#465bc2;font-size:.76rem;font-weight:800;text-transform:uppercase}.admin-request-history-list[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#4d5d73;line-height:1.45;margin:0}.admin-request-history-list[_ngcontent-%COMP%] .admin-response[_ngcontent-%COMP%]{background:#eef8f1;border-left:3px solid #20884d;border-radius:5px;color:#17633b;padding:.55rem .65rem}.request-pending[_ngcontent-%COMP%]{background:#fff7df;color:#8a5a00}.request-approved[_ngcontent-%COMP%]{background:#e8f8ee;color:#187342}.request-rejected[_ngcontent-%COMP%], .request-cancelled[_ngcontent-%COMP%]{background:#fff0ef;color:#ae261c}@media (max-width: 850px){.overview[_ngcontent-%COMP%], .content-grid[_ngcontent-%COMP%], .participant-lists-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.registrations-section[_ngcontent-%COMP%]{border-left:0;border-top:1px solid #e9edf3;padding-left:0;padding-top:1.5rem}}@media (max-width: 600px){.team-meets[_ngcontent-%COMP%]{padding:1rem 0 1.5rem}.page-header[_ngcontent-%COMP%], .details-header[_ngcontent-%COMP%], .invite-actions[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column}.page-header[_ngcontent-%COMP%]{padding:1.2rem}.page-header[_ngcontent-%COMP%] .button[_ngcontent-%COMP%], .details-header[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{width:100%}.meet-summary[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.8rem}.meet-summary[_ngcontent-%COMP%] > div[_ngcontent-%COMP%], .meet-summary[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{border-bottom:1px solid #e6ebf1;border-right:0;padding:0 0 .75rem}.meet-summary[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-bottom:0}.edit-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.edit-grid[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{grid-column:auto}.action-buttons[_ngcontent-%COMP%]{align-items:stretch}.action-buttons[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{flex:1}.details[_ngcontent-%COMP%], .panel[_ngcontent-%COMP%]{padding:1rem}}']})}}return t})();function i9(t,s){if(t&1&&(r(0,"p"),a(1),o()),t&2){let e=p();c(),w(" Gestioneaz\u0103 informa\u021Biile echipei pentru sezonul ",e.currentSeason.seasonName," ")}}function o9(t,s){t&1&&(r(0,"p"),a(1,"Nu este setat niciun sezon curent."),o())}function r9(t,s){if(t&1&&(r(0,"small"),a(1),o()),t&2){let e=p(2);c(),w(" ",e.incompleteProfileRequirementsText," ")}}function a9(t,s){if(t&1&&(r(0,"div",13)(1,"div",14)(2,"span",15),a(3,"\xCEnregistrare sezon curent"),o(),r(4,"strong"),a(5),o(),r(6,"p"),a(7),o(),h(8,r9,2,1,"small",16),o(),r(9,"span",17),a(10),o()()),t&2){let e=p();m("ngClass",e.currentRegistrationStatusClass),c(5),O(e.currentRegistrationStatusLabel),c(2),O(e.currentRegistrationStatusDescription),c(),m("ngIf",e.currentRegistrationStatus==="PENDING"),c(2),O(e.currentSeason==null?null:e.currentSeason.seasonName)}}function s9(t,s){t&1&&_(0,"i",26)}function c9(t,s){t&1&&_(0,"i",27)}function l9(t,s){if(t&1){let e=E();r(0,"div",18)(1,"div",19)(2,"h2"),a(3),o(),r(4,"p"),a(5),o(),r(6,"p",20),a(7),o()(),r(8,"label",21)(9,"input",22),z("ngModelChange",function(i){v(e);let d=p();return R(d.wantsCurrentSeasonRegistration,i)||(d.wantsCurrentSeasonRegistration=i),M(i)}),o(),r(10,"span"),a(11),o()(),r(12,"button",23),b("click",function(){v(e);let i=p();return M(i.registerForCurrentSeason())}),h(13,s9,1,0,"i",24)(14,c9,1,0,"i",25),a(15),o()()}if(t&2){let e=p();c(3),w("\xCEnregistrare pentru sezonul ",e.currentSeason==null?null:e.currentSeason.seasonName,""),c(2),w(" Echipa ",e.team==null?null:e.team.name," exist\u0103 deja \xEEn platform\u0103, dar nu este \xEEnc\u0103 \xEEnregistrat\u0103 pentru sezonul curent. "),c(2),O(e.currentSeasonRegistrationWindowLabel),c(2),D("ngModel",e.wantsCurrentSeasonRegistration),m("disabled",e.isRegisteringForSeason),c(2),w("Da, vreau s\u0103 \xEEnregistrez echipa pentru sezonul ",e.currentSeason==null?null:e.currentSeason.seasonName,"."),c(),m("disabled",!e.wantsCurrentSeasonRegistration||e.isRegisteringForSeason),c(),m("ngIf",!e.isRegisteringForSeason),c(),m("ngIf",e.isRegisteringForSeason),c(),w(" ",e.isRegisteringForSeason?"Se \xEEnregistreaz\u0103...":"Confirm\u0103 \xEEnregistrarea"," ")}}function d9(t,s){if(t&1&&(r(0,"div",28)(1,"div",19)(2,"h2"),a(3,"\xCEnregistr\u0103rile nu sunt deschise"),o(),r(4,"p"),a(5),o(),r(6,"p",20),a(7),o()()()),t&2){let e=p();c(5),G(" Echipa ",e.team==null?null:e.team.name," exist\u0103 deja \xEEn platform\u0103, dar \xEEnregistrarea pentru sezonul ",e.currentSeason==null?null:e.currentSeason.seasonName," este disponibil\u0103 doar \xEEn perioada configurat\u0103. "),c(2),O(e.currentSeasonRegistrationWindowLabel)}}
156function m9(t,s){t&1&&(r(0,"div",28)(1,"div",19)(2,"h2"),a(3,"Echipa nu este conectat\u0103 la cont"),o(),r(4,"p"),a(5,"Contacta\u021Bi administratorul pentru a lega contul de o echip\u0103 \xEEnainte de \xEEnregistrarea \xEEn sezon."),o()()())}function g9(t,s){if(t&1){let e=E();r(0,"button",31),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.setActiveTab(i.id))}),_(1,"i"),a(2),o()}if(t&2){let e=s.$implicit,n=p(2);I("active",n.activeTab===e.id),c(),ct(e.icon),c(),w(" ",e.label," ")}}function p9(t,s){if(t&1&&(r(0,"nav",29),h(1,g9,3,5,"button",30),o()),t&2){let e=p();c(),m("ngForOf",e.visibleTabs)}}function u9(t,s){if(t&1){let e=E();r(0,"app-public-details",39),b("seasonDataUpdated",function(i){v(e);let d=p(2);return M(d.onSeasonDataUpdated(i))}),o()}if(t&2){let e=p(2);m("team",e.team)("currentSeasonData",e.currentSeasonData)}}function _9(t,s){if(t&1&&_(0,"app-sponsors",40),t&2){let e=p(2);m("currentSeasonData",e.currentSeasonData)}}function f9(t,s){if(t&1){let e=E();r(0,"app-mentors",41),b("seasonDataUpdated",function(i){v(e);let d=p(2);return M(d.onSeasonDataUpdated(i))}),o()}if(t&2){let e=p(2);m("currentSeasonData",e.currentSeasonData)("isRosterLocked",e.isRosterLocked)}}function h9(t,s){if(t&1){let e=E();r(0,"app-members",41),b("seasonDataUpdated",function(i){v(e);let d=p(2);return M(d.onSeasonDataUpdated(i))}),o()}if(t&2){let e=p(2);m("currentSeasonData",e.currentSeasonData)("isRosterLocked",e.isRosterLocked)}}function C9(t,s){if(t&1){let e=E();r(0,"app-members",42),b("seasonDataUpdated",function(i){v(e);let d=p(2);return M(d.onSeasonDataUpdated(i))}),o()}if(t&2){let e=p(2);m("volunteer",!0)("currentSeasonData",e.currentSeasonData)("isRosterLocked",e.isRosterLocked)}}function v9(t,s){if(t&1){let e=E();r(0,"app-season-registration-form",43),b("answersSaved",function(){v(e);let i=p(2);return M(i.onRegistrationAnswersSaved())}),o()}if(t&2){let e=p(2);m("currentSeasonData",e.currentSeasonData)("answersEditable",e.canEditRegistrationAnswers)("readOnlyMessage",e.registrationAnswersReadOnlyMessage)}}function M9(t,s){t&1&&_(0,"app-team-meets")}function x9(t,s){if(t&1&&_(0,"app-diplomas",44),t&2){let e=p(2);m("currentSeasonData",e.currentSeasonData)("team",e.team)("showAllTeamSeasons",!0)}}function b9(t,s){if(t&1&&(r(0,"div",32),h(1,u9,1,2,"app-public-details",33)(2,_9,1,1,"app-sponsors",34)(3,f9,1,2,"app-mentors",35)(4,h9,1,2,"app-members",35)(5,C9,1,3,"app-members",36)(6,v9,1,3,"app-season-registration-form",37)(7,M9,1,0,"app-team-meets",16)(8,x9,1,3,"app-diplomas",38),o()),t&2){let e=p();c(),m("ngIf",e.activeTab==="public-data"),c(),m("ngIf",e.activeTab==="public-sponsors"),c(),m("ngIf",e.activeTab==="mentor-management"),c(),m("ngIf",e.activeTab==="members-management"),c(),m("ngIf",e.activeTab==="volunteers-management"),c(),m("ngIf",e.activeTab==="season-registration"),c(),m("ngIf",e.activeTab==="league-meets"&&e.leagueMeetsEnabled),c(),m("ngIf",e.activeTab==="diplomas")}}function P9(t,s){t&1&&_(0,"i",53)}function O9(t,s){t&1&&_(0,"i",54)}function y9(t,s){if(t&1){let e=E();r(0,"div",45),b("click",function(){v(e);let i=p();return M(i.closePopup())}),r(1,"div",46),b("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",47),h(3,P9,1,0,"i",48)(4,O9,1,0,"i",49),r(5,"h3"),a(6),o()(),r(7,"div",50)(8,"p"),a(9),o()(),r(10,"div",51)(11,"button",52),b("click",function(){v(e);let i=p();return M(i.closePopup())}),a(12,"OK"),o()()()()}if(t&2){let e=p();c(3),m("ngIf",e.popupType==="success"),c(),m("ngIf",e.popupType==="error"),c(2),O(e.popupTitle),c(3),O(e.popupMessage)}}function w9(t,s){if(t&1&&(r(0,"div",55),a(1),o()),t&2){let e=p();m("ngClass",e.saveMessageType),c(),w(" ",e.saveMessage," ")}}function S9(t,s){t&1&&(r(0,"div",57),_(1,"div",58),r(2,"p"),a(3,"Loading team data..."),o()())}function E9(t,s){if(t&1&&h(0,S9,4,0,"div",56),t&2){let e=p();m("ngIf",e.isLoading)}}var Xu=(()=>{class t{constructor(e,n,i,d,u){this.teamsService=e,this.authService=n,this.seasonsService=i,this.seasonRegistrationService=d,this.meetsService=u,this.currentUser=null,this.team=null,this.currentSeasonData=null,this.currentSeason=null,this.isRosterLocked=!1,this.isLoading=!1,this.isSaving=!1,this.isRegisteringForSeason=!1,this.wantsCurrentSeasonRegistration=!1,this.saveMessage="",this.saveMessageType="success",this.registrationQuestions=[],this.registrationAnswers=[],this.leagueMeetsEnabled=!1,this.showPopup=!1,this.popupTitle="",this.popupMessage="",this.popupType="success",this.activeTab="public-data",this.tabs=[{id:"public-data",label:"Date Publice",icon:"fas fa-info-circle"},{id:"public-sponsors",label:"Sponsori",icon:"fas fa-handshake"},{id:"mentor-management",label:"Mentori",icon:"fas fa-user-tie"},{id:"volunteers-management",label:"Elevi voluntari",icon:"fas fa-hands-helping"},{id:"members-management",label:"Elevi",icon:"fas fa-users"},{id:"season-registration",label:"\xCEntreb\u0103ri \xEEnscriere",icon:"fas fa-clipboard-list"},{id:"league-meets",label:"League Meets",icon:"fas fa-calendar-check"},{id:"diplomas",label:"Diplome",icon:"fas fa-award"}]}ngOnInit(){this.loadUserData(),this.loadCurrentSeason()}ngAfterViewInit(){}ngOnDestroy(){}loadUserData(){this.authService.getLoggedInUser().subscribe(e=>{if(this.currentUser=e,!e){console.log("No user data available");return}e.teamOwned?.internationalNumber?this.loadTeamData(e.teamOwned.internationalNumber):e.teamOwnedId?this.loadTeamDataById(e.teamOwnedId):e.team?.internationalNumber?this.loadTeamData(e.team.internationalNumber):console.log("No team information found in user data")})}loadTeamData(e){this.isLoading=!0,this.currentSeasonData=null,this.teamsService.getTeamByInternationalNumber(e).subscribe({next:n=>{this.team=n.message,this.team?.teamSeasonData?.length>0&&(this.currentSeasonData=this.team.teamSeasonData[0],this.loadRegistrationQuestionStatus()),this.loadTeamSeasonHistory(this.team?.internationalNumber||e),this.isLoading=!1},error:n=>{console.error("Error loading team data:",n),this.isLoading=!1}})}loadTeamDataById(e){this.isLoading=!0,this.currentSeasonData=null,this.teamsService.getTeamById(e).subscribe({next:n=>{this.team=n.message,this.team?.teamSeasonData?.length>0&&(this.currentSeasonData=this.team.teamSeasonData[0],this.loadRegistrationQuestionStatus()),this.team?.internationalNumber&&this.loadTeamSeasonHistory(this.team.internationalNumber),this.isLoading=!1},error:n=>{console.error("Error loading team data:",n),this.isLoading=!1}})}onSeasonDataUpdated(e){this.currentSeasonData=e,this.loadRegistrationQuestionStatus()}onRegistrationAnswersSaved(){this.team?.id?this.loadTeamDataById(this.team.id):this.loadRegistrationQuestionStatus()}get hasCurrentSeasonRegistration(){return!!this.currentSeasonData&&this.currentSeasonData.registrationStatus!=="NONE"}get visibleTabs(){return this.tabs.filter(e=>e.id!=="league-meets"||this.leagueMeetsEnabled)}get canEditRegistrationAnswers(){return this.currentSeason?.registrationAnswersOpen!==!1&&this.currentRegistrationStatus!=="CONFIRMED"}get registrationAnswersReadOnlyMessage(){return this.currentRegistrationStatus==="CONFIRMED"?"\xCEnscrierea este confirmat\u0103. R\u0103spunsurile nu mai pot fi modificate.":"R\u0103spunsurile la \xEEntreb\u0103rile de \xEEnscriere sunt dezactivate de administrator."}get shouldShowRegistrationStatus(){return!!this.currentSeason&&!!this.team&&!this.isLoading}get currentRegistrationStatus(){return this.currentSeasonData?.registrationStatus||"NONE"}get shouldShowSeasonRegistrationPrompt(){return!!this.currentSeason&&!!this.team&&!this.hasCurrentSeasonRegistration&&this.isCurrentSeasonRegistrationOpen}get shouldShowClosedSeasonRegistrationPrompt(){return!!this.currentSeason&&!!this.team&&!this.hasCurrentSeasonRegistration&&!this.isCurrentSeasonRegistrationOpen}get isCurrentSeasonRegistrationOpen(){if(!this.currentSeason?.registrationStart||!this.currentSeason?.registrationEnd)return!1;let e=new Date,n=new Date(this.currentSeason.registrationStart),i=new Date(this.currentSeason.registrationEnd);return e>=n&&e<=i}get currentSeasonRegistrationWindowLabel(){return!this.currentSeason?.registrationStart||!this.currentSeason?.registrationEnd?"Perioada de \xEEnregistrare nu este configurat\u0103 \xEEnc\u0103.":`Per
156ioada de \xEEnregistrare este ${this.formatDate(this.currentSeason.registrationStart)} - ${this.formatDate(this.currentSeason.registrationEnd)}.`}get currentRegistrationStatusLabel(){switch(this.currentRegistrationStatus){case"CONFIRMED":return"\xCEnscriere confirmat\u0103";case"PENDING":return"Profil incomplet";case"WAITLIST":return"Profil complet, pending admin review";case"NEEDS_ATTENTION":return"Necesit\u0103 complet\u0103ri";case"NONE":default:return"Echip\u0103 inactiv\u0103"}}get currentRegistrationStatusDescription(){switch(this.currentRegistrationStatus){case"CONFIRMED":return"\xCEnscrierea echipei pentru sezonul curent a fost confirmat\u0103 de un administrator.";case"PENDING":return"Echipa a \xEEnceput \xEEnscrierea, dar profilul nu are \xEEnc\u0103 toate datele necesare.";case"WAITLIST":return"Profilul este complet \u0219i a\u0219teapt\u0103 confirmarea unui administrator.";case"NEEDS_ATTENTION":return"Un administrator a solicitat complet\u0103ri sau corecturi. Verific\u0103 emailul primit \u0219i actualizeaz\u0103 \xEEnscrierea.";case"NONE":default:return"Echipa nu a ini\u021Biat \xEEnc\u0103 \xEEnscrierea pentru sezonul curent."}}get currentRegistrationStatusClass(){return`status-${this.currentRegistrationStatus.toLowerCase()}`}get incompleteProfileRequirementsText(){let e=this.missingRegistrationRequirements;return e.length===0?"Profilul are toate datele necesare \u0219i va trece automat la pending admin review dup\u0103 salvare.":`Pentru etapa urm\u0103toare sunt necesare: ${e.join(", ")}. Pentru c\xE2mpurile din Date publice, apas\u0103 Salva\u021Bi modific\u0103rile dup\u0103 completare.`}get missingRegistrationRequirements(){let e=this.currentSeasonData;return[{label:"descriere",complete:this.hasText(e?.teamDescription)},{label:"motto",complete:this.hasText(e?.motto)},{label:"link video",complete:this.hasText(e?.registrationVideoLink)},{label:"fotografie echip\u0103",complete:!!e?.teamBanner},{label:"logo echip\u0103",complete:!!e?.teamLogo},{label:"culori echip\u0103",complete:this.hasText(e?.teamMainColor)&&this.hasText(e?.teamSecondaryColor)},{label:"loca\u021Bie pe hart\u0103",complete:e?.latitude!==null&&e?.latitude!==void 0&&e?.longitude!==null&&e?.longitude!==void 0},{label:"minimum o re\u021Bea de socializare",complete:this.hasAtLeastOneSocialMedia(e)},{label:"un mentor principal",complete:(e?.persons||[]).some(i=>i.personType==="MENTOR"&&i.mentorData?.isPrimary)},{label:"minimum 1 elev",complete:(e?.persons||[]).some(i=>i.personType==="MEMBER")},{label:"formular \xEEntreb\u0103ri \xEEnscriere",complete:this.registrationQuestions.length===0||this.requiredRegistrationQuestionsAreAnswered}].filter(i=>!i.complete).map(i=>i.label)}get requiredRegistrationQuestionsAreAnswered(){let e=new Map(this.registrationAnswers.map(n=>[n.questionId,n.value]));return this.registrationQuestions.filter(n=>n.isActive&&n.isRequired).every(n=>this.isRegistrationAnswerComplete(n,e.get(n.id)))}isRegistrationAnswerComplete(e,n){return n==null||n===""?!1:e.questionType==="SWOT"?this.hasText(n?.weaknesses)&&this.hasText(n?.threats):Array.isArray(n)?n.length>0:!0}loadRegistrationQuestionStatus(){if(!this.currentSeasonData){this.registrationQuestions=[],this.registrationAnswers=[];return}this.seasonRegistrationService.getCurrentSeasonQuestions().subscribe({next:e=>{this.registrationQuestions=e.message||[],this.seasonRegistrationService.getTeamSeasonAnswers(this.currentSeasonData.id).subscribe({next:n=>{this.registrationAnswers=n.message||[]},error:n=>{console.error("Error loading registration answer status:",n),this.registrationAnswers=[]}})},error:e=>{console.error("Error loading registration question status:",e),this.registrationQuestions=[],this.registrationAnswers=[]}})}registerForCurrentSeason(){!this.wantsCurrentSeasonRegistration||this.isRegisteringForSeason||!this.isCurrentSeasonRegistrationOpen||(this.isRegisteringForSeason=!0,this.teamsService.registerTeamForCurrentSeason().subscribe({next:e=>{this.currentSeasonData=e.message,this.wantsCurrentSeasonRegistration=!1,this.isRegisteringForSeason=!1,this.showPopupNotification("\xCEnregistrare trimis\u0103",`Echipa a fost \xEEnregistrat\u0103 pentru sezonul ${this.currentSeason?.seasonName}. Statusul este ${this.currentRegistrationStatusLabel.toLowerCase()}.`,"success")},error:e=>{console.error("Error registering team for current season:",e),this.isRegisteringForSeason=!1;let n=e?.error?.message?.message||e?.error?.message;this.showPopupNotification("\xCEnregistrarea a e\u0219uat",n||"Nu am putut \xEEnregistra echipa pentru sezonul curent. \xCEncerca\u021Bi din
156nou sau contacta\u021Bi administratorul.","error")}}))}loadCurrentSeason(){this.seasonsService.getCurrentSeason().subscribe({next:e=>{e?.success&&e.message&&(this.currentSeason=e.message,this.isRosterLocked=e.message.rosterLocked||!1,this.meetsService.getSeasonSettings(e.message.id).subscribe({next:n=>this.leagueMeetsEnabled=!!n.message?.leagueMeetsEnabled,error:()=>this.leagueMeetsEnabled=!1}))},error:e=>{console.error("Error loading current season:",e)}})}loadTeamSeasonHistory(e){e&&this.teamsService.getTeamSeasonDataByInternationalNumber(e).subscribe({next:n=>{let i=n.message||[];if(!this.team||i.length===0)return;this.team=ye(J({},this.team),{teamSeasonData:i});let d=this.currentSeason?.id||this.currentSeasonData?.seasonId,u=d?i.find(x=>x.seasonId===d):null;u&&(this.currentSeasonData=u,this.loadRegistrationQuestionStatus())},error:n=>{console.error("Error loading team season history:",n)}})}setActiveTab(e){this.activeTab=e}showMessage(e,n="success"){this.saveMessage=e,this.saveMessageType=n,setTimeout(()=>{this.saveMessage=""},5e3)}showPopupNotification(e,n,i="success"){this.popupTitle=e,this.popupMessage=n,this.popupType=i,this.showPopup=!0,setTimeout(()=>{this.showPopup=!1},5e3)}showSaveMessage(e,n="success"){this.showMessage(e,n)}closePopup(){this.showPopup=!1}formatDate(e){return new Date(e).toLocaleDateString("ro-RO",{day:"2-digit",month:"long",year:"numeric"})}hasAtLeastOneSocialMedia(e){return e?this.hasText(e.facebookLink)||this.hasText(e.instagramLink)||this.hasText(e.xLink)||this.hasText(e.linkedInLink)||this.hasText(e.youtubeLink)||this.hasText(e.tiktokLink)||this.hasText(e.teamWebsiteLink)||this.hasText(e.otherSocial):!1}hasText(e){return!!e&&e.trim().length>0}static{this.\u0275fac=function(n){return new(n||t)(T(Ne),T(at),T(Ve),T(Ii),T(kn))}}static{this.\u0275cmp=V({type:t,selectors:[["app-team-dashboard"]],standalone:!0,features:[B],decls:18,vars:11,consts:[["teamDashboard",""],["noCurrentSeason",""],["loadingTemplate",""],[1,"team-dashboard"],[1,"dashboard-header"],[4,"ngIf","ngIfElse"],["class","season-registration-status",3,"ngClass",4,"ngIf"],["class","season-registration-card",4,"ngIf"],["class","season-registration-card warning",4,"ngIf"],["class","tab-navigation",4,"ngIf"],["class","content-area",4,"ngIf","ngIfElse"],["class","popup-overlay",3,"click",4,"ngIf"],["class","message",3,"ngClass",4,"ngIf"],[1,"season-registration-status",3,"ngClass"],[1,"status-copy"],[1,"status-label"],[4,"ngIf"],[1,"season-name"],[1,"season-registration-card"],[1,"registration-copy"],[1,"registration-window"],[1,"registration-checkbox"],["type","checkbox",3,"ngModelChange","ngModel","disabled"],["type","button",1,"btn","btn-primary","register-season-btn",3,"click","disabled"],["class","fas fa-check",4,"ngIf"],["class","fas fa-spinner fa-spin",4,"ngIf"],[1,"fas","fa-check"],[1,"fas","fa-spinner","fa-spin"],[1,"season-registration-card","warning"],[1,"tab-navigation"],["class","tab-button",3,"active","click",4,"ngFor","ngForOf"],[1,"tab-button",3,"click"],[1,"content-area"],[3,"team","currentSeasonData","seasonDataUpdated",4,"ngIf"],[3,"currentSeasonData",4,"ngIf"],[3,"currentSeasonData","isRosterLocked","seasonDataUpdated",4,"ngIf"],[3,"volunteer","currentSeasonData","isRosterLocked","seasonDataUpdated",4,"ngIf"],[3,"currentSeasonData","answersEditable","readOnlyMessage","answersSaved",4,"ngIf"],[3,"currentSeasonData","team","showAllTeamSeasons",4,"ngIf"],[3,"seasonDataUpdated","team","currentSeasonData"],[3,"currentSeasonData"],[3,"seasonDataUpdated","currentSeasonData","isRosterLocked"],[3,"seasonDataUpdated","volunteer","currentSeasonData","isRosterLocked"],[3,"answersSaved","currentSeasonData","answersEditable","readOnlyMessage"],[3,"currentSeasonData","team","showAllTeamSeasons"],[1,"popup-overlay",3,"click"],[1,"popup-content",3,"click"],[1,"popup-header"],["class","fas fa-check-circle",4,"ngIf"],["class","fas fa-exclamation-circle",4,"ngIf"],[1,"popup-body"],[1,"popup-footer"],[1,"btn","btn-primary",3,"click"],[1,"fas","fa-check-circle"],[1,"fas","fa-exclamation-circle"],[1,"message",3,"ngClass"],["class","loading",4,"ngIf"],[1,"loading"],[1,"spinner"]],template:function(n,i){if
156(n&1&&(r(0,"div",3,0)(2,"div",4)(3,"h1"),a(4,"Panou de control echip\u0103"),o(),h(5,i9,2,1,"p",5)(6,o9,2,0,"ng-template",null,1,Se),o(),h(8,a9,11,5,"div",6)(9,l9,16,10,"div",7)(10,d9,8,3,"div",8)(11,m9,6,0,"div",8)(12,p9,2,1,"nav",9)(13,b9,9,8,"div",10)(14,y9,13,4,"div",11)(15,w9,2,2,"div",12)(16,E9,1,1,"ng-template",null,2,Se),o()),n&2){let d=oe(7),u=oe(17);c(5),m("ngIf",i.currentSeason)("ngIfElse",d),c(3),m("ngIf",i.shouldShowRegistrationStatus),c(),m("ngIf",i.shouldShowSeasonRegistrationPrompt),c(),m("ngIf",i.shouldShowClosedSeasonRegistrationPrompt),c(),m("ngIf",!i.isLoading&&i.currentUser&&!i.team),c(),m("ngIf",i.hasCurrentSeasonRegistration),c(),m("ngIf",!i.isLoading&&i.hasCurrentSeasonRegistration)("ngIfElse",u),c(),m("ngIf",i.showPopup),c(),m("ngIf",i.saveMessage)}},dependencies:[H,xt,X,$,se,Pt,ie,pe,$e,Du,Ru,Gu,Zu,zs,Ku,Ju],styles:['@charset "UTF-8";.team-dashboard[_ngcontent-%COMP%]{width:100%;max-width:none;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--primary-color: #667eea;--primary-hover: #5a6fd8;--secondary-color: #6c757d;--secondary-hover: #5a6268;--success-color: #28a745;--success-hover: #218838;--danger-color: #dc3545;--danger-hover: #c82333;--info-color: var(--natie-blue-accessible);--info-hover: #0056b3;--warning-color: #ffc107;--warning-hover: #e0a800;--light-bg: #f8f9fa;--border-color: #e1e5e9;--text-primary: #1a1a1a;--text-secondary: #6c757d;--text-muted: #adb5bd}.popup-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9998;animation:_ngcontent-%COMP%_fadeIn .3s ease}.popup-content[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:400px;width:90%;animation:_ngcontent-%COMP%_slideIn .3s ease}.popup-header[_ngcontent-%COMP%]{padding:1.5rem 1.5rem 1rem;text-align:center;border-bottom:1px solid var(--border-color)}.popup-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.5rem;margin-bottom:.5rem;display:block}.popup-header[_ngcontent-%COMP%] i.fa-check-circle[_ngcontent-%COMP%]{color:#28a745}.popup-header[_ngcontent-%COMP%] i.fa-exclamation-circle[_ngcontent-%COMP%]{color:#dc3545}.popup-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.25rem;font-weight:600;color:#1a1a1a}.popup-body[_ngcontent-%COMP%]{padding:1rem 1.5rem}.popup-body[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#666;line-height:1.5;text-align:center}.popup-footer[_ngcontent-%COMP%]{padding:1rem 1.5rem 1.5rem;text-align:center;border-top:1px solid var(--border-color)}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.dashboard-header[_ngcontent-%COMP%]{text-align:center;margin-bottom:2rem}.dashboard-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin:0 0 .5rem}.dashboard-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--text-secondary);margin:0}.season-registration-status[_ngcontent-%COMP%], .season-registration-card[_ngcontent-%COMP%]{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 10px #00000014;margin-bottom:1.5rem}.season-registration-status[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:6px solid var(--border-color);padding:1.1rem 1.25rem}.season-registration-status.status-none[_ngcontent-%COMP%]{background:#fff1f1;border-color:#dc3545}.season-registration-status.status-none[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#b42318}.season-registration-status.status-pending[_ngcontent-%COMP%]{background:#fff9e6;border-color:#ffc107}.season-registration-status.status-pending[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#8a5b00}.season-registration-status.status-waitlist[_ngcontent-%COMP%]{background:#eef6ff;border-color:var(--natie-blue-accessible)}.season-registration-status.status-waitlist[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#0056b3}.season-registration-status.status-needs_attention[_ngcontent-%COMP%]{background:#fff1f1;border-color:#dc3545}.season-registration-status.status-needs_attention[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#b42318}.season-registration-status.status-confirmed[_ngcontent-%COMP%]{background:#edf8f0;border-color:#28a745}.season-registration-status.status-confirmed[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1f7a36}.season-registration-status[_ngcontent-%COMP%] .status-copy[_ngcontent-%COMP%]{flex:1}.season-registration-status[_ngcontent-%COMP%] .status-label[_ngcontent-%COMP%], .season-registration-status[_ngcontent-%COMP%] .season-name[_ng
156content-%COMP%]{color:var(--text-secondary);display:block;font-size:.9rem}.season-registration-status[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{display:block;font-size:1.1rem;margin-top:.2rem}.season-registration-status[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-primary);font-size:.95rem;line-height:1.45;margin:.45rem 0 0}.season-registration-status[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:var(--text-secondary);display:block;font-size:.86rem;line-height:1.45;margin-top:.35rem;max-width:760px}.season-registration-card[_ngcontent-%COMP%]{padding:1.5rem}.season-registration-card.warning[_ngcontent-%COMP%]{border-color:#ffc10780;background:#fff9e6}.season-registration-card[_ngcontent-%COMP%] .registration-copy[_ngcontent-%COMP%]{margin-bottom:1.25rem}.season-registration-card[_ngcontent-%COMP%] .registration-copy[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:var(--text-primary);font-size:1.35rem;margin:0 0 .5rem}.season-registration-card[_ngcontent-%COMP%] .registration-copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);line-height:1.5;margin:0}.season-registration-card[_ngcontent-%COMP%] .registration-copy[_ngcontent-%COMP%] .registration-window[_ngcontent-%COMP%]{color:var(--text-primary);font-weight:600;margin-top:.65rem}.registration-checkbox[_ngcontent-%COMP%]{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:1.25rem}.registration-checkbox[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-top:.25rem}.registration-checkbox[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-primary);line-height:1.45}.register-season-btn[_ngcontent-%COMP%]{align-items:center;display:inline-flex;gap:.5rem}.tab-navigation[_ngcontent-%COMP%]{display:flex;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;overflow:hidden;border:1px solid var(--border-color)}.tab-navigation[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{flex:1;padding:1rem 1.5rem;background:#f8f9fa;border:none;color:#6c757d;font-weight:600;cursor:pointer;transition:background-color .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-navigation[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]:hover{background:#e9ecef;color:#495057}.tab-navigation[_ngcontent-%COMP%] .tab-button.active[_ngcontent-%COMP%]{background:#fff;color:var(--primary-color);box-shadow:0 -2px 0 var(--primary-color) inset}.tab-navigation[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.1rem}.content-area[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.tab-content[_ngcontent-%COMP%]{padding:2rem}.section[_ngcontent-%COMP%]{margin-bottom:3rem}.section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;border:none;padding:0}.media-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.media-card[_ngcontent-%COMP%]{background:var(--light-bg);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.media-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.media-preview[_ngcontent-%COMP%]{margin-bottom:1rem}.media-preview[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:200px;object-fit:cover;border-radius:6px;border:1px solid var(--border-color)}.media-preview[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%]{width:100%;height:200px;border:2px dashed var(--border-color);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--light-bg);color:var(--text-secondary)}.media-preview[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2rem;margin-bottom:.5rem;color:var(--text-muted)}.media-preview[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.9rem}.media-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-wrap:wrap}.media-hint[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:#007bff1a;border-radius:6px;border-left:3px solid var(--info-color)}.media-hint[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--info-color);font-size:.9rem}.media-hint[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--info-color);font-size:.875rem;font-weight:500}.form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-card[_ngcontent-%COMP%]{background:var(--light-bg);border-radius:8px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.form-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem}.form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;min-height:48px;box-sizing:border-box}.form-group[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .form-group[_ngcontent-%COMP%] select[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-group[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:vertical;min-height:80px}.location-search-section[_ngcontent-%COMP%]{margin-bottom:1.5rem}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%]{width:100%}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;width:100%}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]{flex:1;min-width:0}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .search-btn[_ngcontent-%COMP%]{background:linear-gradient(135deg,#28a745,#20c997);border:none;color:#fff;padding:10px 16px;border-radius:6px;font-weight:500;transition:all .3s ease;white-space:nowrap;cursor:pointer}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .search-btn[_ngcontent-%COMP%]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .search-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .clear-btn[_ngcontent-%COMP%]{background:#dc3545;border:1px solid #dc3545;color:#fff;padding:10px 16px;border-radius:6px;font-weight:500;transition:all .3s ease;white-space:nowrap;cursor:pointer}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .clear-btn[_ngcontent-%COMP%]:hover{background:#c82333;border-color:#bd2130;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.location-search-section[_ngcontent-%COMP%] .location-search[_ngcontent-%COMP%] .location-search-container[_ngcontent-%COMP%] .clear-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.map-row[_ngcontent-%COMP%]{margin-bottom:1.5rem}.map-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;width:100%}.map-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.map-container[_ngcontent-%COMP%] .location-map[_ngcontent-%COMP%]{width:100%;max-width:800px;height:400px;border-radius:8px;border:2px solid #e9ecef;box-shadow:0 2px 8px #0000001a;z-index:1;cursor:pointer}
156.map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%]{margin-top:10px;padding:12px 16px;background:#f8f9fa;border-radius:6px;border-left:4px solid #667eea;width:100%;max-width:800px}.map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#495057;font-size:14px;display:flex;align-items:center;gap:8px}.map-container[_ngcontent-%COMP%] .map-instructions[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea;font-size:16px}.map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%]{margin-top:12px;background:#dc3545;border:1px solid #dc3545;color:#fff;padding:10px 20px;border-radius:6px;font-weight:500;transition:all .3s ease;cursor:pointer}.map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%]:hover{background:#c82333;border-color:#bd2130;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.map-container[_ngcontent-%COMP%] .clear-location-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}[_nghost-%COMP%] .leaflet-control-geosearch{margin-top:10px!important;margin-right:10px!important}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;border:2px solid #667eea}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input{padding:8px 12px;font-size:14px;border:none;border-radius:4px;min-width:250px}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input:focus{outline:none}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form input::placeholder{color:#999}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form button{background:#667eea;border:none}[_nghost-%COMP%] .leaflet-control-geosearch .geosearch form button:hover{background:#5a6fd8}[_nghost-%COMP%] .leaflet-control-geosearch .results{background:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px;max-height:300px;overflow-y:auto;border:1px solid #e9ecef}[_nghost-%COMP%] .leaflet-control-geosearch .results>*{padding:10px 12px;border-bottom:1px solid #e9ecef;cursor:pointer;transition:background .2s ease}[_nghost-%COMP%] .leaflet-control-geosearch .results>*:hover{background:#f8f9fa}[_nghost-%COMP%] .leaflet-control-geosearch .results>*:last-child{border-bottom:none}[_nghost-%COMP%] .leaflet-control-geosearch .results .active{background:#e7f3ff}[_nghost-%COMP%] .leaflet-top.leaflet-right{z-index:1000}.help-text[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.checkbox-group[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.checkbox-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{margin:0}.team-leader-checkbox[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;height:48px;box-sizing:border-box;background:#fff}.team-leader-checkbox[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.team-leader-checkbox[_ngcontent-%COMP%]:focus-within{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.team-leader-checkbox.checked[_ngcontent-%COMP%]{border-color:var(--primary-color);background-color:#667eea0d}.team-leader-checkbox.checked[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--primary-color)}.team-leader-checkbox.checked[_ngcontent-%COMP%] .checkbox-text[_ngcontent-%COMP%]{color:var(--primary-color);font-weight:500}.team-leader-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.team-leader-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.75rem;font-size:1rem;color:#6c757d;transition:color .2s ease}.team-leader-checkbox[_ngcontent-%COMP%] .checkbox-text[_ngcontent-%COMP%]{flex:1;color:var(--text-primary);-webkit-user-select:none;user-select:none;transition:color .2s ease,font-weight .2s ease}.mentor-type-section[_ngcontent-%COMP%]{margin:2rem 0;padding:1.5rem;background:var(--light-bg);border-radius:12px;border:1px solid var(--border-color)}.mentor-type-label[_ngcontent-%COMP%]{display:block;font-weight:600;color:var(--text-primary);margin-bottom:1rem;font-size:1.1rem}.mentor-type-selector[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mentor-type-option[_ngcontent-%COMP%]{display:block;cursor:pointer;border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;background:#fff;transition:all .3s ease;position:relative;overflow:hidden}.mentor-type-option[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.mentor-type-option.selected[_ngcontent-%COMP%]{border-color:var(--primary-color);background:linear-gradient(135deg,#667eea0d,#667eea1a);box-shadow:0 6px 20px #667eea33;transform:translateY(-2px)}.mentor-type-option.selected[_ngcontent-%COMP%] .mentor-type-icon[_ngcontent-%COMP%]{background:var(--primary-color);transform:scale(1.1)}.mentor-type-option.selected[_ngcontent-%COMP%] .mentor-type-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#fff}.mentor-type-option.selected[_ngcontent-%COMP%] .mentor-type-text[_ngcontent-%COMP%] h4[_ng
156content-%COMP%]{color:var(--primary-color)}.mentor-type-option[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{position:absolute;opacity:0;pointer-events:none}.mentor-type-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;text-align:left}.mentor-type-icon[_ngcontent-%COMP%]{width:60px;height:60px;border-radius:12px;background:var(--light-bg);display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.mentor-type-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:var(--text-secondary);transition:all .3s ease}.mentor-type-text[_ngcontent-%COMP%]{flex:1;min-width:0}.mentor-type-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary);transition:color .3s ease}.mentor-type-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.form-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;margin-top:1.5rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color, #dee2e6);flex-shrink:0;background:#fff!important;position:sticky;bottom:0;z-index:10;box-shadow:0 -2px 10px #0000001a}.form-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px;font-weight:500;text-transform:none}.color-picker-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.color-picker[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:block}.color-input-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--border-color);border-radius:6px}.color-input-group[_ngcontent-%COMP%] input[type=color][_ngcontent-%COMP%]{width:50px;height:40px;border:none;border-radius:4px;cursor:pointer}.color-input-group[_ngcontent-%COMP%] .hex-input[_ngcontent-%COMP%]{width:100px;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;text-transform:uppercase;background:var(--light-bg);transition:background-color .2s ease}.color-input-group[_ngcontent-%COMP%] .hex-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #667eea33;background:#fff}.color-input-group[_ngcontent-%COMP%] .hex-input.error[_ngcontent-%COMP%]{border-color:var(--danger-color);box-shadow:0 0 0 2px #dc354533;background:#fff5f5}.color-input-group[_ngcontent-%COMP%] .hex-input[_ngcontent-%COMP%]::placeholder{color:var(--text-secondary);font-size:.8rem}.color-input-group[_ngcontent-%COMP%] .color-value[_ngcontent-%COMP%]{font-family:Courier New,monospace;font-weight:500;color:var(--text-secondary);background:var(--light-bg);padding:.5rem;border-radius:4px}.color-error[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;font-size:.85rem}.color-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--danger-color)}.readonly-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.readonly-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin-bottom:.5rem;display:block}.readonly-item[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{background:var(--light-bg);color:var(--text-secondary);cursor:not-allowed}.form-group[_ngcontent-%COMP%] input[readonly][_ngcontent-%COMP%]{background:var(--light-bg);color:var(--text-secondary);cursor:not-allowed;border-color:#e9ecef}.info-note[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#007bff1a;border-radius:6px;color:var(--info-color);font-size:.9rem;margin-top:1rem}.info-note[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--info-color)}.sponsors-grid[_ngcontent-%COMP%], .mentors-grid[_ngcontent-%COMP%], .members-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.sponsor-card[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%]{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;
156transition:box-shadow .2s;display:flex;flex-direction:column}.sponsor-card[_ngcontent-%COMP%]:hover, .mentor-card[_ngcontent-%COMP%]:hover, .member-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #0000001a}.sponsor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%]{flex:1;margin:1rem 0}.sponsor-logo[_ngcontent-%COMP%], .sponsor-logo-placeholder[_ngcontent-%COMP%]{width:100%;height:120px;margin-bottom:1rem;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:1px solid var(--border-color);position:relative}.sponsor-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.sponsor-logo-placeholder[_ngcontent-%COMP%]{background:var(--team-primary-color, #667eea);border-color:var(--team-primary-color, #667eea)}.sponsor-logo-placeholder[_ngcontent-%COMP%] .logo-placeholder-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;z-index:1}.sponsor-logo-placeholder[_ngcontent-%COMP%] .logo-placeholder-content[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2rem;margin-bottom:.5rem;opacity:.9}.sponsor-logo-placeholder[_ngcontent-%COMP%] .logo-placeholder-content[_ngcontent-%COMP%] .sponsor-name-initials[_ngcontent-%COMP%]{font-size:1.4rem;font-weight:700;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.member-card.team-leader[_ngcontent-%COMP%]{border:2px solid var(--team-primary-color, #667eea);background:var(--team-primary-color-alpha-5, rgba(102, 126, 234, .05))}.sponsor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%], .sponsor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%], .sponsor-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%]{margin:1rem 0}.sponsor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .sponsor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .sponsor-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.sponsor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .sponsor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .sponsor-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .mentor-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .sponsor-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .mentor-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .member-card[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);margin:.25rem 0}.mentor-header[_ngcontent-%COMP%], .member-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}
156.mentor-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], .member-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;display:flex;align-items:center;gap:.5rem}.team-leader-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;background:var(--team-primary-color, #667eea);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.team-leader-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.7rem}.mentor-status[_ngcontent-%COMP%], .member-status[_ngcontent-%COMP%]{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase}.mentor-status.status-complete[_ngcontent-%COMP%], .member-status.status-complete[_ngcontent-%COMP%]{background:#d4edda;color:#155724}.mentor-status.status-missing[_ngcontent-%COMP%], .member-status.status-missing[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24}.mentor-status.status-empty[_ngcontent-%COMP%], .member-status.status-empty[_ngcontent-%COMP%]{background:#e2e3e5;color:#6c757d}.info-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.info-item[_ngcontent-%COMP%]:last-child{border-bottom:none}.info-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:500;color:var(--text-secondary);margin:0}.info-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--text-primary)}.sponsor-actions[_ngcontent-%COMP%], .mentor-actions[_ngcontent-%COMP%], .member-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;margin-top:auto;padding-top:1rem;flex-shrink:0}.sponsor-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%], .mentor-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%], .member-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{flex:1;justify-content:center}.btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s;text-decoration:none;font-size:.9rem;min-height:48px;box-sizing:border-box}.btn[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[_ngcontent-%COMP%]{background:var(--primary-color);color:#fff}.btn.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-success[_ngcontent-%COMP%]{background:var(--success-color, #28a745);color:#fff!important;border:1px solid var(--success-color, #28a745)}.btn.btn-success[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--success-hover, #218838);border-color:var(--success-hover, #218838)}.btn.btn-success[_ngcontent-%COMP%]:disabled{background:#6c757d;border-color:#6c757d;color:#fff!important}.btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color, #6c757d);color:#fff!important;border:1px solid var(--secondary-color, #6c757d)}.btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover, #5a6268);border-color:var(--secondary-hover, #5a6268)}.btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);color:#fff}.btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover)}.btn.btn-sm[_ngcontent-%COMP%]{padding:.5rem 1rem;font-size:.8rem}
156.btn.btn-large[_ngcontent-%COMP%]{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.floating-save-footer[_ngcontent-%COMP%]{position:fixed;bottom:2rem;right:2rem;z-index:1000}.floating-save-btn[_ngcontent-%COMP%]{box-shadow:0 4px 20px #00000026;border-radius:50px;padding:1rem 2rem;font-weight:600;transition:box-shadow .3s ease}.floating-save-btn[_ngcontent-%COMP%]:hover:not(:disabled){box-shadow:0 6px 25px #0003}.floating-save-btn[_ngcontent-%COMP%]:disabled{opacity:.7;cursor:not-allowed}.save-section[_ngcontent-%COMP%]{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color)}.message[_ngcontent-%COMP%]{padding:1rem;border-radius:6px;margin:1rem 0;font-weight:500}.message.success[_ngcontent-%COMP%]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error[_ngcontent-%COMP%]{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.error-message[_ngcontent-%COMP%]{color:#dc3545;font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.error-message[_ngcontent-%COMP%]:before{content:"\\26a0";font-size:.75rem}.form-validation-message[_ngcontent-%COMP%]{margin:1rem 0}.form-validation-message[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{padding:1rem;border-radius:.5rem;border:1px solid}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%]{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.5rem;color:#f39c12}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:.5rem 0 0;padding-left:1.5rem}.form-validation-message[_ngcontent-%COMP%] .alert.alert-warning[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.25rem 0}input.error[_ngcontent-%COMP%], select.error[_ngcontent-%COMP%], textarea.error[_ngcontent-%COMP%]{border-color:#dc3545!important;box-shadow:0 0 0 .2rem #dc354540!important}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:3rem 2rem;color:#6c757d}.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;margin-bottom:1rem;color:#dee2e6}.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#495057}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.loading[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin-bottom:1rem}.loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#6c757d;margin:0}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-input[_ngcontent-%COMP%]{display:none}.sponsor-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;color:#667eea;text-decoration:none;font-size:.9rem;transition:color .2s}.sponsor-link[_ngcontent-%COMP%]:hover{color:#5a6fd8;text-decoration:underline}.modal-overlay[_ngcontent-%COMP%]{position:fixed!important;inset:0!important;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:999999!important;animation:_ngcontent-%COMP%_fadeIn .3s ease!important;padding:1rem!important;overflow-y:auto!important;overflow-x:hidden!important;isolation:isolate!important;transform:translateZ(0)!important;will-change:transform!important}.modal-content[_ngcontent-%COMP%]{background:#fff;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:_ngcontent-%COMP%_modalSlideIn .3s ease;position:relative;overflow:hidden;z-index:1000000!important}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:900px}.modal-header[_ngcontent-%COMP%]{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#667eea;flex-shrink:0;position:relative;z-index:2}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.modal-close[_ngcontent-%COMP%]{background:#fff3;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;color:#fff;font-size:1.2rem}.modal-close[_ngcontent-%COMP%]:hover{background:#ffffff4d}.modal-body[_ngcontent-%COMP%]{padding:2rem;overflow-y:auto;flex:1;min-height:0;background:#fff;margin-top:0;position:relative;z-index:1}.modal-body[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.delete-confirmation-modal[_ngcontent-%COMP%]{max-width:500px}
156.delete-confirmation-modal[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%]{padding:2rem;text-align:center}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#ee5a52);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:2.5rem;color:#fff}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:#1a1a1a;line-height:1.4}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;width:100%;text-align:left}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:.5rem 0;color:#495057}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:first-child{margin-top:0}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:0}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .member-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#1a1a1a;font-weight:600}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%]{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1rem;width:100%}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#856404;font-size:.9rem;line-height:1.5;display:flex;align-items:flex-start;gap:.5rem}.delete-confirmation-modal[_ngcontent-%COMP%] .delete-confirmation-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#f39c12;margin-top:.1rem;flex-shrink:0}.modal-footer[_ngcontent-%COMP%]{padding:1.5rem 2rem;display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid var(--border-color);background:#f8f9fa}.modal-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{min-width:120px}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]{background:var(--danger-color);border-color:var(--danger-color)}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.modal-footer[_ngcontent-%COMP%] .btn.btn-danger[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.modal-footer[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]{background:var(--secondary-color);border-color:var(--secondary-color)}.modal-footer[_ngcontent-%COMP%] .btn.btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--secondary-hover);border-color:var(--secondary-hover)}@keyframes _ngcontent-%COMP%_modalSlideIn{0%{transform:translateY(-50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.agreements-section[_ngcontent-%COMP%]{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:1px solid #dee2e6}.agreements-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem}.agreements-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]:before{content:"\\1f4c4";font-size:1.3rem}.agreement-item[_ngcontent-%COMP%]{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid var(--border-color);transition:background-color .3s ease}.agreement-item[_ngcontent-%COMP%]:last-child{margin-bottom:0}.agreement-item[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #00000014;border-color:#667eea}.agreement-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.agreement-title[_ngcontent-%COMP%]{font-weight:600;color:#2c3e50;font-size:.95rem}.download-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-wrap:wrap;padding-bottom:.75rem}.download-btn[_ngcontent-%COMP%]{padding:.4rem .8rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background-color .3s ease;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.download-btn[_ngcontent-%COMP%]:hover{background:#5a6fd8}.download-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9rem}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.file-preview[_ngcontent-%COMP%]{background:#f8f9fa;padding:.75rem;border-radius:6px;border:1px dashed #ced4da}.preview-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.preview-content[_ngcontent-%COMP%] i.fas[_ngcontent-%COMP%]{font-size:1.5rem;color:#667eea}.preview-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1;font-size:.9rem;color:#495057;display:flex;align-items:center;gap:.5rem}.remove-file-btn[_ngcontent-%COMP%]{padding:.3rem .6rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.remove-file-btn[_ngcontent-%COMP%]:hover{background:#c82333}.remove-file-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#fff!important}.file-label[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;color:var(--text-primary);border:1px solid #ced4da;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s;text-decoration:none;min-height:48px;box-sizing:border-box}.file-label[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.file-label[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.file-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem;color:var(--primary-color)}.mentor-files[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%]{margin-top:1.5rem;background:#f8f9fa;border-radius:10px;border:1px solid #dee2e6}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]:hover, .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]:hover{background-color:#e9ecef}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{margin:0;font-size:1.05rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]:before, .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]:before{content:"\\1f4ce";font-size:1.2rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%]{font-size:.9rem;color:#6c757d;transition:transform .3s ease}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon.rotated[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.mentor-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%]{overflow:hidden;transition:max-height .3s ease,opacity .3s ease;padding:0 1.5rem 1.5rem}.mentor-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%]{max-height:0;opacity:0;padding:0 1.5rem}.mentor-files[_ngcontent-%COMP%] .files-content.expanded[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-content.expanded[_ngcontent-%COMP%]{max-height:1000px;opacity:1}.file-section[_ngcontent-%COMP%]{margin-bottom:1.5rem}.file-section[_ngcontent-%COMP%]:last-child{margin-bottom:0}.file-section-title[_ngcontent-%COMP%]{font-weight:600;color:#667eea;font-size:.95rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.files-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.file-item[_ngcontent-%COMP%]{background:#fff;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background-color .2s ease}.file-item[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #00000014;border-color:#667eea}.file-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.file-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:#dc3545;flex-shrink:0}
156.file-info[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{font-weight:500;color:#2c3e50;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info[_ngcontent-%COMP%] .file-size[_ngcontent-%COMP%]{color:#6c757d;font-size:.85rem;flex-shrink:0}.file-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-shrink:0}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:.4rem .7rem;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease;display:inline-flex;align-items:center;justify-content:center}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.9rem}.download-file-btn[_ngcontent-%COMP%]{background:var(--natie-blue);color:#fff}.download-file-btn[_ngcontent-%COMP%]:hover{background:#0056b3}.view-file-btn[_ngcontent-%COMP%]{background:#28a745;color:#fff}.view-file-btn[_ngcontent-%COMP%]:hover{background:#218838}.no-files[_ngcontent-%COMP%]{background:#fff;padding:2rem;border-radius:8px;text-align:center;border:2px dashed #dee2e6}.no-files[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#6c757d;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.no-files[_ngcontent-%COMP%] p[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ffc107;font-size:1.1rem}@media (max-width: 768px){.team-dashboard[_ngcontent-%COMP%]{padding:1rem}.dashboard-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem}.tab-navigation[_ngcontent-%COMP%]{flex-direction:column}.tab-navigation[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{border-bottom:1px solid var(--border-color)}.tab-navigation[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]:last-child{border-bottom:none}.form-grid[_ngcontent-%COMP%], .media-grid[_ngcontent-%COMP%], .sponsors-grid[_ngcontent-%COMP%], .mentors-grid[_ngcontent-%COMP%], .members-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.sponsor-logo[_ngcontent-%COMP%], .sponsor-logo-placeholder[_ngcontent-%COMP%]{height:100px}.section-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.form-actions[_ngcontent-%COMP%], .checkbox-group[_ngcontent-%COMP%]{flex-direction:column}.mentor-type-section[_ngcontent-%COMP%]{margin:1.5rem 0;padding:1rem}.mentor-type-selector[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.75rem}.mentor-type-option[_ngcontent-%COMP%]{padding:1rem}.mentor-type-content[_ngcontent-%COMP%]{gap:.75rem}.mentor-type-icon[_ngcontent-%COMP%]{width:50px;height:50px}.mentor-type-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.25rem}.mentor-type-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-size:1rem}.mentor-type-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.85rem}.agreement-header[_ngcontent-%COMP%], .file-item[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.file-info[_ngcontent-%COMP%]{width:100%}.file-info[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{white-space:normal;word-break:break-word}.file-actions[_ngcontent-%COMP%]{width:100%;justify-content:flex-end}.modal-content[_ngcontent-%COMP%]{max-width:95%;max-height:85vh}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:95%}.modal-body[_ngcontent-%COMP%]{padding:1rem}.modal-header[_ngcontent-%COMP%]{padding:1rem 1.5rem}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.25rem}.modal-body[_ngcontent-%COMP%]{padding:1.5rem}.floating-save-footer[_ngcontent-%COMP%]{bottom:1rem;right:1rem}.floating-save-btn[_ngcontent-%COMP%]{padding:.8rem 1.5rem;font-size:.9rem}}@media (max-width: 480px){.team-dashboard[_ngcontent-%COMP%]{padding:.5rem}.tab-content[_ngcontent-%COMP%]{padding:1rem}.btn[_ngcontent-%COMP%]{padding:.6rem 1rem;font-size:.8rem}
156.btn-large[_ngcontent-%COMP%]{padding:.8rem 1.5rem;font-size:1rem}.agreements-section[_ngcontent-%COMP%], .mentor-files[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%]{padding:1rem}.mentor-type-section[_ngcontent-%COMP%]{margin:1rem 0;padding:.75rem}.file-actions[_ngcontent-%COMP%]{gap:.25rem}.file-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:.35rem .6rem;font-size:.8rem}.modal-overlay[_ngcontent-%COMP%]{padding:.5rem}.modal-content[_ngcontent-%COMP%]{max-width:100%;max-height:95vh;border-radius:12px}.modal-content.modal-large[_ngcontent-%COMP%]{max-width:100%}.modal-header[_ngcontent-%COMP%]{padding:1rem 1.25rem}.modal-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.1rem}.modal-body[_ngcontent-%COMP%]{padding:1.25rem}.modal-close[_ngcontent-%COMP%]{width:32px;height:32px;font-size:1rem}.floating-save-footer[_ngcontent-%COMP%]{bottom:.5rem;left:.5rem;right:.5rem}.floating-save-btn[_ngcontent-%COMP%]{width:100%;padding:.7rem 1rem;font-size:.85rem;border-radius:8px}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%]{padding:1rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{font-size:.95rem}.mentor-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-header[_ngcontent-%COMP%] .accordion-icon[_ngcontent-%COMP%]{font-size:.8rem}.mentor-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-content[_ngcontent-%COMP%]{padding:0 1rem 1rem}.mentor-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%], .member-files[_ngcontent-%COMP%] .files-content.collapsed[_ngcontent-%COMP%]{padding:0 1rem}}']})}}return t})();function T9(t,s){if(t&1&&(r(0,"small",27),a(1),o()),t&2){let e=p(2);I("error",e.displayNameMessageType==="error"),c(),w(" ",e.displayNameMessage," ")}}function k9(t,s){if(t&1){let e=E();r(0,"div",14),b("click",function(){v(e);let i=p();return M(i.cancelDisplayNameEdit())}),r(1,"div",15),b("click",function(i){return v(e),M(i.stopPropagation())}),r(2,"div",16)(3,"h2"),a(4,"Modific\u0103 numele de utilizator"),o(),r(5,"button",17),b("click",function(){v(e);let i=p();return M(i.cancelDisplayNameEdit())}),_(6,"i",18),o()(),r(7,"form",19),b("ngSubmit",function(){v(e);let i=p();return M(i.saveDisplayName())}),r(8,"label",20),a(9,"Nume de utilizator"),o(),r(10,"input",21),z("ngModelChange",function(i){v(e);let d=p();return R(d.displayNameDraft,i)||(d.displayNameDraft=i),M(i)}),o(),r(11,"small",22),a(12," Acest nume este doar pentru contul t\u0103u \u0219i nu reflect\u0103 mentorul echipei sau alt status al echipei. "),o(),h(13,T9,2,3,"small",23),r(14,"div",24)(15,"button",25),b("click",function(){v(e);let i=p();return M(i.cancelDisplayNameEdit())}),a(16," Anuleaz\u0103 "),o(),r(17,"button",26),a(18),o()()()()()}if(t&2){let e=p();c(10),D("ngModel",e.displayNameDraft),m("disabled",e.isSavingDisplayName),c(3),m("ngIf",e.displayNameMessage),c(2),m("disabled",e.isSavingDisplayName),c(2),m("disabled",e.isSavingDisplayName),c(),w(" ",e.isSavingDisplayName?"Se salveaz\u0103...":"Salveaz\u0103"," ")}}function I9(t,s){if(t&1&&(r(0,"div",28),_(1,"app-admin-editor-dashboard",29),o()),t&2){let e=p();c(),m("isAdmin",e.isAdmin)("isEditor",e.isEditor)}}function F9(t,s){t&1&&(r(0,"div",30),_(1,"app-team-dashboard"),o())}function D9(t,s){t&1&&(r(0,"div",31)(1,"p"),a(2,"Loading user information..."),o()())}var e_=(()=>{class t{constructor(e,n){this.authService=e,this.router=n,this.currentUser=null,this.userRole=null,this.isAdmin=!1,this.isEditor=!1,this.isTeam=!1,this.isEditingDisplayName=!1,this.displayNameDraft="",this.isSavingDisplayName=!1,this.displayNameMessage="",this.displayNameMessageType="success"}ngOnInit(){this.authService.getLoggedInUser().subscribe(e=>{this.currentUser=e,this.displayNameDraft=e?.name||"",this.setUserPermissions()}),this.authService.getUserRole().subscribe(e=>{this.userRole=e,this.setUserPermissions()})}setUserPermissions(){this.userRole&&(this.isAdmin=this.userRole==="ADMIN",this.isEditor=this.userRole==="EDITOR",this.isTeam=this.userRole==="TEAM")}startDisplayNameEdit(){this.displayNameDraft=this.currentUser?.name||"",this.displayNameMessage="",this.isEditingDisplayName=!0}cancelDisplayNameEdit(){this.displayNameDraft=this.currentUser?.name||"",this.displayNameMessage="",this.isEditingDisplayName=!1}saveDisplayName(){let e=this.displayNameDraft.trim();if(e.length<2){this.displayNameMessageType="error",this.displayNameMessage="Numele de utilizator trebuie s\u0103 aib\u0103 cel pu\u021Bin 2 caractere.";return}this.isSavingDisplayName=!0,this.displayNameMessage="",this.authService.updateOwnDisplayName(e).subscribe({next:n=>{if(!n.success){this.displayNameMessageType="error",this.displayNameMessage=n.message||"Nu am putut salva numele de utilizator.",this.isSavingDisplayName=!1;return}this.displayNameMessageType="success",this.displayNameMessage="Numele de utilizator a fost actualizat.",this.isEditingDisplayName=!1,this.isSavingDisplayName=!1},error:n=>{this.displayNameMessageType="error",this.displayNameMessage=n.error?.message||"Nu am putut salva numele de utilizator.",this.isSavingDisplayName=!1}})}logout(){this.authService.logout(),this.router.navigate(["/home"])}static{this.\u0275fac=function(n){return new(n||t)(T(at),T(ke))}}static{this.\u0275cmp=V({type:t,selectors:[["app-dashboard"]],standalone:!0,features:[B],decls:19,vars:6,consts:[[1,"dashboard-container"],[1,"dashboard-header"],[1,"user-info-header"],[1,"display-name-panel"],[1,"display-name-row"],[1,"user-name"],["type","button","aria-label","Modific\u0103 numele de utilizator",1,"edit-name-btn",3,"click"],[1,"fas","fa-edit"],[1,"user-role"],[1,"logout-btn",3,"click"],["class","display-name-modal-overlay",3,"click",4,"ngIf"],["class","admin-editor-dashboard",4,"ngIf"],["class","team-dashboard",4,"ngIf"],["class","loading",4,"ngIf"],[1,"display-name-modal-overlay",3,"click"],[1,"display-name-modal",3,"click"],[1,"display-name-modal-header"],["type","button","aria-label","\xCEnchide",1,"modal-close-btn",3,"click"],[1,"fas","fa-times"],[1,"display-name-form",3,"ngSubmit"],["for","displayName"],["id","displayName","type","text","name","displayName","minlength","2","maxlength","80","aria-describedby","displayNameHelp",3,"ngModelChange","ngModel","disabled"],["id","displayNameHelp",1,"display-name-help"],["class","display-name-message",3,"error",4,"ngIf"],[1,"display-name-actions"],["type","button",1,"cancel-name-btn",3,"click","disabled"],["type","submit",1,"save-name-btn",3,"disabled"],[1,"display-name-message"],[1,"admin-editor-dashboard"],[3,"isAdmin","isEditor"],[1,"team-dashboard"],[1,"loading"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h1"),a(3,"Bine ai venit in Dashboard-ul t\u0103u!"),o(),r(4,"div",2)(5,"div",3)(6,"div",4)(7,"span",5),a(8),o(),r(9,"button",6),b("click",function(){return i.startDisplayNameEdit()}),_(10,"i",7),o()()(),r(11,"span",8),a(12),o(),r(13,"button",9),b("click",function(){return i.logout()}),a(14,"Logout"),o()()(),h(15,k9,19,6,"div",10)(16,I9,2,2,"div",11)(17,F9,2,0,"div",12)(18,D9,3,0,"div",13),o()),n&2&&(c(8),O(i.currentUser==null?null:i.currentUser.name),c(4),w("(",i.userRole,")"),c(3),m("ngIf",i.isEditingDisplayName),c(),m("ngIf",i.isAdmin||i.isEditor),c(),m("ngIf",i.isTeam),c(),m("ngIf",!i.currentUser))},dependencies:[H,$,se,Oe,re,ie,Pe,ni,Cn,pe,Ot,Fu,Xu],styles:[".dashboard-container[_ngcontent-%COMP%]{box-sizing:border-box;width:min(1680px,100% - 2rem);max-width:none;margin:0 auto;padding:2rem;background:#f8f9fa;min-height:100vh}.dashboard-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin:2rem 0;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.dashboard-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;color:#333;font-size:2rem;font-weight:600}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .display-name-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;max-width:280px}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .display-name-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.35rem}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .user-name[_ng
156content-%COMP%]{font-weight:600;color:var(--natie-blue-accessible)}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .display-name-note[_ngcontent-%COMP%]{color:#6c757d;font-size:.75rem;line-height:1.35;text-align:left}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .edit-name-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:50%;color:#6c757d;cursor:pointer;transition:background-color .2s,color .2s}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .edit-name-btn[_ngcontent-%COMP%]:hover{background:#e7f1ff;color:#0056b3}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.7}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .user-role[_ngcontent-%COMP%]{color:#6c757d;font-size:.9rem}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .logout-btn[_ngcontent-%COMP%]{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .logout-btn[_ngcontent-%COMP%]:hover{background:#c82333}.display-name-modal-overlay[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000008c}.display-name-modal[_ngcontent-%COMP%]{width:min(440px,100%);background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000040;overflow:hidden}.display-name-modal-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e9ecef}.display-name-modal-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#333;font-size:1.25rem;font-weight:600}.modal-close-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:50%;background:#f1f3f5;color:#495057;cursor:pointer}.modal-close-btn[_ngcontent-%COMP%]:hover{background:#e9ecef}.display-name-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.display-name-form[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#333;font-weight:600}.display-name-form[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;padding:.7rem .8rem;border:1px solid #ced4da;border-radius:6px;color:#333;font-size:1rem}.display-name-form[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{border-color:var(--natie-blue-accessible);box-shadow:0 0 0 .2rem #007bff26;outline:none}.display-name-help[_ngcontent-%COMP%], .display-name-message[_ngcontent-%COMP%]{color:#6c757d;font-size:.85rem;line-height:1.4}.display-name-message[_ngcontent-%COMP%]{color:#198754}.display-name-message.error[_ngcontent-%COMP%]{color:#dc3545}.display-name-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.save-name-btn[_ngcontent-%COMP%], .cancel-name-btn[_ngcontent-%COMP%]{padding:.65rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.save-name-btn[_ngcontent-%COMP%]:disabled, .cancel-name-btn[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.7}.save-name-btn[_ngcontent-%COMP%]{background:var(--natie-blue);color:#fff}.save-name-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:#0056b3}.cancel-name-btn[_ngcontent-%COMP%]{background:#e9ecef;color:#495057}.cancel-name-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:#dee2e6}.dashboard-tabs[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;background:#fff;border-radius:12px 12px 0 0;box-shadow:0 2px 10px #0000001a;margin-bottom:0;overflow:hidden}.dashboard-tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{flex:1 1 auto;min-width:140px;max-width:none;padding:1rem 1.5rem;background:#f8f9fa;border:none;color:#6c757d;font-weight:500;font-size:1rem;cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]:hover{background:#e9ecef;color:#495057}.dashboard-tabs[_ngcontent-%COMP%] .tab-button.active[_ngcontent-%COMP%]{background:#fff;color:#667eea;border-bottom-color:#667eea;box-shadow:0 2px 4px #667eea1a}.dashboard-tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:8px}.tab-content[_ngcontent-%COMP%]{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem}.dashboard-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-card[_ngcontent-%COMP%]{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.dashboard-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000026}.dashboard-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;padding:1.5rem 1.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.2rem;font-weight:600}.admin-editor-dashboard[_ngcontent-%COMP%] .dashboard-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2)}.team-dashboard[_ngcontent-%COMP%] .dashboard-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f093fb,#f5576c)}.loading[_ngcontent-%COMP%]{text-align:center;padding:3rem;color:#6c757d;font-size:1.1rem}@media (max-width: 1200px){.dashboard-tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{min-width:120px;max-width:none;padding:.9rem 1.2rem;font-size:.95rem}}@media (max-width: 768px){.dashboard-container[_ngcontent-%COMP%]{width:100%;padding:1rem}.dashboard-header[_ngcontent-%COMP%]{flex-direction:column;gap:1rem;text-align:center}.dashboard-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .display-name-panel[_ngcontent-%COMP%]{align-items:center;max-width:100%}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .display-name-row[_ngcontent-%COMP%]{justify-content:center}.dashboard-header[_ngcontent-%COMP%] .user-info-header[_ngcontent-%COMP%] .display-name-note[_ngcontent-%COMP%]{text-align:center}.dashboard-tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{min-width:100px;max-width:none;padding:.75rem 1rem;font-size:.9rem}.dashboard-tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.dashboard-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1rem}.dashboard-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{padding:1rem;font-size:1.1rem}}@media (max-width: 480px){.dashboard-container[_ngcontent-%COMP%]{padding:.5rem}.dashboard-header[_ngcontent-%COMP%]{padding:1rem}.dashboard-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.3rem}.dashboard-tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{min-width:80px;max-width:none;padding:.5rem .75rem;font-size:.8rem}.dashboard-tabs[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:3px}}"]})}}return t})();var md=(()=>{class t{constructor(e,n){this.authService=e,this.router=n}
156canActivate(){return this.authService.isLoggedInStatus().pipe(gt(e=>e&&this.authService.getAccessToken()?this.authService.fetchUserDetails().pipe(_e(()=>!0),Be(n=>(console.error("Auth guard error:",n),this.router.navigate(["/login"]),Ce(!1)))):(this.router.navigate(["/login"]),Ce(!1))))}static{this.\u0275fac=function(n){return new(n||t)(Q(at),Q(ke))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function R9(t,s){if(t&1&&_(0,"app-post-card",15),t&2){let e=s.$implicit;m("post",e)}}function z9(t,s){if(t&1&&(r(0,"div",13),h(1,R9,1,1,"app-post-card",14),o()),t&2){let e=p(2);c(),m("ngForOf",e.posts)}}function N9(t,s){if(t&1&&(Me(0),h(1,z9,2,1,"div",12),xe()),t&2){let e=p(),n=oe(21);c(),m("ngIf",e.posts.length)("ngIfElse",n)}}function A9(t,s){t&1&&(r(0,"div",16),a(1,"Se \xEEncarc\u0103 post\u0103rile..."),o())}function L9(t,s){t&1&&(r(0,"div",17),a(1,"Nu exist\u0103 post\u0103ri publicate momentan."),o())}var t_=(()=>{class t{constructor(e){this.postService=e,this.posts=[],this.loading=!0}ngOnInit(){this.postService.fetchAllSortedForDisplay().subscribe(e=>{this.posts=e,this.loading=!1})}static{this.\u0275fac=function(n){return new(n||t)(T(No))}}static{this.\u0275cmp=V({type:t,selectors:[["app-posts"]],standalone:!0,features:[B],decls:22,vars:2,consts:[["loadingPosts",""],["emptyPosts",""],[1,"news-page"],["aria-labelledby","news-title",1,"news-masthead"],[1,"news-container","news-masthead__layout"],[1,"news-eyebrow"],["id","news-title"],["aria-labelledby","news-feed-title",1,"news-feed"],[1,"news-container"],[1,"news-feed__heading"],["id","news-feed-title"],[4,"ngIf","ngIfElse"],["class","news-list",4,"ngIf","ngIfElse"],[1,"news-list"],[3,"post",4,"ngFor","ngForOf"],[3,"post"],["role","status",1,"news-status"],[1,"news-status"]],template:function(n,i){if(n&1&&(r(0,"main",2)(1,"header",3)(2,"div",4)(3,"div")(4,"p",5),a(5,"Din comunitate"),o(),r(6,"h1",6),a(7,"Nout\u0103\u021Bi Na\u021Bie Prin Educa\u021Bie"),o()(),r(8,"p"),a(9,"Nout\u0103\u021Bi, anun\u021Buri \u0219i pove\u0219ti din comunitatea Na\u021Bie Prin Educa\u021Bie \u0219i FIRST Tech Challenge Rom\xE2nia."),o()()(),r(10,"section",7)(11,"div",8)(12,"div",9)(13,"p",5),a(14,"Arhiva comunit\u0103\u021Bii"),o(),r(15,"h2",10),a(16,"Toate nout\u0103\u021Bile"),o()(),h(17,N9,2,2,"ng-container",11)(18,A9,2,0,"ng-template",null,0,Se)(20,L9,2,0,"ng-template",null,1,Se),o()()()),n&2){let d=oe(19);c(17),m("ngIf",!i.loading)("ngIfElse",d)}},dependencies:[H,X,$,Sn,ms],styles:['[_nghost-%COMP%]{display:block;color:var(--natie-ink)}*[_ngcontent-%COMP%]{box-sizing:border-box}.news-page[_ngcontent-%COMP%]{overflow:hidden;background:var(--natie-white)}.news-container[_ngcontent-%COMP%]{width:min(1160px,100% - 48px);margin:0 auto}.news-eyebrow[_ngcontent-%COMP%]{margin:0 0 .85rem;color:var(--natie-blue-deep);font-size:.79rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{margin-top:0;color:var(--natie-ink);line-height:1.13}h1[_ngcontent-%COMP%]{max-width:720px;margin-bottom:0;font-size:clamp(2.5rem,5.5vw,4.75rem);letter-spacing:-.05em}h2[_ngcontent-%COMP%]{margin-bottom:0;font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.035em}.news-masthead[_ngcontent-%COMP%]{position:relative;padding:clamp(4.75rem,10vw,8rem) 0;border-bottom:1px solid var(--natie-border-soft);background:radial-gradient(circle at 92% 120%,rgba(var(--natie-blue-rgb),.13),transparent 38%),#fffaf5}.news-masthead[_ngcontent-%COMP%]:before{position:absolute;top:0;right:0;left:0;height:6px;background:linear-gradient(90deg,var(--natie-blue-deep),#137b78 55%,var(--natie-orange-strong));content:""}.news-masthead__layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.5rem,8vw,8rem);align-items:end}.news-masthead__layout[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{max-width:600px;margin:0 0 .35rem;color:var(--natie-text-muted);font-size:1.1rem;line-height:1.72}.news-feed[_ngcontent-%COMP%]{padding:clamp(4.5rem,9vw,7.5rem) 0}.news-feed__heading[_ngcontent-%COMP%]{max-width:760px;margin-bottom:clamp(2rem,5vw,3.5rem)}.news-list[_ngcontent-%COMP%]{width:100%}.news-status[_ngcontent-%COMP%]{width:100%;padding:3rem 1.5rem;border-top:1px solid var(--natie-border-soft);border-bottom:1px solid var(--natie-border-soft);color:var(--natie-text-soft);font-size:1.08rem;text-align:center}@media (max-width: 760px){.news-container[_ngcontent-%COMP%]{width:min(100% - 32px,1160px)}.news-masthead__layout[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1.75rem}.news-masthead__layout[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-bottom:0}}']})}}return t})();function V9(t,s){t&1&&_(0,"img",7)}function B9(t,s){if(t&1&&(r(0,"div",17),_(1,"iframe",18),r(2,"div",19),a(3),o()()),t&2){let e=p().$implicit,n=p(3);c(),m("src",n.getYouTubeEmbedUrl(e.link),ji),c(2),O(e.description)}}function U9(t,s){if(t&1&&(r(0,"a",20)(1,"span",21),_(2,"img",22),o(),a(3),o()),t&2){let e=p().$implicit;
156m("href",e.link,ae),c(3),w(" ",e.description," ")}}function j9(t,s){if(t&1&&(r(0,"a",23)(1,"span",21),_(2,"img",24),o(),a(3),o()),t&2){let e=p().$implicit,n=p(3);m("href",n.fileService.getPublicFileDownloadUrl(e.image.id),ae),c(3),w(" ",e.description," ")}}function q9(t,s){if(t&1&&(r(0,"div",13),h(1,B9,4,2,"div",14)(2,U9,4,2,"a",15)(3,j9,4,2,"a",16),o()),t&2){let e=s.$implicit,n=p(3);c(),m("ngIf",n.isVideo(e)),c(),m("ngIf",n.isLink(e)),c(),m("ngIf",n.hasFile(e))}}function W9(t,s){if(t&1&&(r(0,"div",10)(1,"h3"),a(2),o(),r(3,"div",11),h(4,q9,4,3,"div",12),o()()),t&2){let e=s.$implicit,n=p().$implicit,i=p();c(2),O(e),c(2),m("ngForOf",i.getResourcesForSubsection(n,e))}}function $9(t,s){if(t&1&&(r(0,"div")(1,"h2"),a(2),o(),r(3,"div",8),h(4,W9,5,2,"div",9),o()()),t&2){let e=s.$implicit,n=p();c(2),O(e),c(2),m("ngForOf",n.getSubsectionsForSection(e))}}function H9(t,s){t&1&&(r(0,"div",25),a(1,"Se \xEEncarc\u0103 resursele pentru echipe..."),o())}function G9(t,s){if(t&1&&(r(0,"div",26),a(1),o()),t&2){let e=p();c(),O(e.error)}}var n_=(()=>{class t{constructor(e,n,i){this.resourceService=e,this.fileService=n,this.sanitizer=i,this.resources=[],this.loading=!0,this.error="",this.groupedResources={}}ngOnInit(){this.resourceService.fetchByPage("team-resources").subscribe({next:e=>{this.resources=e||[],this.organizeResources(),this.loading=!1},error:()=>{this.error="Eroare la \xEEnc\u0103rcarea resurselor pentru echipe.",this.loading=!1}})}organizeResources(){this.groupedResources={};for(let e of this.resources)this.groupedResources[e.section]||(this.groupedResources[e.section]={}),this.groupedResources[e.section][e.subsection]||(this.groupedResources[e.section][e.subsection]=[]),this.groupedResources[e.section][e.subsection].push(e);for(let e in this.groupedResources)for(let n in this.groupedResources[e])this.groupedResources[e][n].sort((i,d)=>i.priority-d.priority)}getSections(){return Object.keys(this.groupedResources)}getSubsectionsForSection(e){return Object.keys(this.groupedResources[e]||{})}getResourcesForSubsection(e,n){return this.groupedResources[e]?.[n]||[]}isWebLink(e){return e?e.startsWith("http://")||e.startsWith("https://"):!1}hasFile(e){return e.category==="Document"&&!!e.image}isVideo(e){return e.category==="Video"&&!!e.link&&e.link.includes("youtube.com")}isLink(e){return e.category==="Link"&&!!e.link}getYouTubeEmbedUrl(e){let n=e.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([^&\n?#]+)/)?.[1],i=n?`https://www.youtube.com/embed/${n}`:e;return this.sanitizer.bypassSecurityTrustResourceUrl(i)}static{this.\u0275fac=function(n){return new(n||t)(T(Ao),T(Dt),T($i))}}static{this.\u0275cmp=V({type:t,selectors:[["app-team-resources"]],standalone:!0,features:[B],decls:10,vars:4,consts:[[1,"resources-hero"],["ngSrc","assets\\bannere\\team resources.jpg","alt","Team Resources Hero","height","1029","width","2787",4,"ngIf"],[1,"resources-content"],[1,"description"],[4,"ngFor","ngForOf"],["class","loading",4,"ngIf"],["class","error",4,"ngIf"],["ngSrc","assets\\bannere\\team resources.jpg","alt","Team Resources Hero","height","1029","width","2787"],[1,"section-block"],["class","resources-group",4,"ngFor","ngForOf"],[1,"resources-group"],[1,"resource-buttons"],["class","resource-item",4,"ngFor","ngForOf"],[1,"resource-item"],["class","video-resource",4,"ngIf"],["target","_blank","rel","noopener","class","resource-btn link-resource",3,"href",4,"ngIf"],["target","_blank","rel","noopener","class","resource-btn document-resource",3,"href",4,"ngIf"],[1,"video-resource"],["frameborder","0","allowfullscreen","",1,"video-embed",3,"src"],[1,"video-description"],["target","_blank","rel","noopener",1,"resource-btn","link-resource",3,"href"],[1,"resource-btn-icon"],["src","assets/resources/link_icon.webp","alt","Link Icon"],["target","_blank","rel","noopener",1,"resource-btn","document-resource",3,"href"],["src","assets/resources/file_icon.webp","alt","File Icon"],[1,"loading"],[1,"error"]],template:function(n,i){n&1&&(r(0,"div",0),h(1,V9,1,0,"img",1),o(),r(2,"div",2)(3,"h1"),a(4,"Learning Materials"),o(),r(5,"p",3),a(6," Our recommendation for all teams and mentors is to navigate through all the materials below to find out what can be found out there and to identify development opportunities. "),o(),h(7,$9,5,2,"div",4)(8,H9,2,0,"div",5)(9,G9,2,1,"div",6),o()),n&2&&(c(),m("ngIf",!1),c(6),m("ngForOf",i.getSections()),c(),m("ngIf",i.loading),c(),m("ngIf",i.error))}
156,dependencies:[$,X,Po],styles:[".resources-hero[_ngcontent-%COMP%]{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);aspect-ratio:var(--banner-md-aspect);background:#222 url(/assets/bannere/team\\ resources.jpg) center/cover no-repeat}@media (max-width: 768px){.resources-hero[_ngcontent-%COMP%]{aspect-ratio:16/9;height:200px}}.resources-content[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem 1rem 3rem;background:#fff;box-shadow:0 2px 16px #0000000f}@media (max-width: 768px){.resources-content[_ngcontent-%COMP%]{padding:1.5rem .75rem 2rem;margin:0 .5rem;max-width:none}}@media (max-width: 480px){.resources-content[_ngcontent-%COMP%]{padding:1rem .5rem 1.5rem;margin:0 .25rem}}.description[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.6;color:#333}@media (max-width: 768px){.description[_ngcontent-%COMP%]{margin-bottom:1.25rem;font-size:var(--font-size-sm);line-height:1.5}}@media (max-width: 480px){.description[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:var(--font-size-xs)}}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]{font-weight:700;margin-top:1.5rem;margin-bottom:1rem}h1[_ngcontent-%COMP%]{font-size:var(--font-size-3xl)}@media (max-width: 768px){h1[_ngcontent-%COMP%]{font-size:var(--font-size-2xl);margin-top:1rem;margin-bottom:.75rem}}@media (max-width: 480px){h1[_ngcontent-%COMP%]{font-size:var(--font-size-xl)}}h2[_ngcontent-%COMP%]{font-size:var(--font-size-2xl)}@media (max-width: 768px){h2[_ngcontent-%COMP%]{font-size:var(--font-size-xl);margin-top:1.25rem;margin-bottom:.75rem}}@media (max-width: 480px){h2[_ngcontent-%COMP%]{font-size:var(--font-size-lg)}}h3[_ngcontent-%COMP%]{font-size:var(--font-size-base);margin-top:1.5rem;margin-bottom:.5rem;font-weight:600}@media (max-width: 768px){h3[_ngcontent-%COMP%]{font-size:var(--font-size-sm);margin-top:1.25rem;margin-bottom:.5rem}}.section-block[_ngcontent-%COMP%]{margin-bottom:2.5rem}@media (max-width: 768px){.section-block[_ngcontent-%COMP%]{margin-bottom:2rem}}@media (max-width: 480px){.section-block[_ngcontent-%COMP%]{margin-bottom:1.5rem}}.resources-group[_ngcontent-%COMP%]{margin-bottom:1.5rem}@media (max-width: 768px){.resources-group[_ngcontent-%COMP%]{margin-bottom:1.25rem}}.resource-buttons[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}@media (max-width: 768px){.resource-buttons[_ngcontent-%COMP%]{gap:1rem}}@media (max-width: 480px){.resource-buttons[_ngcontent-%COMP%]{gap:.8rem}}.resource-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;text-decoration:none;transition:all .2s ease;cursor:pointer;font-family:IBM Plex Sans,sans-serif;width:auto;color:#06c;font-size:var(--font-size-base);font-weight:600;line-height:1.2;word-wrap:break-word;max-width:100%;min-height:44px}@media (max-width: 768px){.resource-btn[_ngcontent-%COMP%]{padding:16px 20px;font-size:var(--font-size-base);gap:8px;width:100%;justify-content:flex-start;min-height:48px;border-radius:8px}}@media (max-width: 480px){.resource-btn[_ngcontent-%COMP%]{padding:14px 18px;font-size:var(--font-size-sm);gap:6px;min-height:52px}}.resource-btn[_ngcontent-%COMP%]:hover{border-color:#d0d0d0;box-shadow:0 2px 4px #0000001a}.resource-btn[_ngcontent-%COMP%]:active{transform:translateY(1px)}.resource-btn-icon[_ngcontent-%COMP%]{display:flex;align-items:center;flex-shrink:0}@media (max-width: 480px){.resource-btn-icon[_ngcontent-%COMP%]{min-width:14px}}.resource-btn-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px;flex-shrink:0;object-fit:contain}@media (max-width: 768px){.resource-btn-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:18px;height:18px}}@media (max-width: 480px){.resource-btn-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px}}.resource-btn-icon[_ngcontent-%COMP%] img.resource-image[_ngcontent-%COMP%]{width:32px;height:32px;object-fit:cover;border-radius:4px}@media (max-width: 768px){.resource-btn-icon[_ngcontent-%COMP%] img.resource-image[_ngcontent-%COMP%]{width:28px;height:28px}}@media (max-width: 480px){.resource-btn-icon[_ngcontent-%COMP%] img.resource-image[_ngcontent-%COMP%]{width:24px;height:24px}}.video-resource[_ngcontent-%COMP%]{margin-bottom:1rem}@media (max-width: 768px){.video-resource[_ngcontent-%COMP%]{margin-bottom:.75rem}}.video-resource[_ngcontent-%COMP%] .video-embed[_ngcontent-%COMP%]{width:100%;max-width:560px;height:315px;border-radius:8px;box-shadow:0 2px 8px #0000001a}@media (max-width: 768px){.video-resource[_ngcontent-%COMP%] .video-embed[_ngcontent-%COMP%]{height:200px}}@media (max-width: 480px){.video-resource[_ngcontent-%COMP%] .video-embed[_ngcontent-%COMP%]{height:180px}}.video-resource[_ngcontent-%COMP%] .video-description[_ngcontent-%COMP%]{margin-top:.5rem;font-weight:500;
156color:#1a3a5d;font-size:.95rem}@media (max-width: 768px){.video-resource[_ngcontent-%COMP%] .video-description[_ngcontent-%COMP%]{font-size:var(--font-size-sm);margin-top:.4rem}}@media (max-width: 480px){.video-resource[_ngcontent-%COMP%] .video-description[_ngcontent-%COMP%]{font-size:var(--font-size-xs)}}.resource-item[_ngcontent-%COMP%]{width:100%}.loading[_ngcontent-%COMP%]{margin:2rem 0;text-align:center;color:#888;font-size:var(--font-size-lg)}@media (max-width: 768px){.loading[_ngcontent-%COMP%]{margin:1.5rem 0;font-size:var(--font-size-base)}}.error[_ngcontent-%COMP%]{margin:2rem 0;text-align:center;color:#c00;font-weight:600}@media (max-width: 768px){.error[_ngcontent-%COMP%]{margin:1.5rem 0;font-size:var(--font-size-sm)}}"]})}}return t})();function Z9(t,s){t&1&&(r(0,"div",5),_(1,"div",6),r(2,"p"),a(3,"Se \xEEncarc\u0103 fi\u0219ierul..."),o()())}function Y9(t,s){if(t&1&&(r(0,"div",7),_(1,"i",8),r(2,"h2"),a(3,"Fi\u0219ierul nu a fost g\u0103sit"),o(),r(4,"p"),a(5),o(),r(6,"a",9),_(7,"i",10),a(8," \xCEnapoi la pagina principal\u0103 "),o()()),t&2){let e=p();c(5),O(e.error)}}function K9(t,s){if(t&1&&(r(0,"p",26),a(1),o()),t&2){let e=p(2);c(),w(" ",e.sharedFile.description," ")}}function Q9(t,s){if(t&1){let e=E();r(0,"button",27),b("click",function(){v(e);let i=p(2);return M(i.previewFile())}),_(1,"i",28),a(2," Previzualizeaz\u0103 "),o()}}function J9(t,s){if(t&1){let e=E();r(0,"div",11)(1,"div",12)(2,"div",13),_(3,"i",14),o(),r(4,"h1",15),a(5),o()(),r(6,"div",16),h(7,K9,2,1,"p",17),r(8,"div",18)(9,"span",19),_(10,"i",20),a(11),o(),r(12,"span",19),_(13,"i",21),a(14),o(),r(15,"span",19),_(16,"i",22),a(17),o()()(),r(18,"div",23)(19,"button",24),b("click",function(){v(e);let i=p();return M(i.downloadFile())}),_(20,"i",22),a(21," Descarc\u0103 fi\u0219ierul "),o(),h(22,Q9,3,0,"button",25),o()()}if(t&2){let e=p();c(3),m("ngClass",e.getFileIcon(e.sharedFile.mimeType)),c(2),O(e.sharedFile.name),c(2),m("ngIf",e.sharedFile.description),c(4),w(" ",e.formatFileSize(e.sharedFile.size)," "),c(3),w(" \xCEnc\u0103rcat ",e.formatDate(e.sharedFile.createdAt)," "),c(3),w(" ",e.sharedFile.downloadCount," desc\u0103rc\u0103ri "),c(5),m("ngIf",e.canPreview(e.sharedFile.mimeType))}}var i_=(()=>{class t{constructor(e,n){this.route=e,this.sharedFilesService=n,this.sharedFile=null,this.isLoading=!0,this.error=null,this.slug=""}ngOnInit(){this.slug=this.route.snapshot.paramMap.get("slug")||"",this.slug?this.loadSharedFile():(this.error="Invalid share link",this.isLoading=!1)}loadSharedFile(){return q(this,null,function*(){this.isLoading=!0,this.error=null;try{let e=yield this.sharedFilesService.getSharedFileBySlug(this.slug).toPromise();e?.success?(this.sharedFile=e.message,this.sharedFile.type==="LINK"&&this.sharedFile.targetUrl&&window.location.replace(this.sharedFile.targetUrl)):this.error="File not found"}catch(e){console.error("Error loading shared file:",e),e.status===404?this.error="This share link is not valid or has expired":this.error="Failed to load the shared file"}finally{this.isLoading=!1}})}downloadFile(){if(this.sharedFile){let e=this.sharedFilesService.getDownloadUrl(this.sharedFile.slug);window.open(e,"_blank")}}previewFile(){if(this.sharedFile){let e=this.sharedFilesService.getPreviewUrl(this.sharedFile.slug);window.open(e,"_blank")}}formatFileSize(e){if(e===-1||e===0)return"Unknown size";let n=1024,i=["Bytes","KB","MB","GB"],d=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,d)).toFixed(2))+" "+i[d]}formatDate(e){return e?new Date(e).toLocaleDateString("ro-RO",{year:"numeric",month:"long",day:"numeric"}):""}getFileIcon(e){return e?e.startsWith("image/")?"fa-file-image":e.startsWith("video/")?"fa-file-video":e.startsWith("audio/")?"fa-file-audio":e==="application/pdf"?"fa-file-pdf":e.includes("word")||e.includes("document")?"fa-file-word":e.includes("excel")||e.includes("spreadsheet")?"fa-file-excel":e.includes("powerpoint")||e.includes("presentation")?"fa-file-powerpoint":e.includes("zip")||e.includes("archive")||e.includes("compressed")?"fa-file-archive":"fa-file":"fa-file"}canPreview(e){return e?e.startsWith("image/")||e==="application/pdf"||e.startsWith("video/")||e.startsWith("audio/"):!1}static{this.\u0275fac=function(n){return new(n||t)(T(Je),T(Mi))}}static{this.\u0275cmp=V({type:t,selectors:[["app-share"]],standalone:!0,features:[B],decls:5,vars:3,consts:[[1,"share-page"],[1,"share-content"],["class","loading-state",4,"ngIf"],["class","error-state",4,"ngIf"],["class","file-card",4,"ngIf"],[1,"loading-state"],[1,"spinner"],[1,"error-state"],[1,"fas","fa-exclamation-circle"],["href","/",1,"btn","btn-primary"],[1,"fas","fa-home"],[1,"file-card"],[1,"file-header"],[1,"file-icon"],[1,"fas",3,"ngClass"],[1,"file-name"],[1,"file-info"],["class","file-description",4,"ngIf"],[1,"file-meta"],[1,"meta-item"],[1,"fas","fa-weight-hanging"],[1,"fas","fa-calendar"],[1,"fas","fa-download"],[1,"file-actions"],["type","button",1,"btn","btn-primary","btn-download",3,"click"],["type","button","class","btn btn-secondary btn-preview",3,"click",4,"ngIf"],[1,"file-description"],["type","button",1,"btn","btn-secondary","btn-preview",3,"click"],[1,"fas","fa-eye"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1),h(2,Z9,4,0,"div",2)(3,Y9,9,1,"div",3)(4,J9,23,7,"div",4),o()()),n&2&&(c(2),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading&&i.error),c(),m("ngIf",!i.isLoading&&!i.error&&i.sharedFile))},dependencies:[H,xt,$],styles:[".share-page[_ngcontent-%COMP%]{min-height:100vh;background:#f5f5f5;padding:2rem 0}.share-content[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem 1rem 3rem;background:#fff;box-shadow:0 2px 16px #0000000f}.loading-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.loading-state[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin:0 auto 1rem}.loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:1rem;margin:0}.error-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.error-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:3rem;
156color:#e74c3c;margin-bottom:1rem}.error-state[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#2c3e50;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.error-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#7f8c8d;font-size:1rem;margin-bottom:1.5rem}.error-state[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 2.2rem;border:none;border-radius:30px;font-weight:700;font-size:var(--font-size-xl);cursor:pointer;text-decoration:none;transition:all .3s ease}.error-state[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--natie-orange) 0%,var(--natie-orange-strong) 80%);color:#fff;box-shadow:0 2px 8px #0000001a}.error-state[_ngcontent-%COMP%] .btn.btn-primary[_ngcontent-%COMP%]:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #f06b0e40,0 6px 15px #0389d140}.file-card[_ngcontent-%COMP%]{padding:2rem}.file-card[_ngcontent-%COMP%] .file-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e9ecef}.file-card[_ngcontent-%COMP%] .file-header[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#f8f9fa;border-radius:12px;flex-shrink:0}.file-card[_ngcontent-%COMP%] .file-header[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.75rem;color:#667eea}.file-card[_ngcontent-%COMP%] .file-header[_ngcontent-%COMP%] .file-name[_ngcontent-%COMP%]{color:#2c3e50;font-size:var(--font-size-3xl);font-weight:700;margin:0;flex:1;word-break:break-word}.file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%]{margin-bottom:2rem}.file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-description[_ngcontent-%COMP%]{color:#7f8c8d;font-size:1rem;margin:0 0 1.5rem;line-height:1.6}.file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1.5rem}.file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;color:#7f8c8d;font-size:.9rem}.file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#667eea;font-size:.85rem}.file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap}.file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 2.2rem;border:none;border-radius:30px;font-weight:700;font-size:var(--font-size-xl);cursor:pointer;transition:all .3s ease;text-decoration:none}.file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn.btn-download[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--natie-orange) 0%,var(--natie-orange-strong) 80%);color:#fff;box-shadow:0 2px 8px #0000001a}.file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn.btn-download[_ngcontent-%COMP%]:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #f06b0e40,0 6px 15px #0389d140}.file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn.btn-preview[_ngcontent-%COMP%]{background:#fff;color:#2c3e50;border:2px solid #e9ecef}.file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn.btn-preview[_ngcontent-%COMP%]:hover{background:#f8f9fa;border-color:#667eea}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.share-content[_ngcontent-%COMP%]{max-width:98vw;padding:1.5rem 1rem}.file-card[_ngcontent-%COMP%]{padding:1.5rem}.file-card[_ngcontent-%COMP%] .file-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.file-card[_ngcontent-%COMP%] .file-header[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%]{width:50px;height:50px}.file-card[_ngcontent-%COMP%] .file-header[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem}.file-card[_ngcontent-%COMP%] .file-header[_ngcontent-%COMP%] .file-name[_ng
156content-%COMP%]{font-size:var(--font-size-2xl)}.file-card[_ngcontent-%COMP%] .file-info[_ngcontent-%COMP%] .file-meta[_ngcontent-%COMP%]{flex-direction:column;gap:.75rem}.file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%]{flex-direction:column}.file-card[_ngcontent-%COMP%] .file-actions[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{width:100%;justify-content:center}}"]})}}return t})();function X9(t,s){t&1&&(r(0,"div",10),_(1,"div",11),r(2,"p"),a(3,"Se caut\u0103 diploma..."),o()())}function eD(t,s){if(t&1&&(r(0,"div",12),_(1,"i",13),r(2,"span"),a(3),o()()),t&2){let e=p();c(3),O(e.errorMessage)}}function tD(t,s){if(t&1&&(r(0,"li")(1,"span",23),a(2),o(),r(3,"span",24),a(4),o()()),t&2){let e=s.$implicit;c(2),O(e.awardName),c(2),O(e.stage)}}function nD(t,s){if(t&1&&(r(0,"ul",21),h(1,tD,5,2,"li",22),o()),t&2){let e=p(2);c(),m("ngForOf",e.result.awards)}}function iD(t,s){if(t&1&&(r(0,"p",25),a(1),o()),t&2){let e=p(2);c(),w(" ",e.ftcAwardsIssue," ")}}function oD(t,s){t&1&&(r(0,"p",26),a(1," FIRST nu raporteaz\u0103 premii pentru aceast\u0103 echip\u0103 \xEEn sezonul API folosit acum pe platform\u0103 (sau lista este goal\u0103). Verificarea diplomei r\u0103m\xE2ne valabil\u0103. "),o())}function rD(t,s){if(t&1&&(r(0,"div",14)(1,"h2"),a(2,"Diplom\u0103 verificat\u0103"),o(),r(3,"dl",15)(4,"dt"),a(5,"Nume elev / participant"),o(),r(6,"dd"),a(7),o(),r(8,"dt"),a(9,"Rol"),o(),r(10,"dd"),a(11),o(),r(12,"dt"),a(13,"Echip\u0103"),o(),r(14,"dd"),a(15),o(),r(16,"dt"),a(17,"Sezon"),o(),r(18,"dd"),a(19),o(),r(20,"dt"),a(21,"Etap\u0103"),o(),r(22,"dd"),a(23),o()(),r(24,"div",16)(25,"h3"),a(26,"Premii (FIRST)"),o(),r(27,"p",17),a(28," Lista este citit\u0103 "),r(29,"strong"),a(30,"direct de la FIRST"),o(),a(31," la fiecare verificare, pentru "),r(32,"strong"),a(33,"sezonul curent"),o(),a(34," al platformei, folosind num\u0103rul interna\u021Bional al echipei. Nu folose\u0219te premiile stocate local \xEEn site. "),o(),h(35,nD,2,1,"ul",18)(36,iD,2,1,"p",19)(37,oD,2,0,"p",20),o()()),t&2){let e=p();c(7),O(e.result.studentName),c(4),O(e.recipientTypeLabel(e.result.recipientType)),c(4),O(e.result.teamName||"\u2014"),c(4),O(e.result.season||"\u2014"),c(4),O(e.stageLabel(e.result.stage)),c(12),m("ngIf",e.result.awards==null?null:e.result.awards.length),c(),m("ngIf",!(e.result.awards!=null&&e.result.awards.length)&&e.ftcAwardsIssue),c(),m("ngIf",!(e.result.awards!=null&&e.result.awards.length)&&!e.ftcAwardsIssue)}}var o_=(()=>{class t{get ftcAwardsIssue(){return this.awardsFtcUnavailableMessage(this.result)}constructor(e){this.diplomasService=e,this.codInput="",this.isLoading=!1,this.result=null,this.errorMessage=null}onSubmit(){return q(this,null,function*(){let e=this.codInput.trim();if(this.errorMessage=null,this.result=null,!e){this.errorMessage="Introdu codul (hash-ul) de pe diplom\u0103.";return}this.isLoading=!0;try{let n=yield this.diplomasService.verifyDiplomaByDiplomaId(e).toProm
156ise();if(n?.success&&n.message){let i=n.message;this.result=ye(J({},i),{awards:this.normalizeVerificationAwards(i)})}else this.errorMessage="Nu s-a putut verifica diploma."}catch(n){this.errorMessage=this.extractApiErrorMessage(n)}finally{this.isLoading=!1}})}stageLabel(e){switch(e){case"REGIONALA":return"Regional\u0103";case"NATIONALA":return"Na\u021Bional\u0103";default:return e}}recipientTypeLabel(e){switch(e){case"MEMBER":return"Membru echip\u0103";case"MENTOR":return"Mentor";default:return"\u2014"}}awardsFtcUnavailableMessage(e){let n=e?.ftcError;if(!n)return null;switch(n){case"no_current_season":return"Nu este setat un sezon curent \xEEn platform\u0103; premii FIRST nu pot fi \xEEnc\u0103rcate.";case"current_season_missing_ftc_year":return"Sezonul curent nu are configurat anul FTC Events API (\xEEn administrare \u2192 sezoane).";case"invalid_team_number":return"Num\u0103rul interna\u021Bional al echipei din date nu poate fi trimis la API-ul FIRST.";default:return`Nu s-au putut \xEEnc\u0103rca premiile de la FIRST: ${n}`}}normalizeVerificationAwards(e){let n=e.awards;return Array.isArray(n)?n.map(i=>{let d=i;return{awardName:String(d.awardName??d.award_name??""),stage:String(d.stage??"")}}):[]}extractApiErrorMessage(e){if(e?.status===404){let i=e.error?.message;return i&&typeof i=="object"&&typeof i.message=="string"?i.message:"Nu exist\u0103 o diplom\u0103 activ\u0103 cu acest cod."}if(e?.status===400){let i=e.error?.message;if(i&&typeof i=="object"&&typeof i.message=="string")return i.message}return"A ap\u0103rut o eroare. \xCEncearc\u0103 din nou mai t\xE2rziu."}static{this.\u0275fac=function(n){return new(n||t)(T(Rs))}}static{this.\u0275cmp=V({type:t,selectors:[["app-verificare-diplome"]],standalone:!0,features:[B],decls:15,vars:7,consts:[[1,"verify-page"],[1,"verify-content"],[1,"intro"],[1,"verify-form",3,"ngSubmit"],["for","cod-diploma",1,"sr-only"],["id","cod-diploma","type","text","name","cod","placeholder","Ex: codul afi\u0219at pe diplom\u0103","autocomplete","off",1,"cod-input",3,"ngModelChange","ngModel","disabled"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","loading-state",4,"ngIf"],["class","banner error","role","alert",4,"ngIf"],["class","result-card",4,"ngIf"],[1,"loading-state"],[1,"spinner"],["role","alert",1,"banner","error"],["aria-hidden","true",1,"fas","fa-exclamation-circle"],[1,"result-card"],[1,"result-grid"],[1,"awards-section"],[1,"awards-hint"],["class","awards-list",4,"ngIf"],["class","awards-empty awards-ftc-problem",4,"ngIf"],["class","awards-empty",4,"ngIf"],[1,"awards-list"],[4,"ngFor","ngForOf"],[1,"award-name"],[1,"award-stage"],[1,"awards-empty","awards-ftc-problem"],[1,"awards-empty"]],template:function(n,i){n&1&&(r(0,"div",0)(1,"div",1)(2,"h1"),a(3,"Verificare diplome"),o(),r(4,"p",2),a(5," Introdu codul de pe diplom\u0103 (hash / ID diplom\u0103) pentru a confirma c\u0103 diploma este \xEEnregistrat\u0103 \xEEn sistemul Na\u021Bie prin Educa\u021Bie. "),o(),r(6,"form",3),b("ngSubmit",function(){return i.onSubmit()}),r(7,"label",4),a(8,"Cod diplom\u0103"),o(),r(9,"input",5),z("ngModelChange",function(u){return R(i.codInput,u)||(i.codInput=u),u}),o(),r(10,"button",6),a(11),o()(),h(12,X9,4,0,"div",7)(13,eD,4,1,"div",8)(14,rD,38,8,"div",9),o()()),n&2&&(c(9),D("ngModel",i.codInput),m("disabled",i.isLoading),c(),m("disabled",i.isLoading),c(),w(" ",i.isLoading?"Se verific\u0103...":"Verific\u0103"," "),c(),m("ngIf",i.isLoading),c(),m("ngIf",!i.isLoading&&i.errorMessage),c(),m("ngIf",!i.isLoading&&i.result))},dependencies:[H,X,$,se,Oe,re,ie,Pe,pe,Ot],styles:[".verify-page[_ngcontent-%COMP%]{min-height:100vh;background:#f5f5f5;padding:2rem 0}.verify-content[_ngcontent-%COMP%]{max-width:720px;margin:0 auto;padding:2rem 1.25rem 3rem;background:#fff;box-shadow:0 2px 16px #0000000f;border-radius:8px}h1[_ngcontent-%COMP%]{color:#2c3e50;font-size:1.85rem;margin:0 0 .75rem;font-weight:700}.intro[_ngcontent-%COMP%]{color:#5a6c7d;margin:0 0 1.5rem;line-height:1.5}.verify-form[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.75rem;
156align-items:stretch;margin-bottom:1.5rem}.cod-input[_ngcontent-%COMP%]{flex:1 1 200px;min-width:0;padding:.85rem 1rem;border:1px solid #dce4ec;border-radius:8px;font-size:1rem}.cod-input[_ngcontent-%COMP%]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.cod-input[_ngcontent-%COMP%]:disabled{background:#f4f6f8}.btn-primary[_ngcontent-%COMP%]{padding:.85rem 1.75rem;border:none;border-radius:30px;font-weight:700;font-size:1rem;cursor:pointer;background:linear-gradient(90deg,var(--natie-orange) 0%,var(--natie-orange-strong) 80%);color:#fff;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #f06b0e40}.btn-primary[_ngcontent-%COMP%]:disabled{opacity:.65;cursor:not-allowed}.sr-only[_ngcontent-%COMP%]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading-state[_ngcontent-%COMP%]{text-align:center;padding:2rem}.loading-state[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:_ngcontent-%COMP%_spin 1s linear infinite;margin:0 auto 1rem}.loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;margin:0}@keyframes _ngcontent-%COMP%_spin{to{transform:rotate(360deg)}}.banner.error[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#fdecea;border:1px solid #f5c6cb;border-radius:8px;color:#c0392b;margin-bottom:1.25rem}.banner.error[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-top:.15rem}.result-card[_ngcontent-%COMP%]{margin-top:.5rem;padding:1.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.result-card[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:1.25rem;color:#1e293b}.awards-section[_ngcontent-%COMP%]{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.awards-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .75rem;font-size:1.1rem;color:#1e293b}.awards-hint[_ngcontent-%COMP%]{margin:0 0 1rem;font-size:.88rem;line-height:1.5;color:#475569}.awards-ftc-problem[_ngcontent-%COMP%]{color:#b45309}.awards-list[_ngcontent-%COMP%]{margin:0;padding:0;list-style:none}.awards-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:baseline;padding:.65rem 0;border-bottom:1px solid #f1f5f9}.awards-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child{border-bottom:none}.awards-list[_ngcontent-%COMP%] .award-name[_ngcontent-%COMP%]{font-weight:600;color:#0f172a}.awards-list[_ngcontent-%COMP%] .award-stage[_ngcontent-%COMP%]{font-size:.9rem;color:#64748b}.awards-empty[_ngcontent-%COMP%]{margin:0;color:#64748b;font-size:.95rem;line-height:1.5}.result-grid[_ngcontent-%COMP%]{margin:0;display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:.75rem 1rem}.result-grid[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{margin:0;font-weight:700;color:#475569;font-size:.9rem}.result-grid[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{margin:0;color:#0f172a;font-size:1rem}@media (max-width: 480px){.result-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.result-grid[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{margin-top:.5rem}.result-grid[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]:first-child{margin-top:0}}"]})}}return t})();function aD(t,s){t&1&&(r(0,"div",3)(1,"h1"),a(2,"Connecting to shop"),o(),r(3,"p"),a(4,"Please wait while we verify your account."),o()())}function sD(t,s){if(t&1&&(r(0,"div",4)(1,"h1"),a(2,"Shop connection failed"),o(),r(3,"p"),a(4),o()()),t&2){let e=p();c(4),O(e.errorMessage)}}var r_=(()=>{class t{constructor(e,n,i){this.route=e,this.router=n,this.authService=i,this.isLoading=!0,this.errorMessage=null}ngOnInit(){let e=this.route.snapshot.queryParamMap.get("returnUrl"),n=this.route.snapshot.queryParamMap.get("next")||"/shop";if(!e){this.showError("SSO request is missing a return URL.");return}if(!this.authService.isAuthenticated()){this.router.navigate(["/login"],{queryParams:{redirect:this.router.url}});return}this.authService.createShopSsoCode(e,n).subscribe({next:i=>{if(!i.redirectUrl){this.showError("SSO response did not include a redirect URL.");return}window.location.href=i.redirectUrl},error:i=>{if(i.status===401||i.status===403){this.router.navigate(["/login"],{queryParams:{redirect:this.router.url}});return}this.showError("We could not connect your account to the shop. Please try again.")}})}showError(e){this.isLoading=!1,this.errorMessage=e}static{this.\u0275fac=function(n){return new(n||t)(T(Je),T(ke),T(at))}}static{this.\u0275cmp=V({type:t,selectors:[["app-shop-sso-start"]],standalone:!0,features:[B],decls:3,vars:2,consts:[["aria-live","polite",1,"shop-sso-start"],["class","status-panel",4,"ngIf"],["class","status-panel error",4,"ngIf"],[1,"status-panel"],[1,"status-panel","error"]],template:function(n,i){n&1&&(r(0,"main",0),h(1,aD,5,0,"div",1)(2,sD,5,1,"div",2),o()),n&2&&(c(),m("ngIf",i.isLoading),c(),m("ngIf",i.errorMessage))},dependencies:[H,$],styles:[".shop-sso-start[_ngcontent-%COMP%]{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:#f6f8fb}
156.status-panel[_ngcontent-%COMP%]{width:min(100%,420px);padding:24px;border:1px solid #d9e2ec;border-radius:6px;background:#fff;text-align:center}.status-panel[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0 0 10px;color:#102a43;font-size:24px;line-height:1.2}.status-panel[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#52606d;font-size:15px;line-height:1.5}.status-panel.error[_ngcontent-%COMP%]{border-color:#f5b7b1}.status-panel.error[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#a93226}"]})}}return t})();var cD=["turnstileContainer"];function lD(t,s){if(t&1&&(r(0,"div",12),_(1,"i",13),r(2,"div")(3,"strong"),a(4,"Cererea a fost \xEEnregistrat\u0103."),o(),r(5,"span"),a(6,"Num\u0103rul cererii tale este "),r(7,"b"),a(8),o(),a(9,". P\u0103streaz\u0103-l pentru referin\u021B\u0103."),o()()()),t&2){let e=p();c(8),O(e.successId)}}function dD(t,s){if(t&1&&(r(0,"div",14),_(1,"i",15),r(2,"span"),a(3),o()()),t&2){let e=p();c(3),O(e.errorMessage)}}function mD(t,s){t&1&&(r(0,"div",16),_(1,"i",17),r(2,"span"),a(3,"Se \xEEncarc\u0103 formularul..."),o()())}function gD(t,s){t&1&&(r(0,"small"),a(1,"Introdu un nume complet valid."),o())}function pD(t,s){t&1&&(r(0,"small"),a(1,"Introdu o adres\u0103 de email valid\u0103."),o())}function uD(t,s){if(t&1&&(r(0,"option",35),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e.id),c(),G("#",e.seasonNumber," ",e.seasonName,"")}}function _D(t,s){t&1&&(r(0,"small"),a(1,"Selecteaz\u0103 sezonul."),o())}function fD(t,s){t&1&&_(0,"i",17)}function hD(t,s){if(t&1){let e=E();r(0,"button",56),b("click",function(){v(e);let i=p(2);return M(i.lookupTeam())}),h(1,fD,1,0,"i",55),a(2),o()}if(t&2){let e=p(2);m("disabled",e.lookingUpTeam),c(),m("ngIf",e.lookingUpTeam),c(),w("",e.lookingUpTeam?"Se caut\u0103":"Identific\u0103"," ")}}function CD(t,s){t&1&&(r(0,"small"),a(1,"Folose\u0219te doar cifre."),o())}function vD(t,s){t&1&&(r(0,"small"),a(1,"Introdu numele echipei."),o())}function MD(t,s){t&1&&(Me(0),a(1,"*"),xe())}function xD(t,s){t&1&&(r(0,"small"),a(1,"Introdu liceul sau institu\u021Bia din care face parte echipa."),o())}function bD(t,s){if(t&1&&(r(0,"p",57),a(1),o()),t&2){let e=p(2);I("valid",e.teamVerified),c(),O(e.teamMessage)}}function PD(t,s){t&1&&(r(0,"small"),a(1,"Introdu denumirea sezonului."),o())}function OD(t,s){t&1&&(r(0,"small"),a(1,"Folose\u0219te formatul 2023-2024."),o())}function yD(t,s){if(t&1&&(r(0,"div",58)(1,"label",22)(2,"span"),a(3,"Denumire sezon *"),o(),_(4,"input",59),h(5,PD,2,0,"small",27),o(),r(6,"label",22)(7,"span"),a(8,"Interval sezon *"),o(),_(9,"input",60),h(10,OD,2,0,"small",27),o()()),t&2){let e=p(2);c(4),I("invalid",e.hasError("customSeasonName")),c(),m("ngIf",e.hasError("customSeasonName")),c(4),I("invalid",e.hasError("customSeasonInterval")),c(),m("ngIf",e.hasError("customSeasonInterval"))}}function wD(t,s){t&1&&(r(0,"small"),a(1,"Descrie scopul adeverin\u021Bei."),o())}function SD(t,s){t&1&&(r(0,"small"),a(1,"Adaug\u0103 informa\u021Biile care trebuie verificate \u0219i men\u021Bionate."),o())}function ED(t,s){t&1&&_(0,"i",61)}function TD(t,s){t&1&&_(0,"i",17)}function kD(t,s){if(t&1){let e=E();r(0,"form",18),b("ngSubmit",function(){v(e);let i=p();return M(i.submit())}),r(1,"section",19)(2,"h2",20),a(3,"Persoana pentru care solici\u021Bi adeverin\u021Ba"),o(),r(4,"div",21)(5,"label",22)(6,"span"),a(7,"Tip adeverin\u021B\u0103 *"),o(),r(8,"select",23)(9,"option",24),a(10,"Elev"),o(),r(11,"option",25),a(12,"Mentor"),o()()(),r(13,"label",22)(14,"span"),a(15,"Numele complet al persoanei *"),o(),_(16,"input",26),h(17,gD,2,0,"small",27),o(),r(18,"label",22)(19,"span"),a(20,"Email solicitant *"),o(),_(21,"input",28),h(22,pD,2,0,"small",27),o(),r(23,"label",22)(24,"span"),a(25,"Telefon solicitant "),r(26,"em"),a(27,"op\u021Bional"),o()(),_(28,"input",29),o()()(),r(29,"section",30)(30,"h2",31),a(31,"Echip\u0103 \u0219i sezon"),o(),r(32,"div",21)(33,"label",22)(34,"span"),a(35,"Sezon *"),o(),r(36,"select",32)(37,"option",33),a(38,"Alege sezonul"),o(),h(39,uD,2,3,"option",34),r(40,"option",35),a(41,"Alt sezon"),o()(),h(42,_D,2,0,"small",27),o(),r(43,"label",22)(44,"span"),a(45,"Num\u0103r interna\u021Bional echip\u0103 *"),o(),r(46,"div",36)(47,"input",37),b("blur",function(){v(e);let i=p();return M(i.lookupTeam())}),o(),h(48,hD,3,3,"button",38),o(),h(49,CD,2,0,"small",27),o(),r(50,"label",22)(51,"span"),a(52,"Num\u0103r Rom\xE2nia "),r(53,"em"),a(54,"op\u021Bional, recomandat"),o()(),_(55,"input",39),o(),r(56,"label",22)(57,"span"),a(58,"Numele echipei *"),o(),_(59,"input",40),h(60,vD,2,0,"small",27),o(),r(61,"label",22)(62,"span"),a(63,"Institu\u021Bia de \xEEnv\u0103\u021B\u0103m\xE2nt/organiza\u021Bia "),h(64,MD,2,0,"ng-container",27),o(),_(65,"input",41),h(66,xD,2,0,"small",27),o()(),h(67,bD,2,3,"p",42)(68,yD,11,6,"div",43),o(),r(69,"section",44)(70,"h2",45),a(71,"Con\u021Binut propus"),o(),r(72,"label",46)(73,"span"),a(74,"Scopul adeverin\u021Bei (spre a servi la\u2026) *"),o(),_(75,"textarea",47),h(76,wD,2,0,"small",27),o(),r(77,"label",46)(78,"span"),a(79,"Informa\u021Bii \u0219i realiz\u0103ri care trebuie men\u02
1561Bionate *"),o(),_(80,"textarea",48),h(81,SD,2,0,"small",27),o()(),r(82,"div",49)(83,"label"),a(84,"Nu completa acest c\xE2mp"),_(85,"input",50),o()(),r(86,"section",51),_(87,"div",52,0),r(89,"button",53),h(90,ED,1,0,"i",54)(91,TD,1,0,"i",55),a(92),o()()()}if(t&2){let e=p();m("formGroup",e.form),c(16),I("invalid",e.hasError("fullName")),c(),m("ngIf",e.hasError("fullName")),c(4),I("invalid",e.hasError("email")),c(),m("ngIf",e.hasError("email")),c(14),I("invalid",e.hasError("seasonId")),c(),m("ngValue",null),c(2),m("ngForOf",e.seasons),c(),m("ngValue",0),c(2),m("ngIf",e.hasError("seasonId")),c(5),I("invalid",e.hasError("internationalNumber")),c(),m("ngIf",!e.isCustomSeason),c(),m("ngIf",e.hasError("internationalNumber")),c(10),I("invalid",e.hasError("teamName")),c(),m("ngIf",e.hasError("teamName")),c(4),m("ngIf",e.isCustomSeason),c(),I("invalid",e.hasError("institution")),c(),m("ngIf",e.hasError("institution")),c(),m("ngIf",e.teamMessage),c(),m("ngIf",e.isCustomSeason),c(7),I("invalid",e.hasError("purpose")),c(),m("ngIf",e.hasError("purpose")),c(4),I("invalid",e.hasError("achievements")),c(),m("ngIf",e.hasError("achievements")),c(8),m("disabled",e.submitting||!e.turnstileSiteKey),c(),m("ngIf",!e.submitting),c(),m("ngIf",e.submitting),c(),w(" ",e.submitting?"Se trimite...":"Trimite solicitarea"," ")}}var a_=(()=>{class t{constructor(e,n){this.fb=e,this.certificateRequests=n,this.form=this.fb.group({certificateType:["ELEV",N.required],fullName:["",[N.required,N.minLength(2),N.maxLength(160)]],email:["",[N.required,N.email]],phone:["",N.maxLength(40)],internationalNumber:["",[N.required,N.pattern(/^\d{1,12}$/)]],romanianNumber:["",N.maxLength(40)],teamName:["",[N.required,N.minLength(2),N.maxLength(160)]],institution:[""],seasonId:[null,N.required],customSeasonName:[""],customSeasonInterval:[""],purpose:["",[N.required,N.minLength(3),N.maxLength(2e3)]],achievements:["",[N.required,N.minLength(3),N.maxLength(5e3)]],website:[""]}),this.seasons=[],this.loading=!0,this.submitting=!1,this.lookingUpTeam=!1,this.teamVerified=!1,this.teamMessage="",this.errorMessage="",this.successId="",this.isCustomSeason=!1,this.destroyed$=new yn,this.turnstileSiteKey="",this.turnstileToken="",this.viewReady=!1,this.idempotencyKey=this.newIdempotencyKey()}ngOnInit(){this.form.controls.seasonId.valueChanges.pipe(mi(this.destroyed$)).subscribe(e=>{this.isCustomSeason=e===0,this.updateCustomSeasonValidators(),this.teamVerified=!1,this.teamMessage="",!this.isCustomSeason&&e&&this.form.controls.internationalNumber.valid&&this.lookupTeam()}),this.form.controls.internationalNumber.valueChanges.pipe(mi(this.destroyed$)).subscribe(()=>{this.teamVerified=!1,this.teamMessage=""}),this.certificateRequests.getSeasons().subscribe({next:e=>{this.seasons=e.message||[],this.loading=!1},error:()=>{this.errorMessage="Nu am putut \xEEnc\u0103rca sezoanele. Re\xEEncerca\u021Bi.",this.loading=!1}}),this.certificateRequests.getPublicConfig().subscribe({next:e=>{if(this.turnstileSiteKey=e.message.turnstileSiteKey,!this.turnstileSiteKey){this.errorMessage="Formularul nu este disponibil momentan.";return}this.loadTurnstile()},error:()=>this.errorMessage="Verificarea anti-spam nu poate fi \xEEnc\u0103rcat\u0103."})}ngAfterViewInit(){this.viewReady=!0,this.renderTurnstile()}ngOnDestroy(){this.turnstileWidgetId&&window.turnstile&&window.turnstile.remove(this.turnstileWidgetId),this.destroyed$.next(),this.destroyed$.complete()}lookupTeam(){let e=this.form.controls.seasonId.value,n=this.form.controls.internationalNumber.value?.trim()||"";!e||e===0||!/^\d{1,12}$/.test(n)||(this.lookingUpTeam=!0,this.teamVerified=!1,this.teamMessage="",this.certificateRequests.lookupTeam(e,n).subscribe({next:i=>{this.form.patchValue({teamName:i.message.name,romanianNumber:i.message.romanianNumber,institution:i.message.school||""}),this.teamVerified=!0,this.teamMessage="Echipa a fost identificat\u0103. Valorile oficiale au fost completate automat \u0219i pot fi corectate.",this.lookingUpTeam=!1},error:()=>{this.teamMessage="Echipa nu a fost g\u0103sit\u0103 \xEEn sezonul selectat.",this.lookingUpTeam=!1}}
156))}submit(){if(this.errorMessage="",this.successId="",this.form.markAllAsTouched(),this.form.invalid){this.errorMessage="Verifica\u021Bi c\xE2mpurile marcate \u0219i completa\u021Bi informa\u021Biile obligatorii.";return}if(!this.isCustomSeason&&!this.teamVerified){this.errorMessage="Identifica\u021Bi o echip\u0103 valid\u0103 pentru sezonul selectat.",this.lookupTeam();return}if(!this.turnstileToken){this.errorMessage="Finaliza\u021Bi verificarea anti-spam.";return}let e=this.form.getRawValue(),n={certificateType:e.certificateType,fullName:e.fullName.trim(),email:e.email.trim(),phone:e.phone?.trim()||void 0,internationalNumber:e.internationalNumber.trim(),romanianNumber:e.romanianNumber?.trim()||void 0,teamName:e.teamName.trim(),institution:e.institution?.trim()||void 0,seasonId:this.isCustomSeason?void 0:e.seasonId||void 0,customSeasonName:this.isCustomSeason?e.customSeasonName?.trim():void 0,customSeasonInterval:this.isCustomSeason?e.customSeasonInterval?.trim():void 0,purpose:e.purpose.trim(),achievements:e.achievements.trim(),turnstileToken:this.turnstileToken,website:e.website||void 0};this.submitting=!0,this.certificateRequests.submit(n,this.idempotencyKey).subscribe({next:i=>{this.successId=i.message.publicId,this.submitting=!1,this.idempotencyKey=this.newIdempotencyKey(),this.form.reset({certificateType:"ELEV",seasonId:null,website:""}),this.teamVerified=!1,this.resetTurnstile(),window.scrollTo({top:0,behavior:"smooth"})},error:i=>{this.errorMessage=i?.error?.message?.message||i?.error?.message||"Cererea nu a putut fi trimis\u0103. Re\xEEncerca\u021Bi.",this.submitting=!1,this.resetTurnstile()}})}hasError(e){let n=this.form.controls[e];return n.invalid&&(n.dirty||n.touched)}updateCustomSeasonValidators(){let e=this.form.controls.customSeasonName,n=this.form.controls.customSeasonInterval,i=this.form.controls.institution;i.setValue(""),this.isCustomSeason?(e.setValidators([N.required,N.minLength(2),N.maxLength(120)]),n.setValidators([N.required,N.pattern(/^\d{4}-\d{4}$/)]),i.setValidators([N.required,N.minLength(2),N.maxLength(200)])):(e.clearValidators(),n.clearValidators(),e.setValue(""),n.setValue(""),i.clearValidators()),e.updateValueAndValidity(),n.updateValueAndValidity(),i.updateValueAndValidity()}loadTurnstile(){if(window.turnstile){this.renderTurnstile();return}let e=document.getElementById("cloudflare-turnstile-script");
156if(e){e.addEventListener("load",()=>this.renderTurnstile(),{once:!0});return}let n=document.createElement("script");n.id="cloudflare-turnstile-script",n.src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",n.async=!0,n.defer=!0,n.onload=()=>this.renderTurnstile(),n.onerror=()=>this.errorMessage="Verificarea anti-spam nu poate fi \xEEnc\u0103rcat\u0103.",document.head.appendChild(n)}renderTurnstile(){!this.viewReady||!this.turnstileSiteKey||!this.turnstileContainer||!window.turnstile||this.turnstileWidgetId||(this.turnstileWidgetId=window.turnstile.render(this.turnstileContainer.nativeElement,{sitekey:this.turnstileSiteKey,action:"certificate_request",language:"ro",callback:e=>this.turnstileToken=e,"expired-callback":()=>this.turnstileToken="","error-callback":()=>{this.turnstileToken="",this.errorMessage="Verificarea anti-spam a \xEEnt\xE2mpinat o problem\u0103."}}))}resetTurnstile(){this.turnstileToken="",this.turnstileWidgetId&&window.turnstile&&window.turnstile.reset(this.turnstileWidgetId)}newIdempotencyKey(){return globalThis.crypto?.randomUUID?.()||`${Date.now()}_${Math.random().toString(36).slice(2)}`}static{this.\u0275fac=function(n){return new(n||t)(T(Ye),T(Go))}}static{this.\u0275cmp=V({type:t,selectors:[["app-request-student-certificate"]],viewQuery:function(n,i){if(n&1&&Pa(cD,5),n&2){let d;xo(d=bo())&&(i.turnstileContainer=d.first)}},standalone:!0,features:[B],decls:23,vars:4,consts:[["turnstileContainer",""],[1,"certificate-page"],[1,"certificate-shell"],[1,"page-header"],[1,"eyebrow"],["role","note",1,"notice","contact"],["aria-hidden","true",1,"fas","fa-envelope"],["href","mailto:[email protected]?subject=%5BSOLICITARE%20ADEVERINTA%5D%20Echipa%20Nume"],["class","notice success","role","status",4,"ngIf"],["class","notice error","role","alert",4,"ngIf"],["class","notice loading",4,"ngIf"],["class","certificate-form","novalidate","",3,"formGroup","ngSubmit",4,"ngIf"],["role","status",1,"notice","success"],["aria-hidden","true",1,"fas","fa-check-circle"],["role","alert",1,"notice","error"],["aria-hidden","true",1,"fas","fa-exclamation-circle"],[1,"notice","loading"],["aria-hidden","true",1,"fas","fa-spinner","fa-spin"],["novalidate","",1,"certificate-form",3,"ngSubmit","formGroup"],["aria-labelledby","person-title",1,"form-section"],["id","person-title"],[1,"form-grid"],[1,"field"],["formControlName","certificateType"],["value","ELEV"],["value","MENTOR"],["type","text","formControlName","fullName","autocomplete","name"],[4,"ngIf"],["type","email","formControlName","email","autocomplete","email"],["type","tel","formControlName","phone","autocomplete","tel"],["aria-labelledby","team-title",1,"form-section"],["id","team-title"],["formControlName","seasonId"],["disabled","",3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],[1,"input-action"],["type","text","inputmode","numeric","formControlName","internationalNumber",3,"blur"],["type","button",3,"disabled","click",4,"ngIf"],["type","text","formControlName","romanianNumber"],["type","text","formControlName","teamName"],["type","text","formControlName","institution","autocomplete","organization"],["class","team-message","aria-live","polite",3,"valid",4,"ngIf"],["class","form-grid custom-season",4,"ngIf"],["aria-labelledby","details-title",1,"form-section"],["id","details-title"],[1,"field","full"],["rows","4","formControlName","purpose","placeholder","Ex: spre a servi la dosarul de admitere..."],["rows","7","formControlName","achievements","placeholder","Ex: premiul ob\u021Binut, locul, etapa competi\u021Biei \u0219i calificarea rezultat\u0103."],["aria-hidden","true",1,"honeypot"],["type","text","formControlName","website","tabindex","-1","autocomplete","off"],[1,"form-footer"],["aria-label","Verificare anti-spam",1,"turnstile-container"],["type","submit",3,"disabled"],["class","fas fa-paper-plane","aria-hidden","true",4,"ngIf"],["class","fas fa-spinner fa-spin","aria-hidden","true",4,"ngIf"],["type","button",3,"click","disabled"],["aria-live","polite",1,"team-message"],[1,"form-grid","custom-season"],["type","text","formControlName","customSeasonName","placeholder","Ex: CENTERSTAGE"],["type","text","formControlName","customSeasonInterval","placeholder","2023-2024"],["aria-hidden","true",1,"fas","fa-paper-plane"]],template:function(n,i){n&1&&(r(0,"main",1)(1,"div",2)(2,"header",3)(3,"span",4),a(4,"Na\u021Bie Prin Educa\u021Bie"),o(),r(5,"h1"),a(6,"Solicit\u0103 o adeverin\u021B\u0103"),o(),r(7,"p"),a(8,"Completeaz\u0103 c\xE2te o cerere pentru fiecare persoan\u0103. Informa\u021Biile introduse sunt propuneri pentru adeverin\u021B\u0103 \u0219i vor fi verificate \xEEnainte de emitere."),o()(),r(9,"div",5),_(10,"i",6),r(11,"span"),a(12,"Pentru probleme sau cerin\u021Be speciale, scrie la "),r(13,"a",7),a(14,"[email protected]"),o(),a(15,", cu subiectul "),r(16,"strong"),a(17,"[CERERE ADEVER
156INTA] Echipa Nume"),o(),a(18,"."),o()(),h(19,lD,10,1,"div",8)(20,dD,4,1,"div",9)(21,mD,4,0,"div",10)(22,kD,93,36,"form",11),o()()),n&2&&(c(19),m("ngIf",i.successId),c(),m("ngIf",i.errorMessage),c(),m("ngIf",i.loading),c(),m("ngIf",!i.loading))},dependencies:[H,X,$,$e,Oe,fe,he,re,ue,ie,Pe,We,Ge],styles:[".certificate-page[_ngcontent-%COMP%]{background:#f4f7fb;min-height:100vh;padding:6rem 1.25rem 3rem}.certificate-shell[_ngcontent-%COMP%]{margin:0 auto;max-width:980px}.page-header[_ngcontent-%COMP%]{margin-bottom:2rem}.eyebrow[_ngcontent-%COMP%]{color:#0079a8;display:block;font-size:.88rem;font-weight:800;letter-spacing:.05em;margin-bottom:.45rem;text-transform:uppercase}h1[_ngcontent-%COMP%]{color:#102033;font-size:clamp(2rem,5vw,2.7rem);line-height:1.1;margin:0 0 .75rem}.page-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#506174;line-height:1.65;margin:0;max-width:780px}.notice[_ngcontent-%COMP%]{align-items:flex-start;border:1px solid;border-radius:9px;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem 1.15rem}.notice[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], .notice[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block}.notice.success[_ngcontent-%COMP%]{background:#e9f7ee;border-color:#b7dec4;color:#176535}.notice.error[_ngcontent-%COMP%]{background:#fff0f0;border-color:#efbcbc;color:#982d2d}.notice.loading[_ngcontent-%COMP%]{background:#edf7fb;border-color:#b9dce9;color:#18556e}.notice.contact[_ngcontent-%COMP%]{background:#fff8e8;border-color:#efd69d;color:#705116}.notice.contact[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:inherit;font-weight:800}.certificate-form[_ngcontent-%COMP%]{background:#fff;border:1px solid #dfe6ef;border-radius:10px;box-shadow:0 12px 35px #10203314;overflow:hidden}.form-section[_ngcontent-%COMP%]{border-bottom:1px solid #e5ebf2;padding:1.75rem}.form-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#102033;font-size:1.25rem;margin:0 0 1.2rem}.form-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.custom-season[_ngcontent-%COMP%]{background:#f7fafc;border-radius:8px;margin-top:1rem;padding:1rem}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.45rem}.field.full[_ngcontent-%COMP%] + .field.full[_ngcontent-%COMP%]{margin-top:1rem}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#2b3b4f;font-weight:750}.field[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{color:#687789;font-size:.85rem;font-style:normal;font-weight:500}input[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{background:#fff;border:1px solid #cbd6e2;border-radius:6px;box-sizing:border-box;color:#102033;font:inherit;padding:.78rem .85rem;width:100%}textarea[_ngcontent-%COMP%]{line-height:1.5;resize:vertical}input[_ngcontent-%COMP%]:focus, select[_ngcontent-%COMP%]:focus, textarea[_ngcontent-%COMP%]:focus{border-color:#0079a8;box-shadow:0 0 0 3px #0079a824;outline:none}.invalid[_ngcontent-%COMP%]{border-color:#c83d3d}.field[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#a13333}.input-action[_ngcontent-%COMP%]{display:flex;gap:.5rem}.input-action[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#eef7fa;border:1px solid #9cc9da;border-radius:6px;color:#075d7d;cursor:pointer;font-weight:700;min-width:105px;padding:0 .8rem}.input-action[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{cursor:wait;opacity:.7}.team-message[_ngcontent-%COMP%]{background:#fff4dc;border-radius:6px;color:#875600;margin:1rem 0 0;padding:.75rem 1rem}.team-message.valid[_ngcontent-%COMP%]{background:#e9f7ee;color:#176535}.honeypot[_ngcontent-%COMP%]{display:none}.form-footer[_ngcontent-%COMP%]{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem 1.75rem}.turnstile-container[_ngcontent-%COMP%]{min-height:65px}.form-footer[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{align-items:center;background:#0079a8;border:0;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:.55rem;min-height:46px;padding:.8rem 1.25rem}.form-footer[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:disabled{background:#8aa7b6;cursor:not-allowed}@media (max-width: 720px){.certificate-page[_ngcontent-%COMP%]{padding-top:4.5rem}.form-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.form-section[_ngcontent-%COMP%]{padding:1.25rem}.form-footer[_ngcontent-%COMP%]{align-items:stretch;flex-direction:column;padding:1.25rem}.form-footer[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-content:center;width:100%}.turnstile-container[_ngcontent-%COMP%]{overflow-x:auto}}"]})}}return t})();var ID=t=>["/meets",t];function FD(t,s){if(t&1&&(r(0,"option",20),a(1),o()),t&2){let e=s.$implicit,n=p(2);m("ngValue",e.id),c(),G("",e.seasonName,"",e.id===(n.currentSeason==null?null:n.currentSeason.id)?" (Curent)":"","")}}function DD(t,s){if(t&1){let e=E();r(0,"div",16)(1,"label",17),a(2,"Sezon"),o(),r(3,"select",18),z("ngModelChange",function(i){v(e);let d=p();return R(d.selectedSeasonId,i)||(d.selectedSeasonId=i),M(i)}),b("ngModelChange",function(){v(e);let i=p();return M(i.onSeasonChange())}),h(4,FD,2,3,"option",19),o()()}if(t&2){let e=p();c(3),D("ngModel",e.selectedSeasonId),c(),m("ngForOf",e.seasons)}}function RD(t,s){t&1&&(r(0,"a",21),a(1,"Creeaz\u0103 meet"),o())}function zD(t,s){if(t&1&&(r(0,"div",6)(1,"p"),a(2,"\xCEn acest sezon, o echip\u0103 poate avea cel mult "),r(3,"strong"),a(4),o(),a(5," care conteaz\u0103 \xEEn limita sezonier\u0103."),o(),r(6,"p")(7,"strong"),a(8),o()(),r(9,"p"),a(10),o(),r(11,"p"),a(12,"Dup\u0103 retragere, echipa nu se mai poate \xEEnscrie din nou la acela\u0219i meet. Un eveniment se poate desf\u0103\u0219ura doar cu minimum "),r(13,"strong"),a(14),o(),a(15),o()()),t&2){let e=p();c(4),w("",e.settings.maxMeetsPerTeam," particip\u0103ri"),c(4),O(e.spacingRuleLabel()),c(2),w("Retragerea este f\u0103r\u0103 verificare administrativ\u0103 p\xE2n\u0103 la ",e.settings.gracePeriodDays," zile \xEEnainte de meet. O retragere t\xE2rzie este penalizat\u0103 \u2014 evenimentul continu\u0103 s\u0103 conteze \xEEn limita de particip\u0103ri a sezonului, deci nu elibereaz\u0103 o participare pentru un alt meet."),c(4),w("",e.settings.minTeamsPerMeet," echipe"),c(),w(". Cererea pentru desf\u0103\u0219urare cu mai pu\u021Bine echipe trebuie trimis\u0103 motivat c\u0103tre NPE, prin Team Dashboard, cu minimum ",e.settings.reducedCapacityRequestDeadlineHours," ore \xEEnainte de eveniment. Dac\u0103 p\xE2n\u0103 la acest termen nu este trimis\u0103 o solicitare, evenimentul va fi anulat automat.")}}function ND(t,s){t&1&&(r(0,"p",6),a(1,"Regulile sezonului nu au putut fi \xEEnc\u0103rcate momentan."),o())}function AD(t,s){t&1&&(r(0,"div",22),a(1,"Se \xEEncarc\u0103 meeturile..."),o())}function LD(t,s){if(t&1&&(r(0,"div",23),a(1),o()),t&2){let e=p();c(),O(e.error)}}function VD(t,s){t&1&&(r(0,"div",22),a(1,"Nu exist\u0103 meeturi publice momentan."),o())}function BD(t,s){if(t&1&&(r(0,"option",35),a(1),o()),t&2){let e=s.$implicit;m("value",e.id),c(),O(e.name)}
156}function UD(t,s){if(t&1){let e=E();r(0,"section",24)(1,"label",25),a(2," Caut\u0103 meet, ora\u0219 sau organizator "),r(3,"input",26),z("ngModelChange",function(i){v(e);let d=p();return R(d.search,i)||(d.search=i),M(i)}),o()(),r(4,"label"),a(5," Regiune "),r(6,"select",27),z("ngModelChange",function(i){v(e);let d=p();return R(d.regionFilter,i)||(d.regionFilter=i),M(i)}),r(7,"option",28),a(8,"Toate regiunile"),o(),h(9,BD,2,2,"option",29),o()(),r(10,"label"),a(11," Perioad\u0103 "),r(12,"select",27),z("ngModelChange",function(i){v(e);let d=p();return R(d.periodFilter,i)||(d.periodFilter=i),M(i)}),r(13,"option",28),a(14,"Tot calendarul"),o(),r(15,"option",30),a(16,"Viitoare"),o(),r(17,"option",31),a(18,"Live / \xEEn desf\u0103\u0219urare"),o(),r(19,"option",32),a(20,"Trecute"),o()()(),r(21,"label",33)(22,"input",34),z("ngModelChange",function(i){v(e);let d=p();return R(d.spotsOnly,i)||(d.spotsOnly=i),M(i)}),o(),a(23," Doar meeturi cu locuri libere "),o()()}if(t&2){let e=p();c(3),D("ngModel",e.search),c(3),D("ngModel",e.regionFilter),c(3),m("ngForOf",e.regions()),c(3),D("ngModel",e.periodFilter),c(10),D("ngModel",e.spotsOnly)}}function jD(t,s){t&1&&(r(0,"div",22),a(1," Nu exist\u0103 meeturi care s\u0103 corespund\u0103 filtrelor selectate. "),o())}function qD(t,s){t&1&&(r(0,"span",55),a(1,"Anulat"),o())}function WD(t,s){if(t&1&&(r(0,"span",56),a(1),o()),t&2){let e=p().$implicit;c(),w("",e.availableSpots," locuri libere")}}function $D(t,s){t&1&&(r(0,"span",57),a(1,"\xCEnscrieri indisponibile"),o())}function HD(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p().$implicit;c(),w("FTC: ",e.eventCode,"")}}function GD(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=s.$implicit;c(),O(e.team==null?null:e.team.name)}}function ZD(t,s){if(t&1&&(r(0,"div",58)(1,"strong"),a(2,"Organizat de:"),o(),h(3,GD,2,1,"span",59),o()),t&2){let e=p().$implicit;c(3),m("ngForOf",e.organizers)}}function YD(t,s){if(t&1&&(r(0,"article",45)(1,"div",46)(2,"strong"),a(3),o(),r(4,"span"),a(5),o()(),r(6,"div",47)(7,"div",48)(8,"h4"),a(9),o(),h(10,qD,2,0,"span",49),o(),r(11,"p"),a(12),o(),r(13,"div",50)(14,"span"),a(15),o(),h(16,WD,2,1,"span",51)(17,$D,2,0,"span",52),r(18,"span"),a(19),o(),h(20,HD,2,1,"span",40),o(),h(21,ZD,4,1,"div",53),o(),r(22,"a",54),a(23,"Detalii"),o()()),t&2){let e=s.$implicit,n=p(4);I("cancelled",e.status==="cancelled"),c(3),O(n.formatDate(e.date)),c(2),O(e.city),c(4),O(e.name),c(),m("ngIf",e.status==="cancelled"),c(2),O(e.description),c(3),G("",e.registeredTeamsCount,"/",e.capacityTeams," echipe"),c(),m("ngIf",e.status!=="cancelled"),c(),m("ngIf",e.status==="cancelled"),c(2),w("",e.waitlistTeamsCount," waitlist"),c(),m("ngIf",e.eventCode),c(),m("ngIf",e.organizers.length),c(),m("routerLink",qi(15,ID,e.id))}}function KD(t,s){if(t&1&&(r(0,"section",42)(1,"h3"),a(2),o(),r(3,"div",43),h(4,YD,24,17,"article",44),o()()),t&2){let e=s.$implicit;c(2),O(e.name),c(2),m("ngForOf",e.meets)}}function QD(t,s){if(t&1&&(Me(0),h(1,KD,5,2,"section",41),xe()),t&2){let e=p().$implicit,n=p();c(),m("ngForOf",n.meetsByRegion(n.meetsForPeriod(e)))}}function JD(t,s){if(t&1){let e=E();r(0,"section",36)(1,"button",37),b("click",function(){let i=v(e).$implicit,d=p();return M(d.togglePeriod(i))}),r(2,"span",38),a(3,"\u2304"),o(),r(4,"span"),a(5),o(),r(6,"span",39),a(7),o()(),h(8,QD,2,1,"ng-container",40),o()}if(t&2){let e=s.$implicit,n=p();I("expanded",n.periodExpanded[e]),c(),ot("aria-expanded",n.periodExpanded[e]),c(4),O(n.periodLabel(e)),c(2),O(n.meetsForPeriod(e).length),c(),m("ngIf",n.periodExpanded[e])}}var s_=(()=>{class t{constructor(e,n){this.meetsService=e,this.seasonsService=n,this.meets=[],this.settings=null,this.seasons=[],this.currentSeason=null,this.leagueMeetsEnabled=!1,this.isLoading=!1,this.error="",this.search="",this.regionFilter="all",this.periodFilter="all",this.spotsOnly=!1,this.periods=["live","upcoming","past"],this.periodExpanded={past:!1,live:!0,upcoming:!0}}ngOnInit(){this.loadSeasons()}loadSeasons(){this.seasonsService.getAllSeasons().subscribe({next:e=>{this.seasons=e.message||[],this.seasonsService.getCurrentSeason().subscribe({next:n=>{this.currentSeason=n.message,this.selectedSeasonId=this.currentSeason?.id??this.seasons[0]?.id,this.currentSeason&&this.meetsService.getSeasonSettings(this.currentSeason.id).subscribe({next:i=>this.leagueMeetsEnabled=!!i.message?.leagueMeetsEnabled,error:()=>this.leagueMeetsEnabled=!1}),this.loadMeets()},error:()=>{this.selectedSeasonId=this.seasons[0]?.id,this.loadMeets()}})},error:()=>this.loadMeets()})}onSeasonChange(){this.loadMeets()}togglePeriod(e){this.periodExpanded[e]=!this.periodExpanded[e]}spacingRuleLabel(){return this.settings?this.settings.participationSpacingMode==="same_calendar_week"?"O echip\u0103 poate participa la maximum un meet \xEEn aceea\u0219i s\u0103pt\u0103m\xE2n\u0103 calendaristic\u0103 (luni\u2013duminic\u0103).":this.settings.minimumDaysBetweenParticipatingMeets>0?`\xCEntre dou\u0103 particip\u0103ri trebuie s\u0103 existe cel pu\u021Bin ${this.settings.minimumDaysBetweenParticipatingMeets} zile.`:"Nu este configurat un interval minim \xEEntre dou\u0103 particip\u0103ri.":""}loadMeets(){this.isLoading=!0,this.error="",this.meetsService.listPublicMeets(this.selectedSeasonId).subscribe({next:e=>{this.meets=e.message||[],this.isLoading=!1},error:e=>{this.error=e.error?.message||"Nu am putut \xEEnc\u0103rca meeturile.",this.isLoading=!1}}),this.meetsService.getSeasonSettings(this.selectedSeasonId).subscribe({next:e=>this.settings=e.message,error:()=>this.settings=null})}formatDate(e){return new Date(e).toLocaleDateString("ro-RO",{day:"2-digit",month:"long",year:"numeric"})}regions(){let e=new Map;
156return this.meets.forEach(n=>{n.hostRegion?.id&&n.hostRegion.name&&e.set(String(n.hostRegion.id),n.hostRegion.name)}),[...e.entries()].map(([n,i])=>({id:n,name:i})).sort((n,i)=>n.name.localeCompare(i.name,"ro"))}meetPeriod(e){let n=new Date(e.date),i=new Date(n);i.setHours(0,0,0,0);let d=new Date(n);d.setHours(23,59,59,999);let u=new Date;return u<i?"upcoming":u>d?"past":"live"}filteredMeets(){let e=this.search.trim().toLocaleLowerCase();return this.meets.filter(n=>{let i=n.organizers.map(k=>k.team?.name||"").join(" "),d=!e||[n.name,n.city,i].join(" ").toLocaleLowerCase().includes(e),u=this.regionFilter==="all"||String(n.hostRegionId)===this.regionFilter,x=this.periodFilter==="all"||this.meetPeriod(n)===this.periodFilter,y=!this.spotsOnly||n.status!=="cancelled"&&n.availableSpots>0;return d&&u&&x&&y})}meetsForPeriod(e){return this.filteredMeets().filter(n=>this.meetPeriod(n)===e)}meetsByRegion(e){let n=new Map;return e.forEach(i=>{let d=i.hostRegion?.name||"Regiune neprecizat\u0103";n.set(d,[...n.get(d)||[],i])}),[...n.entries()].sort(([i],[d])=>i.localeCompare(d,"ro")).map(([i,d])=>({name:i,meets:d}))}periodLabel(e){return{past:"Evenimente trecute",live:"Evenimente live / \xEEn desf\u0103\u0219urare",upcoming:"Evenimente viitoare"}[e]}static{this.\u0275fac=function(n){return new(n||t)(T(kn),T(Ve))}}static{this.\u0275cmp=V({type:t,selectors:[["app-meet-list"]],standalone:!0,features:[B],decls:68,vars:10,consts:[["settingsUnavailable",""],[1,"meets-page"],[1,"meets-header"],["class","season-selector",4,"ngIf"],["routerLink","/meets/create","class","primary-action",4,"ngIf"],["aria-label","Informa\u021Bii despre League Meets",1,"meet-faq"],[1,"faq-content"],["href","https://natieprineducatie-my.sharepoint.com/:w:/g/personal/alex_dragus_natie_ro/IQAn-qMCyWRrRaHoC0loMcXbAbRaVlz9iQyQwppICvVYYTw?e=ibPbna","target","_blank","rel","noopener noreferrer"],[1,"coming-soon"],["href","https://natieprineducatie-my.sharepoint.com/:w:/g/personal/alex_dragus_natie_ro/IQA-FZ35hTXNSbfHnObZRS8fAZfsfgslY2eD1UfA3gcdtrY","target","_blank","rel","noopener noreferrer"],["class","faq-content",4,"ngIf","ngIfElse"],["href","https://my.firstinspires.org/Dashboard/","target","_blank","rel","noopener"],["class","state",4,"ngIf"],["class","state error",4,"ngIf"],["class","filters","aria-label","Filtreaz\u0103 meeturile",4,"ngIf"],["class","period-section",3,"expanded",4,"ngFor","ngForOf"],[1,"season-selector"],["for","meet-season"],["id","meet-season",3,"ngModelChange","ngModel"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["routerLink","/meets/create",1,"primary-action"],[1,"state"],[1,"state","error"],["aria-label","Filtreaz\u0103 meeturile",1,"filters"],[1,"search-field"],["placeholder","De exemplu: Bucure\u0219ti sau numele echipei",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["value","all"],[3,"value",4,"ngFor","ngForOf"],["value","upcoming"],["value","live"],["value","past"],[1,"spots-filter"],["type","checkbox",3,"ngModelChange","ngModel"],[3,"value"],[1,"period-section"],["type","button",1,"period-toggle",3,"click"],["aria-hidden","true",1,"toggle-arrow"],[1,"period-count"],[4,"ngIf"],["class","region-section",4,"ngFor","ngForOf"],[1,"region-section"],[1,"meet-grid"],["class","meet-card",3,"cancelled",4,"ngFor","ngForOf"],[1,"meet-card"],[1,"date-box"],[1,"meet-copy"],[1,"title-row"],["class","cancelled-chip",4,"ngIf"],[1,"meta-list"],["class","spots",4,"ngIf"],["class","unavailable",4,"ngIf"],["class","organizers",4,"ngIf"],[1,"details-link",3,"routerLink"],[1,"cancelled-chip"],[1,"spots"],[1,"unavailable"],[1,"organizers"],[4,"ngFor","ngForOf"]],template:function(n,i){if(n&1&&(r(0,"main",1)(1,"section",2)(2,"h1"),a(3,"League Meets"),o(),h(4,DD,5,2,"div",3)(5,RD,2,0,"a",4),o(),r(6,"section",5)(7,"details")(8,"summary"),a(9,"Regulamentul complet League Meets"),o(),r(10,"div",6)(11,"p"),a(12," Consult\u0103 "),r(13,"a",7),a(14,"extrasul din Regulamentul NPE 2026\u20132027"),o(),a(15," dedicat League Meets. "),o()()(),r(16,"details")(17,"summary"),a(18,"Tutoriale pentru \xEEnscriere \u0219i organizare "),r(19,"span",8),a(20,"\xEEn cur\xE2nd"),o()(),r(21,"div",6)(22,"p"),a(23," Tutorialele vor fi publicate \xEEn cur\xE2nd. "),r(24,"a",9),a(25,"Acceseaz\u0103 documentul"),o(),a(26,". "),o()()(),r(27,"details")(28,"summary"),a(29,"Regulament organizare"),o(),h(30,zD,16,5,"div",10)(31,ND,2,0,"ng-template",null,0,Se),o(),r(33,"details")(34,"summary"),a(35,"Procedeu: cum aplic la un meet?"),o(),r(36,"div",6)(37,"p"),a(38,"Alege un eveniment viitor din lista de mai jos \u0219i intr\u0103 pe pagina sa de detalii. \xCEnscrierea se face dup\u0103 regula "),r(39,"strong"),a(40,"primul venit, primul servit"),o(),a(41,": completeaz\u0103 num\u0103rul estimat de persoane \u
1560219i, dac\u0103 este nevoie, note pentru organizatori, apoi apas\u0103 \u201E\xCEnscrie echipa\u201D."),o(),r(42,"p"),a(43,"Dac\u0103 nu mai sunt locuri, echipa intr\u0103 pe waitlist."),o()()(),r(44,"details")(45,"summary"),a(46,"Cum organizez un meet?"),o(),r(47,"div",6)(48,"p"),a(49,"Apas\u0103 \u201ECreeaz\u0103 meet\u201D, completeaz\u0103 detaliile necesare \u0219i selecteaz\u0103 co-organizatorii, dac\u0103 exist\u0103. Trimite meetul spre aprobare; el va ap\u0103rea apoi \xEEn dashboardul echipei. Schimbarea loca\u021Biei sau a datei evenimentului necesit\u0103 acceptul unui administrator NPE."),o(),r(50,"p")(51,"strong"),a(52,"Persoana principal\u0103 de contact trebuie s\u0103 aib\u0103 un cont pe "),r(53,"a",11),a(54,"FIRST Inspires"),o(),a(55,"; va primi rolul de Event Admin pe adresa de email furnizat\u0103 ca persoan\u0103 de contact."),o()(),r(56,"p"),a(57,"Un administrator poate aproba meetul sau poate solicita modific\u0103ri. Toate conturile echipelor organizatoare primesc email c\xE2nd sunt necesare modific\u0103ri, la aprobare, respingere sau anulare."),o(),r(58,"p"),a(59,"Un administrator va \xEEnscrie evenimentul \xEEn FTC Events dac\u0103 totul este \xEEn regul\u0103 \u0219i \xEEl va aproba atunci c\xE2nd evenimentul este postat pe FTC Events, este vizibil acolo \u0219i are cod de eveniment."),o(),r(60,"p"),a(61,"Detaliile meetului \u0219i echipele \xEEnscrise se gestioneaz\u0103 din Team Dashboard. Organizatorii primesc email la fiecare \xEEnscriere sau retragere, iar toate echipele participante sunt informate prin email dac\u0103 data meetului se schimb\u0103 sau meetul este anulat. Eliminarea unui participant necesit\u0103 motiv \xEEntemeiat \u0219i aprobarea unui administrator NPE."),o()()()(),h(62,AD,2,0,"div",12)(63,LD,2,1,"div",13)(64,VD,2,0,"div",12)(65,UD,24,5,"section",14)(66,jD,2,0,"div",12)(67,JD,9,6,"section",15),o()),n&2){let d=oe(32);c(4),m("ngIf",i.seasons.length),c(),m("ngIf",i.leagueMeetsEnabled),c(25),m("ngIf",i.settings)("ngIfElse",d),c(32),m("ngIf",i.isLoading),c(),m("ngIf",i.error),c(),m("ngIf",!i.isLoading&&!i.error&&i.meets.length===0),c(),m("ngIf",i.meets.length>0),c(),m("ngIf",!i.isLoading&&!i.error&&i.meets.length>0&&i.filteredMeets().length===0),c(),m("ngForOf",i.periods)}},dependencies:[H,X,$,se,fe,he,re,Pt,ue,ie,pe,Te],styles:[".meets-page[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:32px 20px 48px}.meets-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #f0f2f5}h1[_ngcontent-%COMP%]{margin:0;color:#111827;font-size:32px}.primary-action[_ngcontent-%COMP%], .details-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:6px;background:#111827;color:#fff;text-decoration:none;font-weight:700}.season-selector[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.season-selector[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#475569;font-size:12px;font-weight:800;text-transform:uppercase}.season-selector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{min-width:160px;border:0;background:transparent;color:#1e293b;font:inherit;font-weight:700}.meet-faq[_ngcontent-%COMP%]{display:grid;gap:10px;margin-bottom:28px}.meet-faq[_ngcontent-%COMP%] details[_ngcontent-%COMP%]{border:1px solid #e5e7eb;border-radius:8px;background:#fff}.meet-faq[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;color:#111827;font-size:18px;font-weight:800;padding:16px 18px}.meet-faq[_ngcontent-%COMP%] details[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{border-bottom:1px solid #e5e7eb}.faq-content[_ngcontent-%COMP%]{color:#4b5563;line-height:1.6;padding:4px 18px 16px}.faq-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:10px 0 0}.faq-content[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#1d4ed8;font-weight:700}.coming-soon[_ngcontent-%COMP%]{color:#64748b;font-size:13px;font-weight:700}
156.meet-grid[_ngcontent-%COMP%]{display:grid;gap:16px}.filters[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(160px,1fr)) auto;gap:14px;align-items:end;margin-bottom:28px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.filters[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:grid;gap:6px;color:#374151;font-size:14px;font-weight:700}.filters[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:not([type=checkbox]), .filters[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;min-height:40px;box-sizing:border-box;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font:inherit}.spots-filter[_ngcontent-%COMP%]{display:flex!important;align-items:center;gap:8px!important;min-height:40px;white-space:nowrap}.period-section[_ngcontent-%COMP%]{margin-top:18px;border-bottom:1px solid #e0e0e0}.period-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;gap:10px;padding:16px 4px;border:0;background:transparent;color:#111827;cursor:pointer;font:inherit;font-size:22px;font-weight:800;text-align:left}.period-toggle[_ngcontent-%COMP%]:hover{background:#f8f9fa}.toggle-arrow[_ngcontent-%COMP%]{font-size:26px;line-height:.7;transform:rotate(-90deg);transition:transform .2s ease}.period-section.expanded[_ngcontent-%COMP%] .toggle-arrow[_ngcontent-%COMP%]{transform:rotate(0)}.period-count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:999px;background:#f0f3f8;color:#465569;font-size:13px}.region-section[_ngcontent-%COMP%] + .region-section[_ngcontent-%COMP%]{margin-top:28px}.region-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 12px;color:#4b5563;font-size:16px}.meet-card[_ngcontent-%COMP%]{display:grid;grid-template-columns:180px 1fr auto;gap:20px;align-items:center;padding:18px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.meet-card.cancelled[_ngcontent-%COMP%]{border-color:#fecaca;background:snow}.date-box[_ngcontent-%COMP%]{display:grid;gap:6px;color:#111827}.meet-copy[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 8px;font-size:21px}.meet-copy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 12px;color:#4b5563}.meta-list[_ngcontent-%COMP%], .organizers[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px}.meta-list[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .organizers[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{padding:6px 10px;border-radius:999px;background:#f3f4f6;font-size:13px}.title-row[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.spots[_ngcontent-%COMP%]{background:#dcfce7!important;color:#166534;font-weight:800}.unavailable[_ngcontent-%COMP%], .cancelled-chip[_ngcontent-%COMP%]{background:#fee2e2!important;color:#991b1b;font-weight:800}.cancelled-chip[_ngcontent-%COMP%]{padding:5px 9px;border-radius:999px;font-size:13px}.organizers[_ngcontent-%COMP%]{align-items:center;margin-top:12px}.organizers[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#374151;font-size:13px}.organizers[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{background:#e0e7ff;color:#3730a3;font-weight:700}.state[_ngcontent-%COMP%]{padding:18px;border:1px solid #e5e7eb;border-radius:8px}.error[_ngcontent-%COMP%]{border-color:#fecaca;color:#b91c1c}@media (max-width: 760px){.filters[_ngcontent-%COMP%]{grid-template-columns:1fr}.page-header[_ngcontent-%COMP%], .meets-header[_ngcontent-%COMP%], .meet-card[_ngcontent-%COMP%]{display:block}.season-selector[_ngcontent-%COMP%]{margin-top:14px}.primary-action[_ngcontent-%COMP%], .details-link[_ngcontent-%COMP%]{margin-top:16px}}"]})}}return t})();function XD(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=p(3);c(),w("Motiv: ",e.meet.cancellationReason,"")}}function eR(t,s){if(t&1&&(r(0,"section",19)(1,"strong"),a(2,"Acest League Meet a fost anulat."),o(),h(3,XD,2,1,"span",14),o()),t&2){let e=p(2);c(3),m("ngIf",e.meet.cancellationReason)}}function tR(t,s){if(t&1&&(r(0,"div",20),a(1),o()),t&2){let e=p(2);I("error",e.messageType==="error"),c(),O(e.message)}}function nR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Descriere"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(2);c(4),O(e.meet.description)}}function iR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Ora de \xEEnceput"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(2);c(4),O(e.meet.startTime)}}function oR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Ora de finalizare"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(2);c(4),O(e.meet.completionTime)}}function rR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Regiune"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(2);c(4),O(e.meet.hostRegion==null?null:e.meet.hostRegion.name)}}function aR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Ora\u0219"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(2);c(4),O(e.meet.city)}}function sR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Jude\u021B"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(2);c(4),O(e.meet.county)}}function cR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Denumire loca\u021Bie"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(3);c(4),O(e.meet.venueName)}}function lR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Cod po\u0219tal loca\u021Bie"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(3);c(4),O(e.meet.venuePostalCode)}}function dR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Adres\u0103 loca\u021Bie"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(3);c(4),O(e.meet.venueAddress)}}function mR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Website loca\u021Bie"),o(),r(3,"dd")(4,"a",21),a(5),o()()()),t&2){let e=p(3);c(4),m("href",e.meet.venueWebsite,ae),c(),O(e.meet.venueWebsite)}}function gR(t,s){if(t&1&&(Me(0),r(1,"h2"),a(2,"Loca\u021Bie"),o(),r(3,"dl",13),h(4,cR,5,1,"div",14)(5,lR,5,1,"div",14)(6,dR,5,1,"div",14)(7,mR,6,2,"div",14),o(),xe()),t&2){let e=p(2);c(4),m("ngIf",e.meet.venueName),c(),m("ngIf",e.meet.venuePostalCode),c(),m("ngIf",e.meet.venueAddress),c(),m("ngIf",e.meet.venueWebsite)}}function pR(t,s){if(t&1&&(Me(0),r(1,"h2"),a(2,"Alte detalii logistice"),o(),r(3,"p"),a(4),o(),xe()),t&2){let e=p(2);c(4),O(e.meet.logisticsDetails)}}function uR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Nume, prenume"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(3);c(4),O(e.meet.primaryContactName)}}function _R(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Rol"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(3);c(4),O(e.meet.primaryContactRole)}}function fR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Email"),o(),r(3,"dd")(4,"a",22),a(5),o()()()),t&2){let e=p(3);c(4),m("href","mailto:"+e.meet.primaryContactEmail,ae),c(),O(e.meet.primaryContactEmail)}}function hR(t,s){if(t&1&&(r(0,"div")(1,"dt"),a(2,"Telefon"),o(),r(3,"dd"),a(4),o()()),t&2){let e=p(3);c(4),O(e.meet.primaryContactPhone)}}function CR(t,s){if(t&1&&(Me(0),r(1,"h2"),a(2,"Contact principal"),o(),r(3,"dl",13),h(4,uR,5,1,"div",14)(5,_R,5,1,"div",14)(6,fR,6,2,"div",14)(7,hR,5,1,"div",14),o(),xe()),t&2){let e=p(2);c(4),m("ngIf",e.meet.primaryContactName),c(),m("ngIf",e.meet.primaryContactRole),c(),m("ngIf",e.meet.primaryContactEmail),c(),m("ngIf",e.meet.primaryContactPhone)}}function vR(t,s){if(t&1&&(Me(0),r(1,"h2"),a(2,"Mesaj pentru participan\u021Bi"),o(),r(3,"p"),a(4),o(),xe()),t&2){let e=p(2);c(4),O(e.meet.participantMessage)}}function MR(t,s){if(t&1&&(r(0,"p")(1,"a",21),a(2,"Link Eveniment FTC Events"),o()()),t&2){let e=p(2);c(),m("href",e.meet.externalRegistrationLink,ae)}}function xR(t,s){if(t&1&&(r(0,"p"),a(1,"Cod FTC Events: "),r(2,"strong"),a(3),o()()),t&2){let e=p(2);c(3),O(e.meet.eventCode)}}function bR(t,s){if(t&1){let e=E();Me(0),r(1,"label"),a(2," Num\u0103r estimat de persoane "),r(3,"input",23),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.estimatedPeopleCount,i)||(d.estimatedPeopleCount=i),M(i)}),o()(),r(4,"label"),a(5," Note pentru organizatori "),r(6,"small"),a(7,"(op\u021Bional)"),o(),r(8,"textarea",24),z("ngModelChange",function(i){v(e);let d=p(3);
156return R(d.organizerNotes,i)||(d.organizerNotes=i),M(i)}),o()(),r(9,"fieldset",25)(10,"legend"),a(11,"Date de contact "),r(12,"small"),a(13,"(obligatorii, vizibile organizatorilor)"),o()(),r(14,"label"),a(15,"Nume persoan\u0103 contact"),r(16,"input",26),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.registrationContact.name,i)||(d.registrationContact.name=i),M(i)}),o()(),r(17,"label"),a(18,"Email"),r(19,"input",27),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.registrationContact.email,i)||(d.registrationContact.email=i),M(i)}),o()(),r(20,"label"),a(21,"Telefon"),r(22,"input",28),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.registrationContact.phone,i)||(d.registrationContact.phone=i),M(i)}),o()(),r(23,"label"),a(24,"Rol"),r(25,"select",26),z("ngModelChange",function(i){v(e);let d=p(3);return R(d.registrationContact.role,i)||(d.registrationContact.role=i),M(i)}),r(26,"option",29),a(27,"Selecteaz\u0103"),o(),r(28,"option",30),a(29,"Mentor"),o(),r(30,"option",31),a(31,"Elev"),o()()()(),r(32,"button",32),b("click",function(){v(e);let i=p(3);return M(i.register())}),a(33,"\xCEnscrie echipa"),o(),xe()}if(t&2){let e=p(3);c(3),D("ngModel",e.estimatedPeopleCount),c(5),D("ngModel",e.organizerNotes),c(8),D("ngModel",e.registrationContact.name),c(3),D("ngModel",e.registrationContact.email),c(3),D("ngModel",e.registrationContact.phone),c(3),D("ngModel",e.registrationContact.role),c(7),m("disabled",e.isSubmitting)}}function PR(t,s){if(t&1){let e=E();Me(0),r(1,"label"),a(2," Motiv retragere "),r(3,"small"),a(4,"(obligatoriu)"),o(),r(5,"textarea",33),z("ngModelChange",function(i){v(e);let d=p(4);return R(d.withdrawalReason,i)||(d.withdrawalReason=i),M(i)}),o()(),r(6,"button",34),b("click",function(){v(e);let i=p(4);return M(i.withdraw())}),a(7,"Renun\u021B\u0103 la \xEEnscriere"),o(),xe()}if(t&2){let e=p(4);c(5),D("ngModel",e.withdrawalReason),c(),m("disabled",e.isSubmitting||!e.withdrawalReason.trim())}}function OR(t,s){t&1&&(r(0,"p",36),a(1,"\xCEnscrierile \u0219i retragerile nu mai sunt disponibile pentru un meet live sau \xEEncheiat."),o())}function yR(t,s){t&1&&(r(0,"p",36),a(1,"Aceast\u0103 echip\u0103 nu mai poate face o nou\u0103 \xEEnscriere la acest meet."),o())}function wR(t,s){t&1&&(r(0,"p",36),a(1,"\xCEnscrierile nu sunt disponibile pentru acest meet."),o())}function SR(t,s){if(t&1&&h(0,OR,2,0,"p",35)(1,yR,2,0,"p",35)(2,wR,2,0,"p",35),t&2){let e=p(4);m("ngIf",!e.isParticipationOpen()),c(),m("ngIf",e.myRegistration),c(),m("ngIf",!e.myRegistration&&e.meet.status!=="approved"&&e.isParticipationOpen())}}function ER(t,s){if(t&1&&h(0,PR,8,2,"ng-container",15)(1,SR,3,3,"ng-template",null,3,Se),t&2){let e=oe(2),n=p(3);m("ngIf",n.canWithdraw())("ngIfElse",e)}}function TR(t,s){if(t&1&&(r(0,"div"),h(1,bR,34,7,"ng-container",15)(2,ER,3,2,"ng-template",null,2,Se),o()),t&2){let e=oe(3),n=p(2);c(),m("ngIf",n.canRegister())("ngIfElse",e)}}function kR(t,s){t&1&&(r(0,"p"),a(1,"Autentificarea cu un cont de echip\u0103 este necesar\u0103 pentru \xEEnscriere."),o(),r(2,"a",37),a(3,"Autentificare"),o())}function IR(t,s){if(t&1&&(r(0,"li"),a(1),o()),t&2){let e=s.$implicit;c(),O(e.team==null?null:e.team.name)}}function FR(t,s){if(t&1&&(r(0,"li"),a(1),o()),t&2){let e=s.$implicit;c(),O(e.team==null?null:e.team.name)}}function DR(t,s){if(t&1&&(r(0,"li"),a(1),o()),t&2){let e=s.$implicit;c(),G("#",e.waitlistPosition," ",e.team==null?null:e.team.name,"")}}function RR(t,s){if(t&1&&(r(0,"span"),a(1),o()),t&2){let e=s.$implicit;c(),G("",e.teamNumber," \xB7 ",e.nameFull,"")}}function zR(t,s){if(t&1&&(r(0,"section",38)(1,"h2"),a(2,"Date oficiale FTC Events"),o(),r(3,"div",39),h(4,RR,2,2,"span",17),o()()),t&2){let e=p(2);c(4),m("ngForOf",e.meet.officialFtcTeams)}}function NR(t,s){if(t&1&&(r(0,"main",5)(1,"a",6),a(2,"\xCEnapoi la meeturi"),o(),r(3,"section",7)(4,"div")(5,"p",8),a(6),o(),r(7,"h1"),a(8),o(),r(9,"p"),a(10),o()(),r(11,"div",9)(12,"strong"),a(13),o(),r(14,"span"),a(15,"echipe \xEEnscrise"),o(),r(16,"small"),a(17),o()()(),h(18,eR,4,1,"section",10)(19,tR,2,3,"div",11),r(20,"section",12)(21,"article")(22,"h2"),a(23,"Informa\u021Bii meet"),o(),r(24,"dl",13)(25,"div")(26,"dt"),a(27,"Denumire"),o(),r(28,"dd"),a(29),o()(),h(30,nR,5,1,"div",14)(31,iR,5,1,"div",14)(32,oR,5,1,"div",14)(33,rR,5,1,"div",14)(34,aR,5,1,"div",14)(35,sR,5,1,"div",14),r(36,"div")(37,"dt"),a(38,"Data meetului"),o(),r(39,"dd"),a(40),o()(),r(41,"div")(42,"dt"),a(43,"Num\u0103r maxim echipe"),o(),r(44,"dd"),a(45),o()()(),h(46,gR,8,4,"ng-container",14)(47,pR,5,1,"ng-container",14)(48,CR,8,4,"ng-container",14)(49,vR,5,1,"ng-container",14)(50,MR,3,1,"p",14)(51,xR,4,1,"p",14),o(),r(52,"aside")(53,"h2"),a(54),o(),h(55,TR,4,2,"div",15)(56,kR,4,0,"ng-template",null,1,Se),o()(),r(58,"section",16)(59,"article")(60,"h2"),a(61,"Organizatori"),o(),r(62,"ul"),h(63,IR,2,1,"li",17),o()(),r(64,"article")(65,"h2"),a(66,"Echipe \xEEnscrise"),o(),r(67,"ul"),h(68,FR,2,1,"li",17),o()(),r(69,"article")(70,"h2"),a(71,"Waitlist"),o(),r(72,"ul"),h(73,DR,2,2,"li",17),o()()(),h(74,zR,5,1,"section",18),o()),t&2){let e=oe(57),n=p();c(6),G("",n.meet.city," \xB7 ",n.formatDate(n.meet.date),""),c(2),O(n.meet.name),c(2),O(n.meet.description),c(3),G("",n.meet.registeredTeamsCount,"/",n.meet.capacityTeams,""),c(4),G("",n.meet.availableSpots," locuri libere \xB7 ",n.meet.waitlistTeamsCount," waitlist"),c(),m("ngIf",n.meet.status==="cancelled"),c(),m("ngIf",n.message),c(10),O(n.meet.name),c(),m("ngIf",n.meet.description),c(),m("ngIf",n.meet.startTime),c(),m("ngIf",n.meet.completionTime),c(),m("ngIf",n.meet.hostRegion==null?null:n.meet.hostRegion.name),c(),m("ngIf",n.meet.city),c(),m("ngIf",n.meet.county),c(5
156),O(n.formatDate(n.meet.date)),c(5),O(n.meet.capacityTeams),c(),m("ngIf",n.meet.venueConfirmed),c(),m("ngIf",n.meet.logisticsDetails),c(),m("ngIf",n.meet.primaryContactName||n.meet.primaryContactRole||n.meet.primaryContactEmail||n.meet.primaryContactPhone),c(),m("ngIf",n.meet.participantMessage),c(),m("ngIf",n.meet.externalRegistrationLink),c(),m("ngIf",n.meet.eventCode),c(3),O(n.registrationHeading()),c(),m("ngIf",(n.currentUser==null?null:n.currentUser.userType)==="TEAM")("ngIfElse",e),c(8),m("ngForOf",n.meet.organizers),c(5),m("ngForOf",n.registeredRegistrations()),c(5),m("ngForOf",n.waitlistedRegistrations()),c(),m("ngIf",n.meet.officialFtcTeams==null?null:n.meet.officialFtcTeams.length)}}function AR(t,s){t&1&&(r(0,"div",20),a(1,"Se \xEEncarc\u0103 meetul..."),o())}function LR(t,s){if(t&1&&(r(0,"div",42),a(1),o()),t&2){let e=p(2);c(),O(e.message)}}function VR(t,s){if(t&1&&(r(0,"main",5),h(1,AR,2,0,"div",40)(2,LR,2,1,"div",41),o()),t&2){let e=p();c(),m("ngIf",e.isLoading),c(),m("ngIf",e.message)}}var c_=(()=>{class t{constructor(e,n,i){this.route=e,this.meetsService=n,this.authService=i,this.meet=null,this.currentUser=null,this.estimatedPeopleCount=10,this.organizerNotes="",this.registrationContact={name:"",email:"",phone:"",role:""},this.withdrawalReason="",this.myRegistration=null,this.message="",this.messageType="success",this.isLoading=!1,this.isSubmitting=!1}ngOnInit(){this.authService.getLoggedInUser().subscribe(e=>{this.currentUser=e,this.loadMyRegistration()}),this.loadMeet()}loadMeet(){let e=Number(this.route.snapshot.paramMap.get("id"));this.isLoading=!0,this.meetsService.getMeet(e).subscribe({next:n=>{this.meet=n.message,this.isLoading=!1,this.loadMyRegistration()},error:n=>{this.messageType="error",this.message=n.error?.message||"Meetul nu a putut fi \xEEnc\u0103rcat.",this.isLoading=!1}})}register(){if(this.meet){if(!Number.isInteger(Number(this.estimatedPeopleCount))||Number(this.estimatedPeopleCount)<1){this.messageType="error",this.message="Introdu un num\u0103r estimat de persoane de cel pu\u021Bin 1.";return}if(!this.registrationContact.name.trim()||!this.registrationContact.email.trim()||!this.registrationContact.phone.trim()||!this.registrationContact.role){this.messageType="error",this.message="Completeaz\u0103 toate datele de contact obligatorii pentru \xEEnscriere.";return}window.confirm("Confirmi \xEEnscrierea echipei la acest meet?")&&(this.isSubmitting=!0,this.meetsService.register(this.meet.id,this.estimatedPeopleCount,this.organizerNotes,{name:this.registrationContact.name.trim(),email:this.registrationContact.email.trim(),phone:this.registrationContact.phone.trim(),role:this.registrationContact.role}).subscribe({next:e=>{this.messageType="success",this.message="\xCEnscrierea a fost salvat\u0103.",this.myRegistration=e.message,this.organizerNotes="",this.registrationContact={name:"",email:"",phone:"",role:""},this.isSubmitting=!1,this.loadMeet()},error:e=>{this.messageType="error",this.message=this.readableError(e,"Nu am putut salva \xEEnscrierea."),this.isSubmitting=!1}}))}}withdraw(){if(this.meet){if(!this.withdrawalReason.trim()){this.messageType="error",this.message="Completeaz\u0103 motivul retragerii \xEEnainte de a continua.";return}window.confirm("Confirmi retragerea? Dup\u0103 retragere, echipa nu se va mai putea \xEEnscrie din nou la acest meet.")&&(this.isSubmitting=!0,this.meetsService.withdraw(this.meet.id,this.withdrawalReason).subscribe({next:e=>{this.messageType="success",this.message="Retragerea a fost \xEEnregistrat\u0103.",this.myRegistration=e.message,this.withdrawalReason="",this.isSubmitting=!1,this.loadMeet()},error:e=>{this.messageType="error",this.message=this.readableError(e,"Nu am putut \xEEnregistra retragerea."),this.isSubmitting=!1}}))}}canRegister(){return!this.myRegistration&&this.meet?.status==="approved"&&this.isParticipationOpen()}canWithdraw(){return this.isParticipationOpen()&&(this.myRegistration?.status==="registered"||this.myRegistration?.status==="waitlisted")}registrationHeading(){return this.canWithdraw()?"Renun\u021B\u0103 la \xEEnscriere":this.isParticipationOpen()?"\xCEnscriere echip\u0103":"\xCEnscrieri indisponibile"}isParticipationOpen(){if(!this.meet)return!1;let e=new Date;e.setHours(0,0,0,0);let n=new Date(this.meet.date);return n.setHours(0,0,0,0),n>e}registeredRegistrations(){return(this.meet?.registrations||[]).filter(e=>e.status==="registered")}waitlistedRegistrations(){return(this.meet?.registrations||[]).filter(e=>e.status==="waitlisted")}loadMyRegistration(){!this.meet||this.currentUser?.userType!=="TEAM"||this.meetsService.getMyRegistration(this.meet.id).subscribe({next:e=>this.myRegistration=e.message,error:()=>this.myRegistration=null})}readableError(e,n){let i=e?.error?.message?.message??e?.error?.message,d=Array.isArray(i)?i.join(" "):i;
156return typeof d=="string"&&/already has a registration/i.test(d)?"Echipa are deja o \xEEnregistrare pentru acest meet \u0219i nu se poate \xEEnscrie din nou.":typeof d=="string"&&/participation limit reached/i.test(d)?"Echipa a atins num\u0103rul maxim de particip\u0103ri permis \xEEn acest sezon.":typeof d=="string"&&/not in the current season/i.test(d)?"Acest meet nu face parte din sezonul curent.":typeof d=="string"&&/only active teams/i.test(d)?"Doar echipele active \xEEn sezonul curent se pot \xEEnscrie la League Meets.":typeof d=="string"?d:n}formatDate(e){return new Date(e).toLocaleDateString("ro-RO",{day:"2-digit",month:"long",year:"numeric"})}static{this.\u0275fac=function(n){return new(n||t)(T(Je),T(kn),T(at))}}static{this.\u0275cmp=V({type:t,selectors:[["app-meet-detail"]],standalone:!0,features:[B],decls:3,vars:2,consts:[["stateTpl",""],["loginTpl",""],["registrationState",""],["noRegistrationActions",""],["class","meet-detail",4,"ngIf","ngIfElse"],[1,"meet-detail"],["routerLink","/meets",1,"back-link"],[1,"detail-header"],[1,"eyebrow"],[1,"capacity-panel"],["class","cancelled-banner","role","alert",4,"ngIf"],["class","message",3,"error",4,"ngIf"],[1,"detail-grid"],[1,"meet-info"],[4,"ngIf"],[4,"ngIf","ngIfElse"],[1,"lists"],[4,"ngFor","ngForOf"],["class","official",4,"ngIf"],["role","alert",1,"cancelled-banner"],[1,"message"],["target","_blank","rel","noopener",3,"href"],[3,"href"],["type","number","min","1","step","1","required","",3,"ngModelChange","ngModel"],["rows","4","placeholder","Detalii utile pentru organizatori.",3,"ngModelChange","ngModel"],[1,"registration-contact"],["required","",3,"ngModelChange","ngModel"],["type","email","required","",3,"ngModelChange","ngModel"],["type","tel","required","",3,"ngModelChange","ngModel"],["value","","disabled",""],["value","mentor"],["value","elev"],["type","button",3,"click","disabled"],["rows","3","placeholder","Explic\u0103 motivul retragerii.",3,"ngModelChange","ngModel"],["type","button",1,"withdraw",3,"click","disabled"],["class","registration-state",4,"ngIf"],[1,"registration-state"],["routerLink","/login"],[1,"official"],[1,"official-grid"],["class","message",4,"ngIf"],["class","message error",4,"ngIf"],[1,"message","error"]],template:function(n,i){if(n&1&&h(0,NR,75,32,"main",4)(1,VR,3,2,"ng-template",null,0,Se),n&2){let d=oe(2);m("ngIf",i.meet)("ngIfElse",d)}},dependencies:[H,X,$,se,fe,he,re,lt,ue,ie,Yt,yt,pe,Te],styles:[".meet-detail[_ngcontent-%COMP%]{max-width:1120px;margin:0 auto;padding:40px 20px}.back-link[_ngcontent-%COMP%]{color:#111827;font-weight:700}.detail-header[_ngcontent-%COMP%], .detail-grid[_ngcontent-%COMP%], .lists[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;margin-top:24px}.lists[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}h1[_ngcontent-%COMP%]{margin:0;font-size:40px}.eyebrow[_ngcontent-%COMP%]{margin:0 0 8px;color:#c9152e;font-weight:700}article[_ngcontent-%COMP%], aside[_ngcontent-%COMP%], .capacity-panel[_ngcontent-%COMP%], .message[_ngcontent-%COMP%], .official[_ngcontent-%COMP%]{border:1px solid #e5e7eb;border-radius:8px;padding:18px;background:#fff}.capacity-panel[_ngcontent-%COMP%]{display:grid;align-content:center;gap:6px}.capacity-panel[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:34px}label[_ngcontent-%COMP%]{display:grid;gap:6px;margin-bottom:12px;font-weight:700}input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:10px}button[_ngcontent-%COMP%]{width:100%;min-height:42px;border:0;border-radius:6px;background:#111827;color:#fff;font-weight:700;margin-bottom:16px}button.withdraw[_ngcontent-%COMP%]{background:#c9152e}button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.55}.message[_ngcontent-%COMP%]{margin-top:18px;color:#065f46}.message.error[_ngcontent-%COMP%]{border-color:#fecaca;color:#b91c1c}.registration-state[_ngcontent-%COMP%]{padding:12px;border-radius:6px;background:#f3f4f6;color:#374151}.cancelled-banner[_ngcontent-%COMP%]{display:grid;gap:6px;margin-top:18px;padding:18px;border:2px solid #b91c1c;border-radius:8px;background:#fff1f2;color:#991b1b}.official-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.meet-info[_ngcontent-%COMP%]{display:grid;gap:.7rem;margin:0}.meet-info[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:grid;gap:.15rem}.meet-info[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{color:#687588;font-size:.82rem;font-weight:700}.meet-info[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{color:#243041;margin:0;white-space:pre-line}.meet-info[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#465bc2;overflow-wrap:anywhere}.registration-contact[_ngcontent-%COMP%]{border:1px solid #dbe3ee;border-radius:7px;
156display:grid;gap:.65rem;margin:0 0 1rem;padding:.8rem}.registration-contact[_ngcontent-%COMP%] legend[_ngcontent-%COMP%]{color:#354154;font-weight:800;padding:0 .25rem}.registration-contact[_ngcontent-%COMP%] legend[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#687588;font-weight:500}@media (max-width: 820px){.detail-header[_ngcontent-%COMP%], .detail-grid[_ngcontent-%COMP%], .lists[_ngcontent-%COMP%]{grid-template-columns:1fr}}"]})}}return t})();function BR(t,s){if(t&1&&(r(0,"option",37),a(1),o()),t&2){let e=s.$implicit;m("ngValue",e.id),c(),O(e.name)}}function UR(t,s){t&1&&(r(0,"small"),a(1," Num\u0103rul maxim de echipe trebuie s\u0103 fie \xEEntre 12 \u0219i 20. "),o())}function jR(t,s){if(t&1){let e=E();r(0,"div",5)(1,"label"),a(2,"Denumire loca\u021Bie"),r(3,"input",38),z("ngModelChange",function(i){v(e);let d=p();return R(d.dto.venueName,i)||(d.dto.venueName=i),M(i)}),o()(),r(4,"label"),a(5,"Cod po\u0219tal loca\u021Bie"),r(6,"input",39),z("ngModelChange",function(i){v(e);let d=p();return R(d.dto.venuePostalCode,i)||(d.dto.venuePostalCode=i),M(i)}),o()(),r(7,"label"),a(8,"Adres\u0103 loca\u021Bie"),r(9,"textarea",40),z("ngModelChange",function(i){v(e);let d=p();return R(d.dto.venueAddress,i)||(d.dto.venueAddress=i),M(i)}),o()(),r(10,"label"),a(11,"Website loca\u021Bie "),r(12,"small"),a(13,"(op\u021Bional)"),o(),r(14,"input",41),z("ngModelChange",function(i){v(e);let d=p();return R(d.dto.venueWebsite,i)||(d.dto.venueWebsite=i),M(i)}),o()()()}if(t&2){let e=p();c(3),D("ngModel",e.dto.venueName),c(3),D("ngModel",e.dto.venuePostalCode),c(3),D("ngModel",e.dto.venueAddress),c(5),D("ngModel",e.dto.venueWebsite)}}function qR(t,s){t&1&&(r(0,"p"),a(1,"Se caut\u0103 echipele\u2026"),o())}function WR(t,s){if(t&1){let e=E();r(0,"button",42),b("click",function(){let i=v(e).$implicit,d=p();return M(d.addCoOrganizer(i))}),a(1),o()}if(t&2){let e=s.$implicit,n=p();m("disabled",n.dto.coOrganizerTeamIds.length>=n.maxCoOrganizers),c(),G(" ",e.name," \xB7 ",e.internationalNumber," ")}}function $R(t,s){if(t&1){let e=E();r(0,"span"),a(1),r(2,"button",45),b("click",function(){let i=v(e).$implicit,d=p(2);return M(d.removeCoOrganizer(i.id))}),a(3,"\xD7"),o()()}if(t&2){let e=s.$implicit;c(),G(" ",e.name," \xB7 ",e.internationalNumber," ")}}function HR(t,s){if(t&1&&(r(0,"div",43),h(1,$R,4,2,"span",44),o()),t&2){let e=p();c(),m("ngForOf",e.selectedCoOrganizerTeams)}}function GR(t,s){if(t&1&&(r(0,"div",46),a(1),o()),t&2){let e=p();I("error",e.messageType==="error"),c(),O(e.message)}}var l_=(()=>{class t{constructor(e,n,i,d){this.meetsService=e,this.teamsService=n,this.seasonRegionService=i,this.router=d,this.coOrganizerSearch="",this.coOrganizerResults=[],this.selectedCoOrganizerTeams=[],this.isSearchingCoOrganizers=!1,this.regions=[],this.maxOrganizerTeams=3,this.dto={name:"",city:"",hostRegionId:null,date:"",startTime:"",completionTime:"",capacityTeams:12,coOrganizerTeamIds:[],description:"",county:"",submissionContactName:"",submissionContactEmail:"",logisticsDetails:"",participantMessage:"",venueConfirmed:!1,venueName:"",venueAddress:"",venueWebsite:"",venuePostalCode:"",primaryContactName:"",primaryContactRole:"",primaryContactPhone:"",primaryContactEmail:"",additionalNotes:""},this.message="",this.messageType="success",this.isSaving=!1}ngOnInit(){this.seasonRegionService.getCurrentSeasonRegions().subscribe({next:e=>this.regions=e.message||[],error:()=>this.regions=[]}),this.meetsService.getSeasonSettings().subscribe({next:e=>this.maxOrganizerTeams=e.message?.maxOrganizerTeams??3,error:()=>this.maxOrganizerTeams=3})}searchCoOrganizers(e){let n=e.trim();if(!n){this.coOrganizerResults=[];return}this.isSearchingCoOrganizers=!0,this.teamsService.searchConfirmedTeamsFromCurrentSeason(n).subscribe({next:i=>{n===this.coOrganizerSearch.trim()&&(this.coOrganizerResults=(i.message||[]).filter(d=>!this.dto.coOrganizerTeamIds.includes(d.id)),this.isSearchingCoOrganizers=!1)},error:()=>{this.coOrganizerResults=[],this.isSearchingCoOrganizers=!1}})}addCoOrganizer(e){this.dto.coOrganizerTeamIds.length>=this.maxCoOrganizers||this.dto.coOrganizerTeamIds.includes(e.id)||(this.dto.coOrganizerTeamIds=[...this.dto.coOrganizerTeamIds,e.id],this.selectedCoOrganizerTeams=[...this.selectedCoOrganizerTeams,e],this.coOrganizerResults=this.coOrganizerResults.filter(n=>n.id!==e.id))}
156removeCoOrganizer(e){this.dto.coOrganizerTeamIds=this.dto.coOrganizerTeamIds.filter(n=>n!==e),this.selectedCoOrganizerTeams=this.selectedCoOrganizerTeams.filter(n=>n.id!==e)}get maxCoOrganizers(){return Math.max(0,this.maxOrganizerTeams-1)}save(){this.isSaving=!0,this.message="",this.meetsService.createMeet(this.dto).subscribe({next:e=>{this.messageType="success",this.message="Meetul a fost trimis spre aprobare.",this.isSaving=!1,this.router.navigate(["/dashboard"])},error:e=>{this.messageType="error",this.message=this.extractErrorMessage(e),this.isSaving=!1}})}extractErrorMessage(e){let n=e?.error?.message?.message??e?.error?.message;return Array.isArray(n)?n.join(" "):typeof n=="string"?n:"Nu am putut crea meetul."}static{this.\u0275fac=function(n){return new(n||t)(T(kn),T(Ne),T(ki),T(ke))}}static{this.\u0275cmp=V({type:t,selectors:[["app-meet-create"]],standalone:!0,features:[B],decls:97,vars:31,consts:[["meetForm","ngForm"],["capacityTeams","ngModel"],[1,"create-meet"],["routerLink","/meets",1,"back-link"],[3,"ngSubmit"],[1,"form-grid"],["name","name","required","",3,"ngModelChange","ngModel"],["name","hostRegionId","required","",3,"ngModelChange","ngModel"],["disabled","",3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],["name","city","required","",3,"ngModelChange","ngModel"],["name","county","required","",3,"ngModelChange","ngModel"],["type","date","name","date","required","",3,"ngModelChange","ngModel"],["type","number","min","12","max","20","name","capacityTeams","required","",3,"ngModelChange","ngModel"],[4,"ngIf"],["type","time","name","startTime",3,"ngModelChange","ngModel"],["type","time","name","completionTime",3,"ngModelChange","ngModel"],["rows","5","name","description","placeholder","Descrierea evenimentului \xEEn limba englez\u0103","required","",3,"ngModelChange","ngModel"],[1,"organizers"],["name","submissionContactName","required","",3,"ngModelChange","ngModel"],["type","email","name","submissionContactEmail","required","",3,"ngModelChange","ngModel"],["name","primaryContactName","required","",3,"ngModelChange","ngModel"],["name","primaryContactRole","placeholder","Mentor sau elev","required","",3,"ngModelChange","ngModel"],["type","tel","name","primaryContactPhone","required","",3,"ngModelChange","ngModel"],["type","email","name","primaryContactEmail","required","",3,"ngModelChange","ngModel"],[1,"public-contact-note"],[1,"venue-choice"],["type","checkbox","name","venueConfirmed",3,"ngModelChange","ngModel"],["class","form-grid",4,"ngIf"],["rows","4","name","additionalNotes",3,"ngModelChange","ngModel"],["rows","4","name","logisticsDetails",3,"ngModelChange","ngModel"],["rows","4","name","participantMessage",3,"ngModelChange","ngModel"],["name","coOrganizerSearch","placeholder","Caut\u0103 echip\u0103 dup\u0103 nume sau num\u0103r interna\u021Bional",3,"ngModelChange","ngModel","disabled"],["type","button","class","team-result",3,"disabled","click",4,"ngFor","ngForOf"],["class","selected-organizers",4,"ngIf"],["class","message",3,"error",4,"ngIf"],["type","submit",3,"disabled"],[3,"ngValue"],["name","venueName","required","",3,"ngModelChange","ngModel"],["name","venuePostalCode","required","",3,"ngModelChange","ngModel"],["rows","3","name","venueAddress","required","",3,"ngModelChange","ngModel"],["type","url","name","venueWebsite",3,"ngModelChange","ngModel"],["type","button",1,"team-result",3,"click","disabled"],[1,"selected-organizers"],[4,"ngFor","ngForOf"],["type","button","aria-label","Elimin\u0103 co-organizatorul",3,"click"],[1,"message"]],template:function(n,i){if(n&1){let d=E();r(0,"main",2)(1,"a",3),a(2,"\xCEnapoi la meeturi"),o(),r(3,"h1"),a(4,"Creeaz\u0103 League Meet"),o(),r(5,"form",4,0),b("ngSubmit",function(){return v(d),M(i.save())}),r(7,"div",5)(8,"label"),a(9," Nume meet "),r(10,"input",6),z("ngModelChange",function(x){return v(d),R(i.dto.name,x)||(i.dto.name=x),M(x)}),o()(),r(11,"label"),a(12," Regiunea ora\u0219ului gazd\u0103 "),r(13,"select",7),z("ngModelChange",function(x){return v(d),R(i.dto.hostRegionId,x)||(i.dto.hostRegionId=x),M(x)}),r(14,"option",8),a(15,"Selecteaz\u0103 regiunea"),o(),h(16,BR,2,2,"option",9),o()(),r(17,"label"),a(18," Ora\u0219 "),r(19,"input",10),z("ngModelChange",function(x){return v(
156d),R(i.dto.city,x)||(i.dto.city=x),M(x)}),o()(),r(20,"label"),a(21," Jude\u021B "),r(22,"input",11),z("ngModelChange",function(x){return v(d),R(i.dto.county,x)||(i.dto.county=x),M(x)}),o()(),r(23,"label"),a(24," Data meetului "),r(25,"input",12),z("ngModelChange",function(x){return v(d),R(i.dto.date,x)||(i.dto.date=x),M(x)}),o()(),r(26,"label"),a(27," Num\u0103r maxim echipe "),r(28,"input",13,1),z("ngModelChange",function(x){return v(d),R(i.dto.capacityTeams,x)||(i.dto.capacityTeams=x),M(x)}),o(),h(30,UR,2,0,"small",14),o(),r(31,"label"),a(32," Ora de \xEEnceput "),r(33,"small"),a(34,"(op\u021Bional)"),o(),r(35,"input",15),z("ngModelChange",function(x){return v(d),R(i.dto.startTime,x)||(i.dto.startTime=x),M(x)}),o()(),r(36,"label"),a(37," Ora de finalizare "),r(38,"small"),a(39,"(op\u021Bional)"),o(),r(40,"input",16),z("ngModelChange",function(x){return v(d),R(i.dto.completionTime,x)||(i.dto.completionTime=x),M(x)}),o()()(),r(41,"label"),a(42," Descriere "),r(43,"textarea",17),z("ngModelChange",function(x){return v(d),R(i.dto.description,x)||(i.dto.description=x),M(x)}),o()(),r(44,"section",18)(45,"h2"),a(46,"Date de contact \u0219i loca\u021Bie"),o(),r(47,"div",5)(48,"label"),a(49,"Nume persoan\u0103 care completeaz\u0103 formularul"),r(50,"input",19),z("ngModelChange",function(x){return v(d),R(i.dto.submissionContactName,x)||(i.dto.submissionContactName=x),M(x)}),o()(),r(51,"label"),a(52,"Email persoan\u0103 care completeaz\u0103 formularul"),r(53,"input",20),z("ngModelChange",function(x){return v(d),R(i.dto.submissionContactEmail,x)||(i.dto.submissionContactEmail=x),M(x)}),o()(),r(54,"label"),a(55,"Nume, prenume contact principal"),r(56,"input",21),z("ngModelChange",function(x){return v(d),R(i.dto.primaryContactName,x)||(i.dto.primaryContactName=x),M(x)}),o()(),r(57,"label"),a(58,"Rol contact principal"),r(59,"input",22),z("ngModelChange",function(x){return v(d),R(i.dto.primaryContactRole,x)||(i.dto.primaryContactRole=x),M(x)}),o()(),r(60,"label"),a(61,"Telefon contact principal"),r(62,"input",23),z("ngModelChange",function(x){return v(d),R(i.dto.primaryContactPhone,x)||(i.dto.primaryContactPhone=x),M(x)}),o()(),r(63,"label"),a(64,"Email contact principal"),r(65,"input",24),z("ngModelChange",function(x){return v(d),R(i.dto.primaryContactEmail,x)||(i.dto.primaryContactEmail=x),M(x)}),o()()(),r(66,"p",25),a(67,"Datele persoanei principale de contact vor fi afi\u0219ate pe pagina public\u0103 a meetului."),o(),r(68,"label",26)(69,"input",27),z("ngModelChange",function(x){return v(d),R(i.dto.venueConfirmed,x)||(i.dto.venueConfirmed=x),M(x)}),o(),a(70," Loca\u021Bia este stabilit\u0103?"),o(),h(71,jR,15,4,"div",28),o(),r(72,"label"),a(73," Alte men\u021Biuni "),r(74,"small"),a(75,"(op\u021Bional)"),o(),r(76,"textarea",29),z("ngModelChange",function(x){return v(d),R(i.dto.additionalNotes,x)||(i.dto.additionalNotes=x),M(x)}),o()(),r(77,"label"),a(78," Loca\u021Bie \u0219i alte detalii logistice "),r(79,"textarea",30),z("ngModelChange",function(x){return v(d),R(i.dto.logisticsDetails,x)||(i.dto.logisticsDetails=x),M(x)}),o()(),r(80,"label"),a(81," Mesaj pentru participan\u021Bi "),r(82,"small"),a(83,"(op\u021Bional)"),o(),r(84,"textarea",31),z("ngModelChange",function(x){return v(d),R(i.dto.participantMessage,x)||(i.dto.participantMessage=x),M(x)}),o()(),r(85,"section",18)(86,"h2"),a(87,"Co-organizatori"),o(),r(88,"p"),a(89),o(),r(90,"input",32),z("ngModelChange",function(x){return v(d),R(i.coOrganizerSearch,x)||(i.coOrganizerSearch=x),M(x)}),b("ngModelChange",function(x){return v(d),M(i.searchCoOrganizers(x))}),o(),h(91,qR,2,0,"p",14)(92,WR,2,3,"button",33)(93,HR,2,1,"div",34),o(),h(94,GR,2,3,"div",35),r(95,"button",36),a(96,"Trimite spre aprobare"),o()()()}if(n&2){let d=oe(6),u=oe(29);c(10),D("ngModel",i.dto.name),c(3),D("ngModel",i.dto.hostRegionId),c(),m("ngValue",null),c(2),m("ngForOf",i.regions),c(3),D("ngModel",i.dto.city),c(3),D("ngModel",i.dto.county),c(3),D("ngModel",i.dto.date),c(3),D("ngModel",i.dto.capacityTeams),c(2),m("ngIf",u.invalid&&(u.dirty||u.touched)),c(5),D("ngModel",i.dto.startTime),c(5),D("ngModel",i.dto.completionTime),c(3),D("ngModel",i.dto.description),c(7),D("ngModel",i.dto.submissionContactName),c(3),D("ngModel",i.dto.submissionContactEmail),c(3),D("ngModel",i.dto.primaryContactName),c(3),D("ngModel",i.dto.primaryContactRole),c(3),D("ngModel",i.dto.primaryContactPhone),c(3),D("ngModel",i.dto.primaryContactEmail),c(4),D("ngModel",i.dto.venueConfirmed),c(2),m("ngIf",i.dto.venueConfirmed),c(5),D("ngModel",i.dto.additionalNotes),c(3),D("ngModel",i.dto.logisticsDetails),c(5),D("ngModel",i.dto.participantMessage),c(5),w("Selecteaz\u0103 p\xE2n\u0103 la ",i.maxCoOrganizers," echipe co-organizatoare. Echipa ta este organizator principal automat."),c(),D("ngModel",i.coOrganizerSearch),m("disabled",i.dto.coOrganizerTeamIds.length>=i.maxCoOrganizers),c(),m("ngIf",i.isSearchingCoOrganizers),c(),m("ngForOf",i.coOrganizerResults),c(),m("ngIf",i.dto.coOrganizerTeamIds.length),c(),m("ngIf",i.message),c(),m("disabled",d.invalid||i.isSaving)}},dependencies:[H,X,$,se,Oe,fe,he,re,lt,Pt,ue,ie,Pe,Yt,yt,ti,pe,Ot,Te],styles:[".create-meet[_ngcontent-%COMP%]{max-width:920px;margin:0 auto;padding:40px 20px}h1[_ngcontent-%COMP%]{margin:16px 0 24px}form[_ngcontent-%COMP%], .organizers[_ngcontent-%COMP%]{display:grid;gap:16px}form[_ngcontent-%COMP%]{padding:24px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label[_ngcontent-%COMP%]{display:grid;gap:6px;color:#374151;font-weight:700}label[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{color:#6b7280;font-weight:500}input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{box-sizing:border-box;width:100%;border:1px solid #d1d5db;border-radius:6px;padding:10px}input[_ngcontent-%COMP%]:focus, textarea[_ngcontent-%COMP%]:focus, select[_ngcontent-%COMP%]:focus{border-color:#596ed5;outline:3px solid rgba(89,110,213,.16)}.organizers[_ngcontent-%COMP%]{padding:20px;border:1px solid #e1e7ef;border-radius:10px;background:#f8fafc}.organizers[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .organizers[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.organizers[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#5f6b7a;line-height:1.45}.public-contact-note[_ngcontent-%COMP%]{background:#eef2ff;border:1px solid #d7defa;border-radius:8px;color:#4054ad!important;font-size:.9rem;padding:.75rem .85rem}.venue-choice[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-self:start;gap:10px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer}.venue-choice[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{width:18px;height:18px;margin:0;accent-color:#596ed5}.team-result[_ngcontent-%COMP%]{text-align:left;background:#f3f4f6;color:#111827;padding:10px}.selected-organizers[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px}.selected-organizers[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#e5e7eb;border-radius:16px}.selected-organizers[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{min-height:auto;padding:0;background:none;color:#111827}button[_ngcontent-%COMP%]{min-height:44px;border:0;border-radius:6px;background:#111827;color:#fff;font-weight:700}button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.6}.message[_ngcontent-%COMP%]{color:#065f46}.message.error[_ngcontent-%COMP%]{color:#b91c1c}@media (max-width: 760px){.create-meet[_ngcontent-%COMP%]{padding:24px 16px}form[_ngcontent-%COMP%]{padding:16px}.form-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}"]})}}return t})();var mt=t=>({seo:t}),oi=(t,s)=>
156mt({title:t,description:s,noIndex:!0}),d_=[{path:"",redirectTo:"/home",pathMatch:"full"},{path:"home",component:Vp,title:"Na\u021Bie Prin Educa\u021Bie | Educa\u021Bie STEAM \u0219i robotic\u0103 \xEEn Rom\xE2nia",data:mt({title:"Na\u021Bie Prin Educa\u021Bie | Educa\u021Bie STEAM \u0219i robotic\u0103 \xEEn Rom\xE2nia",description:"Na\u021Bie Prin Educa\u021Bie dezvolt\u0103 educa\u021Bia STEAM \xEEn Rom\xE2nia prin robotic\u0103, competi\u021Bii FIRST Tech Challenge \u0219i experien\u021Be practice pentru elevi.",image:"https://natie.ro/assets/social/home-preview.jpg",imageAlt:"Elevi Na\u021Bie Prin Educa\u021Bie la competi\u021Bii de robotic\u0103"})},{path:"about",component:Bp,title:"Despre Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Despre Na\u021Bie Prin Educa\u021Bie | Educa\u021Bie STEAM \xEEn Rom\xE2nia",description:"Afl\u0103 cum Na\u021Bie Prin Educa\u021Bie sus\u021Bine elevii, mentorii \u0219i profesorii prin programe de robotic\u0103 \u0219i educa\u021Bie STEAM \xEEn Rom\xE2nia."}),children:[{path:"",redirectTo:"natie-prin-educatie",pathMatch:"full"},{path:"natie-prin-educatie",component:Up,title:"Na\u021Bie Prin Educa\u021Bie | Despre program",data:mt({title:"Na\u021Bie Prin Educa\u021Bie | Despre program",description:"Na\u021Bie Prin Educa\u021Bie organizeaz\u0103 programul na\u021Bional de educa\u021Bie STEAM prin FIRST Tech Challenge Rom\xE2nia pentru liceeni."})},{path:"first-and-ftc",component:j0,title:"FIRST \u0219i FIRST Tech Challenge | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"FIRST \u0219i FIRST Tech Challenge | Na\u021Bie Prin Educa\u021Bie",description:"Descoper\u0103 programele FIRST \u0219i FIRST Tech Challenge, competi\u021Bia de robotic\u0103 unde elevii \xEEnva\u021B\u0103 prin proiectare, programare \u0219i lucru \xEEn echip\u0103."})},{path:"first-global",component:q0,title:"FIRST Global Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"FIRST Global Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Afl\u0103 despre participarea Rom\xE2niei la FIRST Global Challenge \u0219i despre echipele care reprezint\u0103 \u021Bara \xEEn competi\u021Bii interna\u021Bionale de robotic\u0103."})},{path:"contact-us",component:W0,title:"Contact | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Contact | Na\u021Bie Prin Educa\u021Bie",description:"Contacteaz\u0103 echipa Na\u021Bie Prin Educa\u021Bie pentru \xEEntreb\u0103ri despre FTC Rom\xE2nia, parteneriate, voluntariat \u0219i educa\u021Bie STEAM."})},{path:"volunteer",component:Z0,title:"Voluntariat FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Voluntariat FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Implic\u0103-te ca voluntar sau alumni \xEEn comunitatea FIRST Tech Challenge Rom\xE2nia \u0219i sprijin\u0103 elevii pasiona\u021Bi de robotic\u0103."})},{path:"results",component:B0,title:"Rezultate FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Rezultate FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Vezi impactul programului FIRST Tech Challenge Rom\xE2nia: echipe, elevi, licee, rezultate interna\u021Bionale \u0219i investi\u021Bii \xEEn educa\u021Bie."})},{path:"values",component:Y0,title:"Valori \u0219i siguran\u021B\u0103 | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Valori \u0219i siguran\u021B\u0103 | Na\u021Bie Prin Educa\u021Bie",description:"Principiile Na\u021Bie Prin Educa\u021Bie, Youth Protection, siguran\u021Ba elevilor \u0219i codul de conduit\u0103 pentru comunitatea FTC Rom\xE2nia."})},{path:"sponsors",component:Q0,title:"Parteneri \u0219i sponsori | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Parteneri \u0219i sponsori | Na\u021Bie Prin Educa\u021Bie",description:"Partenerii care sus\u021Bin Na\u021Bie Prin Educa\u021Bie \u0219i contribuie la dezvoltarea educa\u021Biei STEAM \u0219i a roboticii pentru elevii din Rom\xE2nia.",image:"https://natie.ro/assets/social/contribute-preview.jpg"})}]},{path:"resources",component:jp,title:"Resurse FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Resurse FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Materiale, ghiduri \u0219i resurse pentru echipele FIRST Tech Challenge Rom\xE2nia, mentori \u0219i profesori."}),children:[{path:"",redirectTo:"season-materials",pathMatch:"full"},{path:"season-materials",component:qp,title:"Materiale de sezon FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Materiale de sezon FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Regulamente, manuale, video-uri \u0219i documente oficiale pentru sezonul FIRST Tech Challenge Rom\xE2nia."})},{path:"team-resources",component:n_,title:"Resurse pentru echipe FTC | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Resurse pentru echipe FTC | Na\u021Bie Prin Educa\u021Bie",description:"Materiale de \xEEnv\u0103\u021Bare, documenta\u021Bie \u
1560219i ghiduri practice pentru echipele \u0219i mentorii FIRST Tech Challenge Rom\xE2nia."})},{path:"get-started",component:Wp,title:"Cum \xEEncepi o echip\u0103 FTC | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Cum \xEEncepi o echip\u0103 FTC | Na\u021Bie Prin Educa\u021Bie",description:"Pa\u0219ii pentru a \xEEncepe o echip\u0103 FIRST Tech Challenge \xEEn Rom\xE2nia: mentori, liceu afiliat, \xEEnscriere \u0219i resurse de pornire."})}]},{path:"get-started",redirectTo:"resources/get-started",pathMatch:"full"},{path:"judges",component:K0,title:"Jura\u021Bi FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Jura\u021Bi FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Informa\u021Bii pentru jura\u021Bii FIRST Tech Challenge Rom\xE2nia: calendar, materiale utile \u0219i formulare de \xEEnscriere."})},{path:"teams",component:F0,title:"Echipe FTC Rom\xE2nia | Hart\u0103 \u0219i list\u0103",data:mt({title:"Echipe FTC Rom\xE2nia | Hart\u0103 \u0219i list\u0103",description:"Exploreaz\u0103 harta \u0219i lista echipelor FIRST Tech Challenge din Rom\xE2nia, cu informa\u021Bii despre ora\u0219e, regiuni \u0219i afiliere."})},{path:"teams/00000",component:N0,title:"Mock echip\u0103 FTC | Na\u021Bie Prin Educa\u021Bie",data:oi("Mock echip\u0103 FTC | Na\u021Bie Prin Educa\u021Bie","Pagin\u0103 intern\u0103 de design pentru detaliile unei echipe FIRST Tech Challenge.")},{path:"teams/:internationalNumber",component:z0,title:"Detalii echip\u0103 FTC | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Detalii echip\u0103 FTC | Na\u021Bie Prin Educa\u021Bie",description:"Profil public de echip\u0103 FIRST Tech Challenge Rom\xE2nia, cu informa\u021Bii despre ora\u0219, liceu, sezon, mentori \u0219i sponsori."})},{path:"events",component:L0,title:"Evenimente FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Evenimente FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Calendarul evenimentelor FIRST Tech Challenge Rom\xE2nia: competi\u021Bii trecute, \xEEn desf\u0103\u0219urare \u0219i viitoare pentru echipele FTC."})},{path:"events/:ftcscoringeventid",component:V0,title:"Detalii eveniment FTC | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Detalii eveniment FTC | Na\u021Bie Prin Educa\u021Bie",description:"Detalii despre un eveniment FIRST Tech Challenge Rom\xE2nia: loca\u021Bie, echipe participante, program \u0219i parteneri."})},{path:"meets",component:s_,title:"Calendar meets FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Calendar meets FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Calendarul \xEEnt\xE2lnirilor \u0219i meet-urilor FIRST Tech Challenge Rom\xE2nia pentru echipele participante."})},{path:"meets/create",component:l_,canActivate:[md],title:"Creeaz\u0103 League Meet | Na\u021Bie Prin Educa\u021Bie",data:oi("Creeaz\u0103 League Meet | Na\u021Bie Prin Educa\u021Bie","Formular privat pentru echipe active care organizeaz\u0103 un League Meet FTC.")},{path:"meets/:id",component:c_,title:"Detalii League Meet FTC | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Detalii League Meet FTC | Na\u021Bie Prin Educa\u021Bie",description:"Detalii despre un League Meet FTC Rom\xE2nia: organizatori, capacitate, \xEEnscrieri \u0219i date oficiale FIRST."})},{path:"concursuri",component:U0,title:"Concursuri FIRST Tech Challenge Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Concursuri FIRST Tech Challenge Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Informa\u021Bii despre concursurile oficiale FIRST Tech Challenge Rom\xE2nia \u0219i sezoanele competi\u021Bionale."})},{path:"contribute",component:$0,title:"Sus\u021Bine educa\u021Bia STEAM | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Sus\u021Bine educa\u021Bia STEAM | Na\u021Bie Prin Educa\u021Bie",description:"Doneaz\u0103, sponsorizeaz\u0103 sau implic\u0103-te ca voluntar pentru a sus\u021Bine elevii din programul FIRST Tech Challenge Rom\xE2nia.",image:"https://natie.ro/assets/social/contribute-preview.jpg",imageAlt:"Elevi \u0219i voluntari la un eveniment Na\u021Bie Prin Educa\u021Bie"}),children:[{path:"companies",component:G0,title:"Sponsoriz\u0103ri pentru educa\u021Bie STEAM | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Sponsoriz\u0103ri pentru educa\u021Bie STEAM | Na\u021Bie Prin Educa\u021Bie",description:"Afl\u0103 cum companiile pot sus\u021Bine educa\u021Bia STEAM, echipele FTC Rom\xE2nia \u0219i investi\u021Biile \xEEn infrastru
156ctura \u0219colar\u0103.",image:"https://natie.ro/assets/social/contribute-preview.jpg"})}]},{path:"register-new-team",component:X0,title:"\xCEnregistrare echip\u0103 nou\u0103 | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"\xCEnregistrare echip\u0103 nou\u0103 | Na\u021Bie Prin Educa\u021Bie",description:"Trimite o cerere pentru \xEEnregistrarea unei echipe noi FIRST Tech Challenge Rom\xE2nia \xEEn platforma Na\u021Bie Prin Educa\u021Bie.",noIndex:!0})},{path:"request-student-certificate",component:a_,title:"Solicitare adeverin\u021B\u0103 | Na\u021Bie Prin Educa\u021Bie",data:oi("Solicitare adeverin\u021B\u0103 | Na\u021Bie Prin Educa\u021Bie","Formular public pentru solicitarea unei adeverin\u021Be de elev sau mentor.")},{path:"solicitare-adeverinta",redirectTo:"request-student-certificate",pathMatch:"full"},{path:"login",component:J0,title:"Autentificare | Na\u021Bie Prin Educa\u021Bie",data:oi("Autentificare | Na\u021Bie Prin Educa\u021Bie","Acces pentru echipele, mentorii \u0219i administratorii platformei Na\u021Bie Prin Educa\u021Bie.")},{path:"sso/shop/start",component:r_,title:"Conectare shop | Na\u021Bie Prin Educa\u021Bie",data:oi("Conectare shop | Na\u021Bie Prin Educa\u021Bie","Pagin\u0103 privat\u0103 pentru autentificarea \xEEn shop-ul Na\u021Bie Prin Educa\u021Bie.")},{path:"forgot-password",component:eu,title:"Recuperare parol\u0103 | Na\u021Bie Prin Educa\u021Bie",data:oi("Recuperare parol\u0103 | Na\u021Bie Prin Educa\u021Bie","Recuperare parol\u0103 pentru conturile din platforma Na\u021Bie Prin Educa\u021Bie.")},{path:"reset-password",component:tu,title:"Resetare parol\u0103 | Na\u021Bie Prin Educa\u021Bie",data:oi("Resetare parol\u0103 | Na\u021Bie Prin Educa\u021Bie","Resetare parol\u0103 pentru conturile din platforma Na\u021Bie Prin Educa\u021Bie.")},{path:"dashboard",component:e_,canActivate:[md],title:"Dashboard | Na\u021Bie Prin Educa\u021Bie",data:oi("Dashboard | Na\u021Bie Prin Educa\u021Bie","Spa\u021Biu privat pentru administrarea echipelor \u0219i resurselor Na\u021Bie Prin Educa\u021Bie.")},{path:"news",component:t_,title:"Nout\u0103\u021Bi FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Nout\u0103\u021Bi FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Nout\u0103\u021Bi, anun\u021Buri \u0219i pove\u0219ti din comunitatea Na\u021Bie Prin Educa\u021Bie \u0219i FIRST Tech Challenge Rom\xE2nia."})},{path:"verificare-diplome",component:o_,title:"Verificare diplome FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",data:mt({title:"Verificare diplome FTC Rom\xE2nia | Na\u021Bie Prin Educa\u021Bie",description:"Verific\u0103 online autenticitatea diplomelor emise \xEEn cadrul programului Na\u021Bie Prin Educa\u021Bie \u0219i FIRST Tech Challenge Rom\xE2nia."})},{path:"share/:slug",component:i_,title:"Fi\u0219ier partajat | Na\u021Bie Prin Educa\u021Bie",data:oi("Fi\u0219ier partajat | Na\u021Bie Prin Educa\u021Bie","Pagin\u0103 pentru accesarea unui fi\u0219ier partajat prin platforma Na\u021Bie Prin Educa\u021Bie.")}];var ZR="@",YR=(()=>{class t{constructor(e,n,i,d,u){this.doc=e,this.delegate=n,this.zone=i,this.animationType=d,this.moduleImpl=u,this._rendererFactoryPromise=null,this.scheduler=ge(Qm,{optional:!0})}ngOnDestroy(){this._engine?.flush()}loadImpl(){return(this.moduleImpl??import("./chunk-DN2Z5UN3.js")).catch(n=>{throw new st(5300,!1)}).then(({\u0275createEngine:n,\u0275AnimationRendererFactory:i})=>{this._engine=n(this.animationType,this.doc,this.scheduler);let d=new i(this.delegate,this._engine,this.zone);return this.delegate=d,d})}createRenderer(e,n){let i=this.delegate.createRenderer(e,n);if(i.\u0275type===0)return i;typeof i.throwOnSyntheticProps=="boolean"&&(i.throwOnSyntheticProps=!1);let d=new gd(i);return n?.data?.animation&&!this._rendererFactoryPromise&&(this._rendererFactoryPromise=this.loadImpl()),this._rendererFactoryPromise?.then(u=>{let x=u.createRenderer(e,n);d.use(x)}).catch(u=>{d.use(i)}),d}begin(){this.delegate.begin?.()}end(){this.delegate.end?.()}whenRenderingDone(){return this.delegate.whenRenderingDone?.()??Promise.resolve()}static{this.\u0275fac=function(n){xa()}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac})}}return t})(),gd=class{constructor(s){this.delegate=s,this.replay=[],this.\u0275type=1}use(s){if(this.delegate=s,this.replay!==null){for(let e of this.replay)e(s);this.replay=null}}get data(){return this.delegate.data}destroy(){this.replay=null,this.delegate.destroy()}createElement(s,e){return this.delegate.createElement(s,e)}createComment(s){return this.delegate.createComment(s)}createText(s){return this.delegate.createText(s)}get destroyNode(){return this.delegate.destroyNode}appendChild(s,e){this.delegate.appendChild(s,e)}insertBefore(s,e,n,i){this.delegate.insertBefore(s,e,n,i)}removeChild(s,e,n){this.delegate.removeChild(s,e,n)}selectRootElement(s,e){return this.delegate.selectRootElement(s,e)}parentNode(s){return this.delegate.parentNode(s)}nextSibling(s){return this.delegate.nextSibling(s)}setAttribute(s,e,n,i){this.delegate.setAttribute(s,e,n,i)}removeAttribute(s,e,n){this.delegate.removeAttribute(s,e,n)}addClass(s,e){this.delegate.addClass(s,e)}removeClass(s,e){this.delegate.removeClass(s,e)}setStyle(s,e,n,i){this.delegate.setStyle(s,e,n,i)}removeStyle(s,e,n){this.delegate.removeStyle(s,e,n)}setProperty(s,e,n){this.shouldReplay(e)&&this.replay.push(i=>i.setProperty(s,e,n)),this.delegate.setProperty(s,e,n)}setValue(s,e){this.delegate.setValue(s,e)}listen(s,e,n){return this.shouldReplay(e)&&this.replay.push(i=>i.listen(s,e,n)),this.delegate.listen(s,e,n)}shouldReplay(s){return this.replay!==null&&s.startsWith(ZR)}};function m_(t="animations"){return Lc("NgAsyncAnimations"),Bi([{provide:ba,useFactory:(s,e,n)=>new YR(s,e,n,t),deps:[_t,qa,It]},{provide:Um,useValue:t==="noop"?"NoopAnimations":"BrowserAnimations"}])}var Hs=!1,pd=new At(null),g_=(t,s)=>{let e=ge(at),n=e.getAccessToken();return n&&(t=ud(t,n)),s(t).pipe(Be(i=>i.status===401&&!t.url.includes("/auth/refresh")?KR(t,s,e):en(()=>i)))};function ud(t,s){return t.body instanceof FormData?t.clone({setHeaders:{Authorization:`Bearer ${s}`}}):t.clone({setHeaders:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}})}function KR(t,s,e){return Hs?pd.pipe(Tt(n=>n!==null),wn(1),gt(n=>s(ud(t,n)))):(Hs=!0,pd.next(null),e.refreshToken().pipe(gt(n=>(Hs=!1,pd.next(n.message.access_token),s(ud(t,n.message.access_token)))),Be(n=>(Hs=!1,e.logout(),en(()=>n)))))}var p_={providers:[Sp(d_,Tp({anchorScrolling:"enabled",scrollPositionRestoration:"top"}),Dp({onSameUrlNavigation:"reload"})),m_(),Kc(Ig([g_])),at,Ne]};function QR(t,s){if(t&1&&(r(0,"div",46),a(1),o()),t&2){let e=p();c(),O(e.currentPageTitle)}}function JR(t,s){if(t&1){let e=E();r(0,"button",47),b("click",function(){v(e);let i=p();return M(i.closeMenu())}),r(1,"span",22),a(2,"CLOSE MENU"),o()()}}function XR(t,s){if(t&1){let e=E();Me(0),r(1,"a",48),b("click",function(){v(e);let i=p();return M(i.closeMenu())}),r(2,"span",49),a(3),o()(),r(4,"button",50),b("click",function(){v(e);let i=p();return M(i.logout())}),r(5,"span",22),a(6,"Logout"),o()(),xe()}if(t&2){let e=p();c(),m("ngStyle",e.getUserNameStyle()),c(2),O(e.getDisplayName())}}function ez(t,s){if(t&1){let e=E();r(0,"a",51),b("click",function(){v(e);let i=p();return M(i.closeMenu())}),r(1,"span",22),a(2,"LOGIN"),o()()}}var u_=(()=>{class t{constructor(e,n,i){this.authService=e,this.router=n,this.elementRef=i,this.menuOpen=!1,this.aboutDropdownOpen=!1,this.resourcesDropdownOpen=!1,this.eventsDropdownOpen=!1,this.currentPageTitle="",this.isMobile=!1,this.isLandscape=!1,this.isLoggedIn=this.authService.isLoggedInStatus(),this.checkScreenSize(),this.aboutDropdownOpen=!1,this.resourcesDropdownOpen=!1,this.eventsDropdownOpen=!1,this.menuOpen=!1}ngOnInit(){this.authService.getLoggedInUser().subscribe(e=>{this.user=e}),this.isLoggedIn.subscribe(e=>{e&&this.authService.fetchUserDetails().subscribe()}),this.routerSubscription=this.router.events.pipe(Tt(e=>e instanceof Vt)).subscribe(e=>{this.closeMenu(),this.updatePageTitle(e.url)})}ngOnDestroy(){this.routerSubscription&&this.routerSubscription.unsubscribe()}onResize(){this.checkScreenSize()}onDocumentClick(e){this.menuOpen&&!this.elementRef.nativeElement.contains(e.target)&&this.closeMenu()}onEscapeKey(){this.menuOpen&&this.closeMenu()}checkScreenSize(){this.isMobile=window.innerWidth<=1024,this.isLandscape=window.innerWidth>window.innerHeight&&window.innerWidth<=1024,!this.isMobile&&this.menuOpen&&this.closeMenu()}updatePageTitle(e){let n={"/home":"HOME","/about/natie-prin-educatie":"NATIE PRIN EDUCATIE","/about/first-and-ftc":"FIRST AND FTC","/about/first-global":"FIRST GLOBAL","/about/volunteer":"VOLUNTEER","/about/results":"RESULTS","/judges":"JUDGES","/about/values":"VALUES","/about/sponsors":"SPONSORS & PARTNERS","/about/contact-us":"CONTACT US","/resources/season-materials":"SEASON MATERIALS","/resources/team-resources":"TEAM RESOURCES","/resources/get-started":"GET STARTED","/teams":"TEAMS","/events":"EVENTS","/meets":"MEETS","/contribute":"CONTRIBUTE","/login":"LOGIN","/register":"REGISTER","/dashboard":"DASHBOARD"},i=Object.keys(n).find(d=>e.startsWith(d));this.currentPageTitle=i?n[i]:"HOME"}logout(){this.authService.logout(),this.router.navigate(["/home"]),this.closeMenu()}toggleMenu(){this.menuOpen=!this.menuOpen;let e=this.elementRef.nativeElement.querySelector(".hamburger-menu");e&&e.setAttribute("aria-expanded",this.menuOpen.toString()),this.menuOpen||this.closeDropdowns(),this.menuOpen?document.body.style.overflow="hidden":document.body.style.overflow=""}closeMenu(){this.menuOpen=!1;let e=this.elementRef.nativeElement.querySelector(".hamburger-menu");
156e&&e.setAttribute("aria-expanded","false"),this.closeDropdowns(),document.body.style.overflow=""}closeDropdowns(){this.aboutDropdownOpen=!1,this.resourcesDropdownOpen=!1,this.eventsDropdownOpen=!1,this.elementRef.nativeElement.querySelectorAll(".dropbtn").forEach(n=>{n.setAttribute("aria-expanded","false")})}toggleDropdown(e){e.preventDefault(),e.stopPropagation();let i=e.target.closest("button");i&&(i.textContent?.includes("ABOUT")?(this.aboutDropdownOpen=!this.aboutDropdownOpen,this.resourcesDropdownOpen=!1,this.eventsDropdownOpen=!1,i.setAttribute("aria-expanded",this.aboutDropdownOpen.toString())):i.textContent?.includes("RESOURCES")?(this.resourcesDropdownOpen=!this.resourcesDropdownOpen,this.aboutDropdownOpen=!1,this.eventsDropdownOpen=!1,i.setAttribute("aria-expanded",this.resourcesDropdownOpen.toString())):i.textContent?.includes("EVENTS")&&(this.eventsDropdownOpen=!this.eventsDropdownOpen,this.aboutDropdownOpen=!1,this.resourcesDropdownOpen=!1,i.setAttribute("aria-expanded",this.eventsDropdownOpen.toString())))}getUserNameStyle(){return{"max-width":"150px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}}getDisplayName(){return this.user?.teamOwned?.internationalNumber?this.user.teamOwned.internationalNumber:this.user?.name||""}static{this.\u0275fac=function(n){return new(n||t)(T(at),T(ke),T(Ze))}}static{this.\u0275cmp=V({type:t,selectors:[["app-navbar"]],hostBindings:function(n,i){n&1&&b("resize",function(){return i.onResize()},!1,Km)("click",function(u){return i.onDocumentClick(u)},!1,Ac)("keydown.escape",function(){return i.onEscapeKey()},!1,Ac)},standalone:!0,features:[B],decls:89,vars:38,consts:[["showLogin",""],[1,"header-container"],[1,"header-logos"],["routerLink","/home","routerLinkActive","active",1,"logo-link"],["id","logo-natie","ngSrc","assets/header/logo-natie-transparent-dreptunghi.webp","width","180","height","90","priority","","alt","NATIE Logo"],["id","spatiu-logos"],["target","_blank","href","https://www.firstinspires.org/robotics/ftc",1,"logo-link"],["id","logo-ftc","ngSrc","assets/header/logo-ftc-biobuzz-transparent-dreptunghi.png","width","1196","height","204","priority","","alt","FTC Logo"],[1,"header-colors"],["id","header-green"],["id","header-red"],["id","header-orange"],["id","header-blue"],[1,"navbar"],[1,"navbar-container"],["aria-label","Toggle navigation menu",1,"hamburger-menu",3,"click"],[1,"hamburger-line"],["class","page-title",4,"ngIf"],[1,"navbar-content"],[1,"nav-links"],["class","nav-link close-menu-btn","aria-label","Close navigation menu",3,"click",4,"ngIf"],["routerLink","/home","routerLinkActive","active",1,"nav-link","home-link",3,"click"],[1,"nav-text"],[1,"nav-separator"],[1,"dropdown"],["aria-expanded","false",1,"nav-link","dropbtn",3,"click"],[1,"fa","fa-caret-down","dropdown-icon"],[1,"dropdown-content"],["routerLink","/about/natie-prin-educatie","routerLinkActive","active",3,"click"],["routerLink","/about/first-and-ftc","routerLinkActive","active",3,"click"],["routerLink","/about/first-global","routerLinkActive","active",3,"click"],["routerLink","/about/volunteer","routerLinkActive","active",3,"click"],["routerLink","/about/results","routerLinkActive","active",3,"click"],["routerLink","/about/values","routerLinkActive","active",3,"click"],["routerLink","/about/sponsors","routerLinkActive","active",3,"click"],["routerLink","/about/contact-us","routerLinkActive","active",3,"click"],["routerLink","/resources/season-materials","routerLinkActive","active",3,"click"],["routerLink","/resources/team-resources","routerLinkActive","active",3,"click"],["routerLink","/resources/get-started","routerLinkActive","active",3,"click"],["routerLink","/teams","routerLinkActive","active",1,"nav-link","teams-link",3,"click"],["routerLink","/events","routerLinkActive","active",3,"click"],["routerLink","/meets","routerLinkActive","active",3,"click"],["href","https://shop.natie.ro","target","_blank",1,"nav-link","shop-link",3,"click"],["routerLink","/contribute","routerLinkActive","active",1,"contribute-link",3,"click"],[1,"auth-links"],[4,"ngIf","ngIfElse"],[1,"page-title"],["aria-label","Close navigation menu",1,"nav-link","close-menu-btn",3,"click"],["routerLink","/dashboard","routerLinkActive","active",1,"nav-link","user-link",3,"click","ngStyle"],[1,"user-name"],[1,"nav-link","logout-link",3,"click"],["routerLink","/login","routerLinkActive","active",1,"nav-link","login-link",3,"click"]],template:function(n,i){if
vendor: 4,188 bytes, line 156
156(n&1){let d=E();r(0,"header",1)(1,"div",2)(2,"a",3),_(3,"img",4),o(),_(4,"div",5),r(5,"a",6),_(6,"img",7),o()(),r(7,"div",8),_(8,"div",9)(9,"div",10)(10,"div",11)(11,"div",12),o(),r(12,"nav",13)(13,"div",14)(14,"button",15),b("click",function(){return v(d),M(i.toggleMenu())}),_(15,"span",16)(16,"span",16)(17,"span",16),o(),h(18,QR,2,1,"div",17),r(19,"div",18)(20,"div",19),h(21,JR,3,0,"button",20),r(22,"a",21),b("click",function(){return v(d),M(i.closeMenu())}),r(23,"span",22),a(24,"HOME"),o()(),_(25,"div",23),r(26,"div",24)(27,"button",25),b("click",function(x){return v(d),M(i.toggleDropdown(x))}),r(28,"span",22),a(29,"ABOUT"),o(),_(30,"i",26),o(),r(31,"div",27)(32,"a",28),b("click",function(){return v(d),M(i.closeMenu())}),a(33,"Natie Prin Educatie"),o(),r(34,"a",29),b("click",function(){return v(d),M(i.closeMenu())}),a(35,"First and FTC"),o(),r(36,"a",30),b("click",function(){return v(d),M(i.closeMenu())}),a(37,"First Global"),o(),r(38,"a",31),b("click",function(){return v(d),M(i.closeMenu())}),a(39,"Volunteer"),o(),r(40,"a",32),b("click",function(){return v(d),M(i.closeMenu())}),a(41,"Results"),o(),r(42,"a",33),b("click",function(){return v(d),M(i.closeMenu())}),a(43,"Values"),o(),r(44,"a",34),b("click",function(){return v(d),M(i.closeMenu())}),a(45,"Sponsors & Partners"),o(),r(46,"a",35),b("click",function(){return v(d),M(i.closeMenu())}),a(47,"Contact Us"),o()()(),_(48,"div",23),r(49,"div",24)(50,"button",25),b("click",function(x){return v(d),M(i.toggleDropdown(x))}),r(51,"span",22),a(52,"RESOURCES"),o(),_(53,"i",26),o(),r(54,"div",27)(55,"a",36),b("click",function(){return v(d),M(i.closeMenu())}),a(56,"Season Materials"),o(),r(57,"a",37),b("click",function(){return v(d),M(i.closeMenu())}),a(58,"Team Resources"),o(),r(59,"a",38),b("click",function(){return v(d),M(i.closeMenu())}),a(60,"Get Started"),o()()(),_(61,"div",23),r(62,"a",39),b("click",function(){return v(d),M(i.closeMenu())}),r(63,"span",22),a(64,"TEAMS"),o()(),_(65,"div",23),r(66,"div",24)(67,"button",25),b("click",function(x){return v(d),M(i.toggleDropdown(x))}),r(68,"span",22),a(69,"EVENTS"),o(),_(70,"i",26),o(),r(71,"div",27)(72,"a",40),b("click",function(){return v(d),M(i.closeMenu())}),a(73,"Events"),o(),r(74,"a",41),b("click",function(){return v(d),M(i.closeMenu())}),a(75,"Meets"),o()()(),_(76,"div",23),r(77,"a",42),b("click",function(){return v(d),M(i.closeMenu())}),r(78,"span",22),a(79,"SHOP"),o()(),_(80,"div",23),r(81,"a",43),b("click",function(){return v(d),M(i.closeMenu())}),r(82,"span",22),a(83,"CONTRIBUTE"),o()()(),r(84,"div",44),h(85,XR,7,2,"ng-container",45),ze(86,"async"),h(87,ez,3,0,"ng-template",null,0,Se),o()()()()()}if(n&2){let d=oe(88);c(14),I("open",i.menuOpen),c(4),m("ngIf",!i.menuOpen),c(),I("open",i.menuOpen),c(),I("open",i.menuOpen),c(),m("ngIf",i.menuOpen),c(6),I("active",i.aboutDropdownOpen),c(3),I("rotated",i.aboutDropdownOpen),c(),I("show",i.aboutDropdownOpen)("landscape-grid",i.isLandscape),c(19),I("active",i.resourcesDropdownOpen),c(3),I("rotated",i.resourcesDropdownOpen),c(),I("show",i.resourcesDropdownOpen)("landscape-grid",i.isLandscape),c(13),I("active",i.eventsDropdownOpen),c(3),I("rotated",i.eventsDropdownOpen),c(),I("show",i.eventsDropdownOpen)("landscape-grid",i.isLandscape),c(13),I("open",i.menuOpen),c(),m("ngIf",Xn(86,36,i.isLoggedIn))("ngIfElse",d)}},dependencies:[Te,Ci,Po,$,Fa,_g],styles:['[_ngcontent-%COMP%]:root{--primary-color: #24252a;--accent-color: var(--natie-orange);--text-light: #ffffff;--text-muted: rgba(255, 255, 255, .8);--border-color: rgba(255, 255, 255, .1);--transition-fast: .2s ease;--transition-medium: .3s ease;--transition-slow: .4s ease;--shadow-light: 0 2px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .15);--shadow-heavy: 0 8px 32px rgba(0, 0, 0, .2);--border-radius: 8px;--font-family: "IBM Plex Sans Condensed", sans-serif}*[_ngcontent-%COMP%]{box-sizing:border-box}.header-container[_ngcontent-%COMP%]{position:fixed;top:0;left:0;right:0;z-index:var(--z-navbar);background-color:#fff;box-shadow:var(--shadow-light);transition:all var(--transition-medium)}.header-logos[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:space-between;
156height:var(--header-logo-height);background-color:#fff}.header-logos[_ngcontent-%COMP%] .logo-link[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;transition:transform var(--transition-fast)}.header-logos[_ngcontent-%COMP%] #logo-natie[_ngcontent-%COMP%]{height:100%;width:auto;max-width:180px}.header-logos[_ngcontent-%COMP%] #logo-ftc[_ngcontent-%COMP%]{width:auto;height:auto;max-width:412px;max-height:100%}.header-logos[_ngcontent-%COMP%] #spatiu-logos[_ngcontent-%COMP%]{flex:1}.header-colors[_ngcontent-%COMP%]{display:flex;height:var(--header-colors-height)}.header-colors[_ngcontent-%COMP%] #header-green[_ngcontent-%COMP%]{background-color:#1e983b;flex:1}.header-colors[_ngcontent-%COMP%] #header-red[_ngcontent-%COMP%]{background-color:#e41017;flex:1}.header-colors[_ngcontent-%COMP%] #header-orange[_ngcontent-%COMP%]{background-color:#f06b0e;flex:1}.header-colors[_ngcontent-%COMP%] #header-blue[_ngcontent-%COMP%]{background-color:#0389d1;flex:1}.navbar[_ngcontent-%COMP%]{background:#24252a!important;height:var(--navbar-height);position:relative;z-index:11}.navbar-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 20px;width:100%;position:relative}.hamburger-menu[_ngcontent-%COMP%]{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--border-radius);transition:all var(--transition-fast);z-index:12}.hamburger-menu[_ngcontent-%COMP%]:hover{background-color:#ffffff1a}.hamburger-menu[_ngcontent-%COMP%]:focus{outline:2px solid var(--accent-color);outline-offset:2px}.hamburger-menu[_ngcontent-%COMP%] .hamburger-line[_ngcontent-%COMP%]{width:24px;height:3px;background-color:#fff;margin:2px 0;border-radius:2px;transition:all var(--transition-medium);transform-origin:center}.hamburger-menu[_ngcontent-%COMP%]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-family:IBM Plex Sans Condensed,sans-serif;font-size:var(--font-size-md);font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:0;visibility:hidden;transition:all var(--transition-medium);white-space:nowrap}.hamburger-menu.open[_ngcontent-%COMP%]:after{content:"";opacity:0;visibility:hidden}.hamburger-menu.open[_ngcontent-%COMP%] .hamburger-line[_ngcontent-%COMP%]:nth-child(1){transform:scale(0)}.hamburger-menu.open[_ngcontent-%COMP%] .hamburger-line[_ngcontent-%COMP%]:nth-child(2){transform:scale(0)}.hamburger-menu.open[_ngcontent-%COMP%] .hamburger-line[_ngcontent-%COMP%]:nth-child(3){opacity:0;transform:scale(0)}.page-title[_ngcontent-%COMP%]{display:none;color:#fff;font-family:var(--font-family);font-size:16px;font-weight:600;letter-spacing:1px;text-align:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;z-index:13;animation:_ngcontent-%COMP%_fadeIn var(--transition-medium) ease-out}.close-menu-btn[_ngcontent-%COMP%]{display:none;background:none;border:none;color:var(--text-light);font-family:var(--font-family);font-size:18.4px;font-weight:600;cursor:pointer;padding:10px 15px;border-radius:var(--border-radius);transition:all var(--transition-fast);z-index:14}.close-menu-btn[_ngcontent-%COMP%]:hover{background-color:#ffffff1a;color:var(--natie-orange)!important}.close-menu-btn[_ngcontent-%COMP%]:focus{outline:2px solid var(--accent-color);outline-offset:2px}.close-menu-btn[_ngcontent-%COMP%] .nav-text[_ngcontent-%COMP%]{display:block;font-size:18.4px;font-weight:600;line-height:36px;letter-spacing:1.75px;text-transform:uppercase;color:#fff}.navbar-content[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%;gap:20px;transition:all var(--transition-medium)}.nav-links[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}.nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:10px 15px;color:#fff!important;text-decoration:none;font-family:IBM Plex Sans Condensed,sans-serif;font-size:18.4px;font-weight:600;line-height:36px;letter-spacing:1.75px;text-transform:uppercase;white-space:nowrap;border-radius:var(--border-radius);transition:all var(--transition-fast);position:relative}.nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, .nav-links[_ngcontent-%COMP%] .nav-link.active[_ngcontent-%COMP%]{color:var(--natie-orange)!important}.nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:focus{outline:2px solid var(--accent-color);outline-offset:2px}.nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%] .nav-text[_ngcontent-%COMP%]{display:block}
156.nav-separator[_ngcontent-%COMP%]{width:1px;height:30px;background-color:#fff;flex-shrink:0;margin:0 5px}.dropdown[_ngcontent-%COMP%]{position:relative}.dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;background:none;border:none;color:#fff!important;padding:10px 15px;font-family:IBM Plex Sans Condensed,sans-serif;font-size:18.4px;font-weight:600;line-height:36px;letter-spacing:1.75px;text-transform:uppercase;white-space:nowrap;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast)}.dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]:hover, .dropdown[_ngcontent-%COMP%] .dropbtn.active[_ngcontent-%COMP%]{color:var(--natie-orange)!important}.dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]:focus{outline:2px solid var(--accent-color);outline-offset:2px}.dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%] .dropdown-icon[_ngcontent-%COMP%]{transition:transform var(--transition-medium)}.dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%] .dropdown-icon.rotated[_ngcontent-%COMP%]{transform:rotate(180deg)}.dropdown[_ngcontent-%COMP%] .dropdown-content[_ngcontent-%COMP%]{position:absolute;top:100%;left:0;background-color:#24252a;width:max-content;border-radius:var(--border-radius);box-shadow:var(--shadow-medium);opacity:0;visibility:hidden;transition:opacity var(--transition-medium),visibility var(--transition-medium);z-index:15;overflow:hidden}.dropdown[_ngcontent-%COMP%] .dropdown-content.show[_ngcontent-%COMP%]{opacity:1;visibility:visible;transform:translateY(0)}.dropdown[_ngcontent-%COMP%] .dropdown-content[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:block;padding:6px 16px;color:#fff!important;text-decoration:none;font-family:IBM Plex Sans Condensed,sans-serif;font-size:var(--font-size-md);font-weight:600;line-height:27.6px;text-transform:uppercase;letter-spacing:normal;transition:all var(--transition-fast);border-bottom:1px solid var(--border-color)}.dropdown[_ngcontent-%COMP%] .dropdown-content[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:last-child{border-bottom:none}.dropdown[_ngcontent-%COMP%] .dropdown-content[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:var(--natie-orange)!important}.dropdown[_ngcontent-%COMP%] .dropdown-content[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus{outline:2px solid var(--accent-color);outline-offset:-2px}.dropdown[_ngcontent-%COMP%]:hover .dropdown-content[_ngcontent-%COMP%]{opacity:1;visibility:visible;transform:translateY(0)}.contribute-link[_ngcontent-%COMP%]{background:linear-gradient(90deg,#f06b0e,#e41017 49%,#0389d1 98.5%);border-radius:30px;padding:5px 20px;margin-left:15px;font-family:IBM Plex Sans Condensed,sans-serif;font-size:var(--font-size-md);font-weight:600;color:#fff;text-decoration:none;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.contribute-link[_ngcontent-%COMP%]:hover{box-shadow:var(--shadow-medium)}.contribute-link[_ngcontent-%COMP%]:focus{outline:2px solid var(--accent-color);outline-offset:2px}.contribute-link[_ngcontent-%COMP%] .nav-text[_ngcontent-%COMP%]{display:block}.auth-links[_ngcontent-%COMP%]{display:flex;align-items:center;gap:15px;flex-shrink:0;margin-left:auto}.auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:8px 16px;color:#fff!important;text-decoration:none;font-family:IBM Plex Sans Condensed,sans-serif;font-size:18.4px;font-weight:600;line-height:36px;letter-spacing:1.75px;text-transform:uppercase;white-space:nowrap;border-radius:var(--border-radius);transition:all var(--transition-fast)}.auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover{color:var(--natie-orange)!important}.auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:focus{outline:2px solid var(--accent-color);outline-offset:2px}.auth-links[_ngcontent-%COMP%] .nav-link.user-link[_ngcontent-%COMP%]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-links[_ngcontent-%COMP%] .nav-link.user-link[_ngcontent-%COMP%] .user-name[_ng
156content-%COMP%]{display:block;overflow:hidden;text-overflow:ellipsis}.auth-links[_ngcontent-%COMP%] .nav-link.logout-link[_ngcontent-%COMP%]{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit}.auth-links[_ngcontent-%COMP%] .nav-link.logout-link[_ngcontent-%COMP%] .nav-text[_ngcontent-%COMP%]{display:block}@media (max-width: 1200px){.navbar-container[_ngcontent-%COMP%]{padding:0 15px}.nav-links[_ngcontent-%COMP%]{gap:8px}.nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%], .dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]{padding:8px 12px;font-size:var(--font-size-md)}.contribute-link[_ngcontent-%COMP%]{padding:8px 16px;font-size:var(--font-size-md)}}@media (max-width: 1024px){.nav-links[_ngcontent-%COMP%]{gap:5px}.nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%], .dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]{padding:6px 10px;font-size:var(--font-size-sm);letter-spacing:.5px}.contribute-link[_ngcontent-%COMP%]{padding:6px 14px;font-size:var(--font-size-sm)}.auth-links[_ngcontent-%COMP%]{gap:10px}.auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:6px 12px;font-size:var(--font-size-sm)}}@media (max-width: 768px){.header-logos[_ngcontent-%COMP%]{padding:0 15px}.header-logos[_ngcontent-%COMP%] #logo-natie[_ngcontent-%COMP%]{max-width:140px}.header-logos[_ngcontent-%COMP%] #logo-ftc[_ngcontent-%COMP%]{max-width:300px}.navbar-container[_ngcontent-%COMP%]{padding:0 15px}.hamburger-menu[_ngcontent-%COMP%]{display:flex}.page-title[_ngcontent-%COMP%]{display:block}.close-menu-btn[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-width:80px}.close-menu-btn[_ngcontent-%COMP%] .nav-text[_ngcontent-%COMP%]{display:block}.nav-links[_ngcontent-%COMP%], .auth-links[_ngcontent-%COMP%]{display:none}.navbar-content.open[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#24252a;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px;gap:0;overflow-y:auto;z-index:16;animation:_ngcontent-%COMP%_slideInDown .3s ease-out}.navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%], .navbar-content.open[_ngcontent-%COMP%] .auth-links[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;gap:0;align-items:center;animation:_ngcontent-%COMP%_fadeInUp var(--transition-slow) ease-out .1s both}.navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%]{margin-bottom:20px;width:100%;display:flex;flex-direction:column;align-items:center}.navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%], .navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]{width:100%;justify-content:center;text-align:center;padding:16px 20px;font-size:16px;font-family:IBM Plex Sans Condensed,sans-serif;font-weight:600;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.1);border-radius:0}.navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, .navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]:hover, .navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .nav-link.open[_ngcontent-%COMP%], .navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropbtn.open[_ngcontent-%COMP%]{color:var(--natie-orange)!important}.navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .nav-separator[_ng
156content-%COMP%]{display:none}.navbar-content.open[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]{width:100%}.navbar-content.open[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropdown-content[_ngcontent-%COMP%]{position:static;box-shadow:none;background-color:transparent;opacity:0;visibility:hidden;transform:none;margin:0;border-radius:0;transition:all .3s ease;max-height:0;overflow:hidden;width:100%;display:flex;flex-direction:column;align-items:center}.navbar-content.open[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropdown-content.show[_ngcontent-%COMP%]{opacity:1;visibility:visible;max-height:400px;animation:_ngcontent-%COMP%_fadeInUp .4s ease-out .2s both}.navbar-content.open[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropdown-content[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:12px 20px;font-size:14px;font-family:IBM Plex Sans Condensed,sans-serif;font-weight:600;color:#fffc!important;border-bottom:1px solid rgba(255,255,255,.1);text-align:center;display:block;width:100%;justify-content:center}.navbar-content.open[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropdown-content[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:var(--natie-orange)!important}.navbar-content.open[_ngcontent-%COMP%] .contribute-link[_ngcontent-%COMP%]{margin:20px auto;max-width:250px;padding:12px 24px;font-size:16px;font-family:IBM Plex Sans Condensed,sans-serif;font-weight:600;color:#fff!important;animation:_ngcontent-%COMP%_fadeInUp var(--transition-slow) ease-out .3s both}.navbar-content.open[_ngcontent-%COMP%] .auth-links[_ngcontent-%COMP%]{border-top:1px solid var(--border-color);padding-top:20px;animation:_ngcontent-%COMP%_fadeInUp var(--transition-slow) ease-out .2s both;width:100%;display:flex;flex-direction:column;align-items:center}.navbar-content.open[_ngcontent-%COMP%] .auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{width:100%;justify-content:center;text-align:center;padding:12px 20px;font-size:14px;font-family:IBM Plex Sans Condensed,sans-serif;font-weight:600;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.1);border-radius:0}.navbar-content.open[_ngcontent-%COMP%] .auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:last-child{border-bottom:none}.navbar-content.open[_ngcontent-%COMP%] .auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover{color:var(--natie-orange)!important}}@media (max-width: 480px){.header-logos[_ngcontent-%COMP%]{padding:0 10px}.header-logos[_ngcontent-%COMP%] #logo-natie[_ngcontent-%COMP%]{max-width:120px}.header-logos[_ngcontent-%COMP%] #logo-ftc[_ngcontent-%COMP%]{max-width:250px}.navbar-container[_ngcontent-%COMP%]{padding:0 10px}.page-title[_ngcontent-%COMP%]{font-size:14px;max-width:200px}.navbar-content.open[_ngcontent-%COMP%]{top:0;padding:15px}.navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%], .navbar-content.open[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]{padding:14px 15px;font-size:15px}.navbar-content.open[_ngcontent-%COMP%] .contribute-link[_ngcontent-%COMP%]{padding:10px 20px;font-size:15px}.navbar-content.open[_ngcontent-%COMP%] .auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:10px 15px;font-size:13px}.hamburger-menu[_ngcontent-%COMP%]{width:36px;height:36px}.hamburger-menu[_ngcontent-%COMP%] .hamburger-line[_ngcontent-%COMP%]{width:20px}.close-menu-btn[_ngcontent-%COMP%]{font-size:16px;padding:12px 15px;min-width:70px}.close-menu-btn[_ngcontent-%COMP%] .nav-text[_ngcontent-%COMP%]{font-size:14px}}@media (max-width: 360px){.header-logos[_ngcontent-%COMP%] #logo-natie[_ngcontent-%COMP%]{max-width:100px}.header-logos[_ngcontent-%COMP%] #logo-ftc[_ngcontent-%COMP%]{max-width:200px}.page-title[_ngcontent-%COMP%]{font-size:13px;max-width:180px}.navbar-content.open[_ngcontent-%COMP%]{top:0;padding:10px}.navbar-content.open[_ngcontent-%COMP%] .nav-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%], .navbar-content.open[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .dropbtn[_ngcontent-%COMP%]{padding:12px 10px;font-size:14px}.navbar-content.open[_ngcontent-%COMP%] .contribute-link[_ngcontent-%COMP%]{padding:8px 16px;font-size:14px}.navbar-content.open[_ngcontent-%COMP%] .auth-links[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:8px 10px;font-size:12px}.hamburger-menu[_ngcontent-%COMP%]{width:32px;height:32px}.hamburger-menu[_ngcontent-%COMP%] .hamburger-line[_ngcontent-%COMP%]{width:18px}.close-menu-btn[_ngcontent-%COMP%]{font-size:14px;padding:10px 12px;min-width:65px}.close-menu-btn[_ngcontent-%COMP%] .nav-text[_ngcontent-%COMP%]{font-size:12px}}@keyframes _ngcontent-%COMP%_slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}
156to{opacity:1}}.nav-link[_ngcontent-%COMP%]:focus-visible, .dropbtn[_ngcontent-%COMP%]:focus-visible, .hamburger-menu[_ngcontent-%COMP%]:focus-visible, .close-menu-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media (prefers-contrast: high){.nav-link[_ngcontent-%COMP%]:hover, .dropbtn[_ngcontent-%COMP%]:hover, .dropdown-content[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background-color:var(--accent-color);color:var(--primary-color)}.contribute-link[_ngcontent-%COMP%]:hover{background:var(--accent-color)}}@media (prefers-reduced-motion: reduce){*[_ngcontent-%COMP%], *[_ngcontent-%COMP%]:before, *[_ngcontent-%COMP%]:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dropdown-content.landscape-grid[_ngcontent-%COMP%]{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;max-height:200px!important;overflow-y:auto!important;align-items:stretch!important}.dropdown-content.landscape-grid[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:8px 12px!important;font-size:12px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;border-right:1px solid rgba(255,255,255,.1)!important;text-align:left!important;width:auto!important;justify-content:flex-start!important}.dropdown-content.landscape-grid[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:nth-child(2n){border-right:none!important}.dropdown-content.landscape-grid[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:last-child{border-bottom:1px solid rgba(255,255,255,.1)!important}']})}}return t})();function tz(t,s){if(t&1&&(Me(0),r(1,"a",28),a(2),o(),xe()),t&2){let e=p();c(2),O(e.getDisplayName())}}function nz(t,s){t&1&&(r(0,"a",29),a(1,"LOG IN"),o())}function iz(t,s){if(t&1){let e=E();Me(0),r(1,"a",30),b("click",function(){v(e);let i=p();return M(i.logout())}),a(2,"LOG OUT"),o(),xe()}}function oz(t,s){t&1&&(r(0,"a",31),a(1,"REGISTER"),o())}var __=(()=>{class t{constructor(e,n){this.authService=e,this.router=n,this.isLoggedIn=this.authService.isLoggedInStatus()}ngOnInit(){this.authService.getLoggedInUser().subscribe(e=>{this.user=e})}logout(){this.authService.logout(),this.router.navigate(["/home"])}getDisplayName(){return this.user?.teamOwned?.internationalNumber?this.user.teamOwned.internationalNumber:this.user?.name||""}static{this.\u0275fac=function(n){return new(n||t)(T(at),T(ke))}}static{this.\u0275cmp=V({type:t,selectors:[["app-footer"]],standalone:!0,features:[B],decls:48,vars:8,consts:[["showLogin",""],["showRegister",""],[1,"site-footer"],[1,"footer-content"],[1,"footer-logo"],["src","assets/FTC_logo.webp","alt","First Tech Challenge Logo"],[1,"footer-links"],[1,"footer-social"],[1,"circle"],["href","https://www.facebook.com/NatiePrinEducatie","target","_blank","rel","noopener noreferrer","aria-label","Facebook Na\u021Bie Prin Educa\u021Bie",1,"fab","fa-facebook-f"],["href","https://www.instagram.com/natieprineducatie/","target","_blank","rel","noopener noreferrer","aria-label","Instagram Na\u021Bie Prin Educa\u021Bie",1,"fab","fa-instagram"],["href","https://www.youtube.com/@NatieprinEducatie","target","_blank","rel","noopener noreferrer","aria-label","YouTube Na\u021Bie Prin Educa\u021Bie",1,"fab","fa-youtube"],["href","https://www.linkedin.com/company/natie-prin-educatie/posts/?feedView=all","target","_blank","rel","noopener noreferrer","aria-label","LinkedIn Na\u021Bie Prin Educa\u021Bie",1,"fab","fa-linkedin-in"],["href","https://www.tiktok.com/@robotistii","target","_blank","rel","noopener noreferrer","aria-label","TikTok Na\u021Bie Prin Educa\u021Bie",1,"fab","fa-tiktok"],["href","https://www.reddit.com/r/ftcro/","target","_blank","rel","noopener noreferrer","aria-label","Reddit FTC Rom\xE2nia",1,"fab","fa-reddit-alien"],[1,"links-group-container"],[1,"links-group"],["href","/about/contact-us"],["href","/resources",1,"resources-link"],["href","/about/natie-prin-educatie"],[4,"ngIf","ngIfElse"],["href","/teams"],["href","/contribute",1,"donate-link"],["href","/contribute/companies"],["href","/news"],[1,"bandanna-banner"],[1,"bandanna-content"],[1,"bandanna-text"],["routerLink","/dashboard","routerLinkActive","active",1,"user-link"],["routerLink","/login","routerLinkActive","active",1,"login-link"],[1,"logout-link",3,"click"],["routerLink","/resources/get-started","routerLinkActive","active",1,"register-link"]],template:function(n,i){if
156(n&1&&(r(0,"footer",2)(1,"div",3)(2,"div",4),_(3,"img",5),o(),r(4,"div",6)(5,"div",7)(6,"div",8),_(7,"a",9),o(),r(8,"div",8),_(9,"a",10),o(),r(10,"div",8),_(11,"a",11),o(),r(12,"div",8),_(13,"a",12),o(),r(14,"div",8),_(15,"a",13),o(),r(16,"div",8),_(17,"a",14),o()(),r(18,"div",15)(19,"div",16)(20,"a",17),a(21,"CONTACT"),o(),r(22,"a",18),a(23,"RESOURCES"),o(),r(24,"a",19),a(25,"ABOUT"),o()(),r(26,"div",16),h(27,tz,3,1,"ng-container",20),ze(28,"async"),h(29,nz,2,0,"ng-template",null,0,Se),r(31,"a",21),a(32,"TEAMS"),o(),r(33,"a",22),a(34,"DONATE"),o()(),r(35,"div",16),h(36,iz,3,0,"ng-container",20),ze(37,"async"),h(38,oz,2,0,"ng-template",null,1,Se),r(40,"a",23),a(41,"SPONSORS"),o(),r(42,"a",24),a(43,"NEWS"),o()()()()()(),r(44,"div",25)(45,"div",26)(46,"span",27),a(47,"Made with love by FTC Romania ALUMNI"),o()()()),n&2){let d=oe(30),u=oe(39);c(27),m("ngIf",Xn(28,4,i.isLoggedIn))("ngIfElse",d),c(9),m("ngIf",Xn(37,6,i.isLoggedIn))("ngIfElse",u)}},dependencies:[Fa,$,Ci,Te],styles:[".site-footer[_ngcontent-%COMP%]{background-color:#24252a;color:#fff;padding:20px 50px;display:flex;justify-content:center;align-items:center;min-height:200px;font-family:IBM Plex Sans Condensed,sans-serif;font-weight:600;font-size:var(--font-size-xl)}.site-footer[_ngcontent-%COMP%] .footer-content[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:flex-start;width:100%}.site-footer[_ngcontent-%COMP%] .footer-logo[_ngcontent-%COMP%]{margin-right:50px}.site-footer[_ngcontent-%COMP%] .footer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:200px}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .footer-social[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;margin-bottom:20px}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .footer-social[_ngcontent-%COMP%] .circle[_ng
156content-%COMP%]{display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:50%;border:2px solid white;background-color:transparent;margin:0 20px}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .footer-social[_ngcontent-%COMP%] .circle[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;font-size:var(--font-size-xl);text-decoration:underline}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .footer-social[_ngcontent-%COMP%] .circle[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:20px;width:100%}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%]:nth-child(1){text-align:left;align-items:flex-start}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%]:nth-child(2){text-align:center;align-items:center}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%]:nth-child(3){text-align:right;align-items:flex-end}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;margin-bottom:10px;text-decoration:none}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a.login-link[_ngcontent-%COMP%]{color:orange}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a.register-link[_ngcontent-%COMP%]{color:red}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a.resources-link[_ngcontent-%COMP%]{color:#00bfff}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a.donate-link[_ngcontent-%COMP%]{color:green}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a.user-link[_ngcontent-%COMP%]{margin-right:15px;color:orange;text-transform:uppercase}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a.logout-link[_ngcontent-%COMP%]{color:red}@media (max-width: 688px){.site-footer[_ngcontent-%COMP%]{font-size:var(--font-size-md)}.site-footer[_ngcontent-%COMP%] .footer-content[_ngcontent-%COMP%]{flex-direction:column;align-items:center}.site-footer[_ngcontent-%COMP%] .footer-logo[_ngcontent-%COMP%]{margin-right:0;margin-bottom:20px}.site-footer[_ngcontent-%COMP%] .footer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:150px}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .footer-social[_ngcontent-%COMP%] .circle[_ng
156content-%COMP%]{width:30px;height:30px;margin:0 10px}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .footer-social[_ngcontent-%COMP%] .circle[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{font-size:var(--font-size-sm)}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%]{flex-direction:row;justify-content:center;align-items:center;margin-bottom:10px}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%]:nth-child(1){text-align:center;align-items:center}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%]:nth-child(2){text-align:center;align-items:center}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%]:nth-child(3){text-align:center;align-items:center}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{font-size:var(--font-size-sm);margin:0 10px}}@media (max-width: 320px){.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .footer-social[_ngcontent-%COMP%] .circle[_ng
156content-%COMP%]{width:25px;height:25px;margin:0 5px}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .footer-social[_ngcontent-%COMP%] .circle[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{font-size:var(--font-size-xs)}.site-footer[_ngcontent-%COMP%] .footer-links[_ngcontent-%COMP%] .links-group-container[_ngcontent-%COMP%] .links-group[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{font-size:var(--font-size-xs);margin:0 5px}}.bandanna-banner[_ngcontent-%COMP%]{background-color:#3a3b40;padding:8px 0;text-align:center;font-family:IBM Plex Sans Condensed,sans-serif;font-weight:400}.bandanna-banner[_ngcontent-%COMP%] .bandanna-content[_ngcontent-%COMP%]{color:#b0b0b0;font-size:var(--font-size-sm);letter-spacing:.5px}.bandanna-banner[_ngcontent-%COMP%] .bandanna-content[_ngcontent-%COMP%] .bandanna-text[_ngcontent-%COMP%]{font-weight:400;text-transform:none;letter-spacing:.5px}@media (max-width: 768px){.bandanna-banner[_ngcontent-%COMP%]{padding:6px 0}.bandanna-banner[_ngcontent-%COMP%] .bandanna-content[_ngcontent-%COMP%]{font-size:var(--font-size-xs)}}@media (max-width: 480px){.bandanna-banner[_ngcontent-%COMP%]{padding:5px 0}.bandanna-banner[_ngcontent-%COMP%] .bandanna-content[_ngcontent-%COMP%]{font-size:var(--font-size-xs);letter-spacing:.3px}}"]})}}return t})();var f_=(()=>{class t{constructor(e,n){this.document=e,this.router=n,this.router.events.pipe(Tt(i=>i instanceof Vt)).subscribe(()=>{this.scrollToTop()})}scrollToTop(){this.document.documentElement.scrollTop=0,this.document.body.scrollTop=0}static{this.\u0275fac=function(n){return new(n||t)(Q(_t),Q(ke))}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var h_=(()=>{class t{constructor(){}pushTag(e){typeof gtag<"u"&>ag("event",e.event,e)}trackPageView(e,n){typeof gtag<"u"&>ag("config","G-CBLCR9ZB28",{page_title:e,page_location:window.location.href,page_path:n})}trackEvent(e,n){typeof gtag<"u"&>ag("event",e,n)}trackConversion(e,n,i){typeof gtag<"u"&>ag("event","conversion",{send_to:e,value:n,currency:i})}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=te({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var C_=(()=>{class t{constructor(e,n,i,d){this.scrollService=e,this.gtmService=n,this.seoService=i,this.router=d,this.title="npe"}ngOnInit(){this.seoService.init(),this.router.events.pipe(Tt(e=>e instanceof Vt)).subscribe(e=>{let n=e;this.gtmService.trackPageView(n.url,n.url)})}static{this.\u0275fac=function(n){return new(n||t)(T(f_),T(h_),T(Wo),T(ke))}}static{this.\u0275cmp=V({type:t,selectors:[["app-root"]],standalone:!0,features:[B],decls:5,vars:0,consts:[[1,"app-container"],[1,"main-content"],["appScrollToTop",""]],template:function(n,i){n&1&&(r(0,"div",0),_(1,"app-navbar"),r(2,"main",1),_(3,"router-outlet",2),o(),_(4,"app-footer"),o())},dependencies:[H,ei,u_,__,Sn],styles:["body[_ngcontent-%COMP%], html[_ngcontent-%COMP%]{margin:0;padding:0;height:100%}.app-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100vh}.main-content[_ngcontent-%COMP%]{flex:1}"]})}}return t})();Vg(C_,p_).catch(t=>console.error(t));
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.