/* Grundlegendes App-Layout: Header + Karte/Liste. Mobile-first; Desktop-Anpassungen (>=1024px) siehe css/responsive.css. */ .app-header { height: var(--header-height); display: flex; flex-direction: column; justify-content: center; padding: 0 var(--space-lg); background: var(--color-primary); color: #fff; } .app-header__title { font-size: 1.4rem; font-weight: 700; } .app-header__subtitle { font-size: 0.85rem; opacity: 0.9; } .app-layout { display: flex; flex-direction: column; } .map-panel { position: relative; height: 50vh; min-height: 320px; display: flex; flex-direction: column; } .map-panel__toolbar { position: absolute; top: var(--space-sm); left: var(--space-sm); z-index: 1000; display: flex; flex-wrap: wrap; gap: var(--space-sm); } .map-panel__map { flex: 1; width: 100%; height: 100%; background: var(--color-border); } .map-panel__map--picking { cursor: crosshair; } .map-picking-hint { position: absolute; top: calc(var(--space-sm) + 40px); left: var(--space-sm); z-index: 1000; display: flex; align-items: center; gap: var(--space-sm); background: var(--color-surface); color: var(--color-primary-dark); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-sm); box-shadow: var(--shadow-card); font-size: 0.85rem; } .map-picking-hint[hidden] { display: none; } .map-picking-hint__cancel { flex-shrink: 0; border: none; background: transparent; color: var(--color-primary-dark); font-weight: 600; text-decoration: underline; cursor: pointer; padding: 0; } .list-panel { padding: var(--space-md); overflow-y: auto; } .list-panel__title { font-size: 1.1rem; margin-bottom: var(--space-md); }