:root{--mobile-header-height:60px;--mobile-bottom-nav-height:80px;--mobile-safe-area-top:env(safe-area-inset-top,0px);--mobile-safe-area-bottom:env(safe-area-inset-bottom,0px);--mobile-safe-area-left:env(safe-area-inset-left,0px);--mobile-safe-area-right:env(safe-area-inset-right,0px);--mobile-touch-target:44px;--mobile-border-radius:12px;--mobile-shadow:0 4px 20px rgba(0,0,0,0.1);--mobile-shadow-lg:0 8px 32px rgba(0,0,0,0.15);--mobile-transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--mobile-transition-normal:0.3s cubic-bezier(0.4,0,0.2,1);--mobile-transition-slow:0.5s cubic-bezier(0.4,0,0.2,1);--mobile-spring:cubic-bezier(0.175,0.885,0.32,1.275);--mobile-ease-out:cubic-bezier(0.25,0.46,0.45,0.94);--mobile-gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--mobile-gradient-success:linear-gradient(135deg,#4facfe,#00f2fe);--mobile-gradient-warning:linear-gradient(135deg,#fa709a,#fee140);--mobile-gradient-danger:linear-gradient(135deg,#ff6b6b,#ee5a24);--mobile-blur-backdrop:blur(20px) saturate(180%);--mobile-vh:1vh;--mobile-scroll-padding:20px;--mobile-focus-ring:0 0 0 2px rgba(59,130,246,0.5);--mobile-tap-highlight:rgba(0,0,0,0.1)}html.mobile{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:var(--mobile-tap-highlight);touch-action:manipulation;scroll-behavior:smooth;scroll-padding-top:var(--mobile-scroll-padding);font-feature-settings:"kern";text-rendering:optimizeLegibility}body.mobile{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;position:relative;min-height:100vh;min-height:calc(var(--mobile-vh, 1vh) * 100);transition:background-color var(--mobile-transition-normal);will-change:scroll-position;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}body.ios{position:fixed;width:100%;height:100%;overflow:hidden}body.ios .mobile-main{overflow-y:scroll;-webkit-overflow-scrolling:touch;height:100%}body.android{scroll-snap-type:y proximity}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fade-in-up{animation:fadeInUp .6s var(--mobile-ease-out) forwards}.animate-fade-in-scale{animation:fadeInScale .4s var(--mobile-spring) forwards}.animate-slide-in-right{animation:slideInRight .5s var(--mobile-ease-out) forwards}.animate-pulse-gentle{animation:pulse 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200px 100%;animation:shimmer 1.5s infinite}body.ios{-webkit-overflow-scrolling:touch}body.android{overscroll-behavior-y:contain}.ios .mobile-container{padding-bottom:calc(var(--mobile-safe-area-bottom) + 1rem)}.ios .mobile-button{-webkit-tap-highlight-color:transparent}.ios input,.ios select,.ios textarea{-webkit-appearance:none;border-radius:8px}.android .mobile-container{padding-bottom:calc(var(--mobile-safe-area-bottom) + .5rem)}.android .mobile-button{touch-action:manipulation}.android input,.android select,.android textarea{outline:none}.mobile-layout{display:flex;flex-direction:column;min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);position:relative;overflow-x:hidden}.mobile-layout.keyboard-open{height:calc(var(--mobile-vh, 100vh));overflow:hidden}.mobile-main{flex:1;padding:var(--mobile-header-height) var(--mobile-safe-area-right) var(--mobile-bottom-nav-height) var(--mobile-safe-area-left);overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}.mobile-main.keyboard-open{padding-bottom:0;height:calc(100vh - var(--mobile-header-height));height:calc(var(--mobile-vh, 100vh) - var(--mobile-header-height))}.mobile-container,.tablet-container{max-width:100%;margin:0 auto;position:relative;box-sizing:border-box}.desktop-container{max-width:1200px;margin:0 auto;position:relative;box-sizing:border-box}@media (max-width:767px){.mobile-container{padding-left:1rem!important;padding-right:1rem!important;max-width:100vw!important;overflow-x:hidden!important;box-sizing:border-box!important}.mobile-container *{max-width:100%!important;box-sizing:border-box!important}.mobile-container .container,.mobile-container .max-w-4xl,.mobile-container .max-w-5xl,.mobile-container .max-w-6xl,.mobile-container .max-w-7xl{max-width:100%!important;padding-left:1rem!important;padding-right:1rem!important}.mobile-container h1{font-size:1.5rem!important;line-height:1.3!important;margin-bottom:.75rem!important}.mobile-container h2{font-size:1.25rem!important;line-height:1.4!important;margin-bottom:.5rem!important}.mobile-container p{font-size:.9rem!important;line-height:1.5!important;margin-bottom:.75rem!important}.mobile-container a,.mobile-container button{min-height:48px!important;padding:.875rem 1.25rem!important;font-size:1rem!important;font-weight:500!important;border-radius:14px!important;transition:all var(--mobile-transition-fast)!important;position:relative!important;overflow:hidden!important;transform:translateZ(0)!important;will-change:transform,box-shadow!important;cursor:pointer!important;-moz-user-select:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;tap-highlight-color:transparent!important}.mobile-container a:active,.mobile-container button:active{transform:scale(.96) translateZ(0)!important;transition:transform .1s cubic-bezier(.4,0,1,1)!important}.mobile-container a:focus-visible,.mobile-container button:focus-visible{outline:none!important;box-shadow:var(--mobile-focus-ring)!important}.mobile-container a:before,.mobile-container button:before{content:""!important;position:absolute!important;top:50%!important;left:50%!important;width:0!important;height:0!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,255,255,.4) 0,rgba(255,255,255,.1) 70%,transparent 100%)!important;transform:translate(-50%,-50%) scale(0)!important;transition:transform .4s cubic-bezier(.4,0,.2,1)!important;pointer-events:none!important;z-index:1!important;opacity:0!important}.mobile-container a:active:before,.mobile-container button:active:before{width:200px!important;height:200px!important;transform:translate(-50%,-50%) scale(1)!important;opacity:1!important;transition:transform .15s cubic-bezier(.4,0,.2,1),opacity .15s ease!important}.mobile-container .bg-blue-600,.mobile-container .bg-primary{background:var(--mobile-gradient-primary)!important;box-shadow:0 4px 20px rgba(102,126,234,.25)!important;border:1px solid rgba(255,255,255,.1)!important}.mobile-container .bg-blue-600:hover,.mobile-container .bg-primary:hover{box-shadow:0 8px 25px rgba(102,126,234,.35)!important;transform:translateY(-1px) translateZ(0)!important}.mobile-container .bg-blue-600:active,.mobile-container .bg-primary:active{box-shadow:0 2px 10px rgba(102,126,234,.3)!important;transform:translateY(0) scale(.96) translateZ(0)!important}.mobile-container .bg-green-600,.mobile-container .bg-success{background:var(--mobile-gradient-success)!important;box-shadow:0 4px 20px rgba(79,172,254,.25)!important}.mobile-container .bg-danger,.mobile-container .bg-red-600{background:var(--mobile-gradient-danger)!important;box-shadow:0 4px 20px rgba(255,107,107,.25)!important}.mobile-container .flex{gap:.75rem!important;flex-wrap:wrap!important}.mobile-container .space-x-4>*+*{margin-left:.75rem!important}.mobile-container .space-y-4>*+*{margin-top:1rem!important}.mobile-container .space-x-2>*+*{margin-left:.5rem!important}.mobile-container .space-y-2>*+*{margin-top:.5rem!important}.mobile-container .border,.mobile-container .card{margin-bottom:1rem!important;border-radius:16px!important;box-shadow:0 2px 20px rgba(0,0,0,.08)!important;border:1px solid rgba(255,255,255,.1)!important}}.mobile-container .grid{grid-template-columns:1fr!important;gap:.75rem!important}.mobile-container code,.mobile-container pre,.mobile-container table{overflow-x:auto!important;max-width:100%!important}.mobile-container input,.mobile-container select,.mobile-container textarea{width:100%!important;max-width:100%!important;box-sizing:border-box!important;border-radius:12px!important;border:2px solid rgba(0,0,0,.1)!important;padding:12px 16px!important;font-size:16px!important;transition:all var(--mobile-transition-normal)!important;background:rgba(255,255,255,.8)!important;-webkit-backdrop-filter:var(--mobile-blur-backdrop)!important;backdrop-filter:var(--mobile-blur-backdrop)!important}.mobile-container input:focus,.mobile-container select:focus,.mobile-container textarea:focus{outline:none!important;border-color:#667eea!important;box-shadow:0 0 0 3px rgba(102,126,234,.1)!important;background:rgba(255,255,255,1)!important;transform:translateY(-1px)!important}.mobile-container input::-moz-placeholder,.mobile-container textarea::-moz-placeholder{color:rgba(0,0,0,.5)!important;-moz-transition:color var(--mobile-transition-fast)!important;transition:color var(--mobile-transition-fast)!important}.mobile-container input::placeholder,.mobile-container textarea::placeholder{color:rgba(0,0,0,.5)!important;transition:color var(--mobile-transition-fast)!important}.mobile-container input:focus::-moz-placeholder,.mobile-container textarea:focus::-moz-placeholder{color:rgba(0,0,0,.3)!important}.mobile-container input:focus::placeholder,.mobile-container textarea:focus::placeholder{color:rgba(0,0,0,.3)!important}.mobile-container .md\:grid-cols-2,.mobile-container .md\:grid-cols-3{grid-template-columns:1fr!important}.mobile-container .md\:grid-cols-4{grid-template-columns:repeat(2,1fr)!important}.mobile-container .flex.items-center.space-x-2,.mobile-container .flex.items-center.space-x-4{flex-wrap:wrap!important;gap:.5rem!important}.mobile-container .fixed.inset-0{-webkit-backdrop-filter:var(--mobile-blur-backdrop)!important;backdrop-filter:var(--mobile-blur-backdrop)!important;background:rgba(0,0,0,.5)!important;animation:fadeInScale .3s var(--mobile-ease-out)!important}.mobile-container .fixed.inset-0 .max-w-2xl,.mobile-container .fixed.inset-0 .max-w-lg,.mobile-container .fixed.inset-0 .max-w-md{max-width:calc(100vw - 2rem)!important;margin:1rem!important;border-radius:20px!important;box-shadow:0 20px 60px rgba(0,0,0,.3)!important;animation:fadeInUp .4s var(--mobile-spring)!important;border:1px solid rgba(255,255,255,.1)!important;-webkit-backdrop-filter:var(--mobile-blur-backdrop)!important;backdrop-filter:var(--mobile-blur-backdrop)!important}.mobile-container .fixed.inset-0 button{transition:all var(--mobile-transition-fast)!important}.mobile-container .fixed.inset-0 button:hover{transform:translateY(-1px)!important}.mobile-container .text-3xl{font-size:1.5rem!important}.mobile-container .text-2xl{font-size:1.25rem!important}.mobile-container .text-xl{font-size:1.1rem!important}.mobile-container .text-lg{font-size:1rem!important}.mobile-container .bg-gray-50,.mobile-container .bg-white,.mobile-container .border{border-radius:16px!important;transition:all var(--mobile-transition-normal)!important;-webkit-backdrop-filter:var(--mobile-blur-backdrop)!important;backdrop-filter:var(--mobile-blur-backdrop)!important}.mobile-container .shadow,.mobile-container .shadow-md,.mobile-container .shadow-sm{box-shadow:0 4px 20px rgba(0,0,0,.08)!important;transition:box-shadow var(--mobile-transition-normal)!important}.mobile-container .shadow-md:hover,.mobile-container .shadow-sm:hover,.mobile-container .shadow:hover{box-shadow:0 8px 30px rgba(0,0,0,.12)!important;transform:translateY(-2px)!important}.mobile-container .animate-spin{animation:spin 1s linear infinite!important}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mobile-container .loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%)!important;background-size:200% 100%!important;animation:shimmer 1.5s infinite!important;border-radius:8px!important}.mobile-container ol li,.mobile-container ul li{transition:all var(--mobile-transition-fast)!important;padding:8px 0!important}.mobile-container ol li:hover,.mobile-container ul li:hover{transform:translateX(4px)!important;color:#667eea!important}@media (min-width:768px) and (max-width:1023px){.tablet-container{padding-left:1.5rem!important;padding-right:1.5rem!important}}.mobile-nav{position:fixed;top:0;left:0;right:0;height:calc(var(--mobile-header-height) + var(--mobile-safe-area-top));background:rgba(255,255,255,.95);backdrop-filter:var(--mobile-blur-backdrop);-webkit-backdrop-filter:var(--mobile-blur-backdrop);border-bottom:1px solid rgba(0,0,0,.1);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:var(--mobile-safe-area-top) 16px 0 16px;transition:all var(--mobile-transition-normal);box-shadow:0 2px 20px rgba(0,0,0,.05)}.dark .mobile-nav{background:rgba(0,0,0,.95);border-bottom-color:rgba(255,255,255,.1)}.mobile-nav button{border-radius:12px;padding:8px;transition:all var(--mobile-transition-fast);background:rgba(0,0,0,.05);border:none;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.mobile-nav button:hover{background:rgba(0,0,0,.1);transform:scale(1.05)}.mobile-nav button:active{transform:scale(.95);transition:transform .1s ease}.mobile-sidebar{position:fixed;top:0;left:-100%;width:280px;height:100vh;height:calc(var(--vh, 1vh) * 100);background:rgba(255,255,255,.95);-webkit-backdrop-filter:var(--mobile-blur-backdrop);backdrop-filter:var(--mobile-blur-backdrop);z-index:1100;transition:all var(--mobile-transition-normal);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--mobile-shadow-lg);border-right:1px solid rgba(0,0,0,.1)}.mobile-sidebar.open{left:0;animation:slideInRight .4s var(--mobile-spring)}.mobile-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;opacity:0;visibility:hidden;transition:all var(--mobile-transition-normal)}.mobile-sidebar ul{padding:20px 0}.mobile-sidebar li{margin:0;padding:0}.mobile-sidebar a{display:flex;align-items:center;padding:12px 20px;color:rgba(0,0,0,.8);text-decoration:none;transition:all var(--mobile-transition-fast);border-radius:0;margin:0 10px;border-radius:12px}.mobile-sidebar a:hover{background:rgba(102,126,234,.1);color:#667eea;transform:translateX(4px)}.mobile-sidebar a.active{background:var(--mobile-gradient-primary);color:white;box-shadow:0 4px 15px rgba(102,126,234,.3)}.mobile-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{transition:all var(--mobile-transition-normal)}.page-transition-enter-active,.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-20px);transition:all var(--mobile-transition-fast)}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);-webkit-backdrop-filter:var(--mobile-blur-backdrop);backdrop-filter:var(--mobile-blur-backdrop);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeInScale .3s var(--mobile-ease-out)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(102,126,234,.3);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.toast-notification{position:fixed;top:calc(var(--mobile-header-height) + 20px);left:20px;right:20px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:var(--mobile-blur-backdrop);backdrop-filter:var(--mobile-blur-backdrop);border-radius:16px;padding:16px;box-shadow:0 8px 32px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.1);z-index:1200;animation:slideInRight .4s var(--mobile-spring)}.toast-notification.success{border-left:4px solid #4facfe}.toast-notification.error{border-left:4px solid #fa709a}.toast-notification.warning{border-left:4px solid #fee140}.mobile-container :focus{border-radius:4px}.mobile-container :focus,.mobile-container a:focus,.mobile-container button:focus{outline:2px solid #667eea;outline-offset:2px}.mobile-container *{will-change:auto}.mobile-container .animate-fade-in-scale,.mobile-container .animate-fade-in-up,.mobile-container .animate-slide-in-right{will-change:transform,opacity}.mobile-container a,.mobile-container button,.parallax-element{will-change:transform}.parallax-element{transform:translateZ(0)}.dark .mobile-container{color-scheme:dark}.dark .mobile-container .bg-white{background:rgba(0,0,0,.8)!important;border-color:rgba(255,255,255,.1)!important}.dark .mobile-container input,.dark .mobile-container select,.dark .mobile-container textarea{background:rgba(0,0,0,.5)!important;border-color:rgba(255,255,255,.2)!important;color:white!important}.dark .mobile-container input:focus,.dark .mobile-container select:focus,.dark .mobile-container textarea:focus{background:rgba(0,0,0,.8)!important;border-color:#667eea!important}.scroll-progress{position:fixed;top:calc(var(--mobile-header-height) + var(--mobile-safe-area-top));left:0;width:0;height:3px;background:var(--mobile-gradient-primary);z-index:1001;transition:width .1s ease;border-radius:0 2px 2px 0}.mobile-sidebar-overlay.open{opacity:1;visibility:visible}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--mobile-bottom-nav-height) + var(--mobile-safe-area-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.1);z-index:1000;display:flex;align-items:center;justify-content:space-around;padding:8px 16px calc(var(--mobile-safe-area-bottom) + 8px) 16px}.dark .mobile-bottom-nav{background:rgba(0,0,0,.95);border-top-color:rgba(255,255,255,.1)}.mobile-button{min-height:var(--mobile-touch-target);border-radius:var(--mobile-border-radius);touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none;position:relative;overflow:hidden}.mobile-button:active{transform:scale(.95)}.mobile-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.mobile-button:active:before{width:300px;height:300px}.mobile-input{min-height:var(--mobile-touch-target);border-radius:var(--mobile-border-radius);touch-action:manipulation;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mobile-input:focus{transform:none!important}.mobile-card{background:var(--card);border-radius:var(--mobile-border-radius);box-shadow:var(--mobile-shadow);overflow:hidden;margin-bottom:16px}.mobile-card:active{transform:scale(.98);transition:transform .1s}.mobile-list{background:var(--card);border-radius:var(--mobile-border-radius);overflow:hidden;margin-bottom:16px}.mobile-list-item{padding:16px;border-bottom:1px solid var(--border);min-height:var(--mobile-touch-target);display:flex;align-items:center;touch-action:manipulation;transition:background-color .2s}.mobile-list-item:last-child{border-bottom:none}.mobile-list-item:active{background:var(--accent)}.mobile-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.5);padding:0}.mobile-modal-content{background:var(--background);border-radius:var(--mobile-border-radius) var(--mobile-border-radius) 0 0;width:100%;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.mobile-modal.open .mobile-modal-content{transform:translateY(0)}.mobile-transition-indicator{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--primary-foreground));transform:translateX(-100%);transition:transform .3s;z-index:2100}.mobile-transition-indicator.active{transform:translateX(0)}.swipe-left{animation:swipeLeft .3s ease-out}.swipe-right{animation:swipeRight .3s ease-out}@keyframes swipeLeft{0%{transform:translateX(0)}50%{transform:translateX(-20px)}to{transform:translateX(0)}}@keyframes swipeRight{0%{transform:translateX(0)}50%{transform:translateX(20px)}to{transform:translateX(0)}}.mobile-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.mobile-spacing-xs{margin:.25rem}.mobile-spacing-sm{margin:.5rem}.mobile-spacing-md{margin:1rem}.mobile-spacing-lg{margin:1.5rem}.mobile-spacing-xl{margin:2rem}.mobile-padding-xs{padding:.25rem}.mobile-padding-sm{padding:.5rem}.mobile-padding-md{padding:1rem}.mobile-padding-lg{padding:1.5rem}.mobile-padding-xl{padding:2rem}.mobile-optimized-form{width:100%;transition:all .3s ease}.mobile-optimized-form.keyboard-open{padding-bottom:2rem}.mobile-input-container{margin-bottom:1.5rem}.mobile-optimized-input{font-size:16px!important;line-height:1.5;transition:all .2s ease}.mobile-optimized-input:focus{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.mobile-optimized-textarea{font-size:16px!important;line-height:1.5;transition:all .2s ease;font-family:inherit}.mobile-optimized-textarea:focus{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.mobile-optimized-select{font-size:16px!important;line-height:1.5;cursor:pointer;background-image:none}.mobile-optimized-select:focus{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.mobile-input-container label,.mobile-select-container label,.mobile-textarea-container label{background:linear-gradient(to bottom,transparent 50%,var(--background) 50%);transition:all .2s cubic-bezier(.4,0,.2,1)}@keyframes input-focus{0%{transform:scale(1)}to{transform:scale(1.02)}}.mobile-optimized-input:focus,.mobile-optimized-select:focus,.mobile-optimized-textarea:focus{animation:input-focus .2s ease-out}.mobile-input-container .text-destructive,.mobile-select-container .text-destructive,.mobile-textarea-container .text-destructive{animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media screen and (max-height:500px){.mobile-optimized-form{padding:.5rem}.mobile-input-container{margin-bottom:1rem}.mobile-optimized-input,.mobile-optimized-select,.mobile-optimized-textarea{height:48px;padding:.75rem}}.mobile-scroll::-webkit-scrollbar{display:none}.mobile-scroll{-ms-overflow-style:none;scrollbar-width:none}@media (orientation:landscape){.mobile-main{padding-top:50px}.mobile-nav{height:calc(50px + var(--mobile-safe-area-top))}}@supports (padding:max(0px)){.mobile-bottom-nav,.mobile-nav{padding-left:max(16px,var(--mobile-safe-area-left));padding-right:max(16px,var(--mobile-safe-area-right))}}.mobile-loading{position:relative;overflow:hidden}.mobile-loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.mobile-bottom-nav,.mobile-layout,.mobile-nav,.mobile-sidebar{will-change:transform;transform:translateZ(0)}.mobile-bottom-nav,.mobile-button,.mobile-list-item,.mobile-nav{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mobile-main,.mobile-sidebar{transform:translateZ(0);-webkit-transform:translateZ(0)}@media (display-mode:standalone){.mobile-layout{padding-top:var(--mobile-safe-area-top)}}@media (prefers-reduced-motion:reduce){.mobile-button,.mobile-card,.mobile-modal-content,.mobile-sidebar{transition:none}.swipe-left,.swipe-right{animation:none}}@keyframes mobile-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes mobile-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes mobile-scale-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes mobile-bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes progress{0%{width:0}to{width:100%}}.mobile-slide-up{animation:mobile-slide-up .3s ease-out}.mobile-slide-down{animation:mobile-slide-down .3s ease-out}.mobile-scale-in{animation:mobile-scale-in .2s ease-out}.mobile-bounce{animation:mobile-bounce .6s ease-out}.mobile-optimized{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.mobile-smooth-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.mobile-touch-button{position:relative;overflow:hidden;transform:translateZ(0)}.mobile-touch-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .3s,height .3s}.mobile-touch-button:active:before{width:300px;height:300px}.mobile-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999}.mobile-loading-content{background:var(--background);border-radius:12px;padding:2rem;max-width:280px;text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.2)}.mobile-nav-item{position:relative;transition:all .2s ease}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-item:after{content:"";position:absolute;top:0;left:50%;width:0;height:2px;background:var(--primary);transform:translateX(-50%);transition:width .3s ease}.mobile-nav-item.active:after{width:100%}@media screen and (max-height:600px){.mobile-optimized-form{padding:.5rem}.mobile-input-container,.mobile-select-container,.mobile-textarea-container{margin-bottom:1rem}.mobile-optimized-input,.mobile-optimized-select{height:44px;padding:.75rem}.mobile-optimized-textarea{min-height:80px;padding:.75rem}}.mobile-notification-container{position:fixed;z-index:10000;pointer-events:none;width:100%;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.mobile-notification-top{top:0;left:0;right:0}.mobile-notification-bottom{bottom:0;left:0;right:0}.mobile-notification-container-mobile{padding:.75rem}.mobile-notification{pointer-events:auto;border-radius:12px;border:1px solid;padding:1rem;box-shadow:0 4px 12px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateY(-100%);opacity:0;transition:all .3s ease-out;max-width:100%;word-wrap:break-word}.mobile-notification-mobile{padding:.875rem;border-radius:8px;font-size:.875rem}.mobile-notification-visible{transform:translateY(0);opacity:1}.mobile-notification-exiting{transform:translateY(-100%);opacity:0}.mobile-toast{transform:translateX(-50%) scale(1);transition:all .3s ease-out}.mobile-toast-mobile{font-size:.875rem;padding:10px 20px;border-radius:6px}@keyframes notification-slide-in-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes notification-slide-in-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes notification-slide-out-top{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes notification-slide-out-bottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.dark .mobile-notification{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 12px rgba(0,0,0,.3)}@media screen and (max-width:480px){.mobile-notification-container{padding:.5rem}.mobile-notification{padding:.75rem;font-size:.875rem}.mobile-notification h3{font-size:.875rem}.mobile-notification p{font-size:.8125rem}}.mobile-notification:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.15)}.mobile-notification button:focus{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.mobile-notification:after{content:"";position:absolute;bottom:0;left:0;height:2px;background:currentColor;opacity:.3;animation:notification-progress var(--duration,5s) linear}@keyframes notification-progress{0%{width:100%}to{width:0}}.mobile-touch-area{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation}.mobile-ripple{pointer-events:none;z-index:1}@keyframes mobile-ripple-effect{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(4);opacity:0}}.mobile-touch-area:active{transform:scale(.98);transition:transform .1s ease}.mobile-swipe-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;pointer-events:none}.mobile-swipe-indicator.active{opacity:1;animation:mobile-pulse .5s ease-in-out}@keyframes mobile-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}.mobile-pinch-container{overflow:hidden;position:relative;touch-action:none}.mobile-pinch-content{transition:transform .2s ease;transform-origin:center}.mobile-gesture-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:white;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;z-index:10001;opacity:0;transition:opacity .3s ease;pointer-events:none}.mobile-gesture-feedback.show{opacity:1;animation:mobile-gesture-feedback 1s ease-out}@keyframes mobile-gesture-feedback{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.mobile-long-press-indicator{position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid var(--primary);border-radius:inherit;opacity:0;animation:mobile-long-press-progress var(--duration,.5s) linear;pointer-events:none}@keyframes mobile-long-press-progress{0%{opacity:0;transform:scale(1.1)}50%{opacity:.5;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.mobile-double-tap-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border:3px solid var(--primary);border-radius:50%;opacity:0;animation:mobile-double-tap-effect .4s ease-out;pointer-events:none}@keyframes mobile-double-tap-effect{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.mobile-touch-optimized{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.mobile-gesture-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:contain}@media (hover:none) and (pointer:coarse){.mobile-touch-area:hover{background-color:transparent}.mobile-touch-area:active{background-color:rgba(0,0,0,.05)}}.mobile-touch-accessible{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.mobile-swipe-direction{position:absolute;width:20px;height:20px;opacity:0;transition:opacity .2s ease;pointer-events:none}.mobile-swipe-direction.left{left:10px;top:50%;transform:translateY(-50%) rotate(180deg)}.mobile-swipe-direction.right{right:10px;top:50%;transform:translateY(-50%)}.mobile-swipe-direction.up{top:10px;left:50%;transform:translateX(-50%) rotate(-90deg)}.mobile-swipe-direction.down{bottom:10px;left:50%;transform:translateX(-50%) rotate(90deg)}.mobile-swipe-direction.active{opacity:.7;animation:mobile-swipe-hint 1s ease-in-out infinite}@keyframes mobile-swipe-hint{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.2)}}