:root { --primary: #2a73cc; --secondary: #f4f7fb; --accent: #e2eaff; --text-color: #222; --text-muted: #666; --border-radius: 6px; --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --shadow-level-1: 0 1px 3px rgba(0,0,0,0.1); --shadow-level-2: 0 3px 6px rgba(0,0,0,0.15); } /* ============================== Dashboard Panels ============================== */ .alert-dashboard { display: grid; grid-template-columns: 1fr; gap: var(--spacing-lg); padding: var(--spacing-md); background-color: var(--secondary); min-height: 100vh; } @media (min-width: 768px) { .alert-dashboard { grid-template-columns: 2fr 1fr; } } .panel { background-color: #fff; border-radius: var(--border-radius); box-shadow: var(--shadow-level-1); padding: var(--spacing-md); transition: box-shadow 0.2s ease, transform 0.2s ease; } .panel:hover { box-shadow: var(--shadow-level-2); transform: translateY(-2px); } .summary-panel { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; color: var(--text-color); background: var(--accent); font-size: 0.95rem; line-height: 1.4; } .summary-panel__title { font-weight: 600; margin-bottom: var(--spacing-sm); color: var(--primary); } .summary-panel__item { margin-bottom: var(--spacing-xs); color: var(--text-muted); } /* ============================== Controls and Buttons ============================== */ .filter-control { display: flex; align-items: center; gap: var(--spacing-sm); margin-bottom: var(--spacing-md); } .filter-control label { font-size: 0.9rem; color: var(--text-color); } .filter-control select, .filter-control input[type="text"] { padding: var(--spacing-sm); border-radius: var(--border-radius); border: 1px solid #ccc; background-color: #fff; font-size: 0.9rem; color: var(--text-color); } .refresh-button { padding: var(--spacing-sm) var(--spacing-md); background-color: var(--primary); color: #fff; border: none; border-radius: var(--border-radius); cursor: pointer; font-size: 0.95rem; font-weight: 500; box-shadow: var(--shadow-level-1); transition: background-color 0.2s ease, box-shadow 0.2s ease; } .refresh-button:hover { background-color: darken(var(--primary), 10%); box-shadow: var(--shadow-level-2); } .refresh-button:disabled { opacity: 0.6; cursor: not-allowed; box-shadow: none; } /* ============================== Responsive Adjustments ============================== */ @media (min-width: 1024px) { .alert-dashboard { grid-template-columns: repeat(3, 1fr); } } footer { text-align: center; font-size: 0.8rem; margin-top: var(--spacing-lg); color: var(--text-muted); } footer::after { content: "© 2026 Donau2Space.de"; display: block; margin-top: var(--spacing-sm); }