:root { --primary-bg: #10141a; --secondary-bg: #1a2027; --accent-color: #2979ff; --text-color: #e0e6ed; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --font-base: 'Arial', sans-serif; --footer-height: 3rem; } html, body { margin: 0; padding: 0; height: 100%; background-color: var(--primary-bg); color: var(--text-color); font-family: var(--font-base); } /* === App Layout === */ .app-header { grid-area: header; background-color: var(--secondary-bg); padding: var(--spacing-md); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #2c3440; } .sidebar { grid-area: sidebar; background-color: var(--secondary-bg); padding: var(--spacing-lg) var(--spacing-md); display: flex; flex-direction: column; gap: var(--spacing-md); border-right: 1px solid #2c3440; } .chart-panel { grid-area: main; padding: var(--spacing-md); display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; } .app-footer { grid-area: footer; background-color: var(--secondary-bg); height: var(--footer-height); display: flex; align-items: center; justify-content: center; font-size: 0.85rem; border-top: 1px solid #2c3440; } body { display: grid; grid-template-areas: "header header" "sidebar main" "footer footer"; grid-template-columns: 250px 1fr; grid-template-rows: auto 1fr var(--footer-height); min-height: 100vh; } /* === Responsive Design === */ @media (max-width: 768px) { body { grid-template-areas: "header" "main" "sidebar" "footer"; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto var(--footer-height); } .sidebar { flex-direction: row; justify-content: space-around; border-right: none; border-top: 1px solid #2c3440; padding: var(--spacing-md); } .chart-panel { padding: var(--spacing-sm); } } /* === Footer Copyright === */ .app-footer::after { content: "© 2026 Donau2Space.de"; color: var(--text-color); }