.full-page-loader{z-index:9999999;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-in fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loader-content{flex-direction:column;align-items:center;gap:2rem;display:flex}.logo-container{animation:3s ease-in-out infinite logoFloat;position:relative}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.logo-image{filter:drop-shadow(0 4px 8px #0000001a);animation:2s ease-in-out infinite logoPulse}@keyframes logoPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.loader-spinner{width:80px;height:80px;position:relative}.spinner-ring{border:3px solid #f3f4f6;border-top-color:#1b8354;border-radius:50%;width:100%;height:100%;animation:1.5s cubic-bezier(.68,-.55,.265,1.55) infinite spin;position:absolute}.spinner-ring:nth-child(2){border-top-color:#1b8354;width:70%;height:70%;animation-duration:1.8s;animation-delay:-.3s;top:15%;left:15%}.spinner-ring:nth-child(3){border-top-color:#1b8354;width:50%;height:50%;animation-duration:2.1s;animation-delay:-.6s;top:25%;left:25%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:#1b8354;letter-spacing:.5px;margin:0;font-size:1.125rem;font-weight:500;animation:1.5s ease-in-out infinite textFade}@keyframes textFade{0%,to{opacity:.6}50%{opacity:1}}@media (max-width:768px){.logo-container{width:150px;height:150px}.loader-spinner{width:60px;height:60px}.loading-text{font-size:1rem}}.full-page-loader:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 20%,#0676470d 0%,#0000 50%),radial-gradient(circle at 80% 80%,#0676470d 0%,#0000 50%);position:absolute;inset:0}.logo-container:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);width:200%;height:200%;animation:3s infinite shimmer;position:absolute;top:-50%;left:-50%}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}
