/* ============================ Reset und Variablen ============================ */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { font-size: 16px; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } body { font-family: var(--font-base); color: var(--color-text); background-color: var(--color-bg); line-height: 1.5; min-height: 100vh; display: flex; flex-direction: column; } :root { /* Farbvariablen */ --color-bg: #f9f9fa; --color-surface: #ffffff; --color-primary: #2d6cdf; --color-accent: #21978d; --color-text: #1b1b1b; --color-muted: #6b7280; --color-border: #d1d5db; /* Raumvariablen */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; /* Schriftvariablen */ --font-base: 'Segoe UI', Roboto, sans-serif; --font-size-sm: 0.875rem; --font-size-md: 1rem; --font-size-lg: 1.25rem; --font-size-xl: 1.5rem; /* Layoutvariablen */ --max-content-width: 1280px; --header-height: 3.5rem; --sidebar-width: 16rem; /* Breakpoints */ --bp-md: 640px; --bp-lg: 1024px; } /* ============================ Grundlayout ============================ */ .app-shell { display: flex; flex-direction: column; min-height: 100vh; } .app-header { height: var(--header-height); background-color: var(--color-surface); border-bottom: 1px solid var(--color-border); display: flex; align-items: center; justify-content: space-between; padding: 0 var(--spacing-md); font-weight: 600; } .app-main { flex: 1; display: flex; flex-direction: row; max-width: var(--max-content-width); width: 100%; margin: 0 auto; background-color: var(--color-bg); } .app-sidebar { width: var(--sidebar-width); background-color: var(--color-surface); border-right: 1px solid var(--color-border); padding: var(--spacing-md); } .app-footer { background-color: var(--color-surface); border-top: 1px solid var(--color-border); text-align: center; font-size: var(--font-size-sm); color: var(--color-muted); padding: var(--spacing-sm); } /* Responsives Layout */ @media (max-width: var(--bp-md)) { .app-main { flex-direction: column; } .app-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--color-border); } } /* Footer Copyright */ .app-footer::after { content: "© 2026 Donau2Space.de"; display: block; margin-top: var(--spacing-xs); }