/* ======================================= Reset and Variables ======================================= */ :root { --color-bg: #f9fafb; --color-surface: #ffffff; --color-border: #d1d5db; --color-text: #1f2937; --color-primary: #2563eb; --color-accent: #f59e0b; --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --font-base: 'Segoe UI', Roboto, sans-serif; --font-size-base: 1rem; --font-size-title: 1.5rem; --radius-sm: 4px; --transition-base: 0.2s ease-in-out; --bp-md: 640px; --bp-lg: 1024px; } html, body { margin: 0; padding: 0; box-sizing: border-box; font-family: var(--font-base); font-size: var(--font-size-base); color: var(--color-text); background-color: var(--color-bg); line-height: 1.5; } *, *::before, *::after { box-sizing: inherit; } h1, h2, h3, h4, h5, h6, p { margin: 0; } main { display: block; } /* ======================================= Layout Containers ======================================= */ .app-header { padding: var(--spacing-md); background-color: var(--color-surface); border-bottom: 1px solid var(--color-border); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; } .app-footer { text-align: center; padding: var(--spacing-md); font-size: 0.875rem; color: var(--color-text); border-top: 1px solid var(--color-border); background-color: var(--color-surface); } .matrix-container { display: grid; grid-template-columns: 1fr; gap: var(--spacing-md); padding: var(--spacing-lg) var(--spacing-md); } .matrix-detail-panel { background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: var(--spacing-md); overflow-y: auto; } @media (min-width: var(--bp-md)) { .matrix-container { grid-template-columns: 2fr 1fr; } } /* ======================================= Controls and Form Elements ======================================= */ .run-selector { display: inline-flex; align-items: center; gap: var(--spacing-sm); margin: var(--spacing-sm) 0; } .run-selector select { padding: var(--spacing-xs) var(--spacing-sm); border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-size: 1rem; transition: border-color var(--transition-base); } .run-selector select:focus { outline: none; border-color: var(--color-primary); } .control { display: inline-block; background-color: var(--color-primary); color: #fff; border: none; border-radius: var(--radius-sm); padding: var(--spacing-xs) var(--spacing-md); cursor: pointer; transition: background-color var(--transition-base); } .control:hover, .control:focus { background-color: var(--color-accent); } /* ======================================= Footer ======================================= */ .app-footer::after { content: "© 2026 Donau2Space.de"; display: block; margin-top: var(--spacing-xs); font-size: 0.75rem; opacity: 0.7; }