.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c7d2fe,#a5b4fc);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a5b4fc,#818cf8)}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3730a3,#4338ca)}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#4338ca,#4f46e5)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .5s ease-out forwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-left{animation:slideInLeft .4s ease-out forwards}@keyframes pulseGlow{0%,to{box-shadow:0 0 #6366f166}50%{box-shadow:0 0 20px 5px #6366f133}}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.dark .skeleton{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200% 100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes scalePop{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}.animate-scale-pop{animation:scalePop .3s ease-out forwards}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-count-up{animation:countUp .6s ease-out forwards}@keyframes spinGradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-gradient{animation:spinGradient 1s linear infinite}.glass{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}.dark .glass{background:#0f172ab3;border:1px solid rgba(255,255,255,.1)}.glass-card{background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 32px #0000000f}.dark .glass-card{background:#0f172ad9;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #0000004d}.glass-header{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.3)}.dark .glass-header{background:linear-gradient(135deg,#0f172af2,#0f172ad9);border-bottom:1px solid rgba(255,255,255,.05)}.gradient-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7)}.gradient-secondary{background:linear-gradient(135deg,#3b82f6,#6366f1)}.gradient-success{background:linear-gradient(135deg,#10b981,#059669)}.gradient-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.gradient-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.gradient-mesh{background:radial-gradient(at 40% 20%,rgba(99,102,241,.15) 0,transparent 50%),radial-gradient(at 80% 0%,rgba(139,92,246,.1) 0,transparent 50%),radial-gradient(at 0% 50%,rgba(236,72,153,.1) 0,transparent 50%),radial-gradient(at 80% 50%,rgba(16,185,129,.1) 0,transparent 50%),radial-gradient(at 0% 100%,rgba(245,158,11,.1) 0,transparent 50%)}.dark .gradient-mesh{background:radial-gradient(at 40% 20%,rgba(99,102,241,.08) 0,transparent 50%),radial-gradient(at 80% 0%,rgba(139,92,246,.06) 0,transparent 50%),radial-gradient(at 0% 50%,rgba(236,72,153,.06) 0,transparent 50%),radial-gradient(at 80% 50%,rgba(16,185,129,.06) 0,transparent 50%),radial-gradient(at 0% 100%,rgba(245,158,11,.06) 0,transparent 50%)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 40px -8px #00000026}.dark .hover-lift:hover{box-shadow:0 12px 40px -8px #00000080}.hover-scale{transition:transform .2s ease}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 30px #6366f14d}.dark .hover-glow:hover{box-shadow:0 0 30px #6366f133}.btn-press{transition:transform .1s ease}.btn-press:active{transform:scale(.96)}.stat-card{position:relative;overflow:hidden;transition:all .3s ease}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7);opacity:0;transition:opacity .3s ease}.stat-card:hover:before{opacity:1}.stat-card-value{background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark .stat-card-value{background:linear-gradient(135deg,#f1f5f9,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.table-row-hover{transition:background .2s ease,transform .2s ease}.table-row-hover:hover{background:#6366f10a}.dark .table-row-hover:hover{background:#6366f114}.badge-shimmer{position:relative;overflow:hidden}.badge-shimmer:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmerBadge 2s infinite}@keyframes shimmerBadge{0%{left:-100%}to{left:100%}}.chart-container{position:relative}.chart-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(99,102,241,.03) 0%,transparent 70%);pointer-events:none}.modal-overlay{background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-content{animation:modalIn .3s ease-out forwards}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.upload-zone{border:2px dashed #cbd5e1;transition:all .3s ease;position:relative;overflow:hidden}.upload-zone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);opacity:0;transition:opacity .3s ease;pointer-events:none}.upload-zone:hover{border-color:#6366f1;background:#6366f105}.upload-zone:hover:before{opacity:1}.dark .upload-zone{border-color:#475569}.dark .upload-zone:hover{border-color:#6366f1;background:#6366f10d}.progress-bar{position:relative;overflow:hidden;background:#e2e8f0;border-radius:9999px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:9999px;transition:width .3s ease;position:relative}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 1.5s ease-in-out infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.dark .progress-bar{background:#334155}.filter-chip{transition:all .2s ease;position:relative;overflow:hidden}.filter-chip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);opacity:0;transition:opacity .2s ease}.filter-chip:hover:before{opacity:1}.filter-chip-active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 14px -3px #6366f180}.ai-card{position:relative;overflow:hidden}.ai-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(99,102,241,.1),transparent,rgba(139,92,246,.1),transparent);animation:rotateGradient 8s linear infinite}@keyframes rotateGradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-card-content{position:relative;z-index:1;background:inherit}.toast{animation:toastIn .4s ease-out forwards}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-exit{animation:toastOut .3s ease-in forwards}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media(max-width:768px){.hover-lift:hover,.hover-scale:hover{transform:none}}.text-gradient-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-success{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.border-gradient{border:double 2px transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#6366f1,#8b5cf6);background-origin:border-box;background-clip:content-box,border-box}.dark .border-gradient{background-image:linear-gradient(#0f172a,#0f172a),linear-gradient(135deg,#6366f1,#8b5cf6)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #6366f14d}.dark .focus-ring:focus{box-shadow:0 0 0 3px #6366f180}::selection{background:#6366f14d;color:inherit}.dark ::selection{background:#6366f180}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button,[role=button],a,label[for],input[type=checkbox],input[type=radio],select{cursor:pointer}:focus-visible{outline:2px solid #6366f1;outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6366f1;outline-offset:2px;box-shadow:0 0 0 4px #6366f126}:focus:not(:focus-visible){outline:none;box-shadow:none}button,a,input,select,textarea,.clickable,.interactive{transition:all .2s ease-out}.btn-press:active{transform:scale(.98)}.hover-scale:hover{transform:scale(1.02)}.hover-scale:active{transform:scale(.98)}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a}.clickable-card{cursor:pointer;transition:all .2s ease-out}.clickable-card:hover{background-color:#6366f10d;border-color:#818cf8}.clickable-card:active{transform:scale(.99)}.skip-link{position:absolute;top:-40px;left:0;background:#6366f1;color:#fff;padding:8px 16px;z-index:100;border-radius:0 0 8px;transition:top .3s}.skip-link:focus{top:0}@media(prefers-contrast:high){.glass-card{background:#fff;border:2px solid black}.dark .glass-card{background:#0f172a;border:2px solid white}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.loading-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.disabled,button:disabled,input:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@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%)}}.animate-slide-in-right{animation:slideInRight .3s ease-out forwards}.animate-slide-out-right{animation:slideOutRight .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scale-up{animation:scaleUp .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.animate-shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}@media print{@page{size:A4 portrait;margin:1.5cm}body{background:#fff!important;color:#000!important;font-size:10pt;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.dark{background:#fff!important;color:#000!important}.print\:hidden,nav,header button,footer,.upload-zone,::-webkit-scrollbar{display:none!important}main,.max-w-7xl{max-width:100%!important;margin:0!important;padding:0!important}.glass-card,.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl{box-shadow:none!important;border:1px solid #e2e8f0!important}table,tr,.stat-card,figure,.chart-container{page-break-inside:avoid}.recharts-wrapper svg{overflow:visible!important}}
