@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(1)}40%{opacity:1;transform:scale(1.3)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fadeIn{animation:.6s ease-out forwards fadeIn}.animate-fadeInUp{animation:.6s ease-out forwards fadeInUp}.animate-fadeInLeft{animation:.6s ease-out forwards fadeInLeft}.animate-fadeInRight{animation:.6s ease-out forwards fadeInRight}.animate-scaleIn{animation:.4s ease-out forwards scaleIn}.animate-slideDown{animation:.4s ease-out forwards slideDown}.animate-slideUp{animation:.4s ease-out forwards slideUp}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-bounce{animation:1s ease-in-out infinite bounce}.animate-shake{animation:.5s ease-in-out shake}.animate-spin{animation:1s linear infinite spin}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.hover-scale{transition:transform .3s}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s}.hover-glow:hover{box-shadow:0 0 20px #667eea80}.hover-brightness{transition:filter .3s}.hover-brightness:hover{filter:brightness(1.1)}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.spinner-dark{border-color:#333 #0000001a #0000001a}.spinner-lg{border-width:4px;width:40px;height:40px}.spinner-sm{border-width:2px;width:16px;height:16px}.dot-loader{gap:6px;display:inline-flex}.dot-loader span{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite dotPulse}.dot-loader span:nth-child(2){animation-delay:.2s}.dot-loader span:nth-child(3){animation-delay:.4s}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite shimmer}.skeleton-text{height:12px;margin-bottom:8px}.skeleton-title{width:60%;height:20px;margin-bottom:12px}.skeleton-avatar{border-radius:50%;width:50px;height:50px}.skeleton-card{border-radius:8px;height:120px}.transition-all{transition:all .3s}.transition-fast{transition:all .15s}.transition-slow{transition:all .5s}.scroll-reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.backdrop-blur{-webkit-backdrop-filter:blur(10px)}.backdrop-blur-sm{-webkit-backdrop-filter:blur(5px)}.backdrop-blur-lg{-webkit-backdrop-filter:blur(20px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #667eea4d}.focus-ring-inset:focus{outline:none;box-shadow:inset 0 0 0 3px #667eea4d}.toast-container{z-index:10000;flex-direction:column;gap:12px;max-width:400px;display:flex;position:fixed;top:20px;right:20px}.toast{background:#fff;border-left:4px solid;border-radius:12px;align-items:center;gap:12px;min-width:300px;padding:16px;display:flex;position:relative;box-shadow:0 4px 12px #00000026}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-content{flex:1}.toast-message{color:#333;font-size:14px;line-height:1.5}.toast-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;line-height:1;transition:all .2s;display:flex}.toast-close:hover{color:#666;background:#0000000d}.toast-success{color:#10b981;border-left-color:#10b981}.toast-error{color:#ef4444;border-left-color:#ef4444}.toast-warning{color:#f59e0b;border-left-color:#f59e0b}.toast-info{color:#3b82f6;border-left-color:#3b82f6}@media (width<=768px){.toast-container{max-width:none;top:10px;left:10px;right:10px}.toast{min-width:auto}}.input-error{background-color:#fef2f2!important;border-color:#ef4444!important}.input-error:focus{border-color:#dc2626!important;box-shadow:0 0 0 3px #ef44441a!important}.error-message{color:#ef4444;align-items:center;gap:4px;margin-top:6px;font-size:13px;display:flex}.error-message:before{content:"⚠";font-size:14px}.input-success{background-color:#f0fdf4!important;border-color:#10b981!important}.loading-overlay{-webkit-backdrop-filter:blur(5px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-content{background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:32px 48px;display:flex;box-shadow:0 10px 40px #0000004d}.loading-text{color:#666;font-size:16px;font-weight:500}button.loading{opacity:.7;cursor:not-allowed;position:relative}.btn-loading{pointer-events:none;opacity:.7;position:relative}.btn-loading:after{content:"";border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%}.progress-bar{background:#e5e7eb;border-radius:2px;width:100%;height:4px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);border-radius:2px;height:100%;transition:width .3s}.progress-bar-indeterminate .progress-bar-fill{width:30%;animation:1.5s ease-in-out infinite progressIndeterminate}@keyframes progressIndeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.badge{border-radius:12px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.badge-success{color:#065f46;background:#d1fae5}.badge-error{color:#991b1b;background:#fee2e2}.badge-warning{color:#92400e;background:#fef3c7}.badge-info{color:#1e40af;background:#dbeafe}.tooltip{display:inline-block;position:relative}.tooltip:before{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:1000;background:#1f2937;border-radius:6px;padding:6px 12px;font-size:13px;transition:opacity .2s,transform .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}.tooltip:after{content:"";opacity:0;pointer-events:none;border:4px solid #0000;border-top-color:#1f2937;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip:hover:before,.tooltip:hover:after{opacity:1}.tooltip:hover:before{transform:translate(-50%)translateY(-4px)}.alert{border-left:4px solid;border-radius:12px;align-items:start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.alert-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.alert-content{flex:1}.alert-title{margin-bottom:4px;font-size:14px;font-weight:600}.alert-message{opacity:.9;font-size:13px}.alert-success{color:#065f46;background:#d1fae5;border-left-color:#10b981}.alert-error{color:#991b1b;background:#fee2e2;border-left-color:#ef4444}.alert-warning{color:#92400e;background:#fef3c7;border-left-color:#f59e0b}.alert-info{color:#1e40af;background:#dbeafe;border-left-color:#3b82f6}.card-interactive{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.card-interactive:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.card-interactive:active{transform:translateY(-2px)}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";background:#ffffff80;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple:active:after{width:200px;height:200px}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #667eea}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media print{.toast-container,.loading-overlay,.no-print{display:none!important}}
