/* =========================== CSS Reset & Variablen =========================== */ /* Reset */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* Box sizing and base setup */ *, *::before, *::after { box-sizing: border-box; } html { scroll-behavior: smooth; font-size: 16px; } body { line-height: 1.5; font-family: var(--font-base); background-color: var(--color-bg); color: var(--color-text); min-height: 100vh; display: flex; flex-direction: column; } :root { /* Farben */ --color-bg: #f8f9fa; --color-surface: #ffffff; --color-border: #dee2e6; --color-text: #212529; --color-primary: #005f99; --color-accent: #e07a00; --color-muted: #6c757d; /* Typografie */ --font-base: 'Helvetica Neue', Arial, sans-serif; --font-size-base: 1rem; --font-size-sm: 0.875rem; --font-size-lg: 1.125rem; /* Spacing */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; /* Layout */ --max-width: 1200px; --sidebar-width: 250px; /* Breakpoints */ --bp-sm: 640px; --bp-md: 1024px; --bp-lg: 1440px; } /* =========================== App Shell Layout =========================== */ .app-shell { display: grid; grid-template-rows: auto 1fr auto; grid-template-columns: 100%; min-height: 100vh; } .app-header { background-color: var(--color-primary); color: #fff; padding: var(--spacing-md); } .app-main { display: flex; flex-grow: 1; background-color: var(--color-surface); max-width: var(--max-width); margin: 0 auto; width: 100%; } .app-sidebar { flex: 0 0 var(--sidebar-width); background-color: var(--color-bg); border-right: 1px solid var(--color-border); padding: var(--spacing-md); } .app-footer { padding: var(--spacing-sm) var(--spacing-md); text-align: center; background-color: var(--color-bg); border-top: 1px solid var(--color-border); font-size: var(--font-size-sm); color: var(--color-muted); } /* Responsive Anpassungen */ @media (max-width: 1024px) { .app-main { flex-direction: column; } .app-sidebar { flex: 0 0 auto; 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); font-size: var(--font-size-sm); color: var(--color-muted); }