html, body { height: 100%; margin: 0; padding: 0; overflow: hidden; }
#map { width: 100vw; height: 100vh; background: #222; }

.ensign-container {
    background: transparent;
    border: none;
}
.ensign-flag {
    width: 10px;
    height: auto;
    border: 1px solid #fff;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
    pointer-events: none;
}

#backButton {
  position: absolute;
  top: 20px;
  left: 60px;
  z-index: 1000;
  padding: 10px 15px;
  background: white;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
#backButton:hover { background: #f0f0f0; }

#infoPanel {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 350px;
  max-height: 80vh;
  background: rgba(255, 255, 255, 0.95);
  z-index: 1001;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  overflow-y: auto;
  transition: transform 0.3s ease;
}
#infoPanel.hidden { transform: translateX(400px); }
#closePanel { position: absolute; top: 10px; right: 10px; border: none; background: none; font-size: 20px; cursor: pointer; }

table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 13px; }
th, td { text-align: left; padding: 8px; border-bottom: 1px solid #ddd; }
th { background: #f4f4f4; position: sticky; top: 0; }

#searchContainer {
  position: absolute;
  top: 10px;
  left: 150px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  width: 200px;
}

.search-group { display: flex; flex-direction: column; }
.search-group label { font-size: 10px; font-weight: bold; text-transform: uppercase; color: #666; }
.search-group input { 
  padding: 5px; 
  border: 1px solid #ccc; 
  border-radius: 4px; 
  width: 100%;
  box-sizing: border-box; 
}
.search-group input:disabled { background: #eee; cursor: not-allowed; }

.geo-tooltip {
  background: rgba(0, 0, 0, 0.8) !important;
  color: white !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 4px 8px !important;
  font-weight: bold !important;
  font-size: 12px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
}

.leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, 
.leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  display: none !important;
}