.btn-modern{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.btn-modern:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-modern:disabled{pointer-events:none;opacity:.5}.btn-modern:before{content:"";position:absolute;inset:0;border-radius:.75rem;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s;background:linear-gradient(45deg,transparent 25%,hsla(0,0%,100%,.1) 50%,transparent 75%);background-size:200% 200%}.btn-modern:hover:before{opacity:1;animation:shimmer 2s infinite}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--primary)/0.25);--tw-shadow:var(--tw-shadow-colored);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.btn-primary:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary:disabled{pointer-events:none;opacity:.5}.btn-primary:before{content:"";position:absolute;inset:0;border-radius:.75rem;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s;background:linear-gradient(45deg,transparent 25%,hsla(0,0%,100%,.1) 50%,transparent 75%);background-size:200% 200%}.btn-primary:hover:before{opacity:1;animation:shimmer 2s infinite}.btn-primary:hover{background-color:hsl(var(--primary)/.9);--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--primary)/0.2);--tw-shadow:var(--tw-shadow-colored)}.btn-secondary{border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.btn-secondary:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-secondary:disabled{pointer-events:none;opacity:.5}.btn-secondary:before{content:"";position:absolute;inset:0;border-radius:.75rem;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s;background:linear-gradient(45deg,transparent 25%,hsla(0,0%,100%,.1) 50%,transparent 75%);background-size:200% 200%}.btn-secondary:hover:before{opacity:1;animation:shimmer 2s infinite}.btn-secondary:hover{border-color:hsl(var(--primary)/.2);background-color:hsl(var(--secondary)/.8)}.input-modern{height:2.75rem;width:100%;border-radius:.75rem;border-width:1px;background-color:hsl(var(--card));padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.input-modern::-moz-placeholder{color:hsl(var(--muted-foreground)/.6)}.input-modern::placeholder{color:hsl(var(--muted-foreground)/.6)}.input-modern:focus{border-color:hsl(var(--primary)/.5);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--primary)/0.1)}.input-modern:disabled{cursor:not-allowed;opacity:.5}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-fade-in{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.grade-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-inset:inset;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.grade-badge-a{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1));--tw-ring-color:rgba(5,150,105,.2)}.grade-badge-a:is(.dark *){background-color:rgba(16,185,129,.1);--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1));--tw-ring-color:rgba(16,185,129,.2)}.grade-badge-b{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1));--tw-ring-color:rgba(37,99,235,.2)}.grade-badge-b:is(.dark *){background-color:rgba(59,130,246,.1);--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1));--tw-ring-color:rgba(59,130,246,.2)}.grade-badge-c{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1));--tw-ring-color:rgba(217,119,6,.2)}.grade-badge-c:is(.dark *){background-color:rgba(245,158,11,.1);--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1));--tw-ring-color:rgba(245,158,11,.2)}.grade-badge-d{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1));--tw-ring-color:rgba(220,38,38,.2)}.grade-badge-d:is(.dark *){background-color:rgba(239,68,68,.1);--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1));--tw-ring-color:rgba(239,68,68,.2)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.active{background-color:hsl(var(--primary));box-shadow:0 0 0 2px rgba(var(--primary),.2);animation:pulse 2s infinite}.comparison-indicator{display:flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center;border-radius:9999px;font-size:.75rem;line-height:1rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.comparison-indicator:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.comparison-better{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(5,150,105,.2)}.comparison-better:is(.dark *){background-color:rgba(16,185,129,.1);--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1));--tw-ring-color:rgba(16,185,129,.2)}.comparison-worse{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(220,38,38,.2)}.comparison-worse:is(.dark *){background-color:rgba(239,68,68,.1);--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1));--tw-ring-color:rgba(239,68,68,.2)}.comparison-equal{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--muted-foreground)/0.2)}.glass-card{position:relative;overflow:hidden;border-radius:var(--radius);border-width:1px;background-color:hsl(var(--card)/.5);--tw-backdrop-blur:blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.glass-card:hover{border-color:hsl(var(--primary)/.1);--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--primary)/0.05);--tw-shadow:var(--tw-shadow-colored)}.glass-card-header{position:relative;overflow:hidden;background-color:hsl(var(--primary));padding:1.5rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.glass-card-header:before{content:"";position:absolute;inset:0;background-color:hsla(0,0%,100%,.1);opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.glass-card-header:hover:before{opacity:1}.animate-float{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.stat-card{border-radius:.75rem;border-width:1px;background-color:hsl(var(--card));padding:1rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.stat-card,.stat-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.stat-card:hover{border-color:hsl(var(--primary)/.2);--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.stat-value{font-size:1.5rem;line-height:2rem;font-weight:700;letter-spacing:-.025em}.stat-label{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.02)}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(var(--primary),.2)}@keyframes pulse{50%{opacity:.5}}.skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--muted))}.loading-shine{position:relative;overflow:hidden}.loading-shine:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);animation:loading 1.5s infinite}@keyframes loading{to{left:200%}}.spinner-gradient{width:24px;height:24px;border-radius:50%;background:conic-gradient(from 0deg,hsl(var(--primary)) 0,transparent 60%);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}