/* OddsScraper Dashboard Custom Styles */

/* Scrollbar styling */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #1e293b; }
::-webkit-scrollbar-thumb { background: #475569; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #64748b; }

/* Monospace odds values */
.odds-val {
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
    font-size: 0.8125rem;
    letter-spacing: -0.02em;
}

/* Odds coloring */
.odds-fav { color: #4ade80; }     /* Green for favorites */
.odds-mid { color: #fbbf24; }     /* Yellow for mid-range */
.odds-long { color: #f87171; }    /* Red for longshots */

/* Table row hover */
#odds-table-body tr {
    cursor: pointer;
    transition: background 0.1s;
}
#odds-table-body tr:hover {
    background: rgba(56, 189, 248, 0.05);
}

/* Active filter in sidebar */
.competition-btn.active-filter {
    background: rgba(56, 189, 248, 0.1);
    color: #38bdf8;
}

/* Sort arrows */
.sort-arrow { opacity: 0.3; }
.sort-active .sort-arrow { opacity: 1; color: #38bdf8; }
.sort-active { color: #38bdf8 !important; }

/* Date filter button active */
.date-btn.active { background: #0284c7; color: white; }

/* Market toggles */
.market-toggle { accent-color: #0ea5e9; }

/* Health dots */
.health-dot {
    width: 8px; height: 8px; border-radius: 50%;
    display: inline-block;
}
.health-dot.success { background: #4ade80; }
.health-dot.fail { background: #f87171; }

/* Loading pulse */
@keyframes pulse-glow {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}
.loading-pulse { animation: pulse-glow 1.5s ease-in-out infinite; }

/* Modal transition */
#modal-overlay { transition: opacity 0.2s; }

/* Responsive table */
@media (max-width: 768px) {
    table { font-size: 0.75rem; }
    th, td { padding: 4px 6px !important; }
}
