.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:12px}.loading-spinner{position:relative;display:inline-block}.loading-spinner.small{width:24px;height:24px}.loading-spinner.medium{width:40px;height:40px}.loading-spinner.large{width:60px;height:60px}.spinner-ring{position:absolute;border:3px solid rgba(99,102,241,.1);border-top-color:#6366f1;border-radius:50%;animation:spinner-rotate 1.2s cubic-bezier(.5,0,.5,1) infinite}.loading-spinner.small .spinner-ring{width:24px;height:24px;border-width:2px}.loading-spinner.medium .spinner-ring{width:40px;height:40px;border-width:3px}.loading-spinner.large .spinner-ring{width:60px;height:60px;border-width:4px}.spinner-ring:nth-child(1){animation-delay:-.45s}.spinner-ring:nth-child(2){animation-delay:-.3s}.spinner-ring:nth-child(3){animation-delay:-.15s}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{color:#666;font-size:14px;margin:0;text-align:center}.toast-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:toast-slide-in .3s ease-out;background:#fff;border-left:4px solid}.toast-success{border-left-color:#10b981}.toast-error{border-left-color:#ef4444}.toast-info{border-left-color:#3b82f6}.toast-warning{border-left-color:#f59e0b}.toast-icon{font-size:20px;font-weight:700;flex-shrink:0}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-info .toast-icon{color:#3b82f6}.toast-warning .toast-icon{color:#f59e0b}.toast-message{flex:1;font-size:14px;line-height:1.5;color:#374151}.toast-close{background:#9ca3af1a;border:none;border-radius:4px;font-size:20px;line-height:1;cursor:pointer;color:#6b7280;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.toast-close:hover,.toast-close:focus{background:#9ca3af33;color:#374151;outline:none}.toast-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.toast-close:active{background:#9ca3af4d;transform:scale(.95)}@keyframes toast-slide-in{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.toast-exiting{animation:toast-fade-out .3s ease-out forwards}@media (max-width: 640px){.toast-container{left:20px;right:20px;max-width:none}}.password-strength{margin-top:8px}.strength-bar-container{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-bottom:8px}.strength-bar{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:2px}.strength-bar.strength-weak{background-color:#ef4444}.strength-bar.strength-fair{background-color:#f59e0b}.strength-bar.strength-good{background-color:#3b82f6}.strength-bar.strength-strong{background-color:#10b981}.strength-info{display:flex;flex-direction:column;gap:4px}.strength-label{font-size:12px;font-weight:600}.strength-label.strength-weak{color:#ef4444}.strength-label.strength-fair{color:#f59e0b}.strength-label.strength-good{color:#3b82f6}.strength-label.strength-strong{color:#10b981}.strength-feedback{margin:0;padding-left:20px;font-size:11px;color:#6b7280}.strength-feedback li{margin:2px 0}.strength-requirements{margin:4px 0 0;padding:0;list-style:none;font-size:12px}.strength-requirements li{display:flex;align-items:center;gap:6px;margin:4px 0;transition:color .2s ease}.requirement-icon{font-size:14px;font-weight:700;width:16px;text-align:center;flex-shrink:0}.requirement-met,.requirement-met .requirement-icon{color:#10b981}.requirement-unmet{color:#6b7280}.requirement-unmet .requirement-icon{color:#9ca3af}.requirement-text{line-height:1.4}.requirement-success{margin-top:8px;padding:6px 10px;background:#d1fae5;color:#065f46;border-radius:4px;font-size:12px;font-weight:600;text-align:center}
