.modal-overlay{position:fixed!important;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background-color:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:99999;display:flex;justify-content:center;align-items:center;padding:20px;overflow:hidden}.modal-content,.product-modal{position:relative!important;background-color:#fff!important;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:900px;width:100%;max-height:85vh;overflow-y:auto;padding:30px;z-index:100000;margin:auto;transform:none!important;isolation:isolate;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.close-button,.modal-close{position:absolute;top:15px;right:15px;width:40px;height:40px;background:#f0f0f0;border:none;border-radius:50%;cursor:pointer;z-index:100001;display:flex;align-items:center;justify-content:center}.close-button:hover,.modal-close:hover{background:#e0e0e0}.modal-overlay *{position:relative;z-index:inherit}.modal-content *,.product-modal *{color:#333;background:transparent}body.modal-open{position:fixed;width:100%;height:100%}body.modal-open,html.modal-open{overflow:hidden;overscroll-behavior:contain}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUpIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideRightIn{0%{opacity:0;transform:translateX(-10px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes slideLeftIn{0%{opacity:0;transform:translateX(10px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes slideDownOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.95)}}@keyframes slideUpOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}@keyframes slideRightOut{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(10px) scale(.95)}}@keyframes slideLeftOut{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(-10px) scale(.95)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.animate-zoom-in{animation:zoomIn .3s cubic-bezier(.25,.46,.45,.94)}.animate-zoom-out{animation:zoomOut .2s cubic-bezier(.55,.055,.675,.19)}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.animate-slide-down-in{animation:slideDownIn .3s cubic-bezier(.34,1.56,.64,1)}.animate-slide-up-in{animation:slideUpIn .3s cubic-bezier(.34,1.56,.64,1)}.animate-slide-right-in{animation:slideRightIn .3s cubic-bezier(.34,1.56,.64,1)}.animate-slide-left-in{animation:slideLeftIn .3s cubic-bezier(.34,1.56,.64,1)}.animate-slide-down-out{animation:slideDownOut .2s cubic-bezier(.55,.085,.68,.53)}.animate-slide-up-out{animation:slideUpOut .2s cubic-bezier(.55,.085,.68,.53)}.animate-slide-right-out{animation:slideRightOut .2s cubic-bezier(.55,.085,.68,.53)}.animate-slide-left-out{animation:slideLeftOut .2s cubic-bezier(.55,.085,.68,.53)}.animate-fade-in{animation:fadeIn .3s ease-out forwards}@keyframes slideUpFromBottom{0%{opacity:0;transform:translateY(100%) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDownToBottom{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(100%) scale(.95)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceOut{0%{opacity:1;transform:scale(1)}30%{transform:scale(1.05)}to{opacity:0;transform:scale(.3)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes rubberBand{0%{transform:scaleX(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:scaleX(1)}}@media (max-width:768px){.animate-slide-down-in,.animate-slide-left-in,.animate-slide-right-in,.animate-slide-up-in{animation:slideUpFromBottom .3s cubic-bezier(.25,.46,.45,.94)}.animate-slide-down-out,.animate-slide-left-out,.animate-slide-right-out,.animate-slide-up-out{animation:slideDownToBottom .25s cubic-bezier(.55,.055,.675,.19)}.animate-bottom-sheet-in{animation:slideUpFromBottom .35s cubic-bezier(.25,.46,.45,.94)}.animate-bottom-sheet-out{animation:slideDownToBottom .25s cubic-bezier(.55,.055,.675,.19)}.animate-tap-bounce{animation:bounceIn .3s cubic-bezier(.68,-.55,.265,1.55)}.animate-error-shake{animation:shake .5s ease-in-out}.animate-success-bounce{animation:rubberBand .8s ease-in-out}}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.scrollbar-thumb-gray-300::-webkit-scrollbar-thumb{background:#d1d5db}.btn-primary{background-color:#2563eb;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;transition:all .2s ease;transform-origin:center;position:relative;overflow:hidden;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid transparent}.btn-primary:hover{background-color:#1d4ed8;transform:scale(1.02)}.btn-primary:active{transform:scale(.98);transition:transform .1s ease}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.3)}.btn-secondary{background-color:#f3f4f6;color:#374151;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;transition:all .2s ease;transform-origin:center;position:relative;overflow:hidden;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid transparent}.btn-secondary:hover{background-color:#e5e7eb;transform:scale(1.02)}.btn-secondary:active{transform:scale(.98);transition:transform .1s ease}.btn-secondary:focus{outline:none;box-shadow:0 0 0 3px rgba(156,163,175,.3)}.btn-outline{background-color:transparent;color:#2563eb;padding:.75rem 1.5rem;border:2px solid #2563eb;border-radius:.5rem;font-weight:600;transition:all .2s ease;transform-origin:center;position:relative;overflow:hidden;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn-outline:hover{background-color:#2563eb;color:#fff;transform:scale(1.02)}.btn-outline:active{transform:scale(.98);transition:transform .1s ease}.btn-outline:focus{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.3)}@media (max-width:768px){.btn-outline,.btn-primary,.btn-secondary{min-height:48px;font-size:16px;padding:.875rem 1.25rem}.btn-outline:hover,.btn-primary:hover,.btn-secondary:hover{transform:none}.btn-outline:active,.btn-primary:active,.btn-secondary:active{transform:scale(.95)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.card-hover{transition:all .3s ease;transform-origin:center}.card-hover:hover{box-shadow:0 10px 25px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);transform:translateY(-2px)}@media (hover:none) and (pointer:coarse){.card-hover:hover{transform:none;box-shadow:none}.card-hover:active{transform:scale(.98);transition:transform .1s ease}.card-hover{touch-action:manipulation}}.focus-ring{outline:none}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.3);border-radius:.375rem}.focus-ring:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast:high){.focus-ring:focus,.focus-ring:focus-visible{outline:3px solid currentColor;outline-offset:2px;box-shadow:0 0 0 2px #fff,0 0 0 5px currentColor}}@media (hover:none) and (pointer:coarse){.hover\:scale-105:hover{transform:none}.hover\:shadow-lg:hover{box-shadow:none}.cursor-pointer,button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.btn-outline:active,.btn-primary:active,.btn-secondary:active,button:active{transform:scale(.95);transition:transform .1s ease}.mobile-tap-target,[role=button],button,input[type=button],input[type=reset],input[type=submit]{min-height:44px;min-width:44px}.mobile-tap-target{display:flex;align-items:center;justify-content:center}}@keyframes pullToRefreshSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-pull-refresh{animation:pullToRefreshSpin 1s linear infinite}@keyframes progressiveLoad{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-progressive-load{background:linear-gradient(90deg,#f0f0f0,hsla(0,0%,100%,.8) 40px,#f0f0f0 80px);background-size:200px 100%;animation:progressiveLoad 1.5s infinite}@keyframes networkPulse{0%,to{opacity:.4}50%{opacity:1}}.animate-network-slow{animation:networkPulse 2s ease-in-out infinite}@keyframes batteryDrain{0%{width:100%}to{width:20%}}.animate-battery-low{animation:batteryDrain 3s ease-in-out infinite alternate}@keyframes notificationSlideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-notification-in{animation:notificationSlideIn .3s cubic-bezier(.25,.46,.45,.94)}@keyframes fabIn{0%{opacity:0;transform:scale(0) rotate(45deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes fabOut{0%{opacity:1;transform:scale(1) rotate(0deg)}to{opacity:0;transform:scale(0) rotate(-45deg)}}.animate-fab-in{animation:fabIn .3s cubic-bezier(.25,.46,.45,.94)}.animate-fab-out{animation:fabOut .2s cubic-bezier(.55,.055,.675,.19)}.safe-area-inset-top{padding-top:env(safe-area-inset-top,0)}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.safe-area-inset-left{padding-left:env(safe-area-inset-left,0)}.safe-area-inset-right{padding-right:env(safe-area-inset-right,0)}@media (prefers-color-scheme:dark){.scrollbar-thin::-webkit-scrollbar-track{background:#374151}.scrollbar-thin::-webkit-scrollbar-thumb{background:#6b7280}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#9ca3af}}@media (prefers-reduced-motion:reduce){.animate-battery-low,.animate-bottom-sheet-in,.animate-bottom-sheet-out,.animate-error-shake,.animate-fab-in,.animate-fab-out,.animate-fade-in,.animate-network-slow,.animate-notification-in,.animate-progressive-load,.animate-pull-refresh,.animate-slide-down-in,.animate-slide-down-out,.animate-slide-left-in,.animate-slide-left-out,.animate-slide-right-in,.animate-slide-right-out,.animate-slide-up-in,.animate-slide-up-out,.animate-success-bounce,.animate-tap-bounce{animation:none!important;transition:opacity .2s ease}.transition-all,.transition-colors,.transition-opacity,.transition-transform{transition-duration:.01ms!important}.btn-outline:active,.btn-primary:active,.btn-secondary:active,button:active{transform:none;opacity:.8}}@media (prefers-contrast:high){.btn-primary,.btn-secondary{border:2px solid}.btn-outline{border-width:3px}}@media print{.animate-fade-in,.animate-slide-down-in,.animate-slide-down-out,.animate-slide-left-in,.animate-slide-left-out,.animate-slide-right-in,.animate-slide-right-out,.animate-slide-up-in,.animate-slide-up-out{animation:none}.btn-outline,.btn-primary,.btn-secondary,.card-hover{transform:none;box-shadow:none}}