/* GBFin Volume Maker - Custom Styles */

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* Chart containers */
.chart-container {
    width: 100%;
    min-height: 350px;
}

/* Smooth transitions for state updates */
.kpi-card {
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.kpi-value {
    transition: color 0.3s ease;
}

/* Progress bar animation */
.progress-fill {
    transition: width 0.5s ease-in-out;
}

/* Sidebar active link */
.nav-link {
    transition: background-color 0.15s ease, padding-left 0.15s ease;
}

.nav-link:hover {
    padding-left: 1.25rem;
}

.nav-link.active {
    background-color: rgba(59, 130, 246, 0.15);
    border-left: 3px solid #3b82f6;
}

/* Table row highlight */
.fill-row {
    transition: background-color 0.15s ease;
}

/* Gauge ring */
.gauge-ring {
    transition: stroke-dashoffset 0.8s ease-in-out;
}

/* Pulsing dot for live mode */
@keyframes pulse-dot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.pulse-dot {
    animation: pulse-dot 1.5s ease-in-out infinite;
}

/* Mode badge glow */
.mode-live {
    box-shadow: 0 0 8px rgba(239, 68, 68, 0.4);
}

.mode-paper {
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.3);
}
