.custom-scrollbar{scrollbar-width:thin;scrollbar-color:rgb(148 163 184) rgb(241 245 249)}.dark .custom-scrollbar{scrollbar-color:rgb(71 85 105) rgb(15 23 42)}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.dark .custom-scrollbar::-webkit-scrollbar-track{background:#0f172a}.custom-scrollbar::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:3px}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#475569}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#64748b}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#334155}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:5px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#64748b}.scrollbar-thumb-slate-600::-webkit-scrollbar-thumb{background:#475569}.scrollbar-thumb-slate-300::-webkit-scrollbar-thumb{background:#cbd5e1}.scrollbar-track-slate-800::-webkit-scrollbar-track{background:#1e293b}.scrollbar-track-slate-100::-webkit-scrollbar-track{background:#f1f5f9}.animate-fade-in-up{animation:fadeInUp .3s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-scale-in{animation:scaleIn .2s ease-out forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-slide-in-right{animation:slideInRight .3s ease-out forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #6366f14d}50%{box-shadow:0 0 20px #6366f199}}.skeleton{background:linear-gradient(90deg,#94a3b81a 25%,#94a3b833,#94a3b81a 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.dark .skeleton{background:linear-gradient(90deg,#47556933 25%,#47556966,#47556933 75%);background-size:200% 100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tabular-nums{font-variant-numeric:tabular-nums}.glass-panel{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.2);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.dark .glass-panel{background:#1e293b66;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 30px #0000001a}.gpu-accelerated{transform:translateZ(0);will-change:transform;backface-visibility:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-pulse,.animate-spin,.animate-bounce{animation:none!important}}.content-auto{content-visibility:auto;contain-intrinsic-size:0 500px}.lazy-placeholder{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:lazy-shimmer 1.5s infinite}.dark .lazy-placeholder{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200% 100%}@keyframes lazy-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.focus-visible-ring:focus-visible{outline:2px solid #6366f1;outline-offset:2px;border-radius:4px}.skip-link{position:absolute;top:-40px;left:0;background:#6366f1;color:#fff;padding:8px 16px;z-index:100;transition:top .3s;border-radius:0 0 8px;font-weight:600}.skip-link:focus{top:0}@media(prefers-contrast:high){.glass-panel{background:#fff;border:2px solid black}.dark .glass-panel{background:#000;border:2px solid white}button,a{border:1px solid currentColor}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-focus-trap=true]:focus-within{box-shadow:0 0 0 2px #6366f1}[data-keyboard-nav=true] *:focus{outline:2px solid #6366f1;outline-offset:2px}@media(pointer:coarse){button,a,[role=button]{min-height:44px;min-width:44px}.touch-target{padding:12px}}@supports (padding: max(0px)){.safe-area-inset{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom))}}.mobile-hidden{display:none}@media(min-width:768px){.mobile-hidden{display:block}.mobile-only{display:none}}.text-responsive{font-size:clamp(.875rem,2vw,1rem)}.text-responsive-lg{font-size:clamp(1rem,3vw,1.25rem)}.text-responsive-xl{font-size:clamp(1.25rem,4vw,1.5rem)}.mobile-nav-safe{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.swipe-hint{position:relative;overflow:hidden}.swipe-hint:after{content:"";position:absolute;top:50%;right:8px;width:4px;height:40px;background:linear-gradient(to bottom,transparent,rgba(99,102,241,.3),transparent);border-radius:2px;transform:translateY(-50%);animation:swipe-hint-pulse 2s ease-in-out infinite}@keyframes swipe-hint-pulse{0%,to{opacity:.3}50%{opacity:.7}}.responsive-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:640px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:639px){.mobile-stack>*+*{margin-top:12px}.mobile-full-width{margin-left:-16px;margin-right:-16px;border-radius:0}}@media(max-height:500px)and (orientation:landscape){.landscape-compact{padding-top:8px;padding-bottom:8px}.landscape-hidden{display:none}}@media print{.no-print{display:none!important}.print-only{display:block!important}body{background:#fff!important;color:#000!important}.glass-panel{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important}}
