.ship-popup {
  width: 340px !important;
  font-family: Arial, sans-serif;
  color: #111827;
}

.ship-title {
  font-size: 18px !important;
  font-weight: 700;
  padding: 8px 10px !important;
  border-left: 5px solid #2563eb !important;
  background: #f9fafb;
  border-radius: 8px;
  margin-bottom: 8px;
}

.ship-popup .grid {
  display: grid;
  grid-template-columns: 1fr 1fr !important;
}

.ship-popup .cell {
  padding: 6px 8px !important;
  border-bottom: 1px solid #eef0f3;
}

.ship-popup .band {
  background: #f3f4f6 !important;
  border-radius: 8px;
  margin: 6px 0;
}

.ship-popup .label {
  color: #6b7280 !important;
  font-size: 10px !important;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.ship-popup .value {
  font-size: 13px !important;
  font-weight: 600;
  margin-top: 2px;
  word-break: break-word;
}

.popup-actions {
  margin-top: 10px;
  display: flex;
  gap: 8px;
}

.popup-actions a {
  flex: 1;
  text-align: center;
  padding: 7px 8px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  font-size: 12px;
  color: white !important;
}

.popup-details-btn { background:#2563eb; }
.popup-vf-btn { background:#10b981; }

.popup-extra {
  display: none;
}

.ship-popup.expanded .popup-extra {
  display: block;
}

.popup-toggle {
  margin-top: 8px;
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 7px 8px;
  background: #f3f4f6;
  color: #111827;
  font-weight: 700;
  cursor: pointer;
}

.popup-toggle:hover {
  background: #e5e7eb;
}

.ais-status-line {
  display:flex;
  align-items:center;
  gap:6px;
  margin:6px 0 8px;
  font-size:12px;
  font-weight:700;
}

.ais-dot {
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}

.ais-green { background:#22c55e; }
.ais-yellow { background:#facc15; }
.ais-red { background:#ef4444; }

.selected-vessel-marker {
  filter: drop-shadow(0 0 6px rgba(37,99,235,.9));
}
