@media (max-width:768px){.btn,[role=button],a.inline-flex,button{min-height:44px;min-width:44px;padding:12px 16px}.text-sm button,button.text-sm{min-height:40px;padding:10px 14px}.icon-button,button:has(svg:only-child){width:44px;height:44px;padding:10px}.nav-link,nav a{min-height:44px;display:flex;align-items:center;padding:12px 16px}input,select,textarea{min-height:44px;padding:12px;font-size:16px}input[type=checkbox],input[type=radio]{width:20px;height:20px;margin:12px}.cursor-pointer{padding:16px;margin:8px 0}.fixed.inset-0{padding:16px}.modal-content,[role=dialog]{max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch}.max-w-lg{max-width:min(32rem,calc(100vw - 32px))}.max-w-xl{max-width:min(36rem,calc(100vw - 32px))}.max-w-2xl{max-width:min(42rem,calc(100vw - 32px))}.dashboard-grid{grid-template-columns:1fr;gap:16px}.grid-cols-2.lg\\:grid-cols-5{grid-template-columns:1fr}.grid-cols-1.md\\:grid-cols-2.lg\\:grid-cols-3{grid-template-columns:1fr}.desktop-only{display:none}.p-6,.p-8{padding:16px}.px-6{padding-left:16px;padding-right:16px}.py-6{padding-top:16px;padding-bottom:16px}.text-4xl{font-size:2rem}.text-3xl{font-size:1.75rem}.text-2xl{font-size:1.5rem}.text-xl{font-size:1.25rem}.mobile-nav{position:fixed;top:0;left:-100%;width:80%;max-width:320px;height:100vh;background:white;z-index:100;transition:left .3s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-nav.open{left:0;box-shadow:0 0 20px rgba(0,0,0,.1)}.mobile-nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:99;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.mobile-nav-overlay.open{opacity:1;visibility:visible}header{position:sticky;top:0;z-index:50;background:white;border-bottom:1px solid #e5e7eb}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.overflow-x-auto{position:relative}.overflow-x-auto:after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;background:linear-gradient(90deg,transparent,white);pointer-events:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid #e5e7eb;padding:8px;z-index:40;display:flex;justify-content:space-around}.bottom-nav button{flex:1;margin:0 4px}.swipeable{scroll-snap-type:x mandatory;overflow-x:auto;-webkit-overflow-scrolling:touch;display:flex;gap:16px;padding:16px}.swipeable>*{scroll-snap-align:center;flex:0 0 85%}.skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fab{position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:50%;background:black;color:white;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:30}.fab,.pull-to-refresh{display:flex;align-items:center;justify-content:center}.pull-to-refresh{position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:40px;height:40px}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}}@media (min-width:768px) and (max-width:1024px){.grid-cols-1.md\\:grid-cols-2.lg\\:grid-cols-3{grid-template-columns:repeat(2,1fr)}.max-w-lg{max-width:min(32rem,calc(100vw - 48px))}}@media (max-height:500px) and (orientation:landscape){.py-6,.py-8{padding-top:8px;padding-bottom:8px}.text-4xl{font-size:1.5rem}.p-6{padding:12px}.landscape-hide{display:none}}@media (prefers-color-scheme:dark){@media (max-width:768px){.mobile-nav{background:#1f2937;color:white}.bottom-nav{background:#1f2937;border-top-color:#374151}}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast:high){.btn,button,input,select,textarea{border:2px solid}}@media print{.bottom-nav,.fab,.mobile-nav,.no-print,nav{display:none!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes progress{0%{width:0}to{width:100%}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-fadeOut{animation:fadeOut .3s ease-out}.animate-scaleIn{animation:scaleIn .2s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}.animate-slideUp{animation:slideUp .3s ease-out}.animate-shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.3) 50%,transparent 75%);background-size:200% 100%}.animate-bounce-slow{animation:bounce 2s infinite}.animate-shake{animation:shake .5s}.animate-rotate{animation:rotate 1s linear infinite}.animate-progress{animation:progress 2s ease-out}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.hover-grow{transition:transform .2s ease}.hover-grow:hover{transform:scale(1.05)}.hover-shrink{transition:transform .2s ease}.hover-shrink:hover{transform:scale(.95)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.click-scale{transition:transform .1s ease}.click-scale:active{transform:scale(.95)}.click-ripple{position:relative;overflow:hidden}.click-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.click-ripple:active:before{width:300px;height:300px}.focus-ring{transition:box-shadow .2s ease}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px rgba(0,0,0,.1)}.focus-ring-primary:focus{box-shadow:0 0 0 3px rgba(59,130,246,.3)}.focus-ring-success:focus{box-shadow:0 0 0 3px rgba(34,197,94,.3)}.focus-ring-danger:focus{box-shadow:0 0 0 3px rgba(239,68,68,.3)}.transition-all-fast{transition:all .15s ease}.transition-all-medium{transition:all .3s ease}.transition-all-slow{transition:all .5s ease}.transition-colors-fast{transition:color .15s ease,background-color .15s ease,border-color .15s ease}.transition-transform{transition:transform .2s ease}.transition-opacity{transition:opacity .3s ease}.smooth-scroll{scroll-behavior:smooth}.parallax{position:relative;transform-style:preserve-3d;transition:transform .3s ease}.parallax:hover{transform:perspective(1000px) rotateX(5deg) rotateY(5deg)}.gradient-animate{background:linear-gradient(270deg,#667eea,#764ba2,#f093fb);background-size:600% 600%;animation:gradientShift 10s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.text-glow{text-shadow:0 0 10px rgba(0,0,0,.3)}.text-glow:hover{text-shadow:0 0 20px rgba(0,0,0,.5)}.text-underline-animate{position:relative;text-decoration:none}.text-underline-animate:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:currentColor;transition:width .3s ease}.text-underline-animate:hover:after{width:100%}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 40px rgba(0,0,0,.1)}.card-tilt{transition:transform .3s ease;transform-style:preserve-3d}.card-tilt:hover{transform:perspective(1000px) rotateX(-5deg) rotateY(5deg)}.btn-press{transition:all .1s ease}.btn-press:active{transform:translateY(2px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.btn-slide{position:relative;overflow:hidden;z-index:1}.btn-slide:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:rgba(255,255,255,.2);transition:left .3s ease;z-index:-1}.btn-slide:hover:before{left:0}.skeleton-loading{position:relative;overflow:hidden;background:#f0f0f0}.skeleton-loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:skeleton-sweep 2s infinite}@keyframes skeleton-sweep{0%{left:-100%}to{left:100%}}.progress-bar{position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;height:100%;width:50px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progress-shine 2s infinite}@keyframes progress-shine{0%{left:-50px}to{left:100%}}.badge-pulse{position:relative}.badge-pulse:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background:inherit;animation:pulse-ring 1.5s infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.3);opacity:0}}.tooltip-fade{opacity:0;transform:translateY(-5px);transition:all .2s ease;pointer-events:none}.tooltip-fade.show{opacity:1;transform:translateY(0);pointer-events:auto}.modal-backdrop{animation:fadeIn .2s ease}.modal-content{animation:scaleIn .3s ease}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.accordion-content.open{max-height:1000px}.dropdown-content{opacity:0;transform:translateY(-10px);transition:all .2s ease;pointer-events:none}.dropdown-content.open{opacity:1;transform:translateY(0);pointer-events:auto}.tab-content{opacity:0;transform:translateX(10px);transition:all .3s ease}.tab-content.active{opacity:1;transform:translateX(0)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}