:root { --primary-color: #2b5fab; --background-light: #f6f7f9; --text-color: #222; --text-muted: #666; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --border-radius: 4px; --font-base: 16px; --transition-fast: 0.2s ease-in-out; } body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background-color: var(--background-light); color: var(--text-color); font-size: var(--font-base); } /* ================================ */ /* Filter and Chart Layout */ /* ================================ */ .filter-panel { display: flex; flex-wrap: wrap; gap: var(--spacing-sm); align-items: center; padding: var(--spacing-md); background-color: #fff; border-radius: var(--border-radius); box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: var(--spacing-md); } .chart-panel { background-color: #fff; border-radius: var(--border-radius); box-shadow: 0 1px 3px rgba(0,0,0,0.1); padding: var(--spacing-lg); display: flex; flex-direction: column; min-height: 300px; transition: box-shadow var(--transition-fast); } .chart-panel:hover { box-shadow: 0 2px 6px rgba(0,0,0,0.15); } @media (min-width: 768px) { .layout-container { display: grid; grid-template-columns: 300px 1fr; gap: var(--spacing-md); } .filter-panel { flex-direction: column; } } /* ================================ */ /* Summary Metrics */ /* ================================ */ .summary-metrics { display: flex; flex-wrap: wrap; justify-content: space-around; background-color: #fff; border-radius: var(--border-radius); padding: var(--spacing-md); box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: var(--spacing-md); } .summary-metrics__item { text-align: center; margin: var(--spacing-sm); } .summary-metrics__label { display: block; color: var(--text-muted); font-size: 0.875rem; margin-bottom: var(--spacing-sm); } .summary-metrics__value { font-size: 1.5rem; font-weight: bold; color: var(--primary-color); } @media (min-width: 1024px) { .summary-metrics__value { font-size: 2rem; } } /* ================================ */ /* Accessibility Enhancements */ /* ================================ */ .filter-panel button:focus, .chart-panel button:focus, .summary-metrics__item:focus-within { outline: 2px solid var(--primary-color); outline-offset: 2px; } /* ================================ */ /* Footer */ /* ================================ */ footer { text-align: center; font-size: 0.875rem; color: var(--text-muted); padding: var(--spacing-md); } footer::after { content: "© 2026 Donau2Space.de"; display: block; margin-top: var(--spacing-sm); }