body { overflow: hidden; height: 100vh; display: flex; flex-direction: column; }
header { gap: 20px; }
header select { max-width: 500px; }
.search-wrap { position: relative; }
#track-search { background: #222; color: #eee; border: 1px solid #555; border-radius: 4px; padding: 5px 10px; font-size: 13px; font-family: inherit; width: 450px; }
#track-search::placeholder { color: #666; }
#search-results { position: absolute; top: 100%; left: 0; width: 450px; max-height: 400px; overflow-y: auto; background: #222; border: 1px solid #555; border-top: none; border-radius: 0 0 4px 4px; display: none; z-index: 100; }
#search-results .result { padding: 6px 10px; font-size: 12px; color: #ccc; cursor: pointer; border-bottom: 1px solid #333; }
#search-results .result:hover, #search-results .result.active { background: #335; color: #fff; }
#search-results .result .loc { color: #888; font-size: 11px; }

.track-btn { background: #222; color: #eee; border: 1px solid #555; border-radius: 4px; padding: 3px 10px; font-size: 12px; font-family: inherit; cursor: pointer; text-decoration: none; display: inline-block; }
.track-btn:hover:not(.disabled):not(:disabled) { background: #335; }
.track-btn.disabled, .track-btn:disabled { opacity: 0.4; cursor: default; pointer-events: none; }

#main { flex: 1; min-height: 0; }
#map { width: 100%; height: 100%; }
