/* dashboard.css — Estilos para charts universales (B4.1). */

.tv-chart-card {
    transition: box-shadow 0.15s ease-in-out;
}
.tv-chart-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.075) !important;
}

.tv-chart-card .tv-kpi__value {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e40af;
}

.tv-chart-wrap canvas {
    max-width: 100%;
}

/* Filter bar (cross-cutting) */
.tv-filter-bar {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.tv-filter-bar .form-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin-bottom: 0.25rem;
}

.tv-filter-summary {
    font-size: 0.85rem;
    color: #475569;
}

@media (max-width: 768px) {
    .tv-chart-card { margin-bottom: 1rem; }
}
