/* Shared chart shell helpers. */

/* ========================================
   6. Chart Container
   ======================================== */
.chart-container {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
    overflow: hidden;
    transition: opacity 0.2s ease;
}

.chart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--spacing-lg);
}

.chart-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--gray-900);
}

.chart-intervals {
    display: flex;
    gap: var(--spacing-xs);
}

.interval-button {
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid transparent;
    border-radius: var(--border-radius-sm);
    background-color: transparent;
    color: var(--gray-600);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.interval-button:hover {
    background-color: var(--gray-100);
}

.interval-button.active {
    background-color: var(--primary);
    color: white;
}

.chart-canvas {
    width: 100%;
    height: 300px;
}

.dashboard-chart-container {
    position: relative;
    height: 400px;
    margin-bottom: 2rem;
}

.dashboard-chart-container.is-loading,
.chart-container.is-loading {
    opacity: 0.5;
}

.dashboard-breakdown-chart-wrap {
    position: relative;
    height: 350px;
}
