From 16bf19435aabb2e1bb79a6f8e063ed6fe299f5f7 Mon Sep 17 00:00:00 2001 From: Mika Date: Mon, 16 Mar 2026 13:59:08 +0000 Subject: [PATCH] Add data_visualization/css/base.css --- data_visualization/css/base.css | 141 ++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 data_visualization/css/base.css diff --git a/data_visualization/css/base.css b/data_visualization/css/base.css new file mode 100644 index 0000000..5fd325f --- /dev/null +++ b/data_visualization/css/base.css @@ -0,0 +1,141 @@ +/* =========================== + 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); +} \ No newline at end of file