diff --git a/visualization_tool/css/base.css b/visualization_tool/css/base.css new file mode 100644 index 0000000..af491d6 --- /dev/null +++ b/visualization_tool/css/base.css @@ -0,0 +1,126 @@ +/* ============================ + 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); +} \ No newline at end of file