/* Charts - Chart-spezifische Styles */

.chart-block {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    position: relative;
    box-sizing: border-box;
}

.chart-block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-4);
    padding: var(--space-4) var(--space-3) var(--space-3) var(--space-3); /* Minimaler Abstand links und rechts */
    border-bottom: 1px solid var(--border);
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 20;
    pointer-events: auto;
    box-sizing: border-box;
}

.chart-block-title {
    font-size: var(--h3);
    font-weight: 600;
    color: var(--text);
    margin: 0;
}

.chart-block-actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    position: relative;
    z-index: 21;
    pointer-events: auto;
}

.chart-edit-button,
.chart-delete-button {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    padding: var(--space-2);
    border-radius: var(--r-sm);
    transition: background 0.2s, color 0.2s;
    color: var(--gray-600); /* Graue Farbe für Stift-Icon */
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 22;
    pointer-events: auto;
}

.chart-edit-button:hover {
    background: var(--bg);
    color: var(--gray-700); /* Etwas dunkleres Grau beim Hover */
}

.chart-delete-button {
    font-size: 20px;
    font-weight: 300;
}

.chart-delete-button:hover {
    background: var(--danger, #ef4444);
    color: white;
    opacity: 1;
}

.chart-block-content {
    min-height: 300px;
    width: 100%;
    max-width: 100%;
    padding: 0;
    padding-left: var(--space-3); /* Minimaler Abstand links */
    padding-right: var(--space-3); /* Minimaler Abstand rechts */
    margin: 0;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

.chart-block-empty {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-8);
    background: var(--bg);
    border: 2px dashed var(--border);
    border-radius: var(--r-md);
}

.chart-empty-content {
    text-align: center;
}

.chart-empty-icon {
    font-size: 3rem;
    margin-bottom: var(--space-3);
}

.chart-empty-text {
    color: var(--muted);
    margin-bottom: var(--space-4);
    font-size: var(--body);
}

.chart-loading {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    color: var(--muted);
}

.chart-placeholder {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg);
    border: 1px dashed var(--border);
    border-radius: var(--r-sm);
    color: var(--muted);
    font-style: italic;
}

.chart-error {
    padding: var(--space-4);
    background: #fee;
    border: 1px solid var(--danger);
    border-radius: var(--r-sm);
    color: var(--danger);
    text-align: center;
}

/* Chart-spezifische Styles */
.neon-area-chart,
.composed-chart,
.stacked-bar-chart,
.donut-chart {
    width: 100%;
    height: 100%;
}

/* Stelle sicher, dass SVG-Elemente im Chart keine pointer-events blockieren */
.chart-block-content svg {
    pointer-events: auto;
}

/* Stelle sicher, dass der Header immer über dem Content liegt */
.chart-block-header {
    isolation: isolate;
}

/* Responsive Charts */
@media (max-width: 768px) {
    .chart-block-content {
        min-height: 250px;
    }
}

