@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes logoPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}@keyframes spinRing{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes floatDots{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bg-blue{background:linear-gradient(to bottom right,#0f172a,#1e293b,#111827);min-height:100vh;position:relative}.bg-blue:before{background:radial-gradient(circle at 80% 0,rgba(6,182,212,.15) 0,transparent 50%),radial-gradient(circle at 0 100%,rgba(30,41,59,.2) 0,transparent 50%);content:"";pointer-events:none;position:absolute}.app-loading,.bg-blue:before{bottom:0;left:0;right:0;top:0}.app-loading{align-items:center;color:#fff;display:flex;flex-direction:column;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;padding:20px;position:fixed;z-index:9999}.app-loading .logo-container{animation:logoPulse 2s ease-in-out infinite;margin-bottom:40px}.app-loading .logo{drop-shadow:0 4px 8px rgba(0,0,0,.1);filter:brightness(0) invert(1);height:auto;width:120px}.app-loading .spinner-container{margin-bottom:30px;position:relative}.app-loading .modern-spinner{height:80px;position:relative;width:80px}.app-loading .modern-spinner:before{border:3px solid hsla(0,0%,100%,.2);border-radius:50%;content:"";height:100%;position:absolute;width:100%}.app-loading .modern-spinner:after{animation:spinRing 1s linear infinite;border-right:3px solid transparent;border-top:3px solid transparent;border-color:#fff #fff transparent transparent;border-radius:50%;border-style:solid;border-width:3px;content:"";height:100%;position:absolute;width:100%}.app-loading .loading-dots{display:flex;gap:8px;margin-top:20px}.app-loading .loading-dots .dot{animation:floatDots 1.5s ease-in-out infinite;background:hsla(0,0%,100%,.8);border-radius:50%;height:8px;width:8px}.app-loading .loading-dots .dot:first-child{animation-delay:0s}.app-loading .loading-dots .dot:nth-child(2){animation-delay:.3s}.app-loading .loading-dots .dot:nth-child(3){animation-delay:.6s}.app-loading .loading-text{margin-bottom:15px;text-align:center}.app-loading .loading-text h2{-webkit-text-fill-color:transparent;animation:textFadeIn 1s ease-out;background:linear-gradient(45deg,#fff,#e0f7ff);background-clip:text;-webkit-background-clip:text;font-size:2rem;font-weight:700;margin:0 0 10px}.app-loading .loading-text p{animation:textFadeIn 1s ease-out .3s both;font-size:1.1rem;font-weight:400;margin:0;opacity:.9}.app-loading .loading-subtext{animation:textFadeIn 1s ease-out .6s both;font-size:.9rem;opacity:.7;text-align:center}.app-loading .progress-bar{background:hsla(0,0%,100%,.2);border-radius:10px;height:3px;margin-top:30px;overflow:hidden;width:200px}.app-loading .progress-bar:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,transparent,#fff,transparent);content:"";display:block;height:100%;width:40%}@media (max-width:768px){.app-loading .logo{width:100px}.app-loading .loading-text h2{font-size:1.5rem}.app-loading .loading-text p{font-size:1rem}.app-loading .modern-spinner{height:60px;width:60px}.app-loading .progress-bar{width:150px}}@media (max-width:480px){.app-loading .logo{width:80px}.app-loading .loading-text h2{font-size:1.3rem}.app-loading .loading-text p{font-size:.9rem}}