@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up .3s ease-out}.animate-slide-down{animation:slide-down .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .3s ease-out}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0 80px);background-size:200px 100%;animation:skeleton-loading 1.5s infinite}.touch-feedback{position:relative;overflow:hidden}.touch-feedback:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.touch-feedback:active:after{width:300px;height:300px}@media(max-width:768px){button,a,input,select,textarea{min-height:44px;min-width:44px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-overflow-scrolling:touch}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.safe-top{padding-top:max(0px,env(safe-area-inset-top))}.safe-bottom{padding-bottom:max(0px,env(safe-area-inset-bottom))}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:root{--bg-primary: #1e293b;--bg-secondary: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1}}.swipeable{touch-action:pan-y;user-select:none}.loading-shimmer{background:linear-gradient(90deg,#f43f5e1a,#f43f5e33,#f43f5e1a);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(max-width:768px){.responsive-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.responsive-table table{min-width:100%}}.bottom-nav{padding-bottom:max(1rem,env(safe-area-inset-bottom))}@keyframes haptic{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.haptic-feedback{animation:haptic .1s}img{content-visibility:auto;loading:lazy}.virtual-scroll{contain:layout style paint;content-visibility:auto}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}*:focus-visible{outline:2px solid #f43f5e;outline-offset:2px}*:focus:not(:focus-visible){outline:none}
