:root { --primary: #2e7d32; --secondary: #1565c0; --background-light: #f9f9f9; --background-panel: #ffffff; --border-color: #ddd; --text-color: #222; --text-muted: #666; --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --radius-sm: 4px; --radius-md: 8px; --font-base: 'Arial', sans-serif; } /* ============================= FILTER PANEL ============================= */ .filter-panel { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-md); background-color: var(--background-panel); border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: var(--spacing-md); margin-bottom: var(--spacing-lg); font-family: var(--font-base); } .filter-panel label { color: var(--text-color); font-weight: 600; margin-right: var(--spacing-sm); } .filter-panel select, .filter-panel input[type="date"], .filter-panel input[type="time"] { padding: var(--spacing-sm) var(--spacing-md); border: 1px solid var(--border-color); border-radius: var(--radius-sm); background-color: var(--background-light); color: var(--text-color); font-size: 0.95rem; } .filter-panel button { background-color: var(--primary); color: #fff; border: none; border-radius: var(--radius-sm); padding: var(--spacing-sm) var(--spacing-md); cursor: pointer; transition: background-color 0.2s ease-in-out; } .filter-panel button:hover { background-color: #1b5e20; } /* ============================= CHART VISUALS ============================= */ .chart-area { position: relative; width: 100%; min-height: 300px; background-color: var(--background-panel); border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: var(--spacing-lg) var(--spacing-md); overflow: hidden; } .chart-area canvas { width: 100%; height: 100%; display: block; } .chart-legend { display: flex; justify-content: center; gap: var(--spacing-md); margin-top: var(--spacing-sm); font-size: 0.9rem; color: var(--text-muted); } .chart-legend__item { display: flex; align-items: center; gap: var(--spacing-xs); } .chart-legend__color { width: 1rem; height: 1rem; border-radius: 50%; } .chart-legend__color--temperature { background-color: var(--secondary); } .chart-legend__color--audio { background-color: var(--primary); } /* ============================= FOOTER SECTION ============================= */ .app-footer { width: 100%; text-align: center; padding: var(--spacing-sm); background-color: #f2f2f2; color: var(--text-muted); font-family: var(--font-base); font-size: 0.85rem; margin-top: var(--spacing-lg); border-top: 1px solid var(--border-color); } .app-footer small { display: block; } @media (min-width: 640px) { .filter-panel { justify-content: flex-start; } } @media (min-width: 1024px) { .chart-area { min-height: 400px; } }