.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (prefers-color-scheme: dark){.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#374151}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#4b5563}}.gradient-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.gradient-success{background:linear-gradient(135deg,#22c55e,#16a34a)}.gradient-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.gradient-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:#fffc}.glass-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:#ffffffe6;border:1px solid rgba(229,231,235,.5)}@media (prefers-color-scheme: dark){.dark .glass{background-color:#1e293bcc}.dark .glass-card{background-color:#1e293be6;border-color:#ffffff1a}}.hover-lift{transition:transform .2s ease}.hover-lift:hover{transform:translateY(-.25rem)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.btn-press{transition:all .15s ease;position:relative}.btn-press:active{transform:scale(.96)}@keyframes pulse-ring{0%{transform:scale(.95);opacity:1}50%{transform:scale(1);opacity:.8}to{transform:scale(.95);opacity:1}}.pulse-ring{animation:pulse-ring 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.icon-bounce:hover{animation:icon-bounce .6s ease-in-out}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#fff0,#fff6,#fff0);background-size:1000px 100%;animation:shimmer 2s infinite}@media (prefers-color-scheme: dark){.dark .shimmer{background:linear-gradient(90deg,#fff0,#ffffff1a,#fff0)}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-in{animation-name:enter;animation-duration:.15s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.fade-in{--tw-enter-opacity: 0}.zoom-in{--tw-enter-scale: .95}.slide-in-from-top-1{--tw-enter-translate-y: -.25rem}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),1)}to{opacity:1;transform:translateZ(0) scaleZ(1)}}@media (prefers-color-scheme: dark){.dark .skeleton{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%)}}@media (max-width: 768px){button,a,input[type=button],input[type=submit]{min-height:44px;min-width:44px}.touch-target{position:relative;padding:12px}.touch-target:after{content:"";position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px}}@media (max-width: 768px){.hover-lift:hover,.hover-scale:hover,.group:hover{transform:none}.btn-press:active{transform:scale(.98)}}@media (max-height: 600px) and (orientation: landscape){.sidebar{overflow-y:auto}.space-y-6>*+*{margin-top:1rem!important}}*:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:.375rem}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.no-print{display:none!important}.print-break-before{page-break-before:always}.print-break-after{page-break-after:always}*{box-shadow:none!important;text-shadow:none!important}.gradient-primary,.gradient-success,.gradient-warning,.gradient-danger{background:#fff!important;color:#000!important;border:1px solid #000!important}}
