.loading-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dark .loading-overlay{background:#000000e6}.loading-container{width:100%;max-width:400px;padding:2rem}.loading-content{flex-direction:column;align-items:center;gap:1.5rem;animation:.3s ease-out fade-in;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-progress-wrapper{flex-direction:column;gap:.75rem;width:100%;display:flex}.loading-progress-track{background:#e5e7eb;border-radius:9999px;width:100%;height:8px;position:relative;overflow:hidden}.dark .loading-progress-track{background:#374151}.loading-progress-indicator{background:linear-gradient(90deg,#2563eb 0%,#9333ea 50%,#db2777 100%);border-radius:9999px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.loading-progress-indicator:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-progress-label{text-align:center;color:#6b7280;font-size:.875rem;font-weight:600}.dark .loading-progress-label{color:#9ca3af}.loading-text{color:#374151;text-align:center;margin-top:.5rem;font-size:1rem;font-weight:600}.dark .loading-text{color:#d1d5db}.loading-progress-wrapper.size-1 .loading-progress-track{height:4px}.loading-progress-wrapper.size-2 .loading-progress-track{height:8px}.loading-progress-wrapper.size-3 .loading-progress-track{height:12px}.loading-progress-indicator.variant-classic{background:linear-gradient(90deg,#2563eb 0%,#1d4ed8 100%)}.loading-progress-indicator.variant-surface{background:linear-gradient(90deg,#6366f1 0%,#8b5cf6 100%)}.loading-progress-indicator.variant-soft{background:linear-gradient(90deg,#3b82f6 0%,#06b6d4 100%)}@media (max-width:640px){.loading-container{max-width:300px;padding:1.5rem}.loading-progress-track{height:6px}}
