@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .4s ease-out}.animate-slide-down{animation:slideDown .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-bounce-once{animation:bounce .6s ease-out}.stagger-item{opacity:0;animation:slideUp .4s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.skeleton{background:linear-gradient(90deg,#f0f0f0 0%,#e0e0e0 50%,#f0f0f0 100%);background-size:1000px 100%;animation:shimmer 2s infinite linear}.dark .skeleton{background:linear-gradient(90deg,#2a2a2a 0%,#3a3a3a 50%,#2a2a2a 100%);background-size:1000px 100%}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.button-press:active{transform:scale(.98)}.page-transition{animation:fadeIn .3s ease-out}.modal-backdrop{animation:fadeIn .2s ease-out}.modal-content{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-enter{animation:slideInRight .3s ease-out}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.checkmark-animate{stroke-dasharray:100;animation:checkmark .5s ease-out forwards}@keyframes pulse-ring{0%{transform:scale(.95);opacity:1}to{transform:scale(1.3);opacity:0}}.pulse-ring{animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite}.floating-input{position:relative}.floating-label{position:absolute;left:.75rem;top:.75rem;padding:0 .25rem;background:white;color:#6b7280;font-size:.875rem;font-weight:500;pointer-events:none;transition:all .2s ease;transform-origin:left center}.dark .floating-label{background:rgb(55,65,81);color:#9ca3af}.floating-input input:focus~.floating-label,.floating-input input:not(:placeholder-shown)~.floating-label,.floating-input textarea:focus~.floating-label,.floating-input textarea:not(:placeholder-shown)~.floating-label{top:-.5rem;left:.75rem;font-size:.75rem;color:#3b82f6;font-weight:600}.dark .floating-input input:focus~.floating-label,.dark .floating-input input:not(:placeholder-shown)~.floating-label,.dark .floating-input textarea:focus~.floating-label,.dark .floating-input textarea:not(:placeholder-shown)~.floating-label{color:#60a5fa}html{scroll-behavior:smooth}.theme-transitioning,.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease!important}.dark{color-scheme:dark}.dark body{background-color:#0f172a}.dark .bg-white,.dark .bg-gray-50{background-color:#1e293b!important}.dark .bg-gray-100{background-color:#334155!important}.dark .bg-gray-200{background-color:#475569!important}.dark .bg-gray-800{background-color:#334155!important}.dark .bg-gray-900{background-color:#1e293b!important}.dark .text-gray-900,.dark .font-medium.text-gray-900,.dark p.text-gray-900{color:#f8fafc!important}.dark .text-gray-800{color:#f1f5f9!important}.dark .text-gray-700{color:#e2e8f0!important}.dark .text-gray-600{color:#cbd5e1!important}.dark .text-gray-500,.dark p.text-gray-500,.dark .text-gray-400,.dark p.text-gray-400{color:#94a3b8!important}.dark .text-white,.dark .dark\:text-white{color:#fff!important}.dark .border-gray-200{border-color:#334155!important}.dark .border-gray-300{border-color:#475569!important}.dark input,.dark textarea,.dark select{background-color:#1e293b;border-color:#475569;color:#f1f5f9}.dark input:focus,.dark textarea:focus,.dark select:focus{background-color:#0f172a;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.dark input::placeholder,.dark textarea::placeholder{color:#64748b}.dark button:not(.bg-primary-600):not(.bg-green-500):not(.bg-red-500):not(.bg-yellow-500){background-color:#334155;color:#f1f5f9}.dark button:not(.bg-primary-600):not(.bg-green-500):not(.bg-red-500):not(.bg-yellow-500):hover{background-color:#475569}.dark .shadow-sm{box-shadow:0 1px 2px #0000004d}.dark .shadow{box-shadow:0 1px 3px #0006,0 1px 2px -1px #0000004d}.dark .shadow-md{box-shadow:0 4px 6px -1px #0006,0 2px 4px -2px #0000004d}.dark .shadow-lg{box-shadow:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d}.dark .shadow-xl{box-shadow:0 20px 25px -5px #0006,0 8px 10px -6px #0000004d}.dark .hover\:bg-gray-50:hover{background-color:#334155!important}.dark .hover\:bg-gray-100:hover{background-color:#475569!important}.dark .hover\:bg-gray-200:hover{background-color:#64748b!important}.dark code{background-color:#0f172a;color:#60a5fa;border:1px solid #334155}.dark .modal-backdrop{background-color:#000000bf}.dark .tooltip:before{background:rgba(15,23,42,.95);border:1px solid #334155}.dark button:disabled,.dark input:disabled,.dark textarea:disabled,.dark select:disabled{background-color:#1e293b;color:#475569;opacity:.6;cursor:not-allowed}.dark *:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dark a{color:#60a5fa}.dark a:hover{color:#93c5fd}.dark .bg-green-100{background-color:#22c55e26!important}.dark .bg-red-100{background-color:#ef444426!important}.dark .bg-yellow-100{background-color:#eab30826!important}.dark .bg-blue-100{background-color:#3b82f626!important}.dark .text-green-700{color:#86efac!important}.dark .text-red-700{color:#fca5a5!important}.dark .text-yellow-700{color:#fde047!important}.dark .text-blue-700{color:#93c5fd!important}.dark hr,.dark .border-t,.dark .border-b{border-color:#334155!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.dark ::-webkit-scrollbar-thumb{background:#4b5563}.dark ::-webkit-scrollbar-thumb:hover{background:#6b7280}*:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.glass{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.dark .glass{background:rgba(17,24,39,.7);border:1px solid rgba(255,255,255,.1)}.gradient-text{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shine-effect{position:relative;overflow:hidden}.shine-effect:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.shine-effect:hover:before{left:100%}.tap-highlight{-webkit-tap-highlight-color:rgba(59,130,246,.1)}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:rgba(255,255,255,.5);opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%}.ripple-effect:active:after{animation:ripple .6s ease-out}.smooth-color{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.interactive-lift{transition:transform .2s ease,box-shadow .2s ease}.interactive-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px #00000026}.interactive-lift:active{transform:translateY(-2px)}@keyframes badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.badge-pulse{animation:badge-pulse 2s ease-in-out infinite}.tooltip{position:relative}.tooltip:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.5rem .75rem;background:rgba(0,0,0,.9);color:#fff;font-size:.75rem;border-radius:.5rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.tooltip:hover:before{opacity:1;transform:translate(-50%) translateY(-4px)}@keyframes draw-check{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.check-animation{stroke-dasharray:100;animation:draw-check .5s ease-out forwards}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:count-up .4s ease-out}@keyframes shimmer-enhanced{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer-enhanced{background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 100%);background-size:1000px 100%;animation:shimmer-enhanced 2s infinite}.focus-ring{transition:box-shadow .2s ease}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #3b82f680}.draggable{cursor:move;transition:opacity .2s ease}.draggable:active{opacity:.5;cursor:grabbing}.drop-zone{transition:background-color .2s ease,border-color .2s ease}.drop-zone.drag-over{background-color:#3b82f61a;border-color:#3b82f6}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.confetti{position:fixed;width:10px;height:10px;background:#f0f;animation:confetti-fall 3s linear;pointer-events:none}@keyframes progress-bar{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar-animated:after{content:"";position:absolute;top:0;left:0;bottom:0;width:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-bar 1.5s ease-in-out infinite}@supports (padding: max(0px)){.pb-safe{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.pt-safe{padding-top:max(1rem,env(safe-area-inset-top))}}@media (max-width: 1023px){button,a{min-height:44px;min-width:44px}button:active,a:active{transform:scale(.97);transition:transform .1s ease}body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}::-webkit-scrollbar{display:none}.card-mobile{margin-bottom:1rem;border-radius:1rem;padding:1.25rem}.floating-nav{box-shadow:0 -2px 10px #0000000d,0 -1px 3px #0000001a}.dark .floating-nav{box-shadow:0 -2px 10px #0000004d,0 -1px 3px #00000080}.app-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.page-enter{animation:slideUp .3s ease-out}.mobile-modal{border-radius:1.5rem 1.5rem 0 0;max-height:90vh;overflow-y:auto}.content-with-refresh{padding-top:1rem}.haptic-button:active{transform:scale(.95);transition:transform .05s ease}input:focus,textarea:focus,select:focus{transform:scale(1.02);transition:transform .2s ease}.fab{position:fixed;bottom:5rem;right:1rem;width:56px;height:56px;border-radius:50%;box-shadow:0 4px 12px #00000026;z-index:20}.fab:active{transform:scale(.9)}.swipe-indicator{width:40px;height:4px;background:rgba(0,0,0,.2);border-radius:2px;margin:.5rem auto}.dark .swipe-indicator{background:rgba(255,255,255,.2)}.mobile-content{padding-left:1.25rem;padding-right:1.25rem}.app-card{box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a}.app-card:active{box-shadow:0 2px 6px #0000001a,0 2px 4px #00000026}.mobile-transition{transition:all .2s cubic-bezier(.4,0,.2,1)}.mobile-list-item{padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:.5rem}.mobile-list-item:active{background-color:#0000000d}.dark .mobile-list-item:active{background-color:#ffffff0d}}@media (max-width: 1023px){input[type=text],input[type=number],input[type=email],input[type=password],textarea,select{font-size:16px!important}}@media (max-width: 1023px) and (prefers-reduced-motion: no-preference){.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}}@supports (-webkit-touch-callout: none){.ios-safe-top{padding-top:env(safe-area-inset-top)}.ios-safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.ios-fixed{position:-webkit-sticky;position:sticky}}@media (max-width: 1023px){*{-webkit-tap-highlight-color:rgba(59,130,246,.1)}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}}
