html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}input:focus,select:focus,textarea:focus{outline:none;ring:2px;ring-color:#f97316;border-color:#f97316}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}button{transition:all .2s ease}button:active{transform:scale(.98)}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.gradient-text{background:linear-gradient(135deg,#f97316,#ea580c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:1;height:24px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;padding-right:2.5rem}[data-state=active]{font-weight:600}.recharts-tooltip-wrapper{z-index:1000}@media print{header,footer,.no-print{display:none!important}main{padding:0}.shadow-lg,.shadow-md,.shadow-xl{box-shadow:none!important}.rounded-xl{border-radius:0!important}}@media(max-width:640px){.responsive-grid{grid-template-columns:1fr}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes successPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-animation{animation:successPop .5s ease-out}
