:root { --primary: #2c3e50; --background: #f8f9fa; --text-color: #222; --critical: #e74c3c; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --border-radius: 4px; --max-width: 1200px; } /* ========================= App-Struktur ========================= */ body { margin: 0; font-family: sans-serif; color: var(--text-color); background-color: var(--background); display: flex; flex-direction: column; min-height: 100vh; } .app-header { background-color: var(--primary); color: #fff; padding: var(--spacing-md); text-align: center; flex-shrink: 0; } .results-section { display: flex; flex-direction: row; gap: var(--spacing-lg); justify-content: space-between; align-items: flex-start; flex: 1; max-width: var(--max-width); margin: var(--spacing-lg) auto; padding: 0 var(--spacing-md); } .results-section .table-container { flex: 2; overflow-x: auto; } .chart-panel { flex: 1; display: flex; flex-direction: column; gap: var(--spacing-md); background-color: #fff; border: 1px solid #ddd; border-radius: var(--border-radius); padding: var(--spacing-md); } .app-footer { background-color: var(--primary); color: #fff; text-align: center; padding: var(--spacing-sm); flex-shrink: 0; } /* ========================= Responsive Behavior ========================= */ @media (max-width: 800px) { .results-section { flex-direction: column; } .chart-panel { width: 100%; } }