@keyframes staggerIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-stagger-in{animation:.5s ease-out staggerIn}.animate-stagger-in-1{animation:.3s ease-out .1s both staggerIn}.animate-stagger-in-2{animation:.3s ease-out .2s both staggerIn}.animate-stagger-in-3{animation:.3s ease-out .3s both staggerIn}.animate-stagger-in-4{animation:.3s ease-out .4s both staggerIn}.animate-stagger-in-5{animation:.3s ease-out .5s both staggerIn}.animate-slide-in-left{animation:.4s ease-out slideInFromLeft}.animate-slide-in-right{animation:.4s ease-out slideInFromRight}.animate-slide-in-top{animation:.4s ease-out slideInFromTop}.animate-slide-in-bottom{animation:.4s ease-out slideInFromBottom}.animate-scale-in{animation:.3s ease-out scaleIn}.animate-fade-in{animation:.3s ease-out fadeIn}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-fast{transition:all .15s ease-out}.transition-slow{transition:all .5s ease-out}.hover-scale{transition:transform .2s ease-out}.hover-scale:hover{transform:scale(1.02)}.hover-lift{transition:all .2s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.hover-glow{transition:all .2s ease-out}.hover-glow:hover{box-shadow:0 0 16px #46332233}.animate-loading{animation:1.5s ease-in-out infinite pulse}.animate-bounce-subtle{animation:1s ease-in-out infinite bounce}.animate-modal-open{animation:.3s ease-out slideInFromTop,.3s ease-out fadeIn}.animate-modal-close{animation:.3s ease-out reverse slideInFromTop,.3s ease-out reverse fadeIn}.tab-enter{animation:.2s ease-out slideInFromRight}.tab-exit{animation:.2s ease-out reverse slideInFromLeft}.btn-click{transition:all .1s ease-out}.btn-click:active{transform:scale(.98)}.btn-loading:after{content:"";animation:.8s ease-in-out infinite pulse}.card-enter{animation:.3s ease-out slideInFromBottom}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}@keyframes slideInSuccess{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.toast-success{animation:.3s ease-out slideInSuccess,.3s ease-out 4.7s reverse slideInSuccess}.skeleton-loading{background:linear-gradient(90deg,#0000000d 25%,#0000001a 50%,#0000000d 75%) 0 0/200% 100%;animation:2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.animate-hover{transition:none}.card-hover:hover{transform:none;box-shadow:0 4px 8px #0000001a}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.responsive-grid{grid-template-columns:1fr;gap:1rem;display:grid}.responsive-table{overflow-x:auto}.responsive-modal{width:100%;max-height:90vh;margin:1rem}@media (min-width:640px){.responsive-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.responsive-table{overflow-x:visible}.responsive-modal{width:95%;margin:auto}.sm\:flex-row{flex-direction:row}.sm\:w-1\/2{width:50%}}@media (min-width:768px){.responsive-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:flex-row{flex-direction:row}.md\:w-full{width:100%}.md\:gap-6{gap:1.5rem}.md\:p-8{padding:2rem}}@media (min-width:1024px){.responsive-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:w-3\/4{width:75%}.lg\:max-w-4xl{max-width:56rem}}@media (min-width:1280px){.responsive-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.xl\:gap-8{gap:2rem}}@media (max-width:767px){.hidden-mobile{display:none}button,input,select,textarea{min-width:44px;min-height:44px}.flex-row{flex-direction:column}.p-6{padding:1rem}.modal{width:95%}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.text-lg{font-size:1rem}.text-xl{font-size:1.125rem}.text-2xl{font-size:1.25rem}.gap-6,.space-y-6{gap:.75rem}table{display:block;overflow-x:auto}th,td{padding:.5rem}}@media (min-width:768px) and (max-width:1023px){.responsive-grid{grid-template-columns:repeat(2,1fr)}.tab\:w-1\/2{width:50%}}@media (orientation:landscape) and (max-height:500px){.modal{max-height:90vh;overflow-y:auto}.form{gap:.5rem}}@media (min-width:2560px){body{font-size:1.125rem}.responsive-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.xl\:gap-12{gap:3rem}}@media print{body{background:#fff}.no-print,.modal,.toast{display:none}a{text-decoration:underline}}@media (prefers-contrast:more){body{font-weight:500}button{border-width:2px}}@media (prefers-color-scheme:dark){.light-mode-only{display:none}.dark\:bg-gray-900{background-color:#111}.dark\:text-white{color:#fff}}
