@keyframes productCardEntrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-product-entrance{animation:productCardEntrance .3s ease-out forwards}.animate-badge-pulse{animation:badgePulse 2s ease-in-out infinite}.card-hover{transition:all .2s ease-in-out}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.button-shine{position:relative;overflow:hidden}.button-shine: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-in-out}.button-shine:hover:before{left:100%}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#fff3}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#ffffff4d}:root{--app-zoom: 1;--app-font-scale: 1}.zoom-optimized{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.zoom-optimized{overflow-x:hidden}@media (min-width: 768px) and (max-width: 1024px){.tablet-button{min-height:44px;min-width:44px;padding:12px 16px}.tablet-input{min-height:44px;font-size:16px;padding:12px}.tablet-dialog{max-width:90vw;max-height:85vh;margin:16px}.tablet-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.tablet-product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tablet-product-card{min-height:120px;padding:16px;transition:all .2s ease}.tablet-product-card:hover{transform:scale(1.02);box-shadow:0 8px 25px #00000026}.tablet-cart{width:320px;min-width:320px}.tablet-header{padding:16px 24px}.tablet-list-item{min-height:56px;padding:12px 16px;margin-bottom:8px}.tablet-badge{font-size:12px;padding:6px 12px;min-height:28px}.tablet-checkbox,.tablet-radio{width:20px;height:20px;min-width:20px;min-height:20px}.tablet-search{min-height:48px;font-size:16px;padding:14px 16px}.tablet-nav-tab{min-height:48px;padding:12px 20px;font-size:16px}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.tablet-portrait-stack{flex-direction:column}.tablet-portrait-full-width{width:100%;max-width:none}.tablet-portrait-dialog{max-width:95vw;max-height:80vh}}@media (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape){.tablet-landscape-sidebar{width:380px;min-width:380px}.tablet-landscape-content{flex:1;min-width:0}.tablet-landscape-dialog{max-width:80vw;max-height:85vh}}.tablet-scrollable-dialog{display:flex;flex-direction:column;max-height:85vh}.tablet-scrollable-dialog .dialog-header{flex-shrink:0;padding:20px 24px 16px}.tablet-scrollable-dialog .dialog-content{flex:1;overflow-y:auto;padding:0 24px;-webkit-overflow-scrolling:touch}.tablet-scrollable-dialog .dialog-footer{flex-shrink:0;padding:16px 24px 20px;border-top:1px solid hsl(var(--border));margin-top:16px}@media (min-width: 768px){.tablet-animate-in{animation:tablet-fade-in .2s ease-out}.tablet-animate-out{animation:tablet-fade-out .15s ease-in}}@keyframes tablet-fade-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes tablet-fade-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-8px)}}@media (min-width: 768px){.tablet-focus-visible:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:6px}}.scrollbar-thin{scrollbar-width:thin}.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:#a1a1a1}.dialog-scroll-container{scrollbar-gutter:stable;overflow-anchor:none}
