@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:8px;position:relative;overflow:hidden}.stagger-1{animation:fadeInUp .6s ease-out .1s both,shimmer 1.5s .1s infinite}.stagger-2{animation:fadeInUp .6s ease-out .2s both,shimmer 1.5s .2s infinite}.stagger-3{animation:fadeInUp .6s ease-out .3s both}.stagger-4{animation:fadeInUp .6s ease-out .4s both,shimmer 1.5s .4s infinite}.pulse-delay-1{animation:pulse 2s infinite,shimmer 1.5s infinite}.pulse-delay-2{animation:pulse 2s .3s infinite,shimmer 1.5s .3s infinite}.auth-modal-loading{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1050;display:flex;align-items:center;justify-content:center}.loading-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);animation:pulse 2s infinite}.loading-auth-modal{position:relative;background:white;border-radius:24px;box-shadow:0 8px 40px rgba(80,80,120,.15);max-width:400px;width:100%;margin:0 20px}.loading-content-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;max-width:340px;margin:0 auto}.loading-modal-title.skeleton{height:20px;width:180px;margin:0 auto 16px}.loading-auth-page{min-height:100vh;background:#f5f6fa;display:flex;justify-content:center;align-items:center;padding:20px}.loading-auth-container{width:100%;max-width:450px}.loading-auth-card{background:white;border-radius:24px;box-shadow:0 8px 40px rgba(80,80,120,.1);padding:48px 32px;display:flex;justify-content:center}.loading-auth-card,.loading-auth-mobile{flex-direction:column;align-items:center}.loading-auth-mobile{justify-content:flex-start;padding:0}.loading-mobile-header{width:100%;background:linear-gradient(120deg,rgba(60,10,80,.7),rgba(40,0,60,.7));height:112px;border-bottom-left-radius:24px;border-bottom-right-radius:24px}.loading-mobile-card{width:100%;max-width:400px;background:#fff;border-radius:24px;box-shadow:0 8px 40px rgba(80,80,120,.1);margin:-32px 16px 0;padding:48px 24px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-logo.skeleton{height:72px;width:72px;border-radius:8px;margin-bottom:24px}.loading-page-subtitle.skeleton{height:20px;width:180px;margin-bottom:32px}.loading-auth-buttons{display:flex;flex-direction:column;gap:12px;width:100%;margin-bottom:24px}.loading-auth-button.skeleton{height:48px;width:100%;border-radius:8px;display:flex;align-items:center;justify-content:flex-start;padding:0 16px;position:relative}.loading-button-icon.skeleton-icon{width:22px;height:22px;border-radius:4px;background:rgba(255,255,255,.3);margin-right:12px;flex-shrink:0}.loading-button-text.skeleton-text{height:16px;width:120px;border-radius:4px;background:rgba(255,255,255,.3);flex:1 1}.loading-privacy-agreement.skeleton{height:14px;width:200px;margin-top:8px}@media (max-width:768px){.loading-auth-page:not(.loading-auth-mobile) .loading-auth-container{max-width:400px}.loading-auth-page:not(.loading-auth-mobile) .loading-auth-card{padding:32px 24px;border-radius:20px}.loading-logo.skeleton{height:64px;width:64px;margin-bottom:20px}.loading-page-subtitle.skeleton{width:150px;margin-bottom:28px}.loading-auth-buttons{gap:10px;margin-bottom:20px}.loading-auth-button.skeleton{height:44px}.loading-privacy-agreement.skeleton{width:160px}}@media (max-width:480px){.loading-auth-page:not(.loading-auth-mobile) .loading-auth-card{padding:28px 20px;margin:0 16px}.loading-page-subtitle.skeleton{width:130px}.loading-button-text.skeleton-text{width:100px}.loading-privacy-agreement.skeleton{width:140px;height:12px}}.auth-page-container-wrapper{height:85vh}@media (max-width:768px){.auth-page-container-wrapper{height:50vh}}.privacy-notice-container{text-align:center;max-width:340px;margin:1.5rem auto 1rem}.privacy-notice-text{font-size:.8rem;line-height:1.4;color:#6c757d;margin:0;padding:0}.privacy-link{color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out;font-weight:500}.privacy-link:hover{color:#0a58ca;text-decoration:underline}@media (max-width:768px){.privacy-notice-text{font-size:.75rem;padding:0 .5rem}}