@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* Base Styles & Typography */
body {
    font-family: 'Inter', sans-serif;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    overflow-y: scroll;
}

/* Glassmorphism & Shadows */
.glass-panel {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.hover-elevate {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-elevate:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -10px rgba(0, 0, 0, 0.1);
}

.card-hover {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-hover:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.1);
    border-color: rgba(34, 197, 94, 0.3);
}

/* Animations */
.progress-bar-animated {
    background-size: 200% 100%;
    animation: gradientMove 2.5s ease infinite;
}

@keyframes gradientMove {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.fade-in {
    animation: fadeIn 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes fadeIn {
    from { 
        opacity: 0; 
        transform: translateY(15px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

/* Drag and Drop Visual Feedback */
.dragging {
    opacity: 0.6;
    transform: scale(0.95);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    z-index: 50;
}

.drag-over {
    background-color: rgba(240, 253, 244, 0.7) !important;
    transform: scale(1.02);
}

/* Custom Scrollbar for columns */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Selection */
::selection {
    background-color: #bbf7d0;
    color: #14532d;
}

/* Number Change Flash Effect */
@keyframes superFlash {
    0% { transform: scale(1); box-shadow: 0 0 0 rgba(239, 68, 68, 0); background-color: #fef2f2; border-color: #fecaca; }
    25% { transform: scale(1.08); box-shadow: 0 0 80px rgba(239, 68, 68, 0.8); background-color: #fca5a5; border-color: #ef4444; }
    50% { transform: scale(1.03); box-shadow: 0 0 40px rgba(239, 68, 68, 0.5); background-color: #fee2e2; border-color: #f87171; }
    75% { transform: scale(1.08); box-shadow: 0 0 80px rgba(239, 68, 68, 0.8); background-color: #fca5a5; border-color: #ef4444; }
    100% { transform: scale(1); box-shadow: 0 0 0 rgba(239, 68, 68, 0); background-color: #fef2f2; border-color: #fecaca; }
}

.super-flash {
    animation: superFlash 1s ease-in-out;
}
