html, body { height: 100%; margin: 0; }
.app { height: 100%; }

.sidebar {
  width: 300px; min-width: 260px; max-width: 420px;
  border-right: 1px solid #ddd; transition: width 0.2s ease;
  overflow: hidden; background: #fff; z-index: 1000; position: relative;
}
.sidebar.collapsed {
  display: none !important; width: 0 !important; min-width: 0 !important;
  border-right: 0 !important; padding: 0 !important;
}

.sidebar-header {
  position: sticky; top: 0; display: flex; align-items: center;
  justify-content: space-between; gap: 8px; padding: 10px 12px;
  border-bottom: 1px solid #eee; background: #f7f7f7; z-index: 1;
}
.close-btn {
  border: 1px solid #aaa; background: #fff; border-radius: 4px;
  line-height: 1; padding: 4px 8px; cursor: pointer; user-select: none;
}
.close-btn:hover { background: #f0f0f0; }

.sidebar-content { height: calc(100% - 46px); overflow: auto; padding: 12px 16px; }
.section-title { font-weight: 600; margin: 12px 0 8px; }

.tx-item {
  padding: 6px 0; border-bottom: 1px dashed #eee;
  display: flex; align-items: center; gap: 4px;
}
.tx-name { flex-grow: 1; }
.tx-link { text-decoration: none; color: #666; font-size: 14px; }
.tx-link:hover { color: #000; }

.mapwrap { height: 100%; position: relative; }
#map { width: 100%; height: 100%; }

.burger-btn {
  position: absolute; top: 12px; left: 12px; z-index: 1500;
  background: #fff; border: 1px solid #aaa; border-radius: 4px;
  padding: 6px 10px; cursor: pointer; font-size: 20px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2); user-select: none;
}
.burger-btn:hover { background: #f0f0f0; }
.hidden { display: none !important; }

/* přebarvení overlaye */
.overlay-blue { filter: hue-rotate(200deg) saturate(4); }
