﻿@keyframes smoothFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes popScale{0%{transform:scale(0.8);opacity:0}70%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,100%{box-shadow:0 0 10px rgba(0,102,255,0)}50%{box-shadow:0 0 20px rgba(0,102,255,0.3)}}@keyframes float{0%,100%{transform:translateY(0px)}50%{transform:translateY(-5px)}}@keyframes wiggle{0%,100%{transform:rotate(0deg)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes typewriter{from{width:0}to{width:100%}}.form-control-focus{position:relative}.form-control-focus .form-control,.form-control-focus .form-select{transition:all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)}.form-control-focus .form-control:focus,.form-control-focus .form-select:focus{transform:scale(1.02);border-color:#0066FF;box-shadow:0 0 0 4px rgba(0,102,255,0.15)}.form-control-focus .form-control:valid,.form-control-focus .form-select:valid{animation:popScale 400ms ease-out}.form-control-focus .form-label{position:relative;display:inline-block;overflow:hidden}.form-control-focus .form-label::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg, #06f, #0052CC);transform:translateX(-100%);transition:transform 300ms ease}.form-control-focus .form-control:focus~.form-label::after{transform:translateX(0)}.form-control-focus .input-group-text{transition:all 200ms ease;background-color:#F9FAFB}.form-control-focus .input-group-text:hover{background-color:#F3F4F6;border-color:#0066FF}.form-text-counter{display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;color:#6B7280;margin-top:0.5rem}.form-text-counter .counter{font-weight:600;transition:color 200ms ease}.form-text-counter .counter.warning{color:#F59E0B}.form-text-counter .counter.danger{color:#EF4444}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading::after{content:'';position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,0.3);border-radius:50%;border-top-color:white;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-success-check::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0);animation:popScale 400ms ease-out forwards;color:white;font-weight:bold}.card-interactive{position:relative;overflow:hidden;cursor:pointer}.card-interactive::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% 50%, rgba(0,102,255,0.05) 0%, transparent 70%);opacity:0;transition:opacity 300ms ease}.card-interactive:hover::before{opacity:1}.card-interactive .card-hover-content{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(0,102,255,0.02);opacity:0;transition:all 300ms ease;pointer-events:none}.card-interactive .card-hover-content .btn-sm{transform:scale(0.8);opacity:0}.card-interactive:hover .card-hover-content{opacity:1}.card-interactive:hover .card-hover-content .btn-sm{transform:scale(1);opacity:1}.progress-ring{transform:rotate(-90deg);transform-origin:50% 50%}.progress-ring circle{transition:stroke-dashoffset 500ms cubic-bezier(0.4, 0, 0.2, 1)}.skeleton-shimmer{position:relative;overflow:hidden;background-color:#e0e0e0}.skeleton-shimmer::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;transform:translateX(-100%);background:linear-gradient(90deg, rgba(255,255,255,0) 0, rgba(255,255,255,0.2) 20%, rgba(255,255,255,0.5) 60%, rgba(255,255,255,0));animation:shimmer 2s infinite}.toast-notify{position:fixed;z-index:1050;animation:slideInRight 300ms ease-out}.toast-notify.toast-success{background:linear-gradient(135deg, #22C55E 0%, #16A34A 100%)}.toast-notify.toast-danger{background:linear-gradient(135deg, #EF4444 0%, #DC2626 100%)}.toast-notify.toast-warning{background:linear-gradient(135deg, #F59E0B 0%, #D97706 100%)}.toast-notify.toast-info{background:linear-gradient(135deg, #06f 0%, #0052CC 100%)}.toast-notify .toast-icon{animation:popScale 400ms ease-out;margin-right:1rem}.toast-notify .toast-close{opacity:0.7;transition:opacity 200ms ease}.toast-notify .toast-close:hover{opacity:1}.nav-tabs{border-bottom:2px solid #E5E7EB}.nav-tabs .nav-link{position:relative;color:#6B7280;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all 200ms ease}.nav-tabs .nav-link::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:3px;background:linear-gradient(90deg, #06f, #0052CC);transition:width 300ms ease}.nav-tabs .nav-link:hover{border-color:transparent;color:#0066FF}.nav-tabs .nav-link:hover::after{width:100%}.nav-tabs .nav-link.active{color:#0066FF;border-color:transparent;background-color:transparent}.nav-tabs .nav-link.active::after{width:100%}.accordion-button{position:relative;font-weight:600;border:1px solid #E5E7EB;border-radius:8px;margin-bottom:0.75rem;box-shadow:0 1px 3px rgba(0,0,0,0.05);transition:all 300ms ease}.accordion-button:not(.collapsed){background-color:rgba(0,102,255,0.05);border-color:#0066FF;box-shadow:0 4px 12px rgba(0,102,255,0.1)}.accordion-button::after{transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1)}.accordion-button:focus{outline:2px solid #0066FF;outline-offset:2px}.accordion-body{animation:smoothFadeIn 300ms ease-out}.dropdown-animated .dropdown-toggle::after{transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1)}.dropdown-animated .dropdown-menu{animation:fadeInScale 200ms ease-out;transform-origin:top center}.dropdown-animated.show .dropdown-toggle::after{transform:rotate(180deg)}.chart-container{position:relative;animation:smoothFadeIn 500ms ease-out}.chart-container canvas{max-height:300px}.stat-change{display:inline-flex;align-items:center;font-weight:600;padding:0.5rem 0.75rem;border-radius:20px;font-size:0.875rem}.stat-change.positive{background-color:rgba(34,197,94,0.15);color:#22C55E}.stat-change.positive::before{content:'↑';margin-right:0.25rem;font-weight:bold}.stat-change.negative{background-color:rgba(239,68,68,0.15);color:#EF4444}.stat-change.negative::before{content:'↓';margin-right:0.25rem;font-weight:bold}.stat-change.neutral{background-color:rgba(107,114,128,0.15);color:#6B7280}.stat-change.neutral::before{content:'→';margin-right:0.25rem}.onboarding-step{animation:slideInLeft 400ms ease-out;opacity:0}.onboarding-step.active{animation:slideInRight 400ms ease-out forwards;opacity:1}.onboarding-step.complete{animation:slideInLeft 400ms ease-out forwards}.step-indicator{display:flex;align-items:center;gap:1rem}.step-indicator .step-circle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:#F3F4F6;border:2px solid #E5E7EB;font-weight:600;color:#6B7280;transition:all 300ms ease}.step-indicator .step-circle.active{background-color:#0066FF;color:white;border-color:#0066FF;box-shadow:0 0 0 4px rgba(0,102,255,0.1);animation:popScale 400ms ease-out}.step-indicator .step-circle.complete{background-color:#22C55E;color:white;border-color:#22C55E;animation:popScale 400ms ease-out}.step-indicator .step-circle.complete::after{content:'✓';font-size:1.25rem;animation:popScale 300ms ease-out}.step-indicator .step-label{font-weight:500;color:#6B7280}.step-indicator .step-label .step-title{display:block;font-size:0.875rem;text-transform:uppercase;letter-spacing:0.5px}.step-indicator .step-label .step-description{display:block;font-size:0.75rem;color:#9CA3AF;margin-top:0.25rem}.badge-unlock{animation:popScale 500ms cubic-bezier(0.34, 1.56, 0.64, 1)}.badge-unlock::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;box-shadow:0 0 20px rgba(0,102,255,0.6);animation:glow 1.5s ease-in-out}.achievement-card{position:relative;overflow:hidden}.achievement-card.locked{opacity:0.6;filter:grayscale(100%)}.achievement-card.unlocked{animation:popScale 600ms cubic-bezier(0.34, 1.56, 0.64, 1)}.achievement-card.unlocked .achievement-icon{animation:float 3s ease-in-out infinite}.achievement-card .achievement-icon{font-size:3rem;text-align:center;margin-bottom:1rem}.achievement-card .achievement-label{font-weight:600;margin-bottom:0.5rem}.hover-card{position:relative;transition:all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)}.hover-card::before{content:'';position:absolute;inset:0;border-radius:12px;padding:2px;background:linear-gradient(135deg, #06f, #0052CC);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:source-out;opacity:0;transition:opacity 300ms ease}.hover-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.15)}.hover-card:hover::before{opacity:1}.text-gradient{background:linear-gradient(135deg, #06f, #0052CC);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-animate{animation:typewriter 3s steps(40, end);overflow:hidden;white-space:nowrap}.text-underline-animate{position:relative;display:inline-block}.text-underline-animate::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg, #06f, #0052CC);transition:width 300ms ease}.text-underline-animate:hover::after{width:100%}@media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}@media (max-width: 768px){.card-hover-content{opacity:1 !important;pointer-events:auto !important}.btn-loading::after,.skeleton-shimmer::after{animation:none}}.sr-only-interactive{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.sr-only-interactive:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal;background-color:#0066FF;color:white;padding:0.5rem;border-radius:4px}:focus-visible{outline:2px solid #0066FF;outline-offset:3px;border-radius:4px}.animate-fade-in{animation:smoothFadeIn 300ms ease-out}.animate-slide-in{animation:slideInLeft 400ms ease-out}.animate-pop{animation:popScale 400ms cubic-bezier(0.34, 1.56, 0.64, 1)}.animate-bounce{animation:bounce 600ms ease-in-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-wiggle{animation:wiggle 400ms ease-in-out}.animate-glow{animation:glow 1.5s ease-in-out infinite}.delay-100{animation-delay:100ms}.delay-200{animation-delay:200ms}.delay-300{animation-delay:300ms}.delay-400{animation-delay:400ms}.delay-500{animation-delay:500ms}@supports (backdrop-filter: blur(10px)){.modal-backdrop{backdrop-filter:blur(5px);background-color:rgba(0,0,0,0.3)}.dropdown-menu{backdrop-filter:blur(10px);background-color:rgba(255,255,255,0.95)}}
