:root { --primary: #1e90ff; --secondary: #f5f7fa; --accent: #ffb300; --text-color: #222; --text-muted: #666; --border-color: #ddd; --radius: 6px; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --font-base: 'Arial', sans-serif; --font-size-base: 1rem; --font-size-sm: 0.9rem; --font-size-lg: 1.2rem; } /* =============================== FILTER PANEL =============================== */ .filter-panel { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-md); background-color: var(--secondary); border: 1px solid var(--border-color); border-radius: var(--radius); padding: var(--spacing-md); font-family: var(--font-base); color: var(--text-color); } .filter-panel label { font-weight: 600; font-size: var(--font-size-sm); color: var(--text-muted); } .filter-panel input[type="date"], .filter-panel select { padding: var(--spacing-sm); border-radius: var(--radius); border: 1px solid var(--border-color); font-size: var(--font-size-base); } .filter-panel button { background-color: var(--primary); border: none; border-radius: var(--radius); color: #fff; font-weight: 600; cursor: pointer; padding: var(--spacing-sm) var(--spacing-md); transition: background-color 0.2s ease-in-out; } .filter-panel button:hover { background-color: #0075e0; } /* =============================== CHART PANEL =============================== */ .chart-panel { position: relative; flex: 1 1 100%; background-color: #fff; border: 1px solid var(--border-color); border-radius: var(--radius); margin-top: var(--spacing-lg); padding: var(--spacing-md); display: flex; flex-direction: column; justify-content: center; align-items: stretch; min-height: 300px; } .chart-panel__title { font-size: var(--font-size-lg); font-weight: 600; color: var(--text-color); margin-bottom: var(--spacing-md); } .chart-panel__canvas { flex: 1; width: 100%; height: auto; } .chart-panel__highlight { stroke: var(--accent); stroke-width: 2; opacity: 0.7; } /* =============================== SUMMARY PANEL =============================== */ .summary-panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--spacing-md); margin-top: var(--spacing-lg); border-top: 1px solid var(--border-color); padding-top: var(--spacing-md); font-family: var(--font-base); } .summary-panel__item { background-color: var(--secondary); border-radius: var(--radius); padding: var(--spacing-md); text-align: center; } .summary-panel__label { font-size: var(--font-size-sm); color: var(--text-muted); } .summary-panel__value { font-size: var(--font-size-lg); font-weight: bold; color: var(--text-color); } /* =============================== RESPONSIVE DESIGN =============================== */ @media (min-width: 640px) { .filter-panel { justify-content: space-between; } } @media (min-width: 1024px) { .chart-panel { min-height: 400px; } .summary-panel__value { font-size: 1.4rem; } } /* =============================== FOOTER =============================== */ footer { text-align: center; font-size: var(--font-size-sm); color: var(--text-muted); padding: var(--spacing-md) 0; } footer::after { content: "© 2026 Donau2Space.de"; }