.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-from-bottom{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scale-in-out{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fadeIn{animation:fadeIn .2s ease-out}.animate-in,.fade-in{animation:fade-in .3s ease-out}.slide-in-from-bottom-2{animation:slide-in-from-bottom .3s ease-out}.scale-in-out{animation:scale-in-out .6s ease-in-out}.scanner-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:250px;height:250px;border:4px solid #10b981;border-radius:12px;box-shadow:0 0 0 4000px #00000080;z-index:10;pointer-events:none}@media print{.no-print{display:none!important}body{background:#fff}.print-full-width{max-width:100%!important;margin:0!important;padding:0!important}}.truncate-2-lines{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}*:focus-visible{outline:2px solid #6366f1;outline-offset:2px}button:disabled,input:disabled{opacity:.5;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-slow{animation:pulse-slow 2s cubic-bezier(.4,0,.6,1) infinite}@media(max-width:640px){button,a,input[type=button],input[type=submit]{min-height:44px;min-width:44px}input,select,textarea{font-size:16px!important}}@media(prefers-contrast:high){.scanner-overlay{border-width:6px}button{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
