.bg-grid-pattern{background-image:linear-gradient(rgba(59,130,246,.1) 1px,transparent 0),linear-gradient(90deg,rgba(59,130,246,.1) 1px,transparent 0);background-size:20px 20px}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes shimmer-wave{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes stagger-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.shimmer{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 40px,#f0f0f0 80px);background-size:200px;animation:shimmer 1.5s infinite}.skeleton-enhanced{position:relative;overflow:hidden;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 2s infinite}.skeleton-enhanced:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer-wave 2s infinite}.skeleton-pulse{animation:skeleton-pulse 2s ease-in-out infinite}.skeleton-stagger{animation:stagger-fade-in .6s ease-out forwards;opacity:0}.dark .skeleton-enhanced{background:linear-gradient(90deg,#374151 25%,#4b5563 50%,#374151 75%);background-size:200% 100%}.dark .skeleton-enhanced:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.skeleton-loading-enter{animation:stagger-fade-in .5s ease-out}.skeleton-loading-exit{animation:stagger-fade-in .3s ease-in reverse}.focus-enhanced:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:.375rem}.transition-enhanced{transition:all .2s cubic-bezier(.4,0,.2,1)}.transition-enhanced:hover{transform:translateY(-1px)}@media (max-width:768px){.touch-target{min-height:44px;min-width:44px}button{min-height:44px;padding:12px 16px}[role=tab]{min-height:48px;padding:12px 16px}.card-hover-mobile{transform:none!important}.mobile-text-base{font-size:16px;line-height:1.5}.mobile-card-spacing{padding:16px;margin-bottom:16px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-hide{display:none}.mobile-stack{flex-direction:column;align-items:stretch}.mobile-full-width{width:100%}}@media (min-width:768px) and (max-width:1024px){.tablet-grid-2{grid-template-columns:repeat(2,1fr)}.tablet-grid-3{grid-template-columns:repeat(3,1fr)}.tablet-spacing{padding:20px;gap:20px}}@media (min-width:1024px){.desktop-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.desktop-grid-4{grid-template-columns:repeat(4,1fr)}.desktop-spacing{padding:24px;gap:24px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.card{border-width:2px}.text-muted{color:#000!important}}.focus-visible:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}html{scroll-behavior:smooth}.container-responsive{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}@media (min-width:640px){.container-responsive{padding:0 24px}}@media (min-width:1024px){.container-responsive{padding:0 32px}}.responsive-grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:640px){.responsive-grid{gap:20px;grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.responsive-grid{gap:24px;grid-template-columns:repeat(4,1fr)}}.responsive-card{padding:16px;border-radius:12px;transition:all .2s ease}@media (min-width:768px){.responsive-card{padding:20px}}@media (min-width:1024px){.responsive-card{padding:24px}.responsive-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1)}}.responsive-heading{font-size:1.5rem;line-height:1.3}@media (min-width:768px){.responsive-heading{font-size:1.875rem}}@media (min-width:1024px){.responsive-heading{font-size:2.25rem}}.responsive-button{padding:12px 16px;font-size:14px;min-height:44px}@media (min-width:768px){.responsive-button{padding:12px 20px;font-size:16px}}.responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.responsive-table table{min-width:600px}@media (min-width:768px){.responsive-table table{min-width:100%}}