@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s ease-out both}.animate-fade-in-up{animation:fadeInUp .4s ease-out both}.animate-slide-in-right{animation:slideInRight .3s ease-out forwards}.animate-slide-out-right{animation:slideOutRight .3s ease-out forwards}.animate-scale-in{animation:scaleIn .2s ease-out forwards}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.stagger-1{animation-delay:.05s!important}.stagger-2{animation-delay:.1s!important}.stagger-3{animation-delay:.15s!important}.stagger-4{animation-delay:.2s!important}.stagger-5{animation-delay:.25s!important}.stagger-6{animation-delay:.3s!important}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.dashboard-card{border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:all .2s ease}.dashboard-card:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transform:translateY(-2px)}.dashboard-card-interactive{cursor:pointer}.dashboard-card-interactive:hover{--tw-border-opacity: 1;border-color:rgb(186 230 253 / var(--tw-border-opacity, 1))}.chart-container{position:relative;min-height:200px}.chart-container.loading:after{content:"";position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center}.tab-content{animation:fadeIn .3s ease-out}.dropdown-menu{animation:scaleIn .2s ease-out;transform-origin:top right}.ai-panel{animation:slideInRight .3s ease-out}.ai-panel.closing{animation:slideOutRight .3s ease-out}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition:all .2s ease}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1));transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e94d}.btn-primary:active{transform:translateY(0)}.sidebar-item-active{position:relative}.sidebar-item-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:linear-gradient(180deg,#0ea5e9,#8b5cf6);border-radius:0 4px 4px 0}.kpi-value{transition:all .3s ease}.kpi-card:hover .kpi-value{transform:scale(1.05);color:#0ea5e9}.progress-bar{transition:width .5s ease-out}.table-row-hover{transition:all .15s ease}.table-row-hover:hover{background-color:#f8fafc;transform:scale(1.005)}@keyframes marker-pulse{0%{box-shadow:0 0 #0ea5e966}70%{box-shadow:0 0 0 10px #0ea5e900}to{box-shadow:0 0 #0ea5e900}}.map-marker{animation:marker-pulse 2s infinite}.dashboard-scrollbar::-webkit-scrollbar{width:6px;height:6px}.dashboard-scrollbar::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.dashboard-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.dashboard-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #0ea5e94d}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.badge-pulse{animation:badge-pulse 2s ease-in-out infinite}.apexcharts-tooltip{box-shadow:0 10px 40px #00000026!important;border-radius:8px!important;border:none!important}@keyframes loading-dot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-dot:nth-child(1){animation:loading-dot 1.4s ease-in-out infinite}.loading-dot:nth-child(2){animation:loading-dot 1.4s ease-in-out .2s infinite}.loading-dot:nth-child(3){animation:loading-dot 1.4s ease-in-out .4s infinite}
