diff --git a/drohnenfuehrer/frontend/src/App.css b/drohnenfuehrer/frontend/src/App.css index b3a77b8..a55ba8d 100644 --- a/drohnenfuehrer/frontend/src/App.css +++ b/drohnenfuehrer/frontend/src/App.css @@ -13,6 +13,11 @@ in beiden Varianten nachgerechnet. ────────────────────────────────────────────────────────────────────────── */ :root { + /* Sagt dem Browser, dass die Seite beide Ansichten kann. Native Bedienelemente + — Checkboxen, Auswahllisten, Bildlaufleisten — passen sich dadurch an, + statt in der Nachtansicht hell aufzublitzen. */ + color-scheme: light dark; + --font-display: Georgia, 'Times New Roman', serif; --font-ui: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; @@ -159,9 +164,6 @@ body { -moz-osx-font-smoothing: grayscale; background: var(--color-bg); color: var(--color-text); - /* Damit auch vom Browser gestellte Bedienelemente (Bildlaufleisten, - Datumsauswahl, Autofill) der gewählten Ansicht folgen. */ - color-scheme: light dark; } /* Formularfelder brauchen ausdrücklich Farben: ohne sie nimmt der Browser @@ -179,6 +181,13 @@ textarea::placeholder { opacity: 1; } +/* Checkbox, Radio und Schieberegler in der Markenfarbe statt im Browser-Blau. */ +input[type="checkbox"], +input[type="radio"], +input[type="range"] { + accent-color: var(--color-primary); +} + h1, h2, h3 { font-family: var(--font-display); } diff --git a/drohnenfuehrer/frontend/src/components/admin/AdminPanel.css b/drohnenfuehrer/frontend/src/components/admin/AdminPanel.css index 16e6fa0..5d23f9c 100644 --- a/drohnenfuehrer/frontend/src/components/admin/AdminPanel.css +++ b/drohnenfuehrer/frontend/src/components/admin/AdminPanel.css @@ -4,6 +4,9 @@ .admin-tabs { display: inline-flex; + /* Vier Reiter passen auf schmalen Displays nicht in eine Zeile — ohne + Umbruch lief die Seite bei 360 px horizontal ueber. */ + flex-wrap: wrap; gap: 0; background: var(--color-surface); border: 1px solid var(--color-border); @@ -14,6 +17,7 @@ } .tab-button { + min-height: var(--touch-target); padding: 0.5rem 1rem; border: none; background: transparent; @@ -122,7 +126,7 @@ .settings-section-count { font-size: 0.8rem; color: var(--color-text-muted); - background: var(--color-border); + background: var(--color-surface-alt); border-radius: 999px; padding: 0.1rem 0.5rem; } @@ -164,7 +168,7 @@ font-size: 0.75rem; font-weight: 700; color: var(--color-text-muted); - background: var(--color-border); + background: var(--color-surface-alt); border-radius: 50%; flex-shrink: 0; } @@ -346,3 +350,16 @@ opacity: 1; } } + +@media (max-width: 480px) { + .admin-tabs { + display: flex; + width: 100%; + } + + .tab-button { + flex: 1 1 45%; + padding: 0.5rem 0.6rem; + font-size: 0.9rem; + } +} diff --git a/drohnenfuehrer/frontend/src/components/admin/AdminPanel.js b/drohnenfuehrer/frontend/src/components/admin/AdminPanel.js index 01ffc5e..d36d00e 100644 --- a/drohnenfuehrer/frontend/src/components/admin/AdminPanel.js +++ b/drohnenfuehrer/frontend/src/components/admin/AdminPanel.js @@ -371,8 +371,8 @@ const AdminPanel = ({ users, loading, error, onRefetch }) => {